Repository navigation
Cursor/multiple development lanes 4197 - #64
Conversation
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32490f4208
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| parts.push(format!("clippy errors: {last_lines}")); | ||
| } | ||
|
|
||
| let _ = branch; |
There was a problem hiding this comment.
Run CI validation against the handoff branch
run_ci_validation takes the completed agent branch but then ignores it (let _ = branch) and runs cargo test/cargo clippy on whatever branch is currently checked out. In validate-pr, this result is used to decide whether to transition the intake to closed, so invoking the command from main (or any non-agent branch) can incorrectly pass/fail validation and close the wrong work item.
Useful? React with 👍 / 👎.
| let parts: Vec<&str> = cleaned.rsplitn(3, '/').collect(); | ||
| if parts.len() >= 2 { | ||
| Some((parts[1].to_string(), parts[0].to_string())) |
There was a problem hiding this comment.
Parse SSH remote URLs before forming gh repo slug
parse_github_owner_repo extracts owner/repo by splitting only on /, which breaks common SSH remotes like git@github.com:org/repo.git by returning owner git@github.com:org. That malformed owner is then passed into gh pr create/comment --repo, causing PR operations to fail for repositories configured with SSH remotes.
Useful? React with 👍 / 👎.
| if !self.eat(&TokenKind::Comma) { | ||
| break; |
There was a problem hiding this comment.
Parse all SDLC block properties without requiring commas
parse_property_list_until_rbrace stops after the first property whenever a comma is absent, even if more name = expr pairs follow before }. This makes multi-field project/feature/task/design/component/environment blocks fail to parse under newline-separated property syntax, so only the first property is accepted unless callers add commas everywhere.
Useful? React with 👍 / 👎.
Per cursor/composer-2 review on PR #2631: brief table + dispatch-trigger parenthetical labeled lens_producer_retirement_executable_witness as gate #64. Authoritative §1.8 row is #66; #64 is substrate_gap_reflection_closure_closed (separate predicate). Aligns brief with r3-program-plan.md §1.8 row identity per INVARIANTS.md P1 (single authoritative facts). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…2631) * docs(audit): land R-3 + R-7 ratifications (T-Tier3 perf budget) §5.1 designation in canonical-bench-host-decision-matrix: Option A ubicloud-standard-2 ratified 2026-05-08 per PB Manager (warm-dove-618); Director ratification at gunbc#828 c#4403509523. §2 capture procedure: multi-run discipline addendum — N=5 preferred, median-of-medians for median_ns, max-p99-across-runs for p99_ns, per-run intermediates committed alongside final tier3_baseline.json. Both lines unblock #2204 slice dispatch (Substrate-side PerfWithinBaseline variant + PerfBaselineMeasurement carrier); PB consumer slice queues post-#2204 land. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * PB Item 5 brief — encode substrate disposition (#2068 P1 RATIFIED) Substrate Mgr (warm-wolf-698) ratified §7.3 disposition at gunbc#2068 c#4411574142: shape (b) CensusSubsetCount filter with closed predicate BinShimFilesSubsetPredicate, mirroring existing LensProducerFilesSubsetPredicate precedent. Per feedback_strict_mirror_vs_novel_substrate_fact, strict-mirror ratifies directly (no canvas needed). Updates r3-pb-binshim-retirement-worker.md: - New §"Substrate landings (locked shape)" with the 4 required artifacts (substrate marker type + value, runtime predicate body, dispatch branch). - §7.3 acceptance now authorable; locked TestClaim shape recorded. - Dispatch precondition (5): unauthorable → RESOLVED. - STOP condition: §7.3 disposition not-yet-live → drift-detection. - Status header: PROPOSAL → READY-FOR-DISPATCH posture (pending only the standard R2/R2-Evaluator close signal; both Item-4 sub-gates met via PR #2282 / #2227 close). Bin-shim file inventory at main 5a13ed8: 9 files in src/v3/compiler/src/bin/; closure when CensusSubsetCount predicate count == 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: R3 PB Mgr — lane through R3 close * brief: clarify §7.3 TestClaim is zero-only (not schedule-bound) Addresses non-blocking improvement on PR #2334 (codex review sha=68977425): the prior wording called CensusSubsetCount a schedule-bound gate, but the runtime predicate (test_runner.rs:3290-3296) is zero-only — Pass iff count==0. Interim per-PR shrink receipts are PR-level milestones outside this TestClaim, not TestClaim verdicts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * brief: reconcile §"Substrate landings" with Non-goals (PB strict-mirror authoring authorized post-#2068) Addresses non-blocking improvement on PR #2334 (codex review sha=363cf799): the new §"Substrate landings (locked shape)" worker-owned list contradicted the unchanged "out of scope" entries that still said PB lane does not author §7.3 substrate shape. Resolution: per #2068 c#4411574142 ratification + feedback_strict_mirror_vs_ novel_substrate_fact, strict-mirror declarations (mirroring the existing LensProducerFilesSubsetPredicate precedent) are PB-lane-authorable. The non-goal still applies to *novel* shape (extra fields, alternative coproducts) which would re-escalate to Substrate Mgr. Updates: - "PB does not own and must not edit" entry (line 29): clarifies shape question is Substrate-territory but strict-mirror authoring is authorized. - Non-goals (line 155): same reconciliation; novel shape still gates back to Substrate Mgr. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * PB Item 5 follow-on brief — batch retirement for 8 remaining bin-shims Director re-task at gunbc#828 c#4413892216 Task A: author per-shim retirement worker briefs for the 9 bin-shims; 1 covered by gate #7 (warm-crab-600 working regen_lens.rs); 8 unscoped (emit_method_template_projection, r1c_e_emit_gates, regen_bootstrap, regen_parse, regen_parse_tables, regen_tokenize, regen_v3, self_host_fixed_point). This brief governs the 8-shim batch follow-on against the canonical r3-pb-binshim-retirement-worker.md template. Status PROPOSAL — dispatch-gated on: - smart-tern-649 Stage A landing (BinShimFilesSubsetPredicate carriers + runtime predicate) - warm-crab-600 gate #7 first-cut precedent on main Three staging shapes documented (mega-PR / serial-per-shim / batched-2-3); PB Mgr leans batched-by-regen-family. Worker chooses at dispatch. STOP-AND-PING conditions enumerated (substrate-carrier absent / carrier shape pressure / emit-pattern divergence / substrate-grep mismatch). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix-forward (PR #2471 codex REQUEST_CHANGES) Two findings addressed: 1. Carrier-shape mismatch (line 43): brief template said `name:` but the locked BinShim carrier per design-pb-runtime-interpreter.md:200-204 uses `entrypoint_name`, `description`, `entry`. P2 single-authority violation would have routed workers against wrong shape. Fixed: template now matches locked shape verbatim with explicit no-additional-fields clause. 2. Dispatch-gate dilution (lines 33, 98): brief reduced operative dispatch gate to "Stage A landing + gate #7 precedent" but parent brief enumerates 5 preconditions (R2 close + R2-Evaluator landed + Item 4 sub-gate green + BinShim carrier live + §7.3 disposition). P5 fail-closed violation. Fixed: full readiness prerequisite inherited verbatim from parent brief; gate #7 precedent demoted to implementation-pattern reference (not gate). Worker dispatch posture updated to require all 5 preconditions verified on main at dispatch time per feedback_substrate_grep_before_authoring. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: R3 PB Mgr — lane through R3 close * docs(r3): §1.8 ledger Status drift sweep — post-T-LP / T-Bridge wave Promotes 4 §1.8 rows with PR-evidence on main. PB Mgr post-merge ledger-receipt sync per Director ratification at gunbc#828 (c#4415884211; same pattern as PR #2399). Promotions: - #6 lens_testgen_dot_rs_retired DECLARED -> CONSUMER_LANDED + PASSING (PR #2392 producer + PR #2594 regression-guard; lens_testgen.rs absent on disk; consumer-side ratchet test landed) - #33 bridge_canonical_lens_name_dispatch_retired DECLARED -> CONSUMER_LANDED (PR #2449) - #34 bridge_include_str_side_channels_retired DECLARED -> CONSUMER_LANDED (slice scope) (PR #2459 pipeline.dag slice; standalone closure brief #1976 STOP-BLOCKED on Substrate T1) - #66 lens_producer_retirement_executable_witness Notes-update only (PR #2595 substrate-impl landed: TestRunner executes .dag PB census claim and reports residual; closure-receipt remains F3-DEFERRED per PB Mgr disposition) Excluded (out of charter): - #31 -> Substrate (#2068) - #36 -> Verification (#2075) Excluded (T-V2-Retirement HELD on PM-authored S-1 brief #1974): - #41 / #42 / #60 / #71 Pre-authored brief at docs/briefs/r3-pb-status-drift-sweep-post-tlp.md covers the post-T-LP cascade wave (G5/G7/G8). Closes PB Mgr drift-sweep obligation for already-merged evidence; G5/G7/G8 remain queued per pre-authored brief. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(briefs): fix gate #64 → #66 mislabel in drift-sweep brief Per cursor/composer-2 review on PR #2631: brief table + dispatch-trigger parenthetical labeled lens_producer_retirement_executable_witness as gate #64. Authoritative §1.8 row is #66; #64 is substrate_gap_reflection_closure_closed (separate predicate). Aligns brief with r3-program-plan.md §1.8 row identity per INVARIANTS.md P1 (single authoritative facts). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(r3): row #66 DECLARED → CONSUMER_LANDED per §1.7 taxonomy Per codex/codex-default review on PR #2631 (REQUEST_CHANGES, review 9150): leaving row #66 at DECLARED while the Notes cell describes an executable consumer that runs through TestRunner contradicts the §1.7 status taxonomy and INVARIANTS P2 single-authority discipline. Promoting #66 to CONSUMER_LANDED with explicit PASSING gate on residual = 0 (cascades from T-LensProducer-Retirement gates #5 + #6 + #7). The F3 deferral is on PASSING, not CONSUMER_LANDED; the executable receipt src/v3/compiler/tests/integration/r3_lens_producer_retirement_executable_witness_test.rs already exists and runs the .dag PB census claim through TestRunner. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…witness deferred to PB-Runtime + T-LP retirement) (#2694) * R3 gate 64 reflection closure executable receipt * WIP: substrate_gap_reflection_closure_closed * Clarify gate 64 receipt is non-canonical plumbing * WIP: substrate_gap_reflection_closure_closed * Add gate 64 test harness to SG-0 census * Add PR 2694 SG-0 body receipt * WIP: substrate_gap_reflection_closure_closed * Tighten gate 64 residual receipt * WIP: substrate_gap_reflection_closure_closed * WIP: substrate_gap_reflection_closure_closed * WIP: substrate_gap_reflection_closure_closed * Keep v3 full-suite CI alive during long runs * Merge origin/main into gate 64 receipt branch * Accept passing gate 64 residual census receipt * Stabilize v3 Zig setup in CI * Tighten gate 64 residual pass receipt * Add v3 prebuild CI heartbeat
…ddendum (#2729) * docs(r3): §1.8 drift sweep — post T-Tier3/T-V2 wave + #2723 row #92 addendum Promotions per Director greenlight at gunbc#828 c#4426061314 + delta at gunbc#1942 c#4426061314. Sequencing per Mgr-cadence calibration (serial-after-#2702-merge). | Row | From | To | Evidence | |---|---|---|---| | #3 tier3_induction_mirror_dissolved | DECLARED | CONSUMER_LANDED | PR #2678 (merry-wolf-735, scope-verified per R-7 vs C1 Phase-1 baseline) | | #4 tier3_effect_carrier_mirror_dissolved | DECLARED | CONSUMER_LANDED + PASSING | PR #2679 (warm-ibex-579, workflow_idempotency.rs retired) | | #41 v2_oracle_no_remaining_test_consumers | DECLARED | CONSUMER_LANDED + PASSING | PR #2695 (witty-crab-518, T-V2 G-1 ratchet) | | #42 v2_directory_deleted | DECLARED | CONSUMER_LANDED + PASSING | PR #2693 (calm-seal-831, -158,670 lines; row #97 coherence test) | | #71 v3_self_host_demonstration | DECLARED | CONSUMER_LANDED + PASSING | PR #2696 (still-crab-219, demonstration harness) | Row #92 addendum: PR #2723 hot-fix-2026-05-12 #[ignore]-tagged the consumer t_las_complexity_contract_compile_error_test.rs (cold-CI wall-time reduction; 14s wall). Status preserved CONSUMER_LANDED + PASSING with explicit consumer-disabled note + rebuild-routing context (no standing T-LAS Mgr seat per gunbc#828 c#4426497). NOT promoted: row #1 / #2 / #65 / #64 / #6 already at correct state or substrate-blocked (row #1 awaits actual mirror retirement now that C1 baseline #2702 landed; row #6 was promoted in earlier PR #2631; row #64 substrate-plumbing receipt landed via PR #2694 remains DECLARED with canonical PB-Runtime witness deferral; row #65 already PASSING; row #2 already CONSUMER_LANDED via PR #2681). Pure documentation; no code touched. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(r3): row #92 — replace placeholder comment-id with accurate citation cursor/composer-2 review (9890) on PR #2729 caught the `c#4426497xxx` stub on row #92 addendum: unfollowable placeholder weakens INVARIANTS P1 (Modeling Faithfulness). The actual Director greenlight came via internal dashboard messaging (warm-dove-618 → zesty-bear-812), not a GitHub comment thread, so a `#issuecomment-` id wouldn't exist anyway. Replace with accurate "internal-message dispatch" phrasing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Codex blocking review: `lens_producer_files_remaining` must count the bounded lens host until PB-Runtime dissolution, not only `regen_lens.rs`, so a rename from `lens_apply.rs` cannot read as census progress. Document the predicate at `is_lens_producer_census_path`; align gate #64/#66 witnesses and PB census harness expectations to residual 2. Co-authored-by: Cursor <cursoragent@cursor.com>
…ucer census unchanged) (#2812) * WIP: T-LP-Retirement gate #5 — lens_apply.rs producer-retirement (per docs/br * WIP: T-LP-Retirement gate #5 — lens_apply.rs producer-retirement (per docs/br * WIP: T-LP-Retirement gate #5 — lens_apply.rs producer-retirement (per docs/br * fix: keep lens_declaration_apply in lens-producer census subset Codex blocking review: `lens_producer_files_remaining` must count the bounded lens host until PB-Runtime dissolution, not only `regen_lens.rs`, so a rename from `lens_apply.rs` cannot read as census progress. Document the predicate at `is_lens_producer_census_path`; align gate #64/#66 witnesses and PB census harness expectations to residual 2. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Codex REQUEST_CHANGES on PR #3083: retiring src/bin/regen_lens.rs must not shrink lens_producer_files_remaining — count regen_lens_driver.rs and regen_lens_entry.rs alongside lens_declaration_apply.rs (live residual 3). Update gate #66/#64 witness strings and PB census predicate dispatch test. Co-authored-by: Cursor <cursoragent@cursor.com>
#3105) Gate #5 `lens_apply_dot_rs_retired` closed at HEAD 2026-05-14 (PR #2812); `src/v3/compiler/src/lens_apply.rs` is absent and the live `is_lens_producer_census_path` allowlist in `src/v3/compiler/src/test_runner.rs` now covers two paths (`lens_declaration_apply.rs` + `bin/regen_lens.rs`). The §1.8 row #64/#66 Notes still cited the pre-gate-#5 residual count of 3 (drift); both executable receipts already track `CURRENT_RESIDUAL_COUNT = 2` / `CURRENT_REFLECTION_RESIDUAL_COUNT = 2`. Sync the Notes so the ledger matches the executable witnesses. Per "Post-merge §1.8 ledger-receipt sync as Mgr-tier closing step" discipline. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
) * WIP: R3 gate #7: regen_lens_dot_rs_retired (T-LensProducer-Retirement) * WIP: R3 gate #7: regen_lens_dot_rs_retired (T-LensProducer-Retirement) * fix(R3): complete gate #7 census + SG-6 bin ratchet - Add P5 INVARIANTS rows for regen_lens_driver.rs and regen_lens_entry.rs - Gate #7 retirement test, lens-producer residual count 1, test_runner subset - Restore gunbc_ci.rs in SG-6 expected bin set; fix sg6 assertion message Co-authored-by: Cursor <cursoragent@cursor.com> * fix(R3): lens-producer census counts regen_lens after gate #7 split Codex REQUEST_CHANGES on PR #3083: retiring src/bin/regen_lens.rs must not shrink lens_producer_files_remaining — count regen_lens_driver.rs and regen_lens_entry.rs alongside lens_declaration_apply.rs (live residual 3). Update gate #66/#64 witness strings and PB census predicate dispatch test. Co-authored-by: Cursor <cursoragent@cursor.com> * ci: add SG-0 PR-body append for #3083 census net +1 PR edits sg0_census_test.rs with net +1 hand path (removed bin/regen_lens.rs, added regen_lens_driver + entry). Prepend machine pairing (a) for CI check-pr-sg0-net-shrink-discipline.sh. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(v3-compiler): trim chatty rustdoc on lens-producer census predicate Adopt cursor/composer-2 exploratory: drop PR-number review citation; keep the gate #7 rationale in neutral prose. Co-authored-by: Cursor <cursoragent@cursor.com> * docs(v3-compiler): clarify regen_lens_main Dag binding in rustdoc Cursor/composer-2 exploratory: describe local let + &dag vs misleading &Dag::new(). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(v3): satisfy clippy manual_clamp in regen_lens entry CI v3 job runs clippy with -D warnings; manual max/min triggered clippy::manual_clamp on the failure exit path. Use i64::clamp(1, 255) so the self_host_ratchet gate passes when v3 is green. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
No description provided.