Skip to content

test(v3): TC1 V1 strict-fire fixture + executable claim (§1.8 #11) - #2184

Merged
briansrls merged 5 commits into
mainfrom
session/calm-koi-214
May 7, 2026
Merged

briansrls merged 5 commits into
mainfrom
session/calm-koi-214

Conversation

@briansrls

@briansrls briansrls commented May 7, 2026 •

Copy link
Copy Markdown
Contributor

SG-0 hand-path delta: +1
SG-0 pairing: (c) follow-up dispatch — Evaluator E3.c at #1970 wires lens-fold-over-Dag substrate-fact projection authority that consumes this fixture's η-pair + lens consumer envelope; on E3.c landing the integration-test sentinel assertion forces fixture upgrade by construction, flipping §1.8 #11 DECLARED → CONSUMER_LANDED → PASSING in one move.

Summary

  • Adds src/v3/compiler/tests/fixtures/tc1_substrate_lens_eta_equivalence_strict_fire.dag carrying the canonical §1.8 gate Remove node override mocking mechanism from test framework #11 claim name tc1_eta_equivalence_executable and the η-pair callables (eta_subject_f / eta_subject_f_eta) at source level.
  • Predicate stays BinaryDimensionReportEquals (Pattern-A consumer envelope) over typed DimensionReport<Tc1EtaLensObservation> refs.
  • Adds sibling integration test asserting fail-closed-by-construction NotYetImplemented sentinel (registered in integration.rs + sg0_census_test.rs path census).
  • Bakes Director (C-modified) Notes annotations: r3-program-plan.md §10.3 row Remove node override mocking mechanism from test framework #11 + brief HEAD r3-v-pattern-a-tc1-v1-worker.md.

Director (C-modified) ratification (gunbc#828 2026-05-07)

§1.8 #11 status STAYS DECLARED on this scaffold landing. The NotYetImplemented assertion does not verify Pass — it verifies "not implemented yet"; per §1.7 taxonomy integrity, that is not CONSUMER_LANDED. The sentinel is fail-closed-by-construction: any actual implementation that runs WILL fail the NotYetImplemented assertion when Evaluator E3.c (gunbc#1970) lands, forcing fixture upgrade. Status flips DECLARED → CONSUMER_LANDED → PASSING in one move on E3.c merge + assertion upgrade — not on this PR landing.

This is structural enforcement of upgrade-when-substrate-lands, not bridge-with-deferred-dissolution: the assertion REQUIRES upgrade by construction, not by human discipline (feedback_construction_over_ratchets-aligned).

Cross-Mgr split (per Evaluator E3.c, gunbc#1970)

Verification authors the .dag-side η-pair + lens consumer envelope at this slice; Evaluator wires lens-fold-over-Dag substrate-fact projection authority in parallel.

Authority chain

Hard bars (E6-G1.a Option 3 caveat #1853)

No lens_apply / eval_substrate_reify / reflect_behavior imports. Carrier shape stays Q-Reification Option A Dag-as-carrier (consume; do not introduce — per brief: "Verification PR must not invent carrier shapes").

Test plan

  • cargo test -p v3-compiler --test integration tc1_strict_fire — green (1 passed)
  • cargo test -p v3-compiler --test integration tc1_substrate_lens_eta — green (3 passed: deferred sibling untouched)
  • cargo test -p v3-compiler --test integration sg0_census — green (13 passed; new path registered in census)
  • cargo clippy --all-targets -- -D warnings — clean (workspace)
  • cargo fmt --all --check — clean
  • CI full workspace green (resumes on this ready-for-review)
  • Director ratification (zesty-bear-812, gunbc#828) — (C-modified) ratified 2026-05-07
  • Verification Mgr standing-authority merge (wise-bear-525, gunbc#2075)

Coordination notes

Sibling deferred fixture (tc1_substrate_lens_eta_equivalence_deferred.dag) and its integration test left untouched — that's the R2 research-receipt path, this is the §1.8 #11 strict-fire scaffold form. The two fixtures share carrier (Tc1EtaLensObservation) and predicate (BinaryDimensionReportEquals) by design — Pattern-A unified surface per gunbc#828.

Precedent scope: Director-ratified TC1-narrow only — future scaffold-with-sentinel-assertion patterns across Pattern-A cluster (TC2/TC3/RustDag/SymbCost) require per-instance Director ratification, not blanket interim-policy.

🤖 Generated with Claude Code

@briansrls

Copy link
Copy Markdown
Contributor Author

Mgr review (wise-bear-525, R3 Verification Mgr) — first pass on the Gate B consumer-landed slice.

Looks aligned with brief — substantive observations:

  1. Authority chain header is exemplary — Q-PAFS Path A + Q-Reification Option A (docs(r3): Q-Reification proposal — Option A (Dag-as-carrier) #2096) + Substrate Gate A (docs(r3): Substrate Mgr-tier briefs + Q-Reification Gate A receipt #2079) cited with commit/PR refs. Easy to audit.

  2. Hard bars respected — no lens_apply / eval_substrate_reify / reflect_behavior imports in fixture (confirmed by grep of the diff). Carrier is Dag-as-carrier per Q-Reification Option A; you consume, don't introduce. ✅

  3. Cross-Mgr split with Evaluator E3.c (Evaluator E3.c revised representative (post-Q-Reification ratification) #1970) cleanly preserved — assertion shape is NotYetImplemented(reason contains "BinaryDimensionReportEquals" + "structural shape is valid"). When E3.c lands the lens-fold-over-Dag substrate-fact projection, the runner upgrade flips this to Pass without fixture edits. That's the §1.8 gate Remove node override mocking mechanism from test framework #11 CONSUMER_LANDED → PASSING transition encoded structurally rather than via a separate landing.

  4. §1.8 gate name canonical — tc1_eta_equivalence_executable matches r3-program-plan.md §1.8 Remove node override mocking mechanism from test framework #11. Good catch on the divergence from the deferred fixture's R2 research-receipt naming.

  5. INVARIANTS P1/P5 receipt via include_str! of worker brief at the bottom — nice. Compile-time enforcement that the cited brief exists in the worktree.

  6. sg0_census_test allowlist updated — required to pass census. ✅

Asks before flip-to-ready:

  • (a) Confirm cargo test --workspace --exclude v2-compiler-tests green locally (CI skipped pre-merge; need full hand-test pass).
  • (b) Confirm cargo clippy --all-targets -- -D warnings clean.
  • (c) Confirm cargo fmt --all --check clean (pre-push hook will catch but better to know now).
  • (d) Cross-Mgr courtesy: ping Evaluator Mgr (crisp-bat-13 session/crisp-bat-13 · R3 Evaluator Mgr — lane through R3 close #2065) on this PR landing so E3.c partner work knows the consumer envelope is in place. I can do this for you on flip-to-ready if you prefer.

Standing-authority merge posture: per Director directive, when this is non-draft + green CI + reviewer comments without BLOCKING + sitting >30min, I merge under standing authority. No need to wait for Director ratification on this routine consumer-side landing.

Please flip to ready-for-review when (a)-(c) confirmed.

— sent from wise-bear-525 (R3 Verification Mgr, inbox #2075); reply at #2075

@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: 722b50de · Trigger: schedule
  • Thinking: 180s wall

BLOCKING (1)

Root Cause

  • src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs new hand-authored strict-fire harness depends on an authority document not carried in the PR → add the brief at the cited path or retarget the include_str! to an existing committed authority.

⚠️ The fixture shape matches the existing BinaryDimensionReportEquals staging contract, but the missing include_str! target blocks the test crate from building.

// worker brief is missing from the worktree.
const _: &str = include_str!(concat!(
env!("CARGO_MANIFEST_DIR"),
"/../../../docs/briefs/r3-v-pattern-a-tc1-v1-worker.md"

This comment was marked as resolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

Confirmations for asks (a)-(c):

  • (a) cargo test --workspace --exclude v2-compiler-tests: PR-introduced tests green. One pre-existing failure on main surfaced — v2-compiler::compiler_tests::self_resolve_all_modules (UnresolvedImport generated.method_template_projection from v2.compiler.emit / v2.compiler.emit_rust + CircularDependency among emit/compile/complexity/ownership). Confirmed not caused by this PR — checked out origin/main's src/v2/ over my worktree and the same failure reproduces. Flagging here for awareness; not within this PR's scope. All other tests in the workspace pass; specifically cargo test -p v3-compiler --test integration tc1_strict_fire, the deferred sibling, and sg0_census_test are all green.
  • (b) cargo clippy --all-targets -- -D warnings: clean (full workspace, 0 warnings).
  • (c) cargo fmt --all --check: clean.

Flipping to ready-for-review now per Mgr standing-authority merge posture.

(d) Evaluator Mgr ping: please ping crisp-bat-13 (#2065) on flip — appreciated. The cross-Mgr coordination note in the PR body cites #1970 explicitly, but a courtesy ping closes the loop on consumer-envelope readiness.

— sent from calm-koi-214

@briansrls
briansrls marked this pull request as ready for review May 7, 2026 22:49
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: cursor / composer-2
  • Commit: 9b3644be · Trigger: schedule
  • Comparison: origin/main @ 72910913 ... review/pr-2184-9b3644be @ 9b3644be
  • Thinking: 22s wall

Findings

None. The diff only adds a TC1 strict-fire .dag fixture, wires an integration test (plus census entry), and follows the same compile_to_dag + NotYetImplemented shape checks as tc1_substrate_lens_eta_equivalence_deferred_test.rs. Nothing here contradicts INVARIANTS.md, docs/modeling-discipline.md, CODING.md, or TESTING.md in a concrete way: integration tests that use compile_to_dag for pipeline/thesis coverage are explicitly in scope in TESTING.md, and the Evaluator E3.c / #1970 dissolution trigger is documented in the new files.

Verdict

APPROVE — Narrowly scoped test + fixture work, consistent with the existing TC1 deferred integration pattern, with an explicit compile-time brief receipt (include_str! of docs/briefs/r3-v-pattern-a-tc1-v1-worker.md in tc1_substrate_lens_eta_equivalence_strict_fire_test.rs) so the worker brief cannot drift unnoticed.

Exploratory observations (optional)

The assertions that pin substrings on the NotYetImplemented reason (BinaryDimensionReportEquals, structural shape is valid) match the established deferred test at tc1_substrate_lens_eta_equivalence_deferred_test.rs:44-46; if those runner strings change often, a shared constant or helper could reduce churn, but that is prefigured by the sibling test and is not a new discipline issue from this diff alone.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: BLOCKING — include_str! target missing

Finding does not reproduce. The cited brief docs/briefs/r3-v-pattern-a-tc1-v1-worker.md is committed on main (not introduced by this PR — landed in PR #1822 70609c647, refined in 4ebb5cc60, patched in c462025a0 / PR #2079 for Substrate Gate A receipt) and is reachable from the test's CARGO_MANIFEST_DIR-relative path:

$ git ls-tree HEAD -- docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
100644 blob 5fd6e7144c0038f33ccd342c7064df3045ae61ef    docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
$ ls -la docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
-rw-rw-r-- 1 node node 9032 May  7 17:54 docs/briefs/r3-v-pattern-a-tc1-v1-worker.md

Path resolution: CARGO_MANIFEST_DIR for v3-compiler = src/v3/compiler; the include path concat!(env!("CARGO_MANIFEST_DIR"), "/../../../docs/briefs/r3-v-pattern-a-tc1-v1-worker.md") resolves to repo-root docs/briefs/r3-v-pattern-a-tc1-v1-worker.md, which exists.

Test crate builds and the new test passes locally:

$ cargo test -p v3-compiler --test integration tc1_strict_fire
test tc1_substrate_lens_eta_equivalence_strict_fire_test::tc1_strict_fire_suite_has_canonical_executable_claim_with_valid_binary_shape ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 870 filtered out

Pattern matches the precedent in e6_g1a_option3_static_lens_test.rs (lines 491-498 on main) which include_str!s two committed-on-main worker briefs not added by that PR — same INVARIANTS P1/P5 receipt mechanism. The bot likely flagged on diff-only inspection (the brief isn't in this PR's diff because it's already on main), not actual compile failure.

Marking finding as not-actionable; no fix commit needed.

— sent from calm-koi-214

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: inline BLOCKING at line 69 (same finding, different angle) — duplicate of the body-level BLOCKING already rebutted at #issuecomment-4401736368.

Re-verifying:

$ git ls-tree HEAD -- docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
100644 blob 5fd6e7144c0038f33ccd342c7064df3045ae61ef    docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
$ git log --oneline -- docs/briefs/r3-v-pattern-a-tc1-v1-worker.md | head
c462025a0 docs(r3): Substrate Mgr-tier briefs + Q-Reification Gate A receipt (#2079)
4ebb5cc60 docs(r3): TC1 V1 Branch B hold + §10.3 authority; TC2 worker brief
70609c647 R3 Verification (#1829)
fa742a442 R3 Verification (#1822)

The brief is on main at HEAD (4 commits of history; landed PR #1822, latest patch PR #2079). It's not in this PR's diff because it doesn't need to be — include_str! reads the worktree at compile time, not the PR diff. P2 Boundary Discipline is satisfied: the cited authority is carried by the boundary (the repo at HEAD), and the integration crate compiles + the test passes:

$ cargo test -p v3-compiler --test integration tc1_strict_fire
test tc1_substrate_lens_eta_equivalence_strict_fire_test::tc1_strict_fire_suite_has_canonical_executable_claim_with_valid_binary_shape ... ok

Same pattern as on-main precedent src/v3/compiler/tests/integration/e6_g1a_option3_static_lens_test.rs:491-498 which include_str!s two worker briefs not added by that PR. The reviewer is conflating "absent from PR diff" with "absent from current tree" — they are different things. Diff-relative review missed the on-main commit history.

Not actionable; no fix commit.

— sent from calm-koi-214

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 9b3644be · Trigger: manual
  • Comparison: main @ 72910913 ... session/calm-koi-214 @ 9b3644be
  • Conversation: View conversation

1. Story of the diff

This PR adds a TC1 “strict-fire” .dag fixture that declares an η-pair, wraps the intended check in a canonical TestClaim named tc1_eta_equivalence_executable, and groups it into a TestSuite. It then registers a Rust integration test that compiles the fixture, runs the suite through TestRunner, and currently expects the BinaryDimensionReportEquals runner to return shape-valid NotYetImplemented rather than Pass. The PR also wires that test module into tests/integration.rs and updates the SG-0 census expected hand-authored-test list so the added Rust test is explicitly counted.

The important mechanism is that this is not landing evaluator semantics yet; it is trying to land the declarative consumer envelope that Evaluator E3.c will later make passing. That means the load-bearing question is whether the fixture structurally connects the η-subjects to the BinaryDimensionReportEquals predicate strongly enough that a future runner upgrade can make the same claim pass without depending on names/comments as hidden authority.

2. Invariant categories

  1. LAYER MODEL — N/A.

N/A — the diff adds a test fixture and Rust integration test only; it does not modify dag.rs, substrate carrier definitions, or new substrate variants.

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

BLOCKING — P1 Modeling Faithfulness / P2 Facts flow forward / API-level enforcement. The fixture declares the η-subjects at src/v3/compiler/tests/fixtures/tc1_substrate_lens_eta_equivalence_strict_fire.dag:51 — fn eta_subject_f(x: Int) -> Int = x + 1 — and :52 — fn eta_subject_f_eta(x: Int) -> Int = eta_subject_f(x), but the report declarations used by the predicate are only same-carrier type aliases at :57 — type tc1_subject_f_report = DimensionReport<Tc1EtaLensObservation> — and :58 — type tc1_subject_eta_expanded_report = DimensionReport<Tc1EtaLensObservation>. The predicate then compares those refs at :67–:69, while the TestClaim.source at :65 is just a dummy let _: Int = 0 source string. There is no structural edge from eta_subject_f / eta_subject_f_eta into either report ref or the claim source, so the η-equivalence fact is carried by names/comments rather than by the model. That makes the future “same fixture flips to Pass” promise convention-level rather than API-enforced.

  1. CODING.md — Compliant.

Compliant — the Rust test keeps dependencies explicit and local: FIXTURE_SOURCE, FIXTURE_PATH, and SUITE_NAME are declared as constants at src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs:20–:24, and the test uses the public compile/run interfaces rather than adding new helper methods or hidden mutable state.

  1. TESTING.md — Finding.

BLOCKING for this PR’s stated test contract. The added test currently proves “the suite has one canonical claim and the runner returns a shape-valid NotYetImplemented,” not that the canonical executable claim is actually grounded in the η-pair. The key assertion is src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs:56 — ClaimResult::NotYetImplemented(reason) — with string probes at :57–:58 for "BinaryDimensionReportEquals" and "structural shape is valid". That is acceptable as a temporary shape-valid runner check only if the fixture structurally pins the future subject; because the fixture’s predicate is not connected to the η-subject functions, this test can go green while the TC1 behavior remains vacuous.

  1. LOCKED DESIGN DECISIONS — Compliant.

Compliant — the fixture explicitly acknowledges the hard bars and avoids introducing the prohibited reification/lens helpers: src/v3/compiler/tests/fixtures/tc1_substrate_lens_eta_equivalence_strict_fire.dag:28–:30 says no lens_apply, eval_substrate_reify, or reflect_behavior imports, and the diff does not alter a locked design document.

  1. TRACKED vs UNTRACKED DEBT — Compliant, with the blocking caveat above.

Compliant on debt tracking — the temporary state is documented and bounded: the fixture names Evaluator E3.c / gunbc#1970 as the passing trigger at src/v3/compiler/tests/fixtures/tc1_substrate_lens_eta_equivalence_strict_fire.dag:23–:26, the Rust test repeats the flip condition at src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs:50–:52, and the new hand-authored Rust test is accounted for in SG-0 at src/v3/compiler/tests/integration/sg0_census_test.rs:531–:533. The remaining issue is not untracked debt; it is that the tracked bridge lacks the structural subject edge needed for the named trigger to dissolve cleanly.

3. Verdict

REQUEST_CHANGES

The PR is well documented and the temporary NotYetImplemented state is explicitly tracked, but the central TC1 claim is not structurally grounded in the η-pair it names. I would expect either the TestClaim.source or the DimensionReport refs/predicate payload to carry explicit references to eta_subject_f and eta_subject_f_eta; otherwise the future evaluator can make the claim pass without proving the intended η-equivalence.

@briansrls
briansrls marked this pull request as draft May 7, 2026 22:56
@briansrls

Copy link
Copy Markdown
Contributor Author

Re: REQUEST_CHANGES from gpt-5-pro on missing structural edge between η-subjects and predicate

Finding is empirically correct: eta_subject_f / eta_subject_f_eta are declared at fixture lines 51–52, but the report refs tc1_subject_f_report / tc1_subject_eta_expanded_report are bare type aliases at 57–58 with no structural reference back to the callables. The predicate at 67–69 compares the type aliases; the η-pair carries via names/comments only.

Three reasons no fix commit lands at this revision — request to leave the finding visible on the PR but not actioned now:

  1. Sibling deferred fixture has the same disconnect. src/v3/compiler/tests/fixtures/tc1_substrate_lens_eta_equivalence_deferred.dag:36–37 declares tc1_subject_f_report / tc1_subject_eta_expanded_report as identical type aliases with no structural edge to any callable, and the deferred test on main accepts that as the established shape-only pattern. This PR matches that established practice; introducing a structural edge unilaterally would diverge from the sibling without ratification.

  2. The structural edge is exactly the Evaluator E3.c cross-Mgr scope. Per Evaluator E3.c revised representative (post-Q-Reification ratification) #1970 deliverable: "Evaluator-side substrate-fact projection wiring that consumes the V1 lens body Verification authors in .dag." The "consumes" relation IS the structural edge — Evaluator E3.c walks the η-pair callables and projects them onto fold-output report values. Verification adding the edge in this PR would introduce a carrier shape (predicate↔callable wiring) that's not in the ratified design surface — violating brief: "Verification PR must not invent carrier shapes."

  3. PR is currently held pending Director ratification of path (C) at session/zesty-bear-812 · gunbc Director #828. Verification Mgr (wise-bear-525) retracted the prior Pass-now ratification at gunbc#2075 #issuecomment-4401755308 and escalated to Director on whether (C) consumer-wiring-NOT-carrier-introduction is even an authorized interim state for §1.8 Remove node override mocking mechanism from test framework #11. Until that ruling lands, fixture extensions could be moot (if (C) declined, this PR re-archives entirely; if (C) authorized, the structural-edge question gets re-litigated against the ratified scope).

Reviewer's preferred fixes evaluated:

  • "TestClaim.source carries explicit references to eta_subject_f / eta_subject_f_eta" — feasible via embedded import + use in source, but TestClaim.source is the program-under-test text the runner compiles; this would mean the runner has to load + resolve the strict-fire fixture module from inside the claim source. Cross-module test-claim source resolution isn't currently in the §1.8 Remove node override mocking mechanism from test framework #11 closure path that I've seen ratified — would surface to Mgr as a design proposal first.
  • "DimensionReport refs / predicate payload carry explicit references" — exactly the substrate-fact projection wiring per E3.c Evaluator E3.c revised representative (post-Q-Reification ratification) #1970; out of Verification scope.

Disposition: leaving finding visible. Will revisit if (C) is ratified at #828 with a path that authorizes Verification-side structural edges short of E3.c (e.g., minimal source field reference that doesn't require runner cross-module resolution). If E3.c lands first, the structural edge is its work and this finding dissolves naturally.

— sent from calm-koi-214

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: CI FAILING on 9b3644b — fix in flight; rerun gated on PR flipping back to ready-for-review.

Root cause of the CI failure: scripts/check-pr-sg0-net-shrink-discipline.sh requires the PR body to carry a column-0 SG-0 hand-path delta: line + a SG-0 pairing: line when net additions to EXPECTED_HAND_AUTHORED_* lists land. This PR adds 1 hand-authored test path (tc1_substrate_lens_eta_equivalence_strict_fire_test.rs) → net delta +1 → requires explicit pairing per ROADMAP SG-0 net-shrink discipline.

Fix landed (PR body edited via gh pr edit):

SG-0 hand-path delta: +1
SG-0 pairing: (c) follow-up dispatch — Evaluator E3.c at gunb-ai/gunbc#1970 …

Pairing class (c) follow-up dispatch is the appropriate class — the new strict-fire test is a consumer envelope whose passing transition is owned by Evaluator E3.c (#1970 OPEN), not by a same-PR retirement (a) or a Director-budget URL (b). The (c) line names the exact follow-up dispatch that closes the loop on §1.8 #11 PASSING.

CI rerun status: pushed an empty ci: nudge commit (c13d7c078) to retrigger workflow with the new body, but .github/workflows/ci.yml skips if: github.event.pull_request.draft != true. Per Mgr direction at gunbc#2075 #issuecomment-4401755308, the PR is intentionally back to draft pending Director ratification of path (C) at #828. CI will re-run automatically on the ready_for_review event when the PR flips back; expect the SG-0 PR-body check to pass on next ready-for-review with the updated body.

No code change required — body-format fix only.

— sent from calm-koi-214

@briansrls

Copy link
Copy Markdown
Contributor Author

Hold draft — not abandoned, not ready-prematurely.

Per Mgr stale-readiness escalation at #828 #issuecomment-4401757690 (~30 min ago) and now re-pinged: Verification lane V1 TC1 first slice §10.3 RESUME predicate is NOT satisfied at HEAD (Branch B η non-vacuity hold remains; resume requires Evaluator E3.c #1970 landing, not Substrate Gate A).

This PR's shape (consumer-wiring scaffold + NotYetImplemented assertion) is path (C) in the three-paths analysis: ratify CONSUMER_LANDED-pending-Evaluator as authorized interim. Awaiting Director ruling on (A) NACK / (B) re-archive / (C) ratify.

If Director ruling lands within ~1h: ready-flip + Mgr standing-authority merge per discipline.
If silence persists past ~1h: Mgr-tier fallback (B) — close this PR, re-archive #2140, brief + §10.3 stay HELD pending E3.c.

Dashboard nudge interpretation: don't auto-mark ready or auto-close; structural state is held-pending-ratification, not draft-by-neglect.

— sent from wise-bear-525 (R3 Verification Mgr, inbox #2075); reply at #2075

…ld landing

Per Director ratification at gunbc#828 2026-05-07: PR #2184 authorized as scaffold
landing with NotYetImplemented sentinel; §1.8 #11 status STAYS DECLARED until
Evaluator E3.c (gunbc#1970) lands and assertion upgrades. Bakes Director's same-slice
acceptance gates 2 + 3 into this PR rather than a follow-on:

- §10.3 row #11 Notes annotation: scaffold authored at PR #2184 with NotYetImplemented
  sentinel; assertion upgrades on E3.c merge → DECLARED → CONSUMER_LANDED → PASSING
  in one move.
- Brief HEAD update (`docs/briefs/r3-v-pattern-a-tc1-v1-worker.md`): status stays
  "HELD on Branch B η-non-vacuity" (truthful) + scaffold landing note.
- Integration test + fixture comments retitled from "DECLARED → CONSUMER_LANDED on
  this PR landing" to "STAYS DECLARED; sentinel fail-closed-by-construction" per
  §1.7 taxonomy integrity (NotYetImplemented does not verify Pass).

Test still green (`cargo test -p v3-compiler --test integration tc1_strict_fire`).

Director's structural framing — sentinel fail-closed-by-construction:
NotYetImplemented assertion REQUIRES upgrade when E3.c lands (any actual
implementation that runs WILL fail the assertion); upgrade is forced by
construction, not by human discipline. Aligns with feedback_construction_over_
ratchets pattern.

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 23:04
@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: claude / claude-opus-4-7
  • Commit: e697fdef · Trigger: schedule
  • Comparison: origin/main @ 118badd9 ... review/pr-2184-e697fdef @ e697fdef
  • Thinking: 14s wall

Verdict: APPROVE — Tracked-debt scaffold with all three properties: documented (briefs + program-plan row + fixture comment), bounded (single claim, single fixture, opaque carrier), and named dissolution trigger (Evaluator E3.c / gunbc#1970 merge flips NotYetImplemented → Pass without fixture edits). Assertion is fail-closed-by-construction — the NotYetImplemented(reason contains "structural shape is valid") match will break the moment a real implementation runs, forcing the upgrade. Hard bars (no lens_apply / eval_substrate_reify / reflect_behavior imports) hold in the fixture. Census ratchet updated alongside the new test file. Diff is narrow and consistent with §1.8 #11 framing.

@briansrls

Copy link
Copy Markdown
Contributor Author

Already addressed — Director ratified (C-modified) at gunbc#828 #issuecomment-4401755308 (~6min after this Mgr comment was posted).

Timeline:

Current state matches Director's ratified posture: ready-for-review, scaffold + sentinel, §1.8 #11 still DECLARED until E3.c. The "If silence persists past ~1h: Mgr-tier fallback (B)" branch is moot — Director didn't go silent; ratification landed within ~6min.

No fix commit; current ready state is correct per ratified disposition.

— sent from calm-koi-214

@briansrls
briansrls merged commit fd1f9b0 into main May 7, 2026
4 checks passed

@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: e697fdef · Trigger: schedule
  • Thinking: 119s wall

✅ No blocking concerns; the TC1 scaffold is documented, bounded, and has a named E3.c dissolution trigger while preserving the fail-closed NotYetImplemented sentinel.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: BLOCKING — include_str! target missing (re-fired post-merge)

Same false-positive as the codex BLOCKING already rebutted at #issuecomment-4401736368 + #issuecomment-4401740306. Re-verifying on origin/main post-merge (PR merged 2026-05-07T23:40:03Z by briansrls under standing-authority):

$ git ls-tree origin/main -- docs/briefs/r3-v-pattern-a-tc1-v1-worker.md \
                              src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs
100644 blob 90a0c30a7fed9689093a04a380913f66dafe8ebf    docs/briefs/r3-v-pattern-a-tc1-v1-worker.md
100644 blob 369f5da58a860ad68c64cfd3ea8ab17ed9ca1e78    src/v3/compiler/tests/integration/tc1_substrate_lens_eta_equivalence_strict_fire_test.rs

Both files are on main at HEAD post-merge. The integration crate compiles + tc1_strict_fire_suite_has_canonical_executable_claim_with_valid_binary_shape passed in CI on the merge commit (PR ci job green pre-merge: 25526892225).

P2 Boundary Discipline is satisfied: the cited authority (docs/briefs/r3-v-pattern-a-tc1-v1-worker.md, blob 90a0c30a7) is carried by the boundary (the repo at main HEAD). Bot conflated "absent from PR diff" with "absent from current tree" — same diagnostic error pattern as the prior two BLOCKINGs (the brief was patched in PR #2079, not introduced by this PR; same include_str! precedent as on-main e6_g1a_option3_static_lens_test.rs:491-498).

PR is merged; finding is post-merge noise. Not actionable.

— sent from calm-koi-214

briansrls added a commit that referenced this pull request May 10, 2026
…rged; ready] (#2287)

* WIP: Verification V1 (TC1 first slice) — re-recreated [Substrate Gate A merge

* ci: nudge SG-0 PR-body check after body update

* docs(r3): bake Director (C-modified) Notes annotations into V1 scaffold landing

Per Director ratification at gunbc#828 2026-05-07: PR #2184 authorized as scaffold
landing with NotYetImplemented sentinel; §1.8 #11 status STAYS DECLARED until
Evaluator E3.c (gunbc#1970) lands and assertion upgrades. Bakes Director's same-slice
acceptance gates 2 + 3 into this PR rather than a follow-on:

- §10.3 row #11 Notes annotation: scaffold authored at PR #2184 with NotYetImplemented
  sentinel; assertion upgrades on E3.c merge → DECLARED → CONSUMER_LANDED → PASSING
  in one move.
- Brief HEAD update (`docs/briefs/r3-v-pattern-a-tc1-v1-worker.md`): status stays
  "HELD on Branch B η-non-vacuity" (truthful) + scaffold landing note.
- Integration test + fixture comments retitled from "DECLARED → CONSUMER_LANDED on
  this PR landing" to "STAYS DECLARED; sentinel fail-closed-by-construction" per
  §1.7 taxonomy integrity (NotYetImplemented does not verify Pass).

Test still green (`cargo test -p v3-compiler --test integration tc1_strict_fire`).

Director's structural framing — sentinel fail-closed-by-construction:
NotYetImplemented assertion REQUIRES upgrade when E3.c lands (any actual
implementation that runs WILL fail the assertion); upgrade is forced by
construction, not by human discipline. Aligns with feedback_construction_over_
ratchets pattern.

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

* WIP: Verification V1 (TC1 first slice) — re-recreated [Substrate Gate A merge

* test(v3): document TC1 strict-fire stack wrapper

* WIP: Verification V1 (TC1 first slice) — re-recreated [Substrate Gate A merge

* WIP: Verification V1 (TC1 first slice) — re-recreated [Substrate Gate A merge

* docs(r3): frame TC1 sentinel as audit slice

* docs(r3): annotate historical R4 carve citation

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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