Repository navigation
v4 de-prose #3291 redo: cpp.dag coproduct tag → Part 6 · CP-3229-CPP-INTEGER-OVERFLOW - #3352
Merged
Merged
Conversation
…3229-* form The `CppIntegerOverflowDisposition` coproduct in `extdeps/languages/cpp.dag` carried the non-conforming tag `// 🟢 coproduct dissolution — DECISIONS.md T29-ABI + D2-REV.`, which predates and violates the in-file one-liners directive (DECISIONS.md Part 6: every sum coproduct carries one `// 🟢|🟡|🔴 coproduct dissolution — DECISIONS.md Part 6 · <CP-3229-*|SL-3229-*>`). `cpp.dag` was created post-merge-base (PR #3199), so it cannot use the merge-base-only `CP-3229-GREEN-TERMINAL` bulk slug. A dedicated Part-6 row `CP-3229-CPP-INTEGER-OVERFLOW` is added — same shape as the post-merge-base `CP-3229-NAT-LE-WITNESS` precedent — classifying the coproduct 🟢 GREEN terminal with a five-pattern Practice-4 ledger, and the live tag points to it. Comment + ledger only; carrier model byte-identical (parse-inert .dag `//` line + markdown row), so the v2→v4 bootstrap-viability compile is unchanged. Fresh from post-#3338 main; supersedes stale PR #3291 branch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
commented
May 19, 2026
briansrls
left a comment
Contributor
Author
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
83b73ab6· Trigger:schedule - Thinking:
169s wall
Non-blocking — Strengths
src/v4/DECISIONS.mdThe added Part 6 receipt matches the live cpp.dag tag and the C++ draft at https://eel.is/c++draft/basic.fundamental confirms the signed-overflow/unsigned-modulo split.
✅ No blocking concerns; this is a narrow ledger/tag alignment with a reachable Practice-4 receipt.
briansrls
commented
May 19, 2026
briansrls
left a comment
Contributor
Author
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
e27a2af8· Trigger:schedule - Thinking:
197s wall
✅ No blocking concerns in the current diff after checking the Part 6 receipt against the live tag and C++ draft authorities at https://eel.is/c++draft/basic.fundamental and https://eel.is/c++draft/expr.pre.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Redo of stale PR #3291 (its branch was 44 commits behind main and predates #3338's comment-surface rewrite of
cpp.dag). Fresh from post-#3338 main.extdeps/languages/cpp.dag: theCppIntegerOverflowDispositioncoproduct carried the non-conforming tag// 🟢 coproduct dissolution — DECISIONS.md T29-ABI + D2-REV.. The in-file one-liners directive (DECISIONS.md Part 6) mandates// 🟢|🟡|🔴 coproduct dissolution — DECISIONS.md Part 6 · <CP-3229-*|SL-3229-*>. Tag conformed.cpp.dagwas created post-merge-base (PR v4 T-4 cpp.dag D2-resolver model (from scaffold; mirror verified canonical rust #3174@0328bee9 + encoded DECISIONS.md D2 row) #3199), so it cannot use the merge-base-onlyCP-3229-GREEN-TERMINALbulk slug (DECISIONS.md is explicit that that table enumerates strict-de-prose merge-base files only). A dedicated Part-6 rowCP-3229-CPP-INTEGER-OVERFLOWis added — same shape as the post-merge-baseCP-3229-NAT-LE-WITNESSprecedent — with a five-pattern Practice-4 ledger classifying the coproduct 🟢 GREEN terminal.Why
The original PR #3291 fixed the tag to
Part 6 · CP-3229-GREEN-TERMINAL, but that slug is reserved for merge-base files only;cpp.dagneeds its own reachable Part-6 receipt. This redo lands the correct slug + ledger row.Comment + ledger only — carrier model byte-identical (parse-inert
.dag//line + markdown row). No Rust, no tests added (Rust-to-0: no quiet v3/Rust accumulation).Test plan
python3 scripts/strict_deprose_dag.py --check→OK(cpp.dag is not in the allowlist; the newCP-3229-CPP-INTEGER-OVERFLOWPart-6 row does not perturb the union inventory).v4:job (v2-compiler compile --source-root src/v4) is the authoritative parse gate; the change is parse-inert so the prior 0-diagnostic result holds — verified by CI on this branch.