Skip to content

Worker 2 tasks plan - #44

Merged
briansrls merged 113 commits into
cursor/dsl-roadmap-worker-plan-965bfrom
cursor/worker-2-tasks-plan-e0b3
Feb 17, 2026
Merged

briansrls merged 113 commits into
cursor/dsl-roadmap-worker-plan-965bfrom
cursor/worker-2-tasks-plan-e0b3

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Refactor path handling to explicitly pass cwd for pure functions, centralizing current_dir() reads to enforce a strict effect boundary.

This change implements the first part of the "Worker 2" plan, specifically "PR-A: Pure helpers + cwd threading". The goal is to align with the user's architectural preferences for Google C++ style, an imperative shell with a functional core, and strict effect boundaries. By making path helpers pure and passing cwd explicitly, we ensure that core logic remains functional and side effects (like reading the current directory) are contained at the top level.


Open in Cursor Open in Web

cursoragent and others added 4 commits February 16, 2026 22:31
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>
@cursor

cursor Bot commented Feb 16, 2026

Copy link
Copy Markdown

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

cursoragent and others added 25 commits February 16, 2026 22:44
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>
briansrls added a commit that referenced this pull request May 10, 2026
Avoid coupling Pass vs pending-lens Fail expectations to suite index order
(TESTING.md cost-of-change); branch on claim names after claim_name check.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Wire LensOutputEquals name bridge auto_parallelism_bind_cluster_schedule_tag:
ordered top-level program binds use the same selector as Rust program-mode emit;
if a later bind transitively depends on an earlier bind value port, the tag is 0
(sequential required), else 1.

Expose program_mode_top_level_value_binds_for_lens_runner for shared ordering.

Update auto_parallelism_dependent_binds_emit_sequential claim with real dependent
program and expected 0; integration test expects Pass for gate #44 only.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
canonical_lens_bridge_ratchet_test forbids lens_decl.name == Some("…") arms.

Replace name-keyed branch with BindClusterScheduleProgramInput input role (fixture-local
empty type) plus unary Dag->Int lens signature check. Optional role: fixtures without
the type skip the branch so ProgramOutputBind/cost tests keep strict role errors.

Restores v3 CI canonical_lens_name_dispatch_arms_pinned.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Avoid coupling Pass vs pending-lens Fail expectations to suite index order
(TESTING.md cost-of-change); branch on claim names after claim_name check.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
- Document module_lets_pairwise_rhs_independent false for len<2 vs dependency.
- Reuse expand_behavior_backward_ports in bind_rhs_subgraph_contains_branch_or_loop.
- Match on claim index so gate #43 vs #44/#45 is obvious (addresses review misread).

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Wire LensOutputEquals name bridge auto_parallelism_bind_cluster_schedule_tag:
ordered top-level program binds use the same selector as Rust program-mode emit;
if a later bind transitively depends on an earlier bind value port, the tag is 0
(sequential required), else 1.

Expose program_mode_top_level_value_binds_for_lens_runner for shared ordering.

Update auto_parallelism_dependent_binds_emit_sequential claim with real dependent
program and expected 0; integration test expects Pass for gate #44 only.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
canonical_lens_bridge_ratchet_test forbids lens_decl.name == Some("…") arms.

Replace name-keyed branch with BindClusterScheduleProgramInput input role (fixture-local
empty type) plus unary Dag->Int lens signature check. Optional role: fixtures without
the type skip the branch so ProgramOutputBind/cost tests keep strict role errors.

Restores v3 CI canonical_lens_name_dispatch_arms_pinned.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Avoid coupling Pass vs pending-lens Fail expectations to suite index order
(TESTING.md cost-of-change); branch on claim names after claim_name check.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Drop unused lens_has_unary_dag_to_int_signature after BindClusterScheduleProgramInput removal.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Wire LensOutputEquals name bridge auto_parallelism_bind_cluster_schedule_tag:
ordered top-level program binds use the same selector as Rust program-mode emit;
if a later bind transitively depends on an earlier bind value port, the tag is 0
(sequential required), else 1.

Expose program_mode_top_level_value_binds_for_lens_runner for shared ordering.

Update auto_parallelism_dependent_binds_emit_sequential claim with real dependent
program and expected 0; integration test expects Pass for gate #44 only.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
canonical_lens_bridge_ratchet_test forbids lens_decl.name == Some("…") arms.

Replace name-keyed branch with BindClusterScheduleProgramInput input role (fixture-local
empty type) plus unary Dag->Int lens signature check. Optional role: fixtures without
the type skip the branch so ProgramOutputBind/cost tests keep strict role errors.

Restores v3 CI canonical_lens_name_dispatch_arms_pinned.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Avoid coupling Pass vs pending-lens Fail expectations to suite index order
(TESTING.md cost-of-change); branch on claim names after claim_name check.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
Drop unused lens_has_unary_dag_to_int_signature after BindClusterScheduleProgramInput removal.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
* feat(v3): R3 gate #44 dependent binds schedule sequential witness

Wire LensOutputEquals name bridge auto_parallelism_bind_cluster_schedule_tag:
ordered top-level program binds use the same selector as Rust program-mode emit;
if a later bind transitively depends on an earlier bind value port, the tag is 0
(sequential required), else 1.

Expose program_mode_top_level_value_binds_for_lens_runner for shared ordering.

Update auto_parallelism_dependent_binds_emit_sequential claim with real dependent
program and expected 0; integration test expects Pass for gate #44 only.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: R3 gate #44: auto parallelism dependent binds emit sequential

* fix(v3): gate #44 dispatch without lens-name bridge (ratchet)

canonical_lens_bridge_ratchet_test forbids lens_decl.name == Some("…") arms.

Replace name-keyed branch with BindClusterScheduleProgramInput input role (fixture-local
empty type) plus unary Dag->Int lens signature check. Optional role: fixtures without
the type skip the branch so ProgramOutputBind/cost tests keep strict role errors.

Restores v3 CI canonical_lens_name_dispatch_arms_pinned.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: apply cargo fmt (test_runner)

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(v3): key R3 batch gate #44 assertion off claim name

Avoid coupling Pass vs pending-lens Fail expectations to suite index order
(TESTING.md cost-of-change); branch on claim names after claim_name check.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: R3 gate #44: auto parallelism dependent binds emit sequential

* chore: sync Cargo.lock for v3-compiler dev-dependencies

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(v3): refresh parse corpus manifest for verification.dag growth

BindClusterScheduleProgramInput added one parsed item to std.verification;
handwritten_parse_snapshot_matches_manifest pins corpus hashes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: R3 gate #44: auto parallelism dependent binds emit sequential

* fix(v3): regen bootstrap and parse manifest for gate #44 emit witness

Drop unused lens_has_unary_dag_to_int_signature after BindClusterScheduleProgramInput removal.

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore: apply cargo fmt (test_runner)

Co-authored-by: Cursor <cursoragent@cursor.com>

* chore(v3): remove unused pending parallelism placeholders from R3 batch fixture

Composer exploratory note: auto_parallelism_pending_lens / _expected were orphaned after gate #45 moved to the branch-arms emit witness.

Co-authored-by: Cursor <cursoragent@cursor.com>

* WIP: R3 gate #44: auto parallelism dependent binds emit sequential

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 10, 2026
…2648)

* docs(r3): §1.8 ledger-receipt sync — 2026-05-10 batch (V Mgr lane)

Flip §1.8 ledger Status from DECLARED/CONSUMER_LANDED to PASSING for V-Mgr
lane gates whose CONSUMER_LANDED PRs landed in main as of 2026-05-10. Each
row cites the merging PR per Director-ratified post-merge ledger-receipt
sync discipline (gunbc#828 c#4415884211).

Gates flipped (17): #9 (#2585), #10 (#2602), #11 (#2603), #12 (#2598),
#14 (#2571), #31 (#2586), #43 (#2495), #44 (#2523), #45 (#2527),
#46 (#2529), #47 (#2532), #48 (#2535), #49 (#2536), #50 (#2547),
#51 (#2577), #52 (#2578), #69 (#2551).

Skipped per discipline: #15 (PR #2604 not landed); #35 already PASSING.

Doc-only; no code or test changes. Closes #2640.

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

* docs(r3): preserve corpus-quantified + canvas-deferral qualifiers on rows #9/#10/#11

Reviewer (claude-opus-4-7 on PR #2648) flagged that the prior status text
on rows #9, #10, #11 carried Director/PM-ratified semantic qualifiers that
must not be silently elided when citing a new slice receipt:

- #9 `l4_emit_eval_match`: §1.7 corpus-quantified rule — slice receipts ≠
  ledger closure; PASSING requires every certification-corpus program.
  Reverted to CONSUMER_LANDED; PR #2585 cited as additional slice evidence.
- #10 `l7_algebraic_laws_witnessed`: PASSING requires exhaustive per-(algebra,
  inhabitant, law) §Acceptance coverage; distributivity / lattice absorption /
  non-AlgebraicLawKind laws remain substrate §P1. Reverted to CONSUMER_LANDED;
  PR #2602 cited as incremental advancement.
- #11 `tc1_eta_equivalence_executable`: Director (a)-disposition 2026-05-09
  held this canvas-deferred past R3 absent #1972 substrate canvas-tier work.
  Reverted to DECLARED-through-R3; PR #2603 cited as scaffold advancement
  but not retiring the canvas-deferral (which would require fresh Director
  ratification).

Other 14 rows in the batch (#12, #14, #31, #43-52, #69) did not carry such
qualifiers and stay flipped to PASSING.

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

* Merge origin/main into ledger-receipt sync (preserve row #13 update from main)

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@briansrls
briansrls deleted the cursor/worker-2-tasks-plan-e0b3 branch June 1, 2026 18:41
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.

2 participants