Skip to content

8re.t.mh0: continue forked assignments without manual nudges#296

Open
cs3b wants to merge 3 commits intomainfrom
mh0-harden-assignment-drive-continuation-and-callback-handoff
Open

8re.t.mh0: continue forked assignments without manual nudges#296
cs3b wants to merge 3 commits intomainfrom
mh0-harden-assignment-drive-continuation-and-callback-handoff

Conversation

@cs3b
Copy link
Copy Markdown
Owner

@cs3b cs3b commented Apr 15, 2026

📋 Summary

Fork-heavy assignments can now keep moving without a user typing continue after every completed child subtree. Before this change, /as-assign-drive documented a run-until-done contract, but real execution still depended too much on conversational discipline, so finished fork children could leave the batch paused until the user nudged it forward again.

✏️ Changes

  • ace-assign watch adds a deterministic runtime loop that waits on active fork sessions, recovers from assignment state after interruption, and immediately launches the next eligible fork subtree.
  • /as-assign-drive now delegates fork wait/resume behavior to ace-assign watch instead of relying on prompt-level polling instructions.
  • TS-ASSIGN-003 now covers the public operations suite on this branch, including a new watch-driven sequential continuation scenario alongside the existing multi-assignment and fork-run flows.
  • 8re.t.mh0 draft specs capture the behavioral contract for permanent continuation and the reserved tmux callback handoff surface.
  • ADR-034 records the watcher decision and the notification-only callback contract so later implementation keeps status as the source of truth.

📁 File Changes

+1290,   -46   23 files   total

 +722,   -46   18 files      ace-assign/
 +220,    -2    2 files   🧱 lib/
   +6,    -2                 ace/assign/cli.rb
 +214,    -0                 ace/assign/cli/commands/watch.rb
 +462,    -6   11 files   🧪 test/
  +23,    -0                 e2e/TS-ASSIGN-003-operations/TC-001-multi-assignment.runner.md
  +25,    -0                 .../TC-001-multi-assignment.verify.md
  +22,    -0                 .../TC-002-fork-run-delegation.runner.md
  +27,    -0                 .../TC-002-fork-run-delegation.verify.md
  +23,    -0                 .../TC-003-watch-sequential-continuation.runner.md
  +24,    -0                 .../TC-003-watch-sequential-continuation.verify.md
  +38,    -0                 .../runner.yml.md
  +32,    -0                 .../scenario.yml
  +37,    -0                 .../verifier.yml.md
 +205,    -0                 fast/commands/watch_command_test.rb
   +6,    -6                 fast/organisms/assign_drive_contract_test.rb
  +11,   -36    2 files   📚 handbook/
   +1,    -1                 skills/as-assign-drive/SKILL.md
  +10,   -35                 workflow-instructions/assign/drive.wf.md
  +29,    -2    3 files      
   +2,    -2                 README.md
   +1,    -0                 docs/getting-started.md
  +26,    -0                 .../usage.md

 +473,    -0    4 files      .ace-tasks/
 +125,    -0                 8re.t.mh0-harden-assignment-drive-continuation-and/0-spike-deterministic-ace-assign-watch/8re.t.mh0.0-spike-deterministic-ace-assign-watch-continuation.s.md
 +136,    -0                 8re.t.mh0-harden-assignment-drive-continuation-and/1-specify-tmux-callback-notification-contract/8re.t.mh0.1-specify-tmux-callback-notification-contract-for.s.md
 +153,    -0                 8re.t.mh0-harden-assignment-drive-continuation-and/8re.t.mh0-harden-assignment-drive-continuation-and-callback.s.md
  +59,    -0                 8re.t.mh0-harden-assignment-drive-continuation-and/ux/usage.md

  +95,    -0    1 files      ./
  +95,    -0                 docs/decisions/ADR-034-assignment-watch-and-callback-contract.md

🧪 Test Evidence

  • ace-test in ace-assign passed with 549 tests, 1820 assertions, 0 failures, 0 errors, validating the new watcher command plus the updated drive contract coverage.
  • ace-test feat in ace-assign passed with 2 tests, 46 assertions, 0 failures, 0 errors, validating the feature-level package flow after the watcher changes landed.

🎮 Demo

Run the watcher on a fork-heavy assignment:

ace-assign watch --assignment 8rddnp

Expected behavior:

  • Waits while an active fork subtree is still running
  • Recovers from assignment state if the previous fork session disappeared
  • Launches the next eligible fork subtree immediately after child completion
  • Stops only when the assignment is complete, blocked/failed, or only inline/manual work remains

cs3b added 3 commits April 15, 2026 16:01
…inuation

- Added `ace-assign watch` to monitor forked subtrees, recover from interruptions, and automatically launch sequential fork-enabled steps.
- Updated `drive.wf.md` and `SKILL.md` to delegate fork waiting and resume logic to the watcher.
- Added comprehensive E2E tests for multi-assignment, fork delegation, and sequential continuation workflows.
…x callbacks

- Added task drafts for hardening assignment drive continuation and specifying the tmux callback notification contract.
- Added ADR-034 documenting the deterministic runtime loop for fork continuation and the notification-only callback contract.
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