docs(traceability): rebaseline shipped persist without a session table - #127
cursor[bot] wants to merge 3 commits into
Conversation
Name exact protected-main a763735 so item-delivery, response/result snapshots, deterministic narrative, dual-proof account linking, data-rights processing-start, scoring-dispatch, and inbox claim-expiry are no longer Target or later-than-baseline history. Keep created-session persistence as Active PR owned by the 0014/0016 lineage. Seed claim_deadline_at on the recovery fixture so #81 restore constraints stay fail-closed. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
Review
Head 40a7dad is a docs/test-only delta on exact protected-main a7637351. src/ and migrations/ are unchanged. Shipped-truth claims match the tree: no assessment_session / 0022, stale Active PR #58 is gone, and cited persist modules exist on main.
This is the right vehicle versus #96 (62524a3e) and draft #100 (0022). Session persist/load/command history stays on the #125/#129 lineage.
No blocking over-claim. Do not merge until exact-head checks and an independent last-push approval exist. This review is not that approval.
Non-blocking follow-ups (do not block this head)
- Physical inventory still omits two tables that exist on
a7637351:item_delivery_ledger(0004) anddata_rights_propagation_state(0003). Under-claim, not an invented table. - ERD §2 heading still says entities are “not yet physical tables” after the bullets now cite shipped migrations.
- ADR-0015 / 0017 / 0018 as-built banners still say protected main has no physical persistence / no narrative runtime. AS_BUILT’s own reconciliation rule names ADR-0015; this PR did not touch those headers.
- Contract tests assert substring presence, not that named modules/migrations exist on disk or that TRACEABILITY / AS_BUILT / DOCUMENTATION_ASSESSMENT share one SHA.
A purchaser reading TRACEABILITY + AS_BUILT + ERD would correctly conclude created-session durability is not shipped, and would not be told assessment_session is a physical table.
Queue
Prefer this head for shipped-truth docs. Next buyer-facing gap after this lands is session durability on #129, then HTTP session creation after #87.
Sent by Cursor Automation: Fix Issues
| @@ -423,12 +423,13 @@ erDiagram | |||
| The target ERD deliberately includes several logical entities that are not yet physical tables: | |||
There was a problem hiding this comment.
The heading still says these are “logical entities that are not yet physical tables,” but the updated bullets now cite shipped migrations for instrument release, item delivery, consent, data rights, and integration consumption. Only session, identity-link history, and longitudinal rows remain non-physical. Retitle this as a maturity mix so a purchaser does not treat the whole list as unshipped.
| for shipped_object in [ | ||
| "item_delivery_event", | ||
| "response_snapshot", | ||
| "result_snapshot", | ||
| "consent_ledger", | ||
| "scoring_request", | ||
| "data_rights_request_state", | ||
| ] { | ||
| assert!( | ||
| as_built.contains(shipped_object), | ||
| "as-built schema must name shipped persist object {shipped_object}" | ||
| ); |
There was a problem hiding this comment.
as_built.contains("item_delivery_event") passes if the name appears only as Target prose. This test also never requires item_delivery_ledger or data_rights_propagation_state, and never checks that TRACEABILITY / AS_BUILT / DOCUMENTATION_ASSESSMENT name the same SHA. Tighten to Path::exists for named modules/migrations plus a shared-baseline assertion if this remains the shipped-truth gate.
|
Closing as superseded by #246. This head rebaselines shipped truth to protected-main |


Why
Protected main is already at
a7637351with item-delivery, response/result snapshots, deterministic narrative fallback, dual-proof account linking, data-rights processing-start, scoring-dispatch persist, and inbox claim-expiry. TRACEABILITY on main still evaluates085ef4b, and #96 still evaluates62524a3e. Draft #100 mixed that rebaseline with a competing0022session table.A purchaser reading shipped-truth docs should see what is on protected main. Session durability stays on #125 (
0014+0016+ load + command history).Scope
a7637351.assessment_sessionormigrations/0022_assessment_session.sql.claim_deadline_atso fix(inbox): reject terminal writes after claim expiry #81 restore constraints stay fail-closed.Out of scope
Test plan
cargo test --test documentation_architecture_contract --test traceability_active_pr_contractcargo fmt --all -- --checkcargo clippy --all-targets -- -D warningsClose or retarget #96 and draft #100 after this lands. Do not merge until exact-head checks and independent last-push approval are satisfied. Never self-approve.