Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/adrs/0093-typed-column-pushdown-logs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# ADR-0093: skip-index and postings pushdown for declared typed logs columns

Status: Proposed
Status: Accepted (2026-10-14).
Implemented: the declared-column resolver and extractors in
`crates/ravel-sql/src/logs_pushdown.rs`.

## Context

Expand Down
2 changes: 2 additions & 0 deletions docs/adrs/0105-substring-pruning-for-like.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# ADR-0105: GRAM_IDX, byte-trigram block postings for infix substring pruning

Status: Accepted
Not implemented: section kind 7 is reserved
(`crates/ravel-logseg/src/footer.rs`); no writer or reader exists.

## Context

Expand Down
7 changes: 6 additions & 1 deletion docs/adrs/0107-pruning-proportional-logs-fetch.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# ADR-0107: Pruning-proportional block-range fetches for logs scans

Status: Proposed
Status: Accepted (2026-10-14).
Partly implemented: decisions 1 to 4 are in
`crates/ravel-query/src/log_fetcher.rs` (`BlockRangeFetcher`) and
`crates/ravel-types/src/accounting.rs`; decision 5 is not built
(`docs/guides/caching.md` gives no cache sizing derived from measured
block-range working sets).

## Context

Expand Down
8 changes: 7 additions & 1 deletion docs/adrs/0699-rlog-row-groups-and-page-directory.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# ADR-0699: RLOG row groups with column-major pages and a page directory

Status: Proposed
Status: Accepted (2026-10-14).
Partly implemented: decisions 1, 2, 4 and 5 are in
`crates/ravel-logseg/src/writer.rs`, `crates/ravel-logseg/src/page_dir.rs`
and `crates/ravel-query/src/log_fetcher.rs`; decision 3's version-4 trailer
and version-3 reader are no longer current
(`crates/ravel-logseg/src/footer.rs` reads version 5 only, after ADR-0892
and ADR-2135).

Issue: #699. Refs #680, #693, #698, ADR-0087, ADR-0102, ADR-0107, ADR-0029,
ADR-0066, ADR-0010.
Expand Down
4 changes: 3 additions & 1 deletion docs/adrs/0774-topk-late-materialization-logs-scan.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# ADR-0774: TopK late materialization for the logs scan

Status: Proposed.
Status: Accepted (2026-10-14).
Implemented: `TopKLateMaterialization` and `LogsRowFetchExec` in
`crates/ravel-sql/src/late_materialization.rs`.

The number is issue #774's, the ticket that produced this ADR, rather than
epic #680's. The README's rule ("the number is the GitHub issue number of
Expand Down
3 changes: 3 additions & 0 deletions docs/adrs/0849-snapshot-bound-index-plane.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# ADR-0849: A snapshot-bound index plane on object storage

Status: Accepted
Not implemented: no source file cites it.

## Context

Ravel's read cost has a floor that no amount of CPU work removes. Measured on
Expand Down
11 changes: 10 additions & 1 deletion docs/adrs/0873-commit-record-declared-min-max.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ADR-0873: per-declared-column min/max on commit records and SegmentRef

Status: Proposed. Issue #873. Builds on ADR-0850 (logs typed column
Status: Accepted (2026-10-14). Issue #873. Builds on ADR-0850 (logs typed column
statistics, the `.cstat` plane), ADR-0942 (re-key `.cstat` to snapshot-part
binding, and its backfill obligation), ADR-0066 (format migration machinery:
the N/N-1 window, recorded format floors, migration classes A-D), ADR-0101
Expand All @@ -11,6 +11,15 @@ carrier). Touches two frozen contracts (the commit-family protobufs under
`proto/ravel/catalog.proto`), so the format-change skill's procedure governs
and this ADR is its first step.

Partly implemented: decisions 1, 3, 5 and 6, decision 2 for the stamp, and
decision 4 as amended are in `proto/ravel/commit.proto`,
`proto/ravel/catalog.proto`, `crates/ravel-commit/src/declared_stats.rs`,
`crates/ravel-ingest/src/log_declared_stats.rs`,
`crates/ravel-catalog/src/fold.rs` and
`crates/ravel-sql/src/logs_scan/mod.rs`; decision 2's validated `.cstat`
type and decision 4's per-query coverage figure are not built (no such type
or figure under `crates/`).

