Skip to content

Commit 2cc6ace

Browse files
Record Track 8 cumulative review artifacts and close the track-level review
Log the RG6/RG7 micro-gate verdict (both VERIFIED, exhaustive catch-site audit clean, no RG8), tick the step-implementation and track-level-code-review progress boxes (track completion pends user review), record the canonical deferred-items ledger in Outcomes & Retrospective (cumulative BG31/CQ34/TQ33; Step-6 suggestion set; Step-5 residuals incl. the justified-deferred CS64; the CN61 future-design note; the out-of-scope follow-up candidates), and add the three track-level cumulative review reports (baseline, crash, concurrency).
1 parent 6766dda commit 2cc6ace

4 files changed

Lines changed: 1201 additions & 2 deletions

File tree

docs/adr/transactional-schema/_workflow/plan/track-8.md

Lines changed: 60 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ justification is in `## Interfaces and Dependencies`.
4646

4747
## Progress
4848
- [x] Review + decomposition
49-
- [ ] Step implementation
50-
- [ ] Track-level code review
49+
- [x] Step implementation
50+
- [x] Track-level code review
5151
- [ ] Track completion
5252
- [x] 2026-07-23T12:00Z [ctx=safe] Review + decomposition complete (6-step roster approved)
5353
- [x] 2026-07-23T21:31Z [ctx=safe] Step 1 complete (commit 6611cbf6b2)
@@ -99,6 +99,14 @@ justification is in `## Interfaces and Dependencies`.
9999
RG6 stale comment synced, RG7 legacy-schema truncation now loud via the dedicated
100100
TruncatedDumpImportException rethrown through importSchema's swallow — see the Episodes
101101
addendum)
102+
- [x] 2026-07-25T19:50Z [ctx=safe] RG6/RG7 micro-gate: both VERIFIED (rethrow arm present,
103+
reachable, and ordered before the general catch; the red-first test discriminates; the
104+
exhaustive catch-site/type-hierarchy audit found no supertype swallow anywhere on the call
105+
path; the runbook's unconditional truncation row holds — the one throw site outside
106+
importSchema's try propagates directly; matrix 22/22 green; NO RG8). Track-level code
107+
review CLOSED — the cumulative cycle is complete (3 reviews → CN60/CS79/CS80/CN61/CN62/
108+
CQ33 fixed → gate PASS → RG6/RG7 fixed → micro-gate VERIFIED); track completion pends
109+
user review. Deferred-items ledger recorded in §Outcomes & Retrospective.
102110

103111
## Surprises & Discoveries
104112
<!-- Continuous-log. Empty at Phase 1. -->
@@ -251,6 +259,43 @@ design.md D-records this track owns. -->
251259
## Outcomes & Retrospective
252260
<!-- Continuous-log. Empty at Phase 1. -->
253261

262+
### Deferred-items ledger (track-level review closed 2026-07-25)
263+
The canonical list of everything the Track 8 review cycles deliberately left open. Every
264+
item is suggestion-grade or explicitly dispositioned; full prose lives in the cited
265+
`track-8/reviews/*` reports.
266+
267+
- **Cumulative-review suggestions** (`track8-cumulative-*-iter1.md`): **BG31** — best-effort
268+
export classifies environmental spill-directory I/O failures (disk-full) like record
269+
corruption, silently shedding a healthy oversized record into `brokenRids`; **CQ34** — the
270+
export↔import wire contract (7 section tags, 4 manifest fields, the best-effort marker) is
271+
duplicated as bare string literals on both sides with no shared constants; **TQ33** — no
272+
test drives a GENUINE exporter-produced best-effort/spilled-record dump through the
273+
importer (the ack-gate/brokenRids import tests use JSON reconstructions).
274+
- **Step-6 review suggestions** (`{baseline,crash-safety,docs}-step6-iter1.md`): CQ29
275+
(schema-version duplicate is last-wins, unlike the CS63 latch), CQ30 (WI12a message omits
276+
the supported version), CQ31 (largely superseded by the F3 scalar-only rule's clean
277+
message), CQ32 (declared `-1` collides with the undeclared sentinel), TQ30–32, CS77 (the
278+
dangling-name guard rejects legal-JSON quoted names containing structural chars — rationale
279+
overclaim), WI63/64, WS60/61.
280+
- **Step-5 residuals** (`crash-safety-step5-iter1.md`; dispositions re-confirmed by the
281+
Step-5 gate and the cumulative crash pass): **CS64**`importRecord`'s `DatabaseException`
282+
swallow, JUSTIFIED-DEFERRED (no v15-reachable counterexample exists in current code; the
283+
operator page words exit-0 accordingly); CS67–CS74 (order-blind sections, in-member
284+
post-root junk, plain-stream close, `setUser(null)`, `INDEX_IGNORE_NULL_VALUES_DEFAULT`
285+
flip, `detectFraming` reset masking, tag-blind brokenRids presence — several pre-existing).
286+
- **CN61 future design note** (recorded in the design-drafts rulings area): a cross-section
287+
point-in-time export (exporter schema-snapshot pin + collection-set capture at S₀) is a
288+
design change left to a future track; today's envelope is manifest-only consistency with
289+
the runbook's quiesce-DDL instruction.
290+
- **Out-of-scope follow-up candidates** (recorded in §Surprises & Discoveries): the
291+
`SecurityShared.doInitPredicateOptimization` CCE on stale mid-import policy links resolving
292+
to type-mismatched records (pre-existing product gap, surfaced by the Step-5 #13 fixture);
293+
a rid-mapping-aware `DatabaseCompare` mode (pin M.5 #12's blocked DatabaseCompare letter —
294+
the shipped rehearsal pins logical equivalence instead); the schema-carry/btree-bag root
295+
fix and the storage open-failure buffer leak (Step-3 era, follow-ups owned by the
296+
orchestrator); the legacy `DbImportExportTest`/`DbImportStreamExportTest` suites remain
297+
`@Disabled` (pre-existing).
298+
254299
## Context and Orientation
255300
**Genesis:** `SecurityShared.create` and the sibling metadata creators today create
256301
internal classes, properties, and indexes through per-operation self-commits, then
@@ -1624,6 +1669,19 @@ comment sync, an exception SUBTYPE, one rethrow arm on a rejection-only path, an
16241669
row — no accept path, storage, or WAL behavior changed (the CN60 accessor change was
16251670
IT-verified in this iteration's main run and is untouched here).
16261671

1672+
**Micro-gate (verdict-only thread, 2026-07-25T19:50Z): RG6 and RG7 both VERIFIED, no RG8.**
1673+
RG6: the synced comment matches the as-built lock-copy semantics. RG7, all four sub-checks:
1674+
(a) the `TruncatedDumpImportException` rethrow arm precedes the general catch and every
1675+
schema-family throw site is inside that try; (b) the red-first test genuinely discriminates
1676+
(without the rethrow the legacy path exits 0); (c) the exhaustive catch-site audit — every
1677+
`catch` in `DatabaseImport` against the full type hierarchy — found no supertype swallow
1678+
anywhere on the call path (the type descends from `BaseException`, not `DatabaseException`,
1679+
so `importRecord`'s swallow rethrows it); (d) the runbook's unconditional truncation row
1680+
holds — no `truncatedDump` throw is version-gated, and the one site outside `importSchema`'s
1681+
try (globalProperties) propagates directly. Matrix suite re-run green (22/22). With this
1682+
verdict the track-level code review is CLOSED; the deferred-items ledger is recorded in
1683+
§Outcomes & Retrospective.
1684+
16271685
## Validation and Acceptance
16281686
- A fresh database genesis builds the `OUser.name` index before any user insert; the
16291687
default users are created through real engine lookups, not scan fallbacks. The schema

0 commit comments

Comments
 (0)