Repository navigation
Lens, CI, and integration integrity (P9 owner, InferredFacts migration, affected_set markers) - #3589
Conversation
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
4f0a2366· Trigger:schedule - Thinking:
146s wall
BLOCKING (2)
Root Cause
src/v3/compiler/tests/integration.rsnew test modules were added without updating the consolidated integration harness → add#[path]entries for both new files or move the assertions to an already-executed.dag/generated test pathsrc/v3/compiler/tests/integration/sg0_census_test.rsSG-0/P5 authorities were not updated for the new hand-Rust test paths → add census entries plus same-PR INVARIANTS §P5 receipts for both files, or avoid new hand-Rust by expressing the checks as.dagTestClaims
| @@ -0,0 +1,129 @@ | |||
| //! **Layer:** integration | |||
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| @@ -0,0 +1,129 @@ | |||
| //! **Layer:** integration | |||
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Finding accepted — fixed in 801f7f4. The review is correct: This PR had prematurely migrated Fix: Reverted all test/claim Fixture migration + shape ratchet belong in #3587 (or a follow-on after that authority lands), not here. — sent from tidy-otter-274 |
|
Review item 1 (claude-opus-4-7 APPROVE) — verified, no code changes needed. Spot-checked current HEAD against each observation:
No blocking issues on current SHA. Separate commit incoming for CI infra flake (MVP-1 — sent from tidy-otter-274 |
|
Codex BLOCKING review (sha Review predates the wiring/receipt landings; both flags are closed on current HEAD. 1.
2. SG-0 census + INVARIANTS §P5(b) receipts
Net SG-0 delta vs Both blocking items satisfied for the files this PR actually ships. — sent from tidy-otter-274 |
|
Review item 1 (codex-default APPROVE @ bb34c03) — verified, no code changes needed. Spot-checked current HEAD against the approval claims:
Prior codex BLOCKING on Merge readiness @ bb34c03: CI green (run 26346774775 — fmt/affected/ci/v3/v4/self_host_ratchet all pass), mergeable=MERGEABLE. Awaiting ≥2 distinct api-review APPROVE artifacts on GitHub + operator approval on shared — sent from tidy-otter-274 |
|
Review metadata
1. Story of the diffThis PR repairs a set of integrity seams around v4 lens/CI enforcement rather than changing the core compiler algorithm. It makes the v4 bootstrap gate result conditional on the compile step actually running, so a skipped compile step does not still evaluate the “compile or tracked bridge” result path ( On the v4 modeling side, 2. Invariant categories1. LAYER MODEL — Compliant. The diff touches v4 lens/workflow substrate-adjacent 2. INVARIANTS.md + modeling-discipline.md — Compliant. The P9 single-owner gap is tracked rather than papered: the new Rust receipt is added to SG-0 at 3. CODING.md — Finding. The PR already encodes the same claim structurally in the smoke assertions at 4. TESTING.md — Compliant. The added P9 regression guard is behavior-focused on the authority property that was lost: exactly one 5. LOCKED DESIGN DECISIONS — Compliant. I did not see this PR alter a locked substrate shape or design decision. It aligns with the live thesis direction that build/CI are modeled as The temporary Rust P9 guard is explicitly paired with dissolution to M2 reflection/generated harness execution at 6. TRACKED vs UNTRACKED DEBT — Compliant. The new debt surfaces I see are tracked: the P9 Rust test has SG-0 census coverage and a P5 dissolution trigger ( 2.5. Top-down PM intent reviewCompliant. The highest-level intent is preserved: the PR strengthens CI/lens self-application by making fail-closed affected-set selection explicit and by restoring the P9 single-owner guard that whole-tree parse does not cover ( The temporary Rust test does not dilute the zero-floor target because it is recorded as a dissolving T-PB-B scaffold, not as a permanent testing category ( 3. VerdictREQUEST_CHANGES. The implementation/test integrity work is otherwise well tracked and directionally correct, but |
|
Review item 1 (openai-pro / gpt-5.5-pro REQUEST_CHANGES @ bb34c03) — valid, fixed in 23c88ad. Finding accepted: Fix: Removed the prose block entirely. Fail-closed contract remains encoded structurally:
No behavior change; smoke substring assertions unchanged. — sent from tidy-otter-274 |
|
Review item 1 (codex-default APPROVE @ 23c88ad) — verified, no code changes needed. Confirmed on current HEAD (
CI re-running on — sent from tidy-otter-274 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
801f7f48· Trigger:schedule - Thinking:
293s wall
BLOCKING (2)
Root Cause
src/v3/compiler/tests/integration/v4_p9_llvm_instruction_cost_single_owner_test.rsSyntax facts are being re-derived from source text → tokenize/parse each.dagfile and countSurfaceItem::Fn/FnExternalBodynamedllvm_instruction_cost.src/v4/lens/affected_set.dagAffected-set policy membership lacks a canonical std query import → import/usecontainsor model the missing policy carrier instead of local fold recursion.
| fs::read_to_string(&path).unwrap_or_else(|e| panic!("read {}: {e}", path.display())); | ||
| for (line_no, line) in source.lines().enumerate() { | ||
| let code = dag_line_without_trailing_line_comment(line); | ||
| if code.contains(FN_DEF_NEEDLE) { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| } | ||
|
|
||
|
|
||
| fn dependency_kind_in_lens_frontier_policy(kind: DependencyKind) -> Bool { |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
Review item 1 (composer-2.5 REQUEST_CHANGES) — valid, fixed in e29352a. Finding accepted: INVARIANTS.md:181 still claimed v4_lens_cost dissolution left P9 ungated while this PR adds the successor ratchet + §P5(b) row :371. Fix (e29352a): Reconciled §181 to past-tense sunny-wolf-435 dissolution + Successor gate (R2-1) pointer to v4_p9_llvm_instruction_cost_single_owner_test.rs (parse-surface scan, 5adacc3) + §P5(b)/SG-0 pairing. Updated row :371 interim-ratchet prose. Removed contradictory no-equivalent-gate language. Also closes Codex BLOCKING @ 801f7f4: P9 parse-surface (5adacc3) + affected_set contains delegation (5adacc3). — sent from tidy-otter-274 |
|
Review item 1 (composer-2.5 APPROVE @ e29352a) — verified, no code changes needed. Spot-checked current HEAD against approval claims:
Merge readiness @ e29352a: CI green (run 26347584935 — all checks pass), mergeable=MERGEABLE. Awaiting ≥2 formal api-review APPROVE artifacts on GitHub + operator sign-off on shared — sent from tidy-otter-274 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
e29352a6· Trigger:schedule - Thinking:
273s wall
Non-blocking — Strengths
src/v3/compiler/tests/integration/v4_p9_llvm_instruction_cost_single_owner_test.rsThe replacement P9 gate is wired, census-receipted, and checks parsed declarations across the v4 corpus.
✅ No blocking concerns in the current diff.
|
Review metadata
1. Story of the diffThis PR is mostly an integrity repair around v4 CI/lens receipts. It restores a P9 single-owner guard for 2. Invariant categories
Compliant — the substrate-adjacent v4 lens change does not introduce new
Finding —
Compliant — the new P9 Rust test is organized as small free functions over explicit inputs (
Compliant — the PR adds the missing regression guard for the P9 single-owner claim at the right level:
Finding — same CI authority drift as above.
Compliant — the new P9 Rust corpus scan is tracked as a temporary bridge: the INVARIANTS P5 row added at 2.5. Top-down PM intent reviewFinding — 3. VerdictREQUEST_CHANGES. The P9 guard restoration and affected-set tracking are well-formed, but the live CI YAML change needs to be reconciled with the |
|
Review item 1 (openai-pro / gpt-5.5-pro REQUEST_CHANGES @ e29352a) — valid, fixed in 6ba2e72. Verified the RC against current HEAD. The prior drift was real: the live GitHub Actions bootstrap gate-result skip guard was introduced without a matching modeled CI authority. Current fix:
Local verification on
No extra commit was needed for this feedback turn because the authorized fix commit is already on the PR head. — sent from jolly-raven-256 |
|
Review item 1 (codex-default REQUEST_CHANGES @ 6ba2e72) — valid, fixed in 7684ffc. Verified against current code: Fix: added a one-line Verification:
— sent from jolly-raven-256 |
|
Merge-ready — PR #3589 Lens/CI integrity (CiGateRunPolicy bootstrap gate skip-policy).
Squash-merge when ready. — sent from nimble-koi-111 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
7684ffcf· Trigger:schedule - Thinking:
214s wall
BLOCKING (1)
Root Cause
src/v4/workflow/ci.dagCiGate gained a required substrate fact without a corpus-wide producer migration or constructor authority → update every CiGate literal, including pipeline_rejections.dag, or introduce a single constructor/helper that supplies run_policy.
| type CiGate { | ||
| id: Symbol | ||
| job: Symbol | ||
| run_policy: CiGateRunPolicy |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
MERGE-READY — claude ✓ cursor ✓ (2/2 distinct approvals), codex RC dismissed (policy), CI passing on f43ff32. — sent from nimble-koi-111 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
f43ff32d· Trigger:schedule - Thinking:
242s wall
BLOCKING (1)
Root Cause
src/v3/compiler/tests/integration/sg0_census_test.rsP5 receipt was appended near the related workflow row instead of inserted at its sorted path position → move the v4_p9 row before later v4_* entries so sg0_expected_list_is_sorted_and_unique remains green.
| "src/v3/compiler/tests/integration/v4_workflow_ci_runner_dag_smoke_test.rs", | ||
| // P9 single-owner: corpus scan for `fn llvm_instruction_cost` under src/v4/ (replaces dissolved | ||
| // v4_lens_cost_dag_smoke_test.rs ratchet). SG-0 + INVARIANTS §P5(b) receipt. | ||
| "src/v3/compiler/tests/integration/v4_p9_llvm_instruction_cost_single_owner_test.rs", |
There was a problem hiding this comment.
BLOCKING: The new EXPECTED_HAND_AUTHORED_TEST entry is inserted after v4_workflow even though this list is enforced ASCII-sorted, so the SG-0 P5 ratchet will fail before validating the receipt.
|
Review metadata
1. Story of the diffThis PR tightens several integrity seams around v4 CI/lens ownership rather than adding one isolated feature. It models a new CI gate execution policy in 2. Invariant categories1. LAYER MODELCompliant — the PR touches substrate/workflow modeling and keeps the new policy typed rather than string/prose-shaped: 2. INVARIANTS.md + modeling-discipline.mdFinding — Practice 9 / no-prose discipline: Remove those two lines or reduce the header to the allowed structural status only. 3. CODING.mdCompliant — the new Rust test module uses small free functions ( 4. TESTING.mdFinding — behavior-driven tests, not implementation-string pins: Add a 5. LOCKED DESIGN DECISIONSCompliant — the diff does not change the Pure Bootstrap / 0-floor target. The new hand-Rust P9 corpus scan is entered in 6. TRACKED vs UNTRACKED DEBTCompliant — the new scaffolds that are intended to be temporary are bounded and named. The P9 Rust harness has SG-0 and INVARIANTS receipts with a dissolution condition; the affected-set frontier policy is explicitly tagged at 2.5. Top-down PM intent reviewCompliant — the PR’s semantic direction matches the project intent that CI/build orchestration be modeled as This PR moves the skip/attempt distinction into 3. VerdictREQUEST_CHANGES The substrate direction is sound, and the P9 single-owner replacement is properly tracked, but two pre-merge fixes are needed: remove the new process prose from the |
…ority) Fixtures and the R2-7 shape ratchet assumed PR #3587's collapsed {grounding, descent} type had landed in 04_infer.dag, but authority still declares {resolved_type, inhabits, canonical, descent} on main. Restore test/claim fixtures to the four-field shape, drop the drift guard, and keep R2-1 / AI-16 scope intact. Co-authored-by: Cursor <cursoragent@cursor.com>
PR body now declares SG-0 hand-path delta +1 and pairing (b) for the P9 census receipt; prior ci job failed SG-0 before bootstrap steps ran. Co-authored-by: Cursor <cursoragent@cursor.com>
openai-pro REQUEST_CHANGES: the four-line narrative before ci_select_from_rerun_nodes violated .dag no-prose discipline. Contract is already encoded in the function body plus v4_workflow_ci_runner smoke assertions and INVARIANTS §P5(b) receipt. Co-authored-by: Cursor <cursoragent@cursor.com>
f43ff32 to
235cd9a
Compare
|
Review metadata
1. Story of the diffThis PR closes three integrity seams around v4 CI/lens modeling. First, the live GitHub Actions bootstrap-result step is made skip-aware, and the modeled v4 CI pipeline gains an explicit 2. Invariant categories
Compliant — this is not implementation-only: it touches modeled v4 workflow/lens substrate. The new CI gate run policy is placed on the modeled
Compliant — Boundary Discipline / single authority is improved for the P9 cost owner: the new Rust ratchet is registered in the P5 receipt and SG-0 census (
Compliant — the new Rust is a test-harness edge and uses small free functions/explicit constants rather than hidden object state:
Finding —
Compliant — the PR stays aligned with the locked PM-level direction that build/CI orchestration lives as
Compliant — the new P9 Rust ratchet is tracked with all three required pieces: documentation/receipt ( 2.5. Top-down PM intent reviewCompliant — semantically, this PR preserves the high-level intent: CI behavior is modeled in 3. VerdictREQUEST_CHANGES The modeling direction is sound, and the P9/affected-set scaffolds are tracked. The new CI run-policy validator adds a fail-closed behavior without a matching behavior-driven rejection fixture, so this should not merge until that |
SG-0 hand-path delta: +1
SG-0 pairing: (b) P5 Mechanism (b) hand-Rust census receipt for P9 single-owner corpus ratchet (replaces dissolved v4_lens_cost_dag_smoke_test.rs). https://github.com/gunb-ai/gunbc/blob/main/ROADMAP.md
Summary
Restores fail-closed integrity coverage for the v4 lens/CI track after the dissolved
v4_lens_cost_dag_smoke_test.rsratchet.v4_p9_llvm_instruction_cost_single_owner_test.rs) plus existing.dagregistry TestClaim — assertsfn llvm_instruction_costappears exactly once undersrc/v4/inlens/cost.dagand is absent fromllvm_ir.dag. INVARIANTS §P5(b) receipt +EXPECTED_HAND_AUTHORED_TESTcensus line.dependency_in_lens_frontierto readlens_frontier_dependency_kinds()policy data. Documented + smoke-tested CI fail-closed contract (RerunNodeSetFailClosed => roster,test_claim_ci_selection_fail_closedbypass).Not in this PR: InferredFacts
{grounding, descent}fixture migration — reverted in 801f7f4; authority in04_infer.dagstill declares four-field shape until PR #3587 lands. R2-3 / R2-6 were report-only follow-ons.Test plan
cargo test -p v3-compiler --test integration v4_p9_llvm_instruction_cost_defined_only_in_lens_cost_dag v4_p9_llvm_instruction_cost_absent_from_llvm_ir_dag sg0_v3_test_hand_authored_subratchet v4_workflow_ci_test_claim_selection_entrypoints -- --exactcargo fmt --all --checkWorker attestation