## Context

`SegmentRef` carries an exact min/max for exactly one column: `ts`
Expand Down
7 changes: 6 additions & 1 deletion docs/adrs/0904-request-cost-latency-knob.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# ADR-0904: an operator knob for the request-cost vs latency trade

Status: Proposed
Status: Accepted (2026-10-14).
Partly implemented: decisions 1 to 4 are in
`crates/ravel-query/src/config.rs`, `crates/ravel-query/src/log_fetcher.rs`
and `services/ravel-server/src/query.rs`; decision 5's opens-by-shape
counters stop at `QueryAccounting` and are not in the server's per-query
stats (`accounting_stats_json` in `services/ravel-server/src/query.rs`).

Refs: epic #904. Builds on ADR-0107 (block-range logs fetch) and ADR-0088
(operator-configurable query budgets); interacts with issue #862/#887 (the
Expand Down
6 changes: 5 additions & 1 deletion docs/adrs/0979-bounded-memory-rlog-compaction-merge.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# ADR-0979: Bounded-memory RLOG compaction merge

Status: Proposed
Status: Accepted (2026-10-14).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Same class as the ADR-1170 finding, one file and outside the diff: accepting ADR-0979 leaves a stale citation of it as Proposed.
Failure: a reader of the TLA+ suite's maintenance row is told the compaction convergence gap rests on a Proposed decision, when the decision is now Accepted and D1-D4 have landed.
Evidence: docs/adrs/1113-tla-verification-suite.md:31, "ADR-0979 is Proposed and its fail-closed convergence path ships".

Partly implemented: D1 to D4 are in `crates/ravel-maintain/src/rlog.rs`,
`crates/ravel-maintain/src/config.rs` and `crates/ravel-logseg/src/ranged.rs`;
D5's `--merge-cursor-budget-bytes` flag is not built
(`services/ravel-cli/src/main.rs` has the other three flags only).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should_fix: The note overstates what landed of D5: compact-bucket carries two of the four flags, not three.
Failure: a reader checking D5's exposure believes maintain compact-bucket accepts --input-read-concurrency and finds it rejected; the ADR's own D5 requires all four flags on both compact-tenant and compact-bucket (docs/adrs/0979:330-335).
Evidence: services/ravel-cli/src/main.rs:1700-1769, the CompactBucket variant, declares l1_part_memory_target_bytes and max_l1_part_bytes and no input_read_concurrency; the CompactTenant variant at 1839-1857 declares all three.
Fix: say the three flags are on compact-tenant and two of them on compact-bucket, which is also one more unbuilt piece of D5 than the note admits.


Extends ADR-0032 (RLOG L0→L1 compaction) and the ADR-0065 decision-4 memory
model as amended by issues #711 (memory split target), #748 (row-group fetch,
Expand Down
9 changes: 8 additions & 1 deletion docs/adrs/0996-request-cost-aware-fetching.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
# ADR-0996: request-cost-aware fetching and the S3 request ledger

Status: Proposed
Status: Accepted (2026-10-14).
Partly implemented: the cost profile, fetch policies and regression gate are
in `crates/ravel-types/src/cost_profile.rs`,
`crates/ravel-query/src/config.rs` and
`crates/ravel-bench/src/cost_regression.rs`; decision 3's per-statement
attempts and `range_amplification` are not built, so decision 4's bands for
those and three other figures have no producer
(`crates/ravel-bench/src/cost_report_source.rs`).

Refs: epic #996. Builds on ADR-0904 (request-cost/latency knob, landed:
`EngineConfig::logs_request_cost_bytes`, `--logs-request-cost-bytes`),
Expand Down
8 changes: 7 additions & 1 deletion docs/adrs/1170-process-memory-budget.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# ADR-1170: One process-wide memory budget for ravel-server

