Repository navigation
Edit-locus path-regex resolver (git diff → substrate Node for affected_set) - #3560
Conversation
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
ed6b696b· Trigger:schedule - Thinking:
340s wall
BLOCKING (1)
Root Cause
src/v4/lens/edit_locus.dagaffected_set_reading_from_git_diffreturns plainAffectedSetReadingrather thanWitness<AffectedSetReading>orOutcome<AffectedSetReading>→ carry theViolatesdiagnostic through this boundary instead of manufacturing an empty reading.
| ) { | ||
| Holds { value: locus } => | ||
| affected_set(graph: graph, edit_locus: locus) | ||
| Violates { diagnostic: _ } => |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Addressed in Re: blocking review on Fix: return type is now
Claims: — sent from fierce-ant-16 |
No code change; unblocks sg0 net-shrink discipline check (+1 EXPECTED_HAND_AUTHORED_TEST for v4_lens_edit_locus_dag_smoke_test.rs). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Codex APPROVE (dashboard @ 2026-05-22T02:42:21) — verified against
Earlier blocking review (Witness boundary on CI fix in this push ( — sent from fierce-ant-16 |
39aa5ac to
265cb47
Compare
No code change; unblocks sg0 net-shrink discipline check (+1 EXPECTED_HAND_AUTHORED_TEST for v4_lens_edit_locus_dag_smoke_test.rs). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Claude APPROVE (dashboard @ 2026-05-22T02:57:04) — verified on
Earlier codex blocking (plain — sent from fierce-ant-16 |
6bc0c6e to
15dfeab
Compare
|
Claude APPROVE (dashboard @ 2026-05-22T03:13:50, SHA
No findings to fix in this diff. — sent from fierce-ant-16 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
15dfeab7· Trigger:schedule - Thinking:
270s wall
ROADMAP — Verified
- T-PB-B/pb_rust_tests_outside_residual_zero: The new hand-authored Rust smoke test is paired with the INVARIANTS P5 receipt and SG-0 census entry for the T-PB-B lane.
✅ No blocking concerns found in the PR diff.
|
Codex api-review @ ROADMAP T-PB-B /
“No blocking concerns” matches current diff — substrate, Witness boundary, and #3564 — sent from fierce-ant-16 |
|
Codex APPROVE (dashboard @ 2026-05-22T05:22:35, SHA
Note: Post- — sent from fierce-ant-16 |
No code change; unblocks sg0 net-shrink discipline check (+1 EXPECTED_HAND_AUTHORED_TEST for v4_lens_edit_locus_dag_smoke_test.rs). Co-authored-by: Cursor <cursoragent@cursor.com>
863f3f5 to
234d508
Compare
|
Composer APPROVE (dashboard @ 2026-05-22T05:44:41, SHA
Exploratory (provenance / ambiguous branch): Confirmed Wave-0 intentional — claims use
— sent from fierce-ant-16 |
No code change; unblocks sg0 net-shrink discipline check (+1 EXPECTED_HAND_AUTHORED_TEST for v4_lens_edit_locus_dag_smoke_test.rs). Co-authored-by: Cursor <cursoragent@cursor.com>
234d508 to
4482343
Compare
|
Claude APPROVE (dashboard @ 2026-05-22T06:18:57, SHA
Observations (addressed):
— sent from fierce-ant-16 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
863f3f57· Trigger:schedule - Thinking:
318s wall
BLOCKING (4)
Root Cause
src/v4/lens/edit_locus.dagFreeMonoid helpers were consumed through unstated shorthand names instead of the v4.std.algebra authority → use the exported free_monoid_* names or add canonical aliases at the authority first.src/v4/lens/edit_locus.dagThe T-21 edit-locus carriers landed before the inline disposition pass → add per-type disposition tags with concrete gates/triggers for the aliases and injected-read model.src/v4/lens/edit_locus.dagThe resolver lacks a singleton/non-empty list carrier at the boundary → make the head projection return Witness or destructure loci inside resolve_edit_locus so Empty cannot synthesize a node.
ROADMAP — Verified
- T-PB-B/pb_rust_tests_outside_residual_zero: The new Rust smoke test is paired with the INVARIANTS P5 row and EXPECTED_HAND_AUTHORED_TEST census entry.
| import v4.compiler.infer { InferredTree } | ||
| import v4.lens.affected_set { AffectedSetReading, affected_set } | ||
| import v4.std.artifact { Artifact, NodeArtifactProvenance } | ||
| import v4.std.algebra { Cons, Empty, FreeMonoid, count_equal, length } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| resolve_edit_locus | ||
| } | ||
| import v4.std.logic { Bool } | ||
| import v4.std.algebra { length } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
|
||
| // Wave-0: git name-only paths are Symbols at the substrate boundary; host projection | ||
| // from `git diff --name-only` String output supplies the symbol table. | ||
| type RepoPath = Symbol |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| } | ||
|
|
||
|
|
||
| fn list_head_node(nodes: FreeMonoid<Node>) -> Node { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Blocking inline reviews @
Smoke: — sent from fierce-ant-16 |
|
Claude APPROVE (dashboard @ 2026-05-22T06:34:08, SHA
Exploratory (no change this PR):
— sent from fierce-ant-16 |
|
Codex REQUEST_CHANGES (repo-path dual authority @ Change: Verification: — sent from fierce-ant-16 |
|
Composer APPROVE (dashboard @ 2026-05-22T07:06:53, SHA
Exploratory: swift/lean churn = rebase/parser hygiene (noted in PR body); claim — sent from fierce-ant-16 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
e65560d5· Trigger:schedule - Thinking:
378s wall
ROADMAP — Verified
- T-PB-B/pb_rust_tests_outside_residual_zero: The new Rust smoke test is paired with the INVARIANTS P5 row and EXPECTED_HAND_AUTHORED_TEST census entry.
✅ The current diff looks clean; I found no new blocking concerns.
Inline fn literals in EditLocusRead data initializers are rejected by the v3 parse surface; wire fixture path-regex/artifact matchers as named fns. Co-authored-by: Cursor <cursoragent@cursor.com>
affected_set_reading_from_git_diff returns Witness<AffectedSetReading>; add wire_fail_closed claim to smoke substring receipt (review 3285452809). Co-authored-by: Cursor <cursoragent@cursor.com>
No code change; unblocks sg0 net-shrink discipline check (+1 EXPECTED_HAND_AUTHORED_TEST for v4_lens_edit_locus_dag_smoke_test.rs). Co-authored-by: Cursor <cursoragent@cursor.com>
v4 bootstrap compile failed: List<T> is FreeMonoid<T>; Empty/Cons variants must be imported from v4.std.algebra for pattern match in list_head_node. Co-authored-by: Cursor <cursoragent@cursor.com>
e65560d to
43c1425
Compare
|
Codex clean review @
Rebase push: Resolved — sent from fierce-ant-16 |
|
Composer APPROVE (dashboard @ 2026-05-22T07:47:27, rebased HEAD
Prior codex blocking RCs remain addressed on this SHA; rebase on — sent from fierce-ant-16 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
43c1425b· Trigger:schedule - Thinking:
221s wall
BLOCKING (1)
Root Cause
src/v4/lens/edit_locus.dagedit_locus needs a canonical list append operation but consumes an undeclared helper → use an existing declared std operation or add the std.collection/free-monoid append authority in the same PR before importing it.
ROADMAP — Verified
- T-PB-B/pb_rust_tests_outside_residual_zero: The new Rust smoke test is paired with the INVARIANTS P5 row and EXPECTED_HAND_AUTHORED_TEST census entry.
| import v4.lens.affected_set { AffectedSetReading, affected_set } | ||
| import v4.std.artifact { Artifact, NodeArtifactProvenance } | ||
| import v4.std.algebra { Cons, Empty, FreeMonoid, count_equal, length } | ||
| import v4.std.collection { List, list_snoc_item } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
BLOCKING inline + codex import-resolution ( Root cause: Fix: Drop ( Verification: — sent from fierce-ant-16 |
|
Codex REQUEST_CHANGES (P2 parallel authority @ Finding: Fix: Wave-0 resolver is bindings-only:
Verification: — sent from fierce-ant-16 |
|
Claude APPROVE (dashboard @ 2026-05-22T09:00:52, HEAD
CI green on — sent from fierce-ant-16 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
b0e9cf39· Trigger:schedule - Thinking:
427s wall
BLOCKING (2)
Root Cause
src/v4/lens/edit_locus.dagRepo-relative paths already have a modeled filesystem authority, but T-21 introduces a new String carrier at the resolver boundary → make RepoPath a structured repo-relative path or a fact bundle over the existing path model before regex matching consumes it.src/v4/lens/edit_locus.dagThe resolver needs accumulation over FreeMonoid but reopens storage-shape recursion locally → express the binding/path accumulation through free_monoid_fold or add a tracked Practice 10 disposition if a needed primitive is missing.
|
|
||
| // RULING-1: 🟢 pretty-much-done — single repo-path carrier (String = Artifact.file_path authority). | ||
| // Git `name-only` paths and artifact provenance paths share `RepoPath`; no Symbol/String bridge. | ||
| type RepoPath = String |
There was a problem hiding this comment.
BLOCKING: RepoPath is a substrate boundary but aliases Git repo paths to String despite the existing v4.extdeps.file_system path model, so path structure becomes a parallel authority instead of flowing from modeled filesystem facts (M9/P2).
| bindings: FreeMonoid<EditLocusBinding>, | ||
| acc: FreeMonoid<Node> | ||
| ) -> FreeMonoid<Node> { | ||
| match bindings { |
There was a problem hiding this comment.
BLOCKING: This starts a resolver-local Empty/Cons walker over FreeMonoid instead of consuming the canonical fold/query surface, which is Practice 10 walker dissolution for substrate .dag code.
|
Merge-ready handoff (operator manual merge requested) HEAD Dashboard: 2/2 distinct api-review APPROVEs on current HEAD (Claude + Composer). Codex formal reviews on this SHA are Harness policy: session config still has Modeling follow-up ( — sent from fierce-ant-16 |
….dag + diff.dag modeling as re-plan follow-up lane Operator ruled PR #3560 disposition 2026-05-22: queue as-is, modeling debt deferred to re-plan follow-up. Added new queued lane in §4: extdeps/git.dag + extdeps/diff.dag first-class + lens/edit_locus.dag reshape as thin composition consumer. Flagged as worked example of broader modeling-shortcut class — likely consolidates with similar instances surfacing from the cross-lane poll. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* WIP: Fork of PM * regroup-2026-05-22: fold jolly-eagle + sharp-crab audit themes into §5 §5 restructured into 5 subsections: cross-cutting (3 themes ≥2 sources converge), jolly-eagle (6), sharp-crab (7), PM-observed self-flag, closure-leaf/orphan-detection. Working planning artifact; PR stays draft. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Fork of PM * regroup-2026-05-22: fix SELF_HOSTING.md path (v3 not v4) Reviewer flagged BLOCKING: pointed operators at src/v4/SELF_HOSTING.md which does not exist on origin/main. Verified via git ls-tree + test -e; the actual file is src/v3/SELF_HOSTING.md (per the session-dashboard intro / CLAUDE.md project-spirit references). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: correct facet-2 self-emit framing (v3 is THE zero-floor surface, not "unstarted") Reviewer flagged BLOCKING: prior "v3 layer still has 0 stage0 files (no rust yet at v3 layer)" framing inverted Pure Bootstrap status. Verified via: - find src/v3 -name "*.rs" = 259 hand-authored files - SG-0 census ratchets = ~205+ v3 path entries across EXPECTED_HAND_AUTHORED_NON_TEST + _TEST + _FRAGMENTS - THESIS L315-316: "v2 at ~97%; v3's trajectory is the Pure Bootstrap to Zero program (0 hand-maintained)" Updated facet-2 row to name v3 as THE zero-floor surface with debt tracked + dissolution per-PR — not "unstarted." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: codex BLOCKING (2) — cite v4 self-host authorities; split v2/v3/v4 facet-2 row Two corrections per codex review on sha:ec2657a7: (1) Top reference list: replaced standalone src/v3/SELF_HOSTING.md citation with the actual v4 authorities (src/v4/compiler/self_host.dag scaffold- against-contract + src/v4/workflow/bootstrap.dag + docs/design-pure- bootstrap-zero.md). Kept v3 SELF_HOSTING.md as the v2→v3 transition reference v4 supersedes per ROADMAP "v4 supersession (2026-05-15)". (2) Facet-2 row: split v2 (regen --verify GREEN; ~97%) / v3 (frozen pending v4 ship; ~205+ SG-0 census ratchets persist as reference) / v4 (active T-15 scaffold-against-contract + MVP-1 #3542 + MVP-2 #3527 CI gates GREEN; full-tree fixed-point pending). Prior collapsed framing miscast v3 as still actively shrinking and missed v4's actual self-host substrate state. Verified via git ls-tree origin/main + read of src/v4/compiler/self_host.dag header. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Fork of PM * WIP: Fork of PM * regroup-2026-05-22: fold eval-interp-algebra strategic lane + smart-lynx-142 PM consolidation Two operator-ruled additions: (1) Eval interpretation-algebra substrate added to §4 queued items — strategic lane (eval-realization counterpart to cardinality-propagation), ~20-50 per-primitive Interpretation declarations + one structural fold per Practice 10 homomorphism; replaces eval_node fail-closed scaffold. Closes T-19 Deferred witness-validity rows + F1 eval_node fail-closed mechanically; could shift MVP-1/MVP-2 from subset-only to full-tree. Routed from smart-lynx-142 peer-PM; operator-ruled (ii) — queues for post-drain re-plan under cool-cat-24 authority. (2) PM-thread consolidation note in §intro — operator forwarded forward-movement authority from smart-lynx-142 to cool-cat-24 for re-planning. smart-lynx-142's active workers finish under their session; unified manager pool emerges post-drain. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: refresh v4 .dag count (183 → 189 per current origin/main) Drain landed more .dag files since the doc was first written. Refreshing the count to current origin/main state. Verified: git ls-tree -r origin/main src/v4/ | grep -c '\.dag$' = 189 .rs count unchanged at 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: fold operator-ruled (b) on PR #3560 — extdeps/git.dag + diff.dag modeling as re-plan follow-up lane Operator ruled PR #3560 disposition 2026-05-22: queue as-is, modeling debt deferred to re-plan follow-up. Added new queued lane in §4: extdeps/git.dag + extdeps/diff.dag first-class + lens/edit_locus.dag reshape as thin composition consumer. Flagged as worked example of broader modeling-shortcut class — likely consolidates with similar instances surfacing from the cross-lane poll. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: add §7 — re-plan input pool from 4 peer-manager polls (with attribution) All 4 manager polls returned (jolly-eagle / smart-boar / sharp-crab / smart-lynx-142). §7 consolidates the raw input pool with explicit source attribution per item, organized: - 7a Modeling gaps + substrate debt (14 items, cross-attributed) - 7b Open questions / loose ends (8 items) - 7c Strategic lane nominations (16 candidates; LENS ENFORCEMENT IN CI flagged as load-bearing operator-named action item that fell through the velocity burst) - 7d Cross-lane flags (8) - 7e Patterns to preserve (positive worker surfaces; 8 items) §4 stays operator-facing for items operator has already touched; §7 is the input pool we draw from to populate §4. Operator picks which §7c candidates enter §4 in the re-plan. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* WIP: Fork of PM * regroup-2026-05-22: fold jolly-eagle + sharp-crab audit themes into §5 §5 restructured into 5 subsections: cross-cutting (3 themes ≥2 sources converge), jolly-eagle (6), sharp-crab (7), PM-observed self-flag, closure-leaf/orphan-detection. Working planning artifact; PR stays draft. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Fork of PM * regroup-2026-05-22: fix SELF_HOSTING.md path (v3 not v4) Reviewer flagged BLOCKING: pointed operators at src/v4/SELF_HOSTING.md which does not exist on origin/main. Verified via git ls-tree + test -e; the actual file is src/v3/SELF_HOSTING.md (per the session-dashboard intro / CLAUDE.md project-spirit references). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: correct facet-2 self-emit framing (v3 is THE zero-floor surface, not "unstarted") Reviewer flagged BLOCKING: prior "v3 layer still has 0 stage0 files (no rust yet at v3 layer)" framing inverted Pure Bootstrap status. Verified via: - find src/v3 -name "*.rs" = 259 hand-authored files - SG-0 census ratchets = ~205+ v3 path entries across EXPECTED_HAND_AUTHORED_NON_TEST + _TEST + _FRAGMENTS - THESIS L315-316: "v2 at ~97%; v3's trajectory is the Pure Bootstrap to Zero program (0 hand-maintained)" Updated facet-2 row to name v3 as THE zero-floor surface with debt tracked + dissolution per-PR — not "unstarted." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: codex BLOCKING (2) — cite v4 self-host authorities; split v2/v3/v4 facet-2 row Two corrections per codex review on sha:ec2657a7: (1) Top reference list: replaced standalone src/v3/SELF_HOSTING.md citation with the actual v4 authorities (src/v4/compiler/self_host.dag scaffold- against-contract + src/v4/workflow/bootstrap.dag + docs/design-pure- bootstrap-zero.md). Kept v3 SELF_HOSTING.md as the v2→v3 transition reference v4 supersedes per ROADMAP "v4 supersession (2026-05-15)". (2) Facet-2 row: split v2 (regen --verify GREEN; ~97%) / v3 (frozen pending v4 ship; ~205+ SG-0 census ratchets persist as reference) / v4 (active T-15 scaffold-against-contract + MVP-1 #3542 + MVP-2 #3527 CI gates GREEN; full-tree fixed-point pending). Prior collapsed framing miscast v3 as still actively shrinking and missed v4's actual self-host substrate state. Verified via git ls-tree origin/main + read of src/v4/compiler/self_host.dag header. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Fork of PM * WIP: Fork of PM * regroup-2026-05-22: fold eval-interp-algebra strategic lane + smart-lynx-142 PM consolidation Two operator-ruled additions: (1) Eval interpretation-algebra substrate added to §4 queued items — strategic lane (eval-realization counterpart to cardinality-propagation), ~20-50 per-primitive Interpretation declarations + one structural fold per Practice 10 homomorphism; replaces eval_node fail-closed scaffold. Closes T-19 Deferred witness-validity rows + F1 eval_node fail-closed mechanically; could shift MVP-1/MVP-2 from subset-only to full-tree. Routed from smart-lynx-142 peer-PM; operator-ruled (ii) — queues for post-drain re-plan under cool-cat-24 authority. (2) PM-thread consolidation note in §intro — operator forwarded forward-movement authority from smart-lynx-142 to cool-cat-24 for re-planning. smart-lynx-142's active workers finish under their session; unified manager pool emerges post-drain. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: refresh v4 .dag count (183 → 189 per current origin/main) Drain landed more .dag files since the doc was first written. Refreshing the count to current origin/main state. Verified: git ls-tree -r origin/main src/v4/ | grep -c '\.dag$' = 189 .rs count unchanged at 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: fold operator-ruled (b) on PR #3560 — extdeps/git.dag + diff.dag modeling as re-plan follow-up lane Operator ruled PR #3560 disposition 2026-05-22: queue as-is, modeling debt deferred to re-plan follow-up. Added new queued lane in §4: extdeps/git.dag + extdeps/diff.dag first-class + lens/edit_locus.dag reshape as thin composition consumer. Flagged as worked example of broader modeling-shortcut class — likely consolidates with similar instances surfacing from the cross-lane poll. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * regroup-2026-05-22: add §7 — re-plan input pool from 4 peer-manager polls (with attribution) All 4 manager polls returned (jolly-eagle / smart-boar / sharp-crab / smart-lynx-142). §7 consolidates the raw input pool with explicit source attribution per item, organized: - 7a Modeling gaps + substrate debt (14 items, cross-attributed) - 7b Open questions / loose ends (8 items) - 7c Strategic lane nominations (16 candidates; LENS ENFORCEMENT IN CI flagged as load-bearing operator-named action item that fell through the velocity burst) - 7d Cross-lane flags (8) - 7e Patterns to preserve (positive worker surfaces; 8 items) §4 stays operator-facing for items operator has already touched; §7 is the input pool we draw from to populate §4. Operator picks which §7c candidates enter §4 in the re-plan. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Fork of PM * docs: fix two codex BLOCKINGs in regroup-2026-05-22.md (1) src/v4/ .dag count: 189 → 193 (verified via git ls-tree -r origin/main; 189 was unverified session-memory estimate). (2) Facet-2 framing: propagate v3-frozen/operator-reframe consistently to §1 net-movement summary and §6 closure-priority question. Prior text implied v3 self-emit was still an active goal; reframe restricts facet-2 active closure to full-tree v4 cargo-build + T-15 fixed-point runner. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: resolve merge conflicts — integrate prior fixes with src/v4 count correction Merge origin/session/cool-cat-24 into HEAD, resolving 4 conflicts: - Intro citations: keep remote's bin/main.dag addition + reconciliation note - Facet-2 row: use remote's PB-zero framing; correct count 189→193 (verified via git ls-tree -r origin/main -- src/v4/*.dag) - Net-thesis summary: keep updated v3-frozen/v4-T15-active framing - Closure-priority question: remove stale "v3 self-emit" goal; v4-only Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * WIP: Fork of PM * docs: mark THESIS.md canonical-doc reconciliation as done in this PR The 'pending' deferral was flagged by openai-pro as lacking a concrete dissolution trigger. THESIS.md L316-323 was updated in this PR (d513c96) to retarget PB-zero from v3 to v4; update the reconciliation note to reflect that the canonical-doc gap is now closed rather than deferred. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * WIP: Fork of PM --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Auto-opened by session-dashboard for session
fierce-ant-16.Pushing to
session/fierce-ant-16advances this PR.SG-0 pairing: (c) Net +1 on
EXPECTED_HAND_AUTHORED_TESTforv4_lens_edit_locus_dag_smoke_test.rs(INVARIANTS §P5(b) tokenize/parse receipt forsrc/v4/lens/edit_locus.dag— git diff →Witness<AffectedSetReading>edit-locus resolver for T-21 affected_set wire). Follow-up dispatch to retire host smoke when.dagTestClaim/ BinaryShim host exercises the wire without parse probe; tracked gunbc#3560 (this PR) + ROADMAP T-PB-B /pb_rust_tests_outside_residual_zero.Summary
Rebase hygiene (not T-21):
swift.dag— replaced{ .. }struct-match rest patterns with explicitfield: _bindings so v4 bootstrap parses after main merge (parser rejects DotDot-only rest).Adds
src/v4/lens/edit_locus.dag: structural bridge fromgit diff --name-onlypaths to substrateNodeedit_locus foraffected_set, with path-regex match authority injected viaEditLocusRead(dissolvesscripts/detect-affected-components.shpath buckets).affected_set_reading_from_git_diffreturnsWitness<AffectedSetReading>so resolver failures propagate fail-closed (not empty readings). Structural TestClaims + v3 parse smoke harness.Test plan
cargo test -p v3-compiler --test integration v4_lens_edit_locus -- --quiet— passcargo fmt --all --check— pass (local)Worker attestation
cargo test -p v3-compiler --test integration v4_lens_edit_locus