Skip to content

Commit 65e10fb

Browse files
dfa1claude
andcommitted
docs: make TODO.md a pointer, ADRs the source of truth
Trim TODO.md entries that already have an ADR down to one-line pointers instead of restating design detail. Fold the Pco page/bin caps note (previously only in TODO) into ADR-0004's context so no information is lost. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 208de24 commit 65e10fb

2 files changed

Lines changed: 9 additions & 12 deletions

File tree

TODO.md

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
## Performance
1010

11-
- [ ] **Benchmark publishing**drop CI workflow, add `bench-publish` script; see [ADR-0006](adr/0006-benchmark-publishing.md).
11+
- [ ] **Benchmark publishing** — see [ADR-0006](adr/0006-benchmark-publishing.md).
1212
- [ ] Performance tests must be peer-reviewed
1313
- [ ] Run performance tests on other machines (I have access only to Apple M5)
14-
- [ ] **Vector API adoption**deferred; see [ADR-0005](adr/0005-vector-api-adoption.md) for adoption criteria and candidate loops.
14+
- [ ] **Vector API adoption** — see [ADR-0005](adr/0005-vector-api-adoption.md).
1515

1616
## Security
1717

@@ -44,7 +44,7 @@ Per-encoding gotchas:
4444

4545
### Resource caps
4646

47-
- [ ] **Implement `ResourceLimits` + `ReadOptions`** — see [ADR-0004](adr/0004-resource-caps-read-options.md) for design, defaults, and enforcement points. Also covers Pco page/bin caps.
47+
- [ ] **Implement `ResourceLimits` + `ReadOptions`** — see [ADR-0004](adr/0004-resource-caps-read-options.md).
4848

4949
### Fuzz infrastructure
5050

@@ -77,18 +77,12 @@ Per-encoding gotchas:
7777

7878
## Tooling
7979

80-
- [ ] Optional `vortex-arrow` bridge module for Arrow ecosystem interop — see [ADR-0016](adr/0016-vortex-arrow-bridge.md)
80+
- [ ] **`vortex-arrow` bridge module** — see [ADR-0016](adr/0016-vortex-arrow-bridge.md).
8181

8282
## API
8383

84-
- [ ] **Error messages — structural sanitization of `VortexException`**
85-
Phase E (bounds typing via `IoBounds`) shipped; remaining is Phases A–D (the `Sanitize`
86-
helper + `VortexError` catalog). See [ADR-0003](adr/0003-vortex-exception-sanitization.md)
87-
for design and phasing.
88-
- [ ] Use domain primitives (`UInt32`, `UInt64`, etc.) as value classes via Project Valhalla instead of raw `long`/`int`
89-
- See [ADR-0008](adr/0008-domain-primitives-unsigned-integers.md) and https://dfa1.github.io/articles/rethink-domain-primitives-with-valhalla
90-
- Candidates: `PType` integer kinds, buffer offsets, row indices, byte lengths
91-
- Goal: type-safety at zero cost (value class = no heap alloc, no boxing)
84+
- [ ] **`VortexException` message sanitization** — see [ADR-0003](adr/0003-vortex-exception-sanitization.md).
85+
- [ ] **Domain primitives (unsigned integers via Valhalla)** — see [ADR-0008](adr/0008-domain-primitives-unsigned-integers.md).
9286

9387
## Encodings
9488

adr/0004-resource-caps-read-options.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ currently no limits on:
2222
rows causes a downstream allocation of `rows * byteWidth` bytes.
2323
- **Max layout nodes** — flat tree with enormous sibling count escapes the
2424
depth guard.
25+
- **Pco page/bin caps**`PcoEncodingDecoder`/`PcoBin` have no upper bound on
26+
`bits_per_offset`, `bin_count`, or per-page row count; in scope for the same
27+
`ResourceLimits` mechanism, not a separate cap type.
2528

2629
The fix is a `ResourceLimits` value that is enforced at open/parse time,
2730
before any byte is decoded.

0 commit comments

Comments
 (0)