33 lines
2.1 KiB
Markdown
33 lines
2.1 KiB
Markdown
# Tasks — Bitpacker canonical spec
|
|
|
|
## 1. Spec authoring
|
|
|
|
- [ ] 1.1 Re-read upstream `/mnt/s/web/suaveplan/openspec/specs/bitpacker/spec.md` end-to-end
|
|
- [ ] 1.2 Confirm none of the three canonical requirements have already landed in `bitpacker-modular-restructure/specs/bitpacker/spec.md`
|
|
- [ ] 1.3 Draft `specs/bitpacker/spec.md` with the three upstream requirements verbatim plus the `## Purpose` preamble
|
|
- [ ] 1.4 Add `**Verified by:**` lines naming concrete existing tests per the proposal table
|
|
|
|
## 2. Existing-test confirmation
|
|
|
|
- [ ] 2.1 `bitpacker-strategies/src/strategies/blob/blob.test.ts` contains `it(...)` titles matching the four adaptive-blob scenarios. If any title is missing, ADD the test in this change so the spec delta's `**Verified by:**` line is honest.
|
|
- [ ] 2.2 `bitpacker-strategies/src/register-default-strategies.test.ts` contains an `it(...)` pinning blob-before-string ordering. If missing, ADD it.
|
|
- [ ] 2.3 `bitpacker-validation/src/safety/safety-checks.test.ts` contains an `it(...)` pinning maxBufferSize gating for `"-N"`, `"-N[M]"`, and `"~"`. If missing, ADD it.
|
|
- [ ] 2.4 Run `bunx turbo test --filter=@suaveplan/bitpacker-strategies --filter=@suaveplan/bitpacker-validation` — all named `it(...)` titles pass
|
|
|
|
## 3. Pre-archive verification
|
|
|
|
- [ ] 3.1 `openspec change validate bitpacker-canonical-spec --strict` exits clean
|
|
- [ ] 3.2 `bun run check` — Biome 0/0/0
|
|
- [ ] 3.3 The three named `it(...)` titles each exist in their stated test file (grep guard)
|
|
|
|
## 4. Archive
|
|
|
|
- [ ] 4.1 Fold spec delta into `openspec/specs/bitpacker/spec.md` (creating the file)
|
|
- [ ] 4.2 Move `openspec/changes/bitpacker-canonical-spec/` → `openspec/archive/<yyyy-mm-dd>-bitpacker-canonical-spec/`
|
|
- [ ] 4.3 STATUS.md update: bitpacker canonical spec landed
|
|
|
|
## Audit Note (2026-05-02)
|
|
|
|
DEFERRED in the genesis spec-cleanup pass on 2026-05-02. Rationale:
|
|
- The proposal explicitly requires a USER DECISION (3 options for genesis blob strategy alignment). Cannot auto-resolve without user input. Genesis currently uses Option 2 semantics ("blob"/_blob shape); upstream uses Option 1 ("~" tag). 14 tasks open.
|