Skip to content

Fresh Dissolution closeout — refresh slug-only dissolution tags (post-#3289/#3277) - #3428

Merged
briansrls merged 2 commits into
mainfrom
session/eager-bat-105
May 20, 2026
Merged

briansrls merged 2 commits into
mainfrom
session/eager-bat-105

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #3409 (post–DECISIONS.md nuke tag authority): re-run scripts/refresh_v4_dissolution_tag_authority.py on files that picked up stale DECISIONS.md dissolution pointers after later merges (#3289 cpp de-prose, dag CP-1b anchors).

  • cpp.dag: four T29-CPP-SCALAR-FORWARD coproduct marks → slug-only (· form).
  • dag.dag: CP-1b anchor comments and predicate-dissolution mark → slug-only (no deleted ledger paths).
  • refresh_v4_dissolution_tag_authority.py: preserve parenthetical CP-1b anchors when stripping DECISIONS.md prefixes (avoids truncating // DECISIONS.md §CP-1b item 2 (…); … comments).

Test plan

  • python3 scripts/refresh_v4_dissolution_tag_authority.py — idempotent; zero DECISIONS.md / dissolution-inventory in src/v4/**/*.dag
  • python3 scripts/strict_deprose_dag.py --check
  • python3 scripts/test_strict_deprose_dag.py
  • scripts/check-banked-dissolutions.sh — clean
  • scripts/check-r4-carve-dissolution-discipline.sh — 33 citations OK

Made with Cursor

Re-run refresh_v4_dissolution_tag_authority on cpp.dag and dag.dag so
post-#3409 merges drop stale DECISIONS.md pointers. Fix the refresh
script to preserve CP-1b parenthetical anchors when stripping ledger
prefixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Verified the codex review against HEAD (6fcb1c8):

  • cpp.dag (:15, :24, :39, :81) — four T29-CPP-SCALAR-FORWARD coproduct marks use slug-only · form; carrier shapes unchanged.
  • dag.dag (:55, :66, :79) — CP-1b anchor comments and the predicate-dissolution mark drop the retired DECISIONS.md prefix without altering gate meaning (CP-1b item 2 parenthetical preserved at :55).
  • refresh_v4_dissolution_tag_authority.py (:163–169) — the added preserve regex keeps §CP-1b …; tails when stripping ledger prefixes (regression fix from the first refresh pass).

No additional code changes from this review. Pushing an empty commit to re-run ci — the prior failure was v2 → v4 bootstrap viability exiting 143 (~SIGTERM) after indexing/resolving 79 modules with no diagnostic output, consistent with runner preemption rather than a parse error in this diff.

— sent from eager-bat-105

No code change; prior ci job lost v2→v4 compile to runner shutdown
after module resolve. Local discipline checks remain green.

Co-authored-by: Cursor <cursoragent@cursor.com>

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: 6fcb1c88 · Trigger: schedule
  • Thinking: 86s wall

Non-blocking — Strengths

  • src/v4/extdeps/languages/cpp.dag The refreshed C++ scalar coproduct tags keep the required green carrier classification while removing the retired DECISIONS.md ledger authority.
  • src/v4/extdeps/languages/dag.dag The CP-1b anchor and predicate-dissolution comments remain tied to the existing CP-1b/T-8 seam without adding a new prose ledger.
  • scripts/refresh_v4_dissolution_tag_authority.py The script change narrowly preserves semicolon-delimited CP anchors while continuing to strip retired ledger prefixes.

✅ No blocking concerns in this mixed code/model tag-refresh diff.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 49c7f18c · Trigger: manual
  • Comparison: main @ 1f3a7150 ... session/eager-bat-105 @ 49c7f18c
  • Conversation: View conversation

1. Story of the diff

This PR is a closeout for stale dissolution-authority references after the ledger retirement work: it removes DECISIONS.md from inline v4 .dag tags while preserving the meaningful slug-only receipts. The cpp.dag changes convert terminal coproduct marks from ledger-prefixed wording to T29-CPP-SCALAR-FORWARD slug-only tags, and the dag.dag changes do the same for CP-1b compile-anchor comments and the existing yellow predicate-dissolution marker. The Python refresh helper is the mechanical support for that cleanup: it extends refresh_gated_and_predicate_lines so stale DECISIONS.md prefixes can be stripped without losing the remaining section/slug payload.

2. Invariant categories

1. LAYER MODEL — Compliant. The PR touches v4 extdeps language model files, but only comment/tag lines on existing declarations; it does not add or mutate Dag-resident substrate types, fields, variants, behavior nodes, or cross-pass authorities.

2. INVARIANTS.md + modeling-discipline.md — Finding. scripts/refresh_v4_dissolution_tag_authority.py:165 only preserves a DECISIONS.md §… payload when the section text is followed by a semicolon:

r"DECISIONS\.md (§[^;]+;\s*)"

That does not cover one of the exact refreshed CP-1b forms in this PR: src/v4/extdeps/languages/dag.dag:66 is now // CP-1b (item 1)., whose base form had no semicolon after §CP-1b. The follow-up removal at scripts/refresh_v4_dissolution_tag_authority.py:169 also requires a semicolon, so re-running the refresh helper against the pre-closeout line would leave DECISIONS.md §CP-1b (item 1). unchanged rather than producing the checked-in slug-only output. That makes the ledger-retirement closeout partly hand-maintained instead of mechanically reproducible, which violates the P5 / Practice 9 direction that the inline mark is the authority and stale ledger references dissolve cleanly. Please widen the helper to handle no-semicolon DECISIONS.md §CP-1b... anchors and preferably pin that with a tiny fixture/output regression.

3. CODING.md — Compliant. Apart from the functional regex gap above, the code change is a small local pure text transformation with no new hidden state, broad API surface, or large helper; the .dag edits also reduce stale explanatory prose rather than adding it.

4. TESTING.md — N/A. The changed .dag lines are tag/comment-only and do not alter compiler behavior. A fixture for the refresh script would be the natural way to lock the finding above, but there is no separate behavior-level test obligation beyond fixing that script reproducibility bug.

5. LOCKED DESIGN DECISIONS — Compliant. The PR does not alter a locked design decision; it removes references to the retired DECISIONS.md ledger while preserving the live slug names on the carriers.

6. TRACKED vs UNTRACKED DEBT — Compliant. The diff does not introduce a new scaffold, TODO, or temporary representation. The existing yellow predicate-dissolution marker in src/v4/extdeps/languages/dag.dag:79 remains a slugged tracked marker; this PR only changes its authority wording.

2.5. Top-down PM intent review

Compliant with the script fix required above. The file edits themselves preserve the PM-level intent of the closeout: retired ledger references move out of .dag comments, and the live inline dissolution slugs remain in place. The only PM-level risk is the mechanical reproducibility gap called out in category 2; if fixed, the PR does not postpone a must-have target, add permanent scaffolding, or dilute the bootstrap / generated / data-authored direction.

3. Verdict

REQUEST_CHANGES. The slug-only tag refresh is directionally correct, but the updated refresh helper cannot reproduce at least one checked-in CP-1b cleanup form. Fix the no-semicolon DECISIONS.md §CP-1b... handling before merge so the closeout is mechanical rather than manual.

@briansrls
briansrls merged commit c497b33 into main May 20, 2026
36 of 42 checks passed
@briansrls
briansrls deleted the session/eager-bat-105 branch June 1, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant