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.
2.4 KiB
2.4 KiB
id, name, status, depends_on, scope, risk, impact, level, tags
| id | name | status | depends_on | scope | risk | impact | level | tags | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| review-wave-2 | Review gate — wave 2 (substrate fork) | pending |
|
narrow | low | component | 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@f4e53c6contains 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