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.
68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
---
|
|
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 |