Implementation plan: wave-based decomposition; waves 1-2 decomposed (11 tasks)

docs/plans/implementation.md records the wave structure (core ->
substrate fork || pg engine -> sqlite engine -> contract suite ->
release), the decided points (contract-suite layout = option (a),
engine-tests vs equivalence-suite split, no CI, mem-engine/fuzzing
deferrals surfaced), and the review-gate rhythm.

Wave 1 (foundations): workspace scaffold, core errors/validation,
value types, trait surface, contract-suite scaffold (+ADR-022),
review gate.
Wave 2 (substrate fork): fork scaffold/provenance, connection+watcher
port, queue-op re-derivation on contract v1, provenance/floor close,
review gate.
This commit is contained in:
glm-5.3-flash committed 2026-10-07 14:37:31 +00:00
1 parent 83767e880b
commit 49743c690e
12 files changed
+1009

No files matched your search

+68
View File
@@ -0,0 +1,68 @@
---
id: review-wave-2
name: Review gate — wave 2 (substrate fork)
status: pending
depends_on: [fork-provenance-and-floor]
scope: narrow
risk: low
impact: component
level: review
tags: [wave-2, review]
---
## Description
Review the substrate fork before wave 3 builds the engine on it.
Primary lens: **diff reviewability against the lineage** (ADR-012 §3's
fidelity posture — the fork's economics rest on future cherry-picks
staying cheap) and **the defect class staying out** (the fork's
reason for existing).
Check:
- **Fidelity**: the kept half's module structure and internal names
match the lineage; renames confined to the table family and hygiene
deltas; the diff vs. `/workspace/honker` @ `f4e53c6` contains
nothing unregistered.
- **Port deltas**: W-1/W-2/dead-man's-switch applied as decided; no
other behavior changes smuggled in; W-4 (RW watcher connection)
deliberately kept.
- **Drops**: cron, experimental watchers + their optional deps,
rate-limit/result tables, superseded queue functions — absent, and
their absence registered.
- **Re-derivation vs. ADR-010**: stamps land per §3a; the claim
statement's ordering and visibility semantics match §1–§2; the
validity predicate is uniform across ack/heartbeat/retry/fail;
savepoint hardening real (test-read it, don't trust the test name);
sweep covers both states; the curve/boundary arithmetic is *not* in
the substrate (contract-blind boundary — ADR-012 §2).
- **Provenance**: register complete and accurate per ADR-018; license
notice correct.
- **Family standards** in the substrate: sync only, no panics, no
error swallows, no comments (doc comments fine).
- **Gates**: full engine-crate test suite, clippy `-D warnings`, fmt
clean.
## Acceptance Criteria
- [ ] Lineage diff reviewed; every divergence registered or fixed
- [ ] Re-derivation matches ADR-010's pinned semantics (spot-checked
against the ADR text, not just the tests)
- [ ] Provenance register accurate
- [ ] All gates green
- [ ] Findings recorded; wave 3 decomposition may proceed
## References
- docs/architecture/decisions/012-forked-substrate-design.md §3
- docs/architecture/decisions/010-queue-semantics-depth.md
- docs/architecture/decisions/018-provenance-register-and-cherry-picks.md
- docs/plans/implementation.md (Review gates)
## Notes
> To be filled by implementation agent
## Summary
> To be filled on completion