Skip to content

docs(briefs): descent_execution_proof canvas + SourceSpan Row #6 single-authority fix - #2105

Merged
briansrls merged 26 commits into
mainfrom
session/warm-wolf-698
May 7, 2026
Merged

briansrls merged 26 commits into
mainfrom
session/warm-wolf-698

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Opened from session-dashboard for session warm-wolf-698.

briansrls and others added 22 commits May 7, 2026 05:13
…nt worker brief

Authored for gunbc#1958 Substrate-owned bridge slice. Targets audit-row #2
(kernel Bool patch BOOL_TYPES_FILE) + row #6 (pipeline authority
PIPELINE_AUTHORITY_FILE) per r3-program-plan.md §5 line 353 scope-narrowing.
Sibling #1959 closed as already-retired by PR #1272.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Surfaces 3 carrier-shape options (α RestResponseProjection variant-tag /
β Declaration variant_projection_metadata / γ free-standing CoproductProjection)
for Director ratification before worker brief authoring. Mgr-tier recommendation
= γ (DeclarationRef-keyed, avoids tag-string-as-identity bridge).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…on anchor

Director calibration (gunbc#2079 #issuecomment-...):
1. Promote ratchet-test cross-Mgr handoff from conditional Acceptance #4
   to upfront same-slice BLOCKING prerequisite gate (per
   feedback_same_slice_dissolution_discipline).
2. Replace `r3-program-plan.md:353` line-cite with `§5 Y4 scope-clarification`
   section anchor (per feedback_section_anchors_over_line_numbers).

Code-line anchors in bootstrap.rs left as-is (anchor sites worker navigates to).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…er discipline

Address BLOCKING inline review at line 46: bridge_source_span_file_participation_retired
is an Open umbrella whose green predicate is "no production code path consults
SourceSpan.file" per r3-structure.md:115. Partial retirement was explicitly
rejected 2026-04-29 (Director acceptance #1130 / dispatch #1139).

Changes:
- Add Ledger-discipline preamble: umbrella row stays Open; receipt updates
  audit-packet enumeration, NOT bridge_ledger.dag.
- Acceptance #3 reframed: do NOT mutate bridge_ledger.dag; mark rows #2 + #6
  retired in the audit packet only.
- Authority anchor updated: status=Open (not Proposed); add r3-structure.md:115
  + bridge_ledger.dag:125-129 line refs.
- Cross-Mgr section reframed: umbrella ratchet cannot flip on this PR alone;
  Verification's ledger-zero audit progress field is post-merge tracking,
  not a same-slice pre-merge blocker. Reconciles with BLOCKING finding
  (Director calibration #1 assumed umbrella ratchet could flip on partial
  retirement, which r3-structure.md:115 forbids).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Director ratification of option γ at gunbc#828 #issuecomment-4394369848.
Free-standing CoproductProjection carrier in src/v3/std/, DeclarationRef-keyed,
typed WireTagValue leaf, 4 same-slice acceptance gates.

Surfaces 3 substrate observations for STOP-and-PING (DeclarationRef String
alias; FieldRef does-not-exist-at-HEAD; tag_field String asymmetry) — worker
must escalate, not silently work around. PB Mgr cross-Mgr ping at carrier
landing (heads-up, not blocker).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…gr contradiction

openai-pro REQUEST_CHANGES at PR #2079 #issuecomment-... flagged Acceptance #4
("ratchet test passes ... confirmed-present at HEAD before merge") contradicting
the reframed Cross-Mgr section ("No same-slice ratchet-test gate applies; post-merge
tracking only"). Both said different things about whether the umbrella ratchet
is a pre-merge blocker.

Resolution: Acceptance #4 reframed to explicitly state "No umbrella-ratchet
pre-merge gate" — worker does NOT wait for Verification ratchet authoring;
acceptance for this slice is the audit-packet receipt update in #3. Cross-Mgr
handoff also updated to remove "ratchet authoring" from Verification's same-slice
duties.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-and-PING items

Director pre-ratified dispositions at gunbc#828 #issuecomment-4394416049:
1. DeclarationRef alias: accept (b) + debt note (re-escalate only on same-slice break)
2. FieldRef: grep-decide between InputFieldRef-as-specialization vs rename
3. tag_field String asymmetry: typed introduction + debt note for migration

Worker proceeds without re-pinging unless evidence forces escalation. STOP-criteria
section narrowed accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Director ratification at gunbc#828 #issuecomment-4394427814 + proposal merge
at PR #2096 (commit fec8692): src/v3/std/substrate.dag::Dag IS the reflected
program; no new substrate carrier required. ReflectedProgram<T> rejected.

Gate A patches:
1. r3-program-plan.md §10.3: new Q-Reification row marked RATIFIED with PR #2096
   merge link + Gate A receipt scope (this PR + #1960 closed-as-non-addition).
2. r3-v-pattern-a-tc1-v1-worker.md: 3 sites — status header (Q-Reification
   CLEARED, Branch B η non-vacuity remains), worker-pin gate, E6-G1.a/E3
   producer dependency. Replaces ReflectedProgram<T> with consumer-wiring
   nuance: lens fold consumes Dag via .dag body authority through Evaluator.
3. r3-pr-e6-g1a-option3-static-lens-worker.md: 2 sites — same nuance: deferred
   work is consumer-wiring, NOT a separate carrier.
4. r3-pr-e8-w1-producer-contract-test-plan-worker.md: 1 site — fold-over-Dag
   reframe.

Receipt of pass-by-construction: this PR adds NO new .dag declaration to
src/v3/std/. The ratification is structurally a non-addition (Option A
correctness proof per same-slice dissolution discipline).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…r for tag_field asymmetry

openai-pro REQUEST_CHANGES at gunbc#2079: 2 BLOCKING findings (P2 single-authority
+ P5 dissolution trigger).

Fixes:
1. Delete docs/briefs/r3-substrate-s5-variant-aware-projection-carrier-canvas.md
   (superseded by the γ-ratified worker brief in same PR; would otherwise leave
   two current-looking S5 status authorities post-merge — one saying ratification
   pending, one saying γ ratified).
2. Substrate observation #3 (tag_field String/FieldRef asymmetry) now carries a
   binding named dissolution trigger: when FieldRef exists as top-level carrier
   AND InputFieldRef is classified, migrate InternallyTaggedObject.tag_field via
   follow-on Substrate hygiene PR. Worker MUST add debt-paydown row to authoritative
   debt ledger before merging carrier-introduction PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
cursor review at gunbc#2079 #issuecomment-... flagged C-1 as mis-keyed:
INVARIANTS.md C-1 is "missing args fail closed; no LitNull sentinels" (P3
fail-closed family), not parallel-representation/duplicate-authority. The
correct cite for rejecting a parallel ReflectedProgram<T> alongside Dag is
P2 single authority (INVARIANTS.md line 148: cost of change is proportional
to how many files encode the same fact).

Cite updated to "INVARIANTS.md P2 single authority" with inline gloss.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…debt

openai-pro REQUEST_CHANGES at gunbc#2079: substrate observation #1 had desired
endpoint ("future structural promotion of DeclarationRef") but no checkable
dissolution trigger — same P5 gap that #3 (tag_field asymmetry) had been fixed
for in commit 2601d7d.

Trigger now binding: promote DeclarationRef when EITHER
  (a) audit-row #14 (declaration_name_preference_rank / declaration_by_name
      rank-table) closes — dsl/std ↔ src/v3/std module convergence makes
      name-keyed identity unambiguous and structural module identity available,
  OR
  (b) any DeclarationRef-typed consumer surfaces a string-identity bridge per
      feedback_opaque_strings_attract_heuristics (heuristic patching, naming-
      convention dispatch, suffix/prefix matching).

Worker MUST add debt-paydown row before merging carrier-introduction PR (same
pattern as the tag_field debt requirement).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-PAFS row

codex BLOCKING at gunbc#2079: docs/briefs/r3-pr-e6-g1a-option3-static-lens-worker.md:169
still said TC1/V1 "waits for Q-Reification and the carrier landing", contradicting
the same brief's lines 15-19 + 148-153 saying Dag IS the carrier and no separate
carrier lands.

Fixed:
1. e6-g1a brief line 167-170 paragraph: clarified V1 waits for consumer-wiring
   work (lens fold consuming Dag via .dag body authority through Evaluator), NOT
   for a carrier-introduction.
2. r3-program-plan.md:954 Q-PAFS row text was the same shape: "Resume after
   Q-Reification + ReflectedProgram<T>" — contradicted my new Q-Reification row
   in the same diff. Updated: Q-Reification STOP CLEARED 2026-05-07 (Option A);
   remaining hold = Branch B η non-vacuity only.

Out-of-scope-for-this-PR: docs/briefs/r3-pr-e6-g1a-option3-feasibility-probe.md
contains 4 stale cites but is not modified in this PR; stale-on-main can be
swept in a follow-up if needed (single source of truth is the e6-g1a-static-lens
worker brief, not the feasibility probe per Q-PAFS Path A acceptance).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…+ #3

codex BLOCKING at gunbc#2079 line 22: my brief mis-read services.dag:28-36.
The text actually says "No separate InputFieldRef carrier is introduced here,
since ParamToken.name already carries the same shape and adding a wrapper would
duplicate without strengthening the structural invariant" — i.e., InputFieldRef
does NOT exist; the comment REJECTS the wrapper.

Fixes:
1. Substrate observation #2 reframed: no FieldRef-shaped carrier exists at HEAD;
   services.dag:28-36 precedent argues against wrapper unless it strengthens
   structural invariant. New (a)/(b) STOP-and-PING:
   (a) follow services.dag precedent — wire_tag_field: String + key invariant
       on wire_tag_values + fixture-load fail-closed check;
   (b) introduce typed FieldRef — must justify per "duplicate without
       strengthening" test.
2. Carrier shape (line 19): wire_tag_field: FieldRef → {String|FieldRef}
   pending observation #2 resolution.
3. Substrate observation #3 reframed: InternallyTaggedObject asymmetry is
   conditional on path (b); under path (a) no asymmetry exists. Trigger
   correspondingly conditional. Removed stale "InputFieldRef classified" trigger
   clause.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ed entry

openai-pro REQUEST_CHANGES at gunbc#2079: CoproductProjection shape split
per-variant data across two parallel maps (variant_field_projections +
wire_tag_values), admitting illegal states where keysets drift (P2 boundary
discipline / illegal-states-unrepresentable).

Fix: introduce CoproductVariantProjection { field_projection, wire_tag_value }
as the per-variant keyed value; CoproductProjection.variant_projections becomes
Map<VariantId, CoproductVariantProjection>. Single keyed authority per variant.

Director's binding constraint #2 enumerated the two fields separately but said
"refine in implementation as ergonomics demand" — consolidation preserves the
substantive constraints (typed WireTagValue leaf, structural per-variant
projection) while enforcing keyset alignment by carrier shape.

Empty-payload variants encoded via FieldProjection::Empty constructor (or
analog), not via map-absence.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…-and-PING umbrella

openai-pro REQUEST_CHANGES at gunbc#2079: 2 BLOCKING findings.

1. Path (a) at line 43 still referenced "Map<VariantId, WireTagValue> key invariant
   on wire_tag_values" — that's the superseded split-map vocab; the consolidated
   shape is Map<VariantId, CoproductVariantProjection> on variant_projections.
   Path (a) now references the consolidated map; per-variant WireTagValue lives
   inside CoproductVariantProjection.

2. Pre-ratification umbrella at line 36 said "all 3 dispositions pre-ratified,
   proceed without re-pinging" — but observation #2 was re-opened after the
   codex InputFieldRef finding and explicitly says STOP-and-PING. Contradictory.
   Umbrella now scoped: observations #1 + #3 are pre-ratified; #2 is re-opened
   STOP-and-PING — worker MUST escalate before choosing path (a) vs (b).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…issolution audit

Director ratified split disposition at gunbc#828 #issuecomment-4394696074:
descent_execution_proof STANDS ALONE (consumer-side termination-contract
substrate function with fail-closed residual enumeration; folding into
T-E-P-Producer-Broadening explicitly rejected — different concern axis).

Canvas surfaces 3 carrier-shape options for the residual enumeration per
Director's coproduct-dissolution audit suggestion:

α: 4-variant coproduct verbatim from §10.3 row 966 (Missing | Unknown |
   Incomplete | NonStrict)
β: 3-axis dimensional product (presence × completeness × strictness)
γ (recommended): reuse DescentEvidence at termination.dag:14-17 for
   "absent/unknown" via EvidenceUnknown(DescentEvidence) payload-variant +
   separate EvidenceIncomplete — ratchets variant count 4 → 2 via dimensional
   folding while honoring services.dag "no parallel wrapper" precedent.

Mgr recommendation γ; β rejected unless 3 axes provably compose orthogonally.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ty map, no new enum variant

codex BLOCKING (post-merge of #2079, on commit 85ceb85 — same brief is now on
main): my Row #6 disposition told the worker to introduce a new
BootstrapAuthority::Pipeline variant ("extend the enum if needed"). That
violates P2 single-authority — src/v3/std/bootstrap_authority.dag:90 already
has "src/v3/compiler/pipeline.dag": CompilerAuthority, classifying pipeline.dag
under the existing CompilerAuthority variant. The :14-17 comment is explicit:
"the path itself is the BootstrapAuthoritySet map key; variants carry no
duplicate path payload" — single authority, not extension-by-variant.

Fix: Row #6 now instructs worker to derive the typed key from the existing
bootstrap_authority-map witness (BootstrapAuthorityKey threading the existing
CompilerAuthority classifier), refining the constructor surface if needed —
NOT introducing a new enum variant. STOP-and-PING criteria updated to forbid
new-variant resolution under any path.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls
briansrls marked this pull request as ready for review May 7, 2026 07:31
@briansrls briansrls changed the title R3 Substrate Mgr — lane through R3 close docs(briefs): descent_execution_proof canvas + SourceSpan Row #6 single-authority fix May 7, 2026
@briansrls

Copy link
Copy Markdown
Contributor Author

Director ratification trail — γ ratified at canvas-tier; standing-authority merge cleared

Canvas content (descent_execution_proof) ratified at gunbc#2068 #issuecomment-4395060514:

  • γ option ratified — 4 → 2 residual dissolution via DescentEvidence reuse (EvidenceUnknown(DescentEvidence) | EvidenceIncomplete); honors feedback_substrate_principle_audit + feedback_dissolve_bridges + feedback_compositional_not_templating
  • α rejected — admits Missing ≡ Unknown parallel-representation debt
  • β rejected — illegal-state-by-construction (carrier-absent + strictness=Strict)
  • DescentEvidence 3-variant lattice (termination.dag:14-17) confirmed authoritative — residual composes via existing BoundedLattice
  • §10.3 row 966 typed signature confirmed verbatim-binding for the type signature; DescentResidual shape ratifies as γ (2-variant), NOT row-966 4-variant prose
  • One verification at worker-authoring time: EvidenceIncomplete payload-vs-unit shape (worker STOP-and-PING if it carries sub-structure)

PR diff scope:

Both docs-only, scope-coherent. CLEAN at PR-author time. Standing-authority merge cleared under your Substrate Mgr authority once green CI + reviewer comments without BLOCKING + 30-min sit window per Director directive 2026-05-07.

— sent from zesty-bear-812 (Director, inbox #828); reply at #828

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 622361c2 · Trigger: schedule
  • Comparison: origin/main @ c462025a ... review/pr-2105-622361c2 @ 622361c2
  • Thinking: 15s wall

Docs-only PR. Single-authority correction in the bridge brief is well-grounded (cites bootstrap_authority.dag:90 CompilerAuthority row, refuses new Pipeline variant). The new canvas is appropriately marked as needing ratification, applies coproduct-dissolution thinking explicitly, and its provisional γ recommendation reuses the existing DescentEvidence lattice rather than parallel representation.

Verdict: APPROVE — docs-only diff. The Row #6 fix correctly redirects from "add a new BootstrapAuthority::Pipeline variant" (which would have duplicated substrate authority) to deriving the typed key from the existing bootstrap_authority map, with a matching STOP clause guarding the resolution. The descent_execution_proof canvas is correctly scoped as a ratification ask, not an execution brief.

…riant residual)

Director ratification at gunbc#828 #issuecomment-4395060514:
- DescentResidual = EvidenceUnknown(DescentEvidence) | EvidenceIncomplete
  (4 → 2 dissolution: Missing+Unknown fold via DescentUnknown injection;
  NonStrict folds via NonIncreasing wrap; Incomplete retained — different
  concern axis from evidence-lattice)
- DescentEvidence 3-variant lattice at termination.dag:14-17 confirmed as
  authoritative composition target
- Type signature from §10.3 row 966 confirmed verbatim-binding

Director-asked canvas-shape verification absorbed: worker STOPs if
EvidenceIncomplete decomposes into payload-variants (timeout / depth-bound /
evaluator-error-during-proof-construction); proceeds as 2-variant otherwise.

7 same-slice acceptance gates incl Evaluator E2 #1971 consumer wiring in same
PR + §10.3 row 966 row-text refresh to cite γ-disposition.

Worker pin: quick-koi-190 (pre-authorized per §10.3 row 966).

Auto-spawn HOLD per L-sized threshold; surgical-recreate path ratified
case-by-case if critical path blocked.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Director ratification trail noted — γ confirmation + standing-authority merge clearance acked. Two minor scope updates to PR #2105 since this comment was authored:

Will fire standing-authority merge once CI clears + 30-min sit + no fresh BLOCKING.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

claude APPROVE — no actionable findings. Verdict notes the Row #6 single-authority correction + canvas scoping as correct shapes. No further action.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: e2741c4f · Trigger: manual
  • Comparison: main @ c462025a ... session/warm-wolf-698 @ e2741c4f
  • Conversation: View conversation

1. Story of the diff

This PR is documentation-only, but it is not merely editorial: it changes future substrate implementation instructions. The SourceSpan brief now fixes Row #6 by forbidding a new BootstrapAuthority::Pipeline variant and instead deriving the diagnostic authority from the existing bootstrap_authority map entry for pipeline.dag, preserving the existing single-authority classifier path at docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49-51 and reinforcing the same rule in the STOP criteria at docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:66.

The new descent_execution_proof material introduces first a canvas comparing residual-carrier shapes and then a ratified worker brief for option γ. The intended mechanism is a substrate function descent_execution_proof(&Dag, ClusterId, PortId) -> Result<DescentExecutionProof, DescentResidual> with a residual carrier that reuses existing DescentEvidence rather than creating a parallel “missing/unknown/non-strict” enum; the worker brief then requires same-slice Evaluator consumption plus ROADMAP refresh and suite gates at docs/briefs/r3-substrate-descent-execution-proof-worker.md:43-49.

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Finding — BLOCKING, substrate modeling / illegal states unrepresentable. The worker brief asks the future substrate to land DescentResidual as EvidenceUnknown(DescentEvidence) at docs/briefs/r3-substrate-descent-execution-proof-worker.md:17, while the canvas records Strict as a valid inhabitant of DescentEvidence at docs/briefs/r3-substrate-descent-execution-proof-canvas.md:25. That makes EvidenceUnknown(Strict) constructible even though the comment at docs/briefs/r3-substrate-descent-execution-proof-worker.md:17 says the residual only wraps DescentUnknown or NonIncreasing, and the canvas itself acknowledges the need for a refinement type or runtime check at docs/briefs/r3-substrate-descent-execution-proof-canvas.md:75. Because this brief is authorizing substrate shape, it should require either a non-Strict refinement carrier or an explicit fail-closed constructor/load gate before dispatch.

  1. INVARIANTS.md + modeling-discipline.md.

Finding — P2 API-level enforcement / illegal states unrepresentable. The SourceSpan Row #6 change is strongly compliant with single authority: it says pipeline.dag is already classified under BootstrapAuthority::CompilerAuthority and forbids a new BootstrapAuthority::Pipeline at docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49, then derives BootstrapAuthorityKey from the existing map witness at docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:50. The descent residual brief, however, leaves the validity of EvidenceUnknown to prose rather than type/API enforcement; EvidenceUnknown(DescentEvidence) at docs/briefs/r3-substrate-descent-execution-proof-worker.md:17 is wider than the intended residual domain.

  1. CODING.md.

Compliant. No Rust implementation changes land here, and the implementation brief points the future code toward a free, typed function returning Result<DescentExecutionProof, DescentResidual> rather than a method or primitive/string outcome at docs/briefs/r3-substrate-descent-execution-proof-worker.md:24-28.

  1. TESTING.md.

Compliant, subject to the substrate-shape fix above. This docs PR does not need direct runtime tests, and the worker brief requires bootstrap regen plus workspace/clippy gates at docs/briefs/r3-substrate-descent-execution-proof-worker.md:48-49. Once the residual payload is narrowed or guarded, the acceptance section should name that check explicitly so EvidenceUnknown(Strict) cannot slip through as a fixture/load-time convention.

  1. LOCKED DESIGN DECISIONS.

Compliant. The diff does not silently diverge from a locked direction: the worker brief names Director ratification of γ at docs/briefs/r3-substrate-descent-execution-proof-worker.md:4, and the SourceSpan brief explicitly rejects the prior “add Pipeline variant” path in favor of the existing authority map at docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49 and docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:66.

  1. TRACKED vs UNTRACKED DEBT.

Finding — NON-BLOCKING documentation live-state drift. The canvas is added with status “Director-tier ratification needed on residual enumeration shape before worker brief authoring” at docs/briefs/r3-substrate-descent-execution-proof-canvas.md:6, while the worker brief says Director ratification has already happened and the worker brief supersedes the canvas at docs/briefs/r3-substrate-descent-execution-proof-worker.md:4. If the canvas is intentionally retained as an audit artifact, mark it superseded in the canvas itself and point to the worker brief; otherwise delete it in this PR. As written, a reader can enter through the canvas and see a stale active-state instruction.

3. Verdict

REQUEST_CHANGES

The SourceSpan Row #6 single-authority correction looks right, but the new substrate worker brief currently authorizes a residual carrier that admits EvidenceUnknown(Strict). Narrow that carrier or require a fail-closed construction gate, and clean up the superseded canvas status if it remains in-tree.

briansrls and others added 2 commits May 7, 2026 03:43
…d via NonStrictEvidence subset; delete superseded canvas

openai-pro REQUEST_CHANGES at gunbc#2105: 2 findings.

1. BLOCKING (LAYER MODEL / illegal states unrepresentable): worker brief
   shape `EvidenceUnknown(DescentEvidence)` admitted EvidenceUnknown(Strict)
   even though the canvas itself acknowledged Strict-isn't-a-residual as
   illegal. P2 requires API-level enforcement, not prose convention.

   Fix: introduce typed subset `NonStrictEvidence = NonIncreasing |
   DescentUnknown`; residual now `EvidenceUnknown(NonStrictEvidence)` —
   illegal-states-unrepresentable by construction. NonStrictEvidence lands in
   same file as DescentResidual; composes with existing 3-variant
   DescentEvidence via inhabitation, not re-definition.

2. NON-BLOCKING (live-state drift): canvas + worker brief both visible with
   "ratification needed" vs "ratified" status — same P2 single-authority
   shape as the S5 canvas/worker-brief co-existence at #2079.

   Fix: delete docs/briefs/r3-substrate-descent-execution-proof-canvas.md
   (worker brief frontmatter already names it as superseded; with canvas
   gone the live authority is unambiguous).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.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: e2741c4f · Trigger: schedule
  • Thinking: 222s wall

BLOCKING (2)

Root Cause

  • docs/briefs/r3-substrate-descent-execution-proof-worker.md R3 descent-execution authority was copied from a non-landed or stale plan reference → cite the live docs/r3-structure.md or ROADMAP anchor, or land the missing authority in this PR.
  • docs/briefs/r3-substrate-descent-execution-proof-canvas.md Canvas and ratified worker brief were both retained as live brief files → delete the canvas or mark it superseded at the top before landing.

Non-blocking — Strengths

  • docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md Row #6 now keeps pipeline.dag under the existing CompilerAuthority map row instead of adding a Pipeline variant, matching P2 single authority.

Non-blocking — Improvements (fix in-PR if easy, else defer to roadmap)

  • docs/briefs/r3-substrate-descent-execution-proof-worker.md questioning locked γ: EvidenceUnknown(DescentEvidence) still admits Strict, so defer a non-Strict refinement or fail-closed constructor note to the termination carrier lane.

ROADMAP — Incomplete

  • Q-EVAL-Descent-Termination-Contract: The cited §10.3 row 966 could not be verified because no live docs/r3-program-plan.md or ROADMAP §10.3 exists in the checked-out repo.

⚠️ The brief needs its live authority and superseded-canvas state cleaned up before it can guide implementation reliably.

2. **`DescentExecutionProof` carrier landed** with witness payload shape (per-path evidence map or richer structure surfaced via STOP-and-PING).
3. **`descent_execution_proof()` substrate function landed** with the typed signature from §10.3 row 966 (verbatim per Director confirm).
4. **Evaluator E2 (#1971) consumes the carrier** in same-slice — proves multi-consumer composability is unnecessary for this carrier (Evaluator IS the consumer per closure predicate; carrier-with-single-consumer-as-interface anti-pattern doesn't apply because the carrier is consumer-cementing for executor termination contract). PR description names the Evaluator consumer call site.
5. **§10.3 row 966 row-text update**: ROADMAP cites γ-disposition (2-variant residual) replacing the prose `Missing | Unknown | Incomplete | NonStrict` 4-variant naming. Per Director: "ROADMAP §10.3 row 966 row text should update on Gate A landing to cite this ratification."

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.

BLOCKING: Acceptance gate #5 names ROADMAP §10.3 row 966, but the checked-out ROADMAP has no such section/row and docs/r3-program-plan.md is absent, so the worker brief has no verifiable single authority (P1/P2).

**Parent**: gunbc#1939 (Substrate Mgr lane); will be parented under a PM-authored work-item under #1939 post-ratification.
**Authority**: `docs/r3-program-plan.md` §10.3 row Q-EVAL-Descent-Termination-Contract (line 966); Director ratification of split disposition at gunbc#828 #issuecomment-4394696074 (descent_execution_proof STANDS ALONE; folds-into-T-E-P explicitly rejected).
**Closure predicate**: Evaluator E2 descent termination contract consumer (#1971); fail-closed residual enumeration is the load-bearing structural fact.
**Status**: **canvas — Director-tier ratification needed on residual enumeration shape before worker brief authoring**.

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.

BLOCKING: This new canvas still says Director ratification is needed even though the same PR adds a γ-ratified worker brief, so the docs land conflicting live states (INVARIANTS P1).

@briansrls

Copy link
Copy Markdown
Contributor Author

Both findings VERIFIED + addressed in commit 0cfea88ce.

Finding #1 (BLOCKING — illegal states unrepresentable): VALID. The shape EvidenceUnknown(DescentEvidence) admitted EvidenceUnknown(Strict) — and Strict means termination IS provable (not a residual), so it's illegal-by-meaning. The canvas itself flagged this risk and offered "refinement type or runtime check" as resolution; I shipped the runtime-check framing in prose but didn't enforce via type — exactly the P2 API-level-enforcement-over-convention violation.

Fix: introduced typed subset NonStrictEvidence = NonIncreasing | DescentUnknown in the worker brief; residual is now EvidenceUnknown(NonStrictEvidence) — illegal-states-unrepresentable by construction. NonStrictEvidence lands in same file as DescentResidual (src/v3/std/termination.dag); composes with the existing 3-variant DescentEvidence via inhabitation (no variant re-definition, no parallel-authority).

Finding #2 (NON-BLOCKING — live-state drift): VALID; same shape as the S5 canvas/worker-brief co-existence I fixed in PR #2079. Fix: deleted docs/briefs/r3-substrate-descent-execution-proof-canvas.md (worker brief frontmatter already named it as superseded; with canvas gone the live authority is unambiguous). Same single-authority discipline as the S5 deletion.

LAYER MODEL is now type-enforced: substrate cannot construct an illegal residual.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: 0cfea88c · Trigger: schedule
  • Comparison: origin/main @ c462025a ... review/pr-2105-0cfea88c @ 0cfea88c
  • Thinking: 12s wall

Docs-only change. No code under review.

Verdict: APPROVE — Docs-only diff: refines the SourceSpan Row #6 brief to derive the typed key from the existing bootstrap_authority map (correctly preserving single-authority per the file's stated invariant rather than adding a parallel BootstrapAuthority::Pipeline variant), and adds a worker brief for descent_execution_proof that explicitly applies illegal-states-unrepresentable (P2 API-level enforcement) by narrowing the residual payload to NonStrictEvidence. Both edits read as faithful applications of the modeling-discipline rubric. No findings.

… row

codex BLOCKING at gunbc#2105 line 47: my brief cited "§10.3 row 966" but the
actual line is now 986 (after my Q-Reification row insert in PR #2079 shifted
§10.3 by 20 lines). Reviewer's "no such section" claim is wrong on substance
(file + section + row all exist) but the line drift IS real.

Fix per feedback_section_anchors_over_line_numbers (Director calibration in
gunbc#2079): replaced all "§10.3 row 966" with "§10.3 Q-EVAL-Descent-
Termination-Contract row" — name-anchor instead of line-anchor, drift-immune.
5 occurrences cleaned (closure predicate, acceptance gate #3, gate #5, STOP
criterion, worker pin justification). Stylistic "row row-text" repetition
collapsed to "row text".

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

codex BLOCKING partially correct + addressed in commit ce1242863. Verification clarification:

  • docs/r3-program-plan.md: EXISTS (reviewer claim "absent" is wrong on substance — file is at the path it always was)
  • §10.3 "Net escalations awaiting decision": EXISTS (header at line 968 of current main)
  • Q-EVAL-Descent-Termination-Contract row: EXISTS (now at line 986; was line 966 before my Q-Reification row insert in PR docs(r3): Substrate Mgr-tier briefs + Q-Reification Gate A receipt #2079 shifted §10.3 by 20 lines)

The substantive issue is line drift: my brief's "row 966" line cite is stale post-Q-Reification-row-insert. Reviewer correctly couldn't navigate to the cited line.

Fix per feedback_section_anchors_over_line_numbers (Director's calibration #2 from PR #2079): replaced all 5 occurrences of "§10.3 row 966" with "§10.3 Q-EVAL-Descent-Termination-Contract row" — name-anchor instead of line-anchor, drift-immune across future §10.3 row insertions. Same discipline that caught the earlier line-number drift on r3-program-plan.md:353 → §5 Y4 scope-clarification.

Worker brief now points at verifiable single authority via row name, regardless of where §10.3 grows.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

Already addressed in commit 0cfea88ce (predates this relay): docs/briefs/r3-substrate-descent-execution-proof-canvas.md deleted in same PR per the openai-pro NON-BLOCKING finding at #issuecomment-4395160203 (same root-cause, same timestamp 07:43:47Z, codex re-flagged as BLOCKING).

Worker brief is the single live authority for the descent_execution_proof shape; canvas is gone. P1 live-state drift dissolved.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

This codex relay is the umbrella aggregating 3 already-addressed findings (same timestamp 07:43:47Z, commit e2741c4f):

  1. BLOCKING Add SVG viz, test helpers, and makegen scaffold #1 (live authority cite) — addressed in commit ce1242863. Replaced 5 line-cites of "§10.3 row 966" with name-anchor "§10.3 Q-EVAL-Descent-Termination-Contract row" per feedback_section_anchors_over_line_numbers. Disposition at #issuecomment-4395188573. Reviewer's "no live docs/r3-program-plan.md or §10.3 exists" claim is wrong on substance: file is at the same path it always was; section header at line 968; row at line 986. Probable cause: review checkout didn't include current main content; my commits did not move or delete the file.

  2. BLOCKING Codex/graph viz test helpers #2 (canvas + worker brief co-existence) — addressed in commit 0cfea88ce. Canvas deleted; worker brief is single live authority. Disposition at #issuecomment-4395160203 + #issuecomment-4395190511.

  3. Non-blocking improvement (EvidenceUnknown(DescentEvidence) admits Strict) — addressed in commit 0cfea88ce. Introduced typed NonStrictEvidence = NonIncreasing | DescentUnknown subset; residual is now EvidenceUnknown(NonStrictEvidence) — illegal-states-unrepresentable by construction (P2 API-level enforcement), no runtime check needed.

All three substantively resolved before this umbrella relay arrived.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 0cfea88c · Trigger: manual
  • Comparison: main @ c462025a ... session/warm-wolf-698 @ ce124286
  • Conversation: View conversation

1. Story of the diff

This PR is a documentation/briefing change that tightens future substrate work rather than landing implementation code. In the SourceSpan bridge brief, Row #6 is corrected away from adding a new BootstrapAuthority::Pipeline variant and toward deriving the pipeline diagnostic authority from the existing bootstrap_authority map, preserving one authority for path/classifier facts (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:48-51). The new descent_execution_proof worker brief ratifies option γ: a two-residual carrier shape backed by a NonStrictEvidence subset so EvidenceUnknown(Strict) cannot be constructed, plus same-slice acceptance gates for the carrier, proof payload, substrate function, evaluator consumer, ROADMAP row update, regen, and suite checks (docs/briefs/r3-substrate-descent-execution-proof-worker.md:16-27, :51-57).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Compliant — the diff is docs-only, but the proposed substrate work is directed to the existing substrate home: DescentEvidence already lives in src/v3/std/termination.dag, and the brief requires the residual to co-locate there rather than creating a sibling authority (docs/briefs/r3-substrate-descent-execution-proof-worker.md:9, :13, :27). Row #6 likewise avoids a new bootstrap variant and derives from the existing map (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49-51).

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — P2 single-authority is handled by explicitly forbidding a new BootstrapAuthority::Pipeline variant and deriving the key from the existing map witness (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49-50). P2 illegal-states-unrepresentable is also handled in the descent brief by narrowing EvidenceUnknown to NonStrictEvidence, making EvidenceUnknown(Strict) structurally impossible rather than runtime-policed (docs/briefs/r3-substrate-descent-execution-proof-worker.md:16-27).

  1. CODING.md.

Compliant — although no Rust implementation changes land here, the proposed API shape follows the project’s data + free-functions style: descent_execution_proof is specified as a free function with explicit dependencies and a typed Result<DescentExecutionProof, DescentResidual>, not a method, bool, sentinel string, or implicit global lookup (docs/briefs/r3-substrate-descent-execution-proof-worker.md:31-36).

  1. TESTING.md.

Compliant — no tests are required for this docs-only diff, and the worker brief still names implementation-time gates: bootstrap regen freshness, full workspace test suite, and clippy with warnings denied (docs/briefs/r3-substrate-descent-execution-proof-worker.md:56-57).

  1. LOCKED DESIGN DECISIONS.

N/A — the diff records Director ratification as authority for the brief (docs/briefs/r3-substrate-descent-execution-proof-worker.md:4, :47) but does not modify a locked thesis/design decision in the diff.

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the temporary/open items are bounded and named. The Sub-issue: TBD is assigned a concrete creation path under #1939 after the brief lands (docs/briefs/r3-substrate-descent-execution-proof-worker.md:3); uncertain proof payload shape is bounded by STOP-and-PING criteria before adding richer payload/substrate (:39, :61-63); and the auto-spawn caveat names the blocking issue plus the allowable dissolution paths (:77).

3. Verdict

APPROVE

The diff moves the briefs toward single authority and typed substrate modeling, and the remaining uncertainty is explicitly bounded by STOP/PING criteria rather than left as silent scaffold. I did not find a changed line that creates an untracked bridge, duplicate authority, or implementation/testing obligation missing from this docs-only slice.

@briansrls

Copy link
Copy Markdown
Contributor Author

claude APPROVE — no actionable findings. Verdict notes the SourceSpan Row #6 single-authority preservation + descent_execution_proof NonStrictEvidence narrowing as faithful applications of the modeling-discipline rubric. No further action.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

openai-pro APPROVE — no actionable findings; verdict notes the diff "moves the briefs toward single authority and typed substrate modeling, and the remaining uncertainty is explicitly bounded by STOP/PING criteria rather than left as silent scaffold." All 3 prior BLOCKING findings (NonStrictEvidence narrowing, canvas deletion, section-anchor cite) absorbed.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: ce124286 · Trigger: schedule
  • Comparison: origin/main @ c462025a ... review/pr-2105-ce124286 @ ce124286
  • Thinking: 66s wall

Findings

None. The diff only updates/adds worker briefs under docs/briefs/. The Row #6 guidance matches live bootstrap_authority.dag (for example, pipeline.dag under CompilerAuthority at line 90, with the :14-17 single-authority comment on the same file). The new descent brief’s DescentEvidence cite matches termination.dag lines 14-17. Nothing here contradicts P2 single-authority or the modeling practices the text is trying to encode; CODING.md / TESTING.md do not apply (no Rust or tests changed).

Verdict

APPROVE — Small, documentation-only change: it tightens Row #6 so workers do not add a parallel BootstrapAuthority::Pipeline authority, and it lands a γ-shaped worker brief with explicit illegal-state narrowing and STOP/PING bounds. No invariant or rubric violation grounded in these edits.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: ce124286 · Trigger: manual
  • Comparison: main @ c462025a ... session/warm-wolf-698 @ ce124286
  • Conversation: View conversation

1. Story of the diff

This PR is a docs/briefs change that tightens future substrate work rather than landing implementation code. First, it corrects the SourceSpan Row #6 worker guidance so pipeline diagnostics derive their typed authority from the existing bootstrap_authority map instead of inventing a new BootstrapAuthority::Pipeline variant; the same instruction also pushes the diagnostic span back to the offending stage binding’s real SourceSpan, not a manufactured (file, 0, 0) span (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:48-51, :66). Second, it adds the ratified γ worker brief for descent_execution_proof: the carrier lives beside existing termination evidence, narrows non-strict residual evidence into a typed subset, returns a typed Result<DescentExecutionProof, DescentResidual>, and requires the Evaluator E2 consumer in the same slice (docs/briefs/r3-substrate-descent-execution-proof-worker.md:9, :13, :16-27, :31-36, :51-55).

2. Invariant categories

  1. LAYER MODEL (substrate vs implementation).

Compliant — this is substrate-brief work, and it keeps authority at the substrate/design layer: Row #6 explicitly says not to add a new BootstrapAuthority::Pipeline variant and instead derive from the existing bootstrap_authority map (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49-51), while the descent brief places the new carrier in src/v3/std/termination.dag beside DescentEvidence rather than in an implementation-only side channel (docs/briefs/r3-substrate-descent-execution-proof-worker.md:13).

  1. INVARIANTS.md + modeling-discipline.md.

Compliant — P2 single-authority is handled by the Row #6 correction: “DO NOT introduce a new BootstrapAuthority::Pipeline variant” because the map is the single authority (docs/briefs/r3-substrate-bridge-source-span-file-participation-worker.md:49, :66). P2 illegal-states-unrepresentable is also addressed in the descent brief by narrowing EvidenceUnknown from all DescentEvidence to NonStrictEvidence, so EvidenceUnknown(Strict) cannot be represented (docs/briefs/r3-substrate-descent-execution-proof-worker.md:16-27). P3 fail-closed is reflected in the proposed Result<DescentExecutionProof, DescentResidual> signature (docs/briefs/r3-substrate-descent-execution-proof-worker.md:31-36).

  1. CODING.md.

N/A — no Rust implementation is changed in this diff; the only function shape is future substrate guidance in a worker brief. The proposed surface is at least aligned with typed-result discipline via Result<DescentExecutionProof, DescentResidual> (docs/briefs/r3-substrate-descent-execution-proof-worker.md:31-36), but there is no live Rust code to review for method/free-function style.

  1. TESTING.md.

Compliant — this docs-only PR does not need direct tests, and the new worker brief names the implementation-slice verification gates: bootstrap regen freshness, workspace tests excluding v2 compiler tests, and clippy with -D warnings (docs/briefs/r3-substrate-descent-execution-proof-worker.md:56-57). It also requires the Evaluator consumer in the same slice, which is the right behavioral receipt for this substrate carrier (docs/briefs/r3-substrate-descent-execution-proof-worker.md:54).

  1. LOCKED DESIGN DECISIONS.

Compliant — the descent brief names its authority as Director-ratified option γ and states that it supersedes the canvas (docs/briefs/r3-substrate-descent-execution-proof-worker.md:4), then requires the ROADMAP row to cite that γ-disposition rather than keeping the stale four-variant prose (docs/briefs/r3-substrate-descent-execution-proof-worker.md:55). I do not see a silent divergence from a locked design in the changed lines.

  1. TRACKED vs UNTRACKED DEBT.

Compliant — the temporary shapes are bounded and have triggers. The Sub-issue: TBD is bounded to PM creation under #1939 after this brief lands, with Evaluator #1971 retargeting to it (docs/briefs/r3-substrate-descent-execution-proof-worker.md:3). The uncertain DescentExecutionProof payload is explicitly an implementation-time verification point, with acceptance requiring the carrier to land and STOP criteria if the witness shape needs substantial new substrate (docs/briefs/r3-substrate-descent-execution-proof-worker.md:39, :52, :62). The auto-spawn caveat is also tracked: dispatch is held until the auto-spawn fix lands, with surgical recreate as a named escalation path (docs/briefs/r3-substrate-descent-execution-proof-worker.md:77).

3. Verdict

APPROVE

I found no blocking or non-blocking findings against the changed lines. The PR moves both briefs toward single-authority, typed-carrier, fail-closed substrate guidance, and the temporary/documentary debt in the new worker brief has named bounds and dissolution triggers.

@briansrls

Copy link
Copy Markdown
Contributor Author

cursor APPROVE — no actionable findings. Verdict explicitly verified Row #6 guidance against live bootstrap_authority.dag:90 + :14-17 single-authority comment, and DescentEvidence cite against termination.dag:14-17. All ground-truth checks pass.

— sent from warm-wolf-698

@briansrls

Copy link
Copy Markdown
Contributor Author

openai-pro APPROVE on ce124286 — no actionable findings. All 6 invariant categories compliant; verdict notes single-authority, typed-carrier, fail-closed substrate guidance with bounded debt + named dissolution triggers. Third consecutive APPROVE on this PR (claude + cursor + openai-pro all clean post-section-anchor fix).

— sent from warm-wolf-698

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