Status: Proposed
Status: Accepted (2026-10-14).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should_fix: Moving ADR-1170 to Accepted falsifies three sentences that cite it as Proposed, two of them in files this PR edits.
Failure: docs/adrs/README.md now says ADR-1170 is Accepted on line 172 and "ADR-1170 (Proposed) is edited in place by the implementing task" on line 187, a contradiction inside the single file this PR rewrote to be the index of record.
Evidence: docs/adrs/README.md:187; docs/adrs/2414-read-path-narrow-projections-and-stock-memory-for-the-reference-suite.md:6-7 ("ADR-1170 (the derived per-query SQL share) is still Proposed, so task B1 edits its share in place"), whose Status line this PR also changed; docs/adrs/2633-resident-aware-memory-admission.md:422 ("ADR-1170 is Proposed, so it is not edited by this draft"), outside the diff.
Fix: the first two are in the diff and should be updated here; 2633 can be noted as follow-up if you want to hold the "no decision text edited" line.

Partly implemented: decisions 1 and 2 are in `crates/ravel-memory/src/lib.rs`
and the fetchers under `crates/ravel-query/src/`, decisions 3 and 4 in
`services/ravel-server/src/config.rs` and
`services/ravel-server/src/metrics.rs`; decision 3's measured overhead
reserve is not built (`MEMORY_OVERHEAD_RESERVE_BYTES` is a provisional
2 GiB placeholder pending the #1256 calibration run).

## Context

Expand Down
5 changes: 4 additions & 1 deletion docs/adrs/1195-unbundle-fetch-concurrency.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# ADR-1195: Unbundle `--fetch-concurrency`, and make GET concurrency a process-wide limit

- Status: Proposed
- Status: Accepted (2026-10-14).
- Implemented: `GetLimiter` in `crates/ravel-query/src/limiter.rs`, with the
flags and the shared limiter wired in `services/ravel-server/src/config.rs`
and `services/ravel-server/src/lib.rs`.
- Date: 2026-09-03
- Refs: #1195, #1191, #1170, #1185, ADR-0087, ADR-0088, ADR-0107

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# ADR-1196: Keep the cost-first fetch default, add a latency-first policy

- Status: Proposed
- Status: Accepted (2026-10-14).
- Partly implemented: decisions 2 to 4 are in
`crates/ravel-query/src/config.rs` and `services/ravel-server/src/config.rs`,
and decision 1 stands as amended by ADR-2023 and ADR-2414; decision 5's
labelled tuned `latency-first` ClickBench entry is not published
(`benchmarks/clickbench/` holds stock entries only).
- Date: 2026-09-03
- Refs: #1196, #1191, #1170, #1007, #1185, ADR-0904, ADR-0996, ADR-0046

Expand Down
5 changes: 4 additions & 1 deletion docs/adrs/2066-bounded-ranged-log-reads.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# ADR-2066: Bounded ranged log reads

- Status: Proposed
- Status: Accepted (2026-10-14).
- Partly implemented: decision 1 is in `crates/ravel-query/src/log_fetcher.rs`
(`place_front_sections`, `bounded_chunk_runs`); decision 2's before/after
measurement has no record in the repo.
- Date: 2026-09-27
- Refs: #2066, #2023, #1506, ADR-0107, ADR-0699, ADR-0996, ADR-1196, ADR-2014, ADR-2023

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
# ADR-2414: narrow projections read ranged on S3, and a lone statement gets the tenant's SQL share

Status: Proposed. Issue #2414.
Status: Accepted (2026-10-14). Issue #2414.
Amends ADR-2023 (the cost-based fetch policy's rate and the projection
break-even); it is Accepted and carries an amendment section pointing here,
added together with this document. ADR-1170 (the derived per-query SQL
share) is still Proposed, so task B1 edits its share in place and cites this
ADR there. ADR-0954 (spill) is not amended: see decision B2. No persistent
format changes.

Implemented: A1 to A3 in `crates/ravel-query/src/config.rs`,
`crates/ravel-query/src/log_fetcher.rs` and `crates/ravel-sql/src/logs_scan/`,
B1 in `services/ravel-server/src/config.rs`, B2 as revised by the #2416
amendment, and B3 in `docs/internal/clickbench-aws-runbook.md`.

## Context

The full reference-suite run on real S3 (issue #1248, main `affb0260e`, the
Expand Down
Loading
Loading