ace-assign 0.70.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. checksums.yaml +4 -4
  2. data/.ace-defaults/assign/catalog/steps/auto-merge.step.yml +8 -8
  3. data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +1 -1
  4. data/.ace-defaults/assign/catalog/steps/mark-pr-ready.step.yml +1 -1
  5. data/.ace-defaults/assign/config.yml +0 -13
  6. data/.ace-defaults/assign/presets/fix-bug.yml +1 -1
  7. data/.ace-defaults/assign/presets/work-on-task-ace-development.yml +1 -1
  8. data/.ace-defaults/assign/presets/work-on-task-auto-merge.yml +1 -1
  9. data/.ace-defaults/assign/presets/work-on-task.yml +1 -1
  10. data/CHANGELOG.md +3 -2099
  11. data/README.md +58 -31
  12. data/docs/exit-codes.md +36 -44
  13. data/docs/getting-started.md +9 -4
  14. data/docs/usage.md +129 -522
  15. data/handbook/skills/as-assign-drive/SKILL.md +1 -1
  16. data/handbook/workflow-instructions/assign/drive.wf.md +47 -118
  17. data/handbook/workflow-instructions/assign/prepare.wf.md +1 -1
  18. data/handbook/workflow-instructions/assign/verify-test-suite.wf.md +8 -2
  19. data/lib/ace/assign/cli/commands/assignment_target.rb +2 -15
  20. data/lib/ace/assign/cli/commands/create.rb +1 -8
  21. data/lib/ace/assign/cli/commands/fail.rb +0 -6
  22. data/lib/ace/assign/cli/commands/finish.rb +2 -23
  23. data/lib/ace/assign/cli/commands/fork_session.rb +0 -1
  24. data/lib/ace/assign/cli/commands/select.rb +0 -1
  25. data/lib/ace/assign/cli/commands/start.rb +0 -2
  26. data/lib/ace/assign/cli/commands/status.rb +1 -31
  27. data/lib/ace/assign/cli/commands/step.rb +1 -3
  28. data/lib/ace/assign/cli.rb +1 -85
  29. data/lib/ace/assign/errors.rb +8 -80
  30. data/lib/ace/assign/models/assignment.rb +5 -28
  31. data/lib/ace/assign/molecules/assignment_manager.rb +0 -26
  32. data/lib/ace/assign/molecules/fork_session_launcher.rb +4 -12
  33. data/lib/ace/assign/molecules/lifecycle_exclusion.rb +15 -112
  34. data/lib/ace/assign/molecules/runtime_control_surface_runner.rb +2 -1
  35. data/lib/ace/assign/organisms/assignment_executor.rb +0 -6
  36. data/lib/ace/assign/organisms/task_assignment_creator.rb +3 -8
  37. data/lib/ace/assign/version.rb +1 -1
  38. data/lib/ace/assign.rb +0 -6
  39. metadata +4 -161
  40. data/.ace-defaults/assign/presets/close-delivery.yml +0 -57
  41. data/.ace-defaults/assign/presets/deliver-release.yml +0 -60
  42. data/.ace-defaults/assign/presets/integrate-batch.yml +0 -72
  43. data/.ace-defaults/assign/presets/supervise-delivery.yml +0 -69
  44. data/docs/protected-authority.md +0 -282
  45. data/exe/ace-scope-ready +0 -55
  46. data/lib/ace/assign/atoms/assignment_scope.rb +0 -58
  47. data/lib/ace/assign/atoms/attempt_state_machine.rb +0 -84
  48. data/lib/ace/assign/atoms/delivery_parameters.rb +0 -19
  49. data/lib/ace/assign/atoms/evidence_digest.rb +0 -78
  50. data/lib/ace/assign/atoms/fixed_merge_schemas.rb +0 -398
  51. data/lib/ace/assign/authority/assignment_definition.rb +0 -35
  52. data/lib/ace/assign/authority/assignment_inventory.rb +0 -290
  53. data/lib/ace/assign/authority/campaign_consumer_policy.rb +0 -100
  54. data/lib/ace/assign/authority/campaign_execution.rb +0 -119
  55. data/lib/ace/assign/authority/campaign_round_transfer.rb +0 -82
  56. data/lib/ace/assign/authority/candidate_transfer.rb +0 -327
  57. data/lib/ace/assign/authority/cleanup_result_protection.rb +0 -53
  58. data/lib/ace/assign/authority/client.rb +0 -257
  59. data/lib/ace/assign/authority/deployment.rb +0 -627
  60. data/lib/ace/assign/authority/deployment_history.rb +0 -146
  61. data/lib/ace/assign/authority/endcap.rb +0 -455
  62. data/lib/ace/assign/authority/endcap_attempts.rb +0 -274
  63. data/lib/ace/assign/authority/endcap_campaign_results.rb +0 -232
  64. data/lib/ace/assign/authority/endcap_campaign_rounds.rb +0 -266
  65. data/lib/ace/assign/authority/endcap_contexts.rb +0 -23
  66. data/lib/ace/assign/authority/endcap_inboxes.rb +0 -37
  67. data/lib/ace/assign/authority/endcap_prepared_work.rb +0 -80
  68. data/lib/ace/assign/authority/endcap_publication.rb +0 -207
  69. data/lib/ace/assign/authority/endcap_results.rb +0 -398
  70. data/lib/ace/assign/authority/endcap_review_requests.rb +0 -183
  71. data/lib/ace/assign/authority/endcap_reviews.rb +0 -130
  72. data/lib/ace/assign/authority/endcap_service_settlement.rb +0 -152
  73. data/lib/ace/assign/authority/endcap_services.rb +0 -598
  74. data/lib/ace/assign/authority/evidence_transfer.rb +0 -67
  75. data/lib/ace/assign/authority/execution_scope_observation.rb +0 -903
  76. data/lib/ace/assign/authority/inbox_context_original.rb +0 -113
  77. data/lib/ace/assign/authority/launch_attempt_consumers.rb +0 -51
  78. data/lib/ace/assign/authority/launch_campaign_registration.rb +0 -214
  79. data/lib/ace/assign/authority/launch_control_channel.rb +0 -313
  80. data/lib/ace/assign/authority/launch_control_exclusions.rb +0 -127
  81. data/lib/ace/assign/authority/launch_driver.rb +0 -393
  82. data/lib/ace/assign/authority/launch_input_inhibition.rb +0 -132
  83. data/lib/ace/assign/authority/launch_lifecycle.rb +0 -997
  84. data/lib/ace/assign/authority/launch_prepared_work.rb +0 -122
  85. data/lib/ace/assign/authority/launch_review.rb +0 -91
  86. data/lib/ace/assign/authority/launch_scope_abort.rb +0 -81
  87. data/lib/ace/assign/authority/launch_scope_admission.rb +0 -215
  88. data/lib/ace/assign/authority/launch_scope_close.rb +0 -146
  89. data/lib/ace/assign/authority/launch_scope_parent.rb +0 -44
  90. data/lib/ace/assign/authority/launch_scope_release.rb +0 -859
  91. data/lib/ace/assign/authority/launch_steering.rb +0 -353
  92. data/lib/ace/assign/authority/launch_stop.rb +0 -254
  93. data/lib/ace/assign/authority/maintenance_workspace_retirement.rb +0 -229
  94. data/lib/ace/assign/authority/ordinary_attempt_start.rb +0 -137
  95. data/lib/ace/assign/authority/ordinary_client.rb +0 -70
  96. data/lib/ace/assign/authority/ordinary_completion.rb +0 -94
  97. data/lib/ace/assign/authority/ordinary_effect_settlement.rb +0 -118
  98. data/lib/ace/assign/authority/ordinary_lifecycle.rb +0 -191
  99. data/lib/ace/assign/authority/ordinary_peer.rb +0 -54
  100. data/lib/ace/assign/authority/ordinary_progress.rb +0 -162
  101. data/lib/ace/assign/authority/ordinary_queue.rb +0 -115
  102. data/lib/ace/assign/authority/ordinary_results.rb +0 -196
  103. data/lib/ace/assign/authority/ordinary_server.rb +0 -75
  104. data/lib/ace/assign/authority/original_inbox_selection.rb +0 -41
  105. data/lib/ace/assign/authority/posix_acl.rb +0 -59
  106. data/lib/ace/assign/authority/prepared_input.rb +0 -130
  107. data/lib/ace/assign/authority/prepared_queue.rb +0 -185
  108. data/lib/ace/assign/authority/prepared_task_context.rb +0 -116
  109. data/lib/ace/assign/authority/prepared_work.rb +0 -304
  110. data/lib/ace/assign/authority/prepared_worker.rb +0 -69
  111. data/lib/ace/assign/authority/private_directory.rb +0 -33
  112. data/lib/ace/assign/authority/protected_assignment_context.rb +0 -226
  113. data/lib/ace/assign/authority/readiness_hook.rb +0 -120
  114. data/lib/ace/assign/authority/receipt_transfer.rb +0 -48
  115. data/lib/ace/assign/authority/router.rb +0 -81
  116. data/lib/ace/assign/authority/server.rb +0 -131
  117. data/lib/ace/assign/authority/service_cleanup_dispatch.rb +0 -88
  118. data/lib/ace/assign/authority/service_cleanup_evidence.rb +0 -180
  119. data/lib/ace/assign/authority/service_delivery_evidence.rb +0 -101
  120. data/lib/ace/assign/authority/service_evidence.rb +0 -286
  121. data/lib/ace/assign/authority/service_publication_evidence.rb +0 -110
  122. data/lib/ace/assign/authority/socket_server.rb +0 -255
  123. data/lib/ace/assign/authority/task_context_entry.rb +0 -32
  124. data/lib/ace/assign/authority/transfer_codec.rb +0 -187
  125. data/lib/ace/assign/cli/commands/attempt/base.rb +0 -84
  126. data/lib/ace/assign/cli/commands/attempt/evidence.rb +0 -28
  127. data/lib/ace/assign/cli/commands/attempt/finish.rb +0 -51
  128. data/lib/ace/assign/cli/commands/attempt/reconcile.rb +0 -49
  129. data/lib/ace/assign/cli/commands/attempt/start.rb +0 -45
  130. data/lib/ace/assign/cli/commands/attempt/status.rb +0 -54
  131. data/lib/ace/assign/cli/commands/authority/inbox_context_principal.rb +0 -25
  132. data/lib/ace/assign/cli/commands/authority/inbox_context_selection.rb +0 -28
  133. data/lib/ace/assign/cli/commands/authority/launch.rb +0 -97
  134. data/lib/ace/assign/cli/commands/authority/serve.rb +0 -31
  135. data/lib/ace/assign/cli/commands/authority/status.rb +0 -26
  136. data/lib/ace/assign/cli/commands/authority/task_context.rb +0 -31
  137. data/lib/ace/assign/cli/commands/authority/task_context_principal.rb +0 -25
  138. data/lib/ace/assign/cli/commands/authority/task_context_selection.rb +0 -30
  139. data/lib/ace/assign/cli/commands/authority/terminate.rb +0 -29
  140. data/lib/ace/assign/cli/commands/authority/worker.rb +0 -23
  141. data/lib/ace/assign/cli/commands/campaign_export_result.rb +0 -55
  142. data/lib/ace/assign/cli/commands/campaign_record_round.rb +0 -57
  143. data/lib/ace/assign/cli/commands/delivery.rb +0 -107
  144. data/lib/ace/assign/cli/commands/inbox_bind.rb +0 -34
  145. data/lib/ace/assign/cli/commands/protected_submission.rb +0 -61
  146. data/lib/ace/assign/cli/commands/resume.rb +0 -38
  147. data/lib/ace/assign/cli/commands/submit_candidate.rb +0 -34
  148. data/lib/ace/assign/cli/commands/submit_result.rb +0 -61
  149. data/lib/ace/assign/models/attempt.rb +0 -178
  150. data/lib/ace/assign/models/attempt_binding.rb +0 -116
  151. data/lib/ace/assign/models/evidence_event.rb +0 -86
  152. data/lib/ace/assign/models/execution_receipt.rb +0 -139
  153. data/lib/ace/assign/molecules/attempt_reconciler.rb +0 -127
  154. data/lib/ace/assign/molecules/attempt_store.rb +0 -201
  155. data/lib/ace/assign/molecules/canonical_attempt_state.rb +0 -151
  156. data/lib/ace/assign/molecules/canonical_evidence.rb +0 -153
  157. data/lib/ace/assign/molecules/canonical_read_commands.rb +0 -84
  158. data/lib/ace/assign/molecules/canonical_read_snapshot.rb +0 -313
  159. data/lib/ace/assign/molecules/evidence_calculator.rb +0 -237
  160. data/lib/ace/assign/molecules/evidence_journal.rb +0 -1912
  161. data/lib/ace/assign/molecules/execution_identity_resolver.rb +0 -137
  162. data/lib/ace/assign/molecules/execution_scope_lineage.rb +0 -345
  163. data/lib/ace/assign/molecules/fixed_effect_reference.rb +0 -31
  164. data/lib/ace/assign/molecules/installed_journal_read.rb +0 -143
  165. data/lib/ace/assign/molecules/journal_input_inhibition.rb +0 -78
  166. data/lib/ace/assign/molecules/journal_mutation.rb +0 -273
  167. data/lib/ace/assign/molecules/journal_prompt_mutation.rb +0 -241
  168. data/lib/ace/assign/molecules/ordinary_merge_cli.rb +0 -68
  169. data/lib/ace/assign/molecules/ordinary_merge_contract.rb +0 -410
  170. data/lib/ace/assign/molecules/original_launch_binding.rb +0 -37
  171. data/lib/ace/assign/molecules/proposal_journal.rb +0 -179
  172. data/lib/ace/assign/molecules/protected_control_exclusion.rb +0 -303
  173. data/lib/ace/assign/molecules/protected_workspace_exclusion.rb +0 -330
  174. data/lib/ace/assign/molecules/protected_workspace_provisioner.rb +0 -164
  175. data/lib/ace/assign/molecules/receipt_verifier.rb +0 -314
  176. data/lib/ace/assign/molecules/terminal_scope_receipt.rb +0 -88
  177. data/lib/ace/assign/organisms/attempt_coordinator.rb +0 -1337
  178. data/lib/ace/assign/organisms/delivery_coordinator.rb +0 -342
  179. data/lib/ace/assign/organisms/ordinary_merge_consumer.rb +0 -365
  180. data/lib/ace/assign/organisms/prepared_work_builder.rb +0 -194
  181. data/lib/ace/assign/organisms/protected_delivery_coordinator.rb +0 -100
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  <div align="center">
2
2
  <h1> ACE - Assign </h1>
3
3
 
4
- Multi-step assignment execution with nesting, fork delegation, and inspectable traces.
4
+ Multi-step assignment plans with nesting, fork delegation, and inspectable state.
5
5
 
6
6
  <img src="../docs/brand/AgenticCodingEnvironment.Logo.XS.jpg" alt="ACE Logo" width="480">
7
7
  <br><br>
@@ -14,54 +14,81 @@
14
14
 
15
15
  > Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.
16
16
 
17
+ > **State owner:** `.ace-local/assign/` -- assignment plans and step state owned
18
+ > by `ace-assign`. There is no second queue: the plan is the only place steps
19
+ > live, and coworker configuration or the private overseer list never copy
20
+ > them. The canonical flow is [docs/lab-flow.md](../docs/lab-flow.md).
21
+
17
22
  [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md)
18
23
 
19
- `ace-assign` turns work into a multi-step assignment with nested substeps, fork delegation to long-running agent subprocesses, and inspectable session traces. Steps are defined from a [step catalog](.ace-defaults/assign/catalog/steps/) and assembled via [presets](.ace-defaults/assign/presets/work-on-task.yml) or composed manually. Each step can reference a [workflow instruction](../ace-task/handbook/workflow-instructions/task/work.wf.md) for execution details. Assignments are restartable -- failed steps keep their lineage so you can retry or inject fixes without losing history.
20
- ```
24
+ `ace-assign` turns work into a multi-step assignment with nested substeps and
25
+ fork delegation. Steps come from a [step catalog](.ace-defaults/assign/catalog/steps/)
26
+ and are assembled via [presets](.ace-defaults/assign/presets/work-on-task.yml) or
27
+ composed manually. Each step may reference a workflow instruction for execution
28
+ details. Assignments are restartable: failed steps keep their lineage so you can
29
+ retry or inject fixes without losing history.
21
30
 
22
- ❯ ace-assign status
23
- 8qm5rt work-on-task-8qm.t.5nx-job.yml | running | 64/71 done | current: 100.01 review-pr | last: 070.03 release
24
- hidden: 66 | done: 64 active: 1 pending: 5 failed: 1
25
- 100.01 active review-pr
26
- 100.02 next apply-feedback
27
- 100.03 next release
28
- 130 next reorganize-commits
29
- 140 next push-to-remote
31
+ ```bash
32
+ ace-assign status
33
+ # abc123 work-on-task-abc456 | running | 4/7 done | current: 100 review-pr
30
34
  ```
31
35
 
32
- Use `ace-assign status --mode full` when you need the whole tree, and `ace-assign step` when you need the raw instructions for the current or next step.
36
+ Use `ace-assign status --mode full` for the whole tree and `ace-assign step` for
37
+ the current or next step instructions.
33
38
 
39
+ The local lifecycle is:
34
40
 
35
- The easiest way to start is through [ace-overseer](../ace-overseer) -- define a task and run `ace-overseer work-on --task <ref> --preset work-on-task` , which creates the assignment, worktree, and terminal window in one shot.
41
+ 1. `ace-assign create` expands a preset or YAML definition into numbered steps
42
+ (`010`, `010.01`, …) with `pending` → `in_progress` → `done`/`failed` state.
43
+ 2. `ace-assign step` / `start` / `finish` / `fail` drive one step at a time;
44
+ `/as-assign-drive` wraps this loop for agents.
45
+ 3. `ace-assign add` / `retry` / `fork-run` adapt the plan while it runs.
36
46
 
37
- ## Testing Contract
47
+ The easiest way to start is through [ace-overseer](../ace-overseer):
48
+ `ace-overseer work-on --task <ref>` creates the worktree, assignment, and
49
+ terminal in one shot.
38
50
 
39
- - `ace-test ace-assign` runs the default deterministic package loop (`test/fast`).
40
- - `ace-test ace-assign feat` runs deterministic feature/contract coverage (`test/feat`).
41
- - `ace-test ace-assign all` runs full package deterministic coverage (`fast` + `feat`).
42
- - `ace-test-e2e ace-assign` runs scenario workflows under `test/e2e`.
51
+ ## Use Cases
43
52
 
44
- Assignment verification uses deterministic commands only:
45
- - modified packages: `ace-test <package> all --profile 6`
46
- - monorepo gate: `ace-test-suite --target all`
53
+ **Define assignments from presets** - pick a preset such as `work-on-task` or
54
+ `release-only`, pass parameters (task refs, packages), and run
55
+ `ace-assign create --task ...` or `ace-assign create --yaml ...`. Steps are
56
+ ordered by [composition rules](.ace-defaults/assign/catalog/composition-rules.yml).
47
57
 
48
- ## How It Works
58
+ **Run with orchestrator and fork agents** - `/as-assign-drive` walks the steps
59
+ and can fork long-running work to isolated agent subprocesses with configurable
60
+ execution defaults or per-step `fork.provider` overrides. Fork traces and
61
+ session reports stay under `.ace-local/assign/`.
49
62
 
50
- 1. Define steps from a [preset](.ace-defaults/assign/presets/work-on-task.yml) or compose from the [step catalog](.ace-defaults/assign/catalog/steps/) -- steps can nest into substeps and reference workflow instructions for execution details.
51
- 2. Expand the definition into a session with explicit per-step instructions, state tracking (`pending` → `in_progress` → `done`/`failed`), and numbered hierarchy (e.g., `010`, `010.01`, `010.01.01`).
52
- 3. Drive execution with `/as-assign-drive` -- fork long-running steps to isolated agent subprocesses, advance the queue on completion, and retry or inject fix steps on failure.
63
+ **Recover from failure without losing history** - keep failed-step lineage,
64
+ inject targeted retries or fix steps, and continue.
53
65
 
54
- ## Use Cases
66
+ **Compose assignments from templates** - use `/as-assign-compose` to build plans
67
+ from reusable patterns, then pair with [ace-task](../ace-task) for task
68
+ lifecycle, [ace-bundle](../ace-bundle) for context loading, and
69
+ [ace-review](../ace-review) for quality checks.
70
+
71
+ ## Planned waves
55
72
 
56
- **Define assignments from presets** - pick a [preset](.ace-defaults/assign/presets/) like [`work-on-task`](.ace-defaults/assign/presets/work-on-task.yml) or `release-only`, pass parameters (task refs, packages), and run `ace-assign create --task ...` or [`ace-assign create --yaml ...`](docs/usage.md) to expand them into a concrete step queue. Steps are defined in the [catalog](.ace-defaults/assign/catalog/steps/) (e.g., [`work-on-task.step.yml`](.ace-defaults/assign/catalog/steps/work-on-task.step.yml)) and ordered by [composition rules](.ace-defaults/assign/catalog/composition-rules.yml). Compose custom assignments with `/as-assign-compose`.
73
+ > **L3 status:** `ace-coworker` consumes an assignment from
74
+ > `.ace-local/coworker/`, drives it through this gem's CLI, records results
75
+ > in the task folder, and reports through `ace-hitl`. Resume after
76
+ > interruption is the remaining L3 leaf.
77
+ >
78
+ > **Planned (L5.5):** role rules, review rounds, and forge delivery workflow --
79
+ > not available yet.
57
80
 
58
- `work-on-task` release steps resolve `wfi://release/publish` from shipped workflow sources by default, and project-level `wfi://` source overrides registered under `.ace/nav/protocols/wfi-sources/` are honored by both `ace-bundle` and `ace-assign`.
81
+ ## Testing Contract
59
82
 
60
- **Run with orchestrator and fork agents** - use `/as-assign-drive` to walk through steps, forking long-running work (implementation, review, release) to isolated agent subprocesses with configurable [execution defaults](.ace-defaults/assign/config.yml) or per-step `fork.provider` overrides. Forks can run sequentially or as parallel batches, each producing inspectable traces and session reports under `.ace-local/assign/`.
83
+ - `bin/ace-test ace-assign` runs the default deterministic package loop.
84
+ - `bin/ace-test ace-assign feat` runs deterministic feature/contract coverage.
85
+ - `bin/ace-test ace-assign all` runs full package deterministic coverage.
86
+ - `bin/ace-test-e2e ace-assign` runs scenario workflows.
61
87
 
62
- **Recover from failure without losing history** - keep failed-step lineage intact, inject targeted retries or fix steps, and continue execution with auditable failure evidence.
88
+ Assignment verification uses deterministic commands only:
63
89
 
64
- **Compose assignments from templates** - use `/as-assign-compose` and `/as-assign-prepare` to build assignment plans from reusable patterns, then pair with [ace-task](../ace-task) for task lifecycle, [ace-bundle](../ace-bundle) for context loading, and [ace-review](../ace-review) for quality checks.
90
+ - modified packages: `bin/ace-test <package> all --profile 6`
91
+ - monorepo gate: `bin/ace-test-suite --target all`
65
92
 
66
93
  ---
67
94
  [Getting Started](docs/getting-started.md) | [Usage Guide](docs/usage.md) | [Handbook - Skills, Agents, Templates](docs/handbook.md) | Part of [ACE](https://github.com/cs3b/ace)
data/docs/exit-codes.md CHANGED
@@ -1,71 +1,63 @@
1
1
  ---
2
2
  doc-type: user
3
3
  title: CLI Exit Codes
4
- purpose: Documentation for ace-assign/docs/exit-codes.md
4
+ purpose: Exit codes for the local ace-assign lifecycle commands.
5
5
  ace-docs:
6
- last-updated: 2026-03-18
7
- last-checked: 2026-03-21
6
+ last-updated: 2026-10-17
7
+ last-checked: 2026-10-17
8
8
  ---
9
9
 
10
10
  # CLI Exit Codes
11
11
 
12
- This document describes the exit codes returned by the `ace-assign` CLI.
12
+ Exit codes returned by the local `ace-assign` lifecycle commands.
13
13
 
14
14
  ## Exit Code Reference
15
15
 
16
16
  | Code | Meaning | Example Scenario |
17
17
  |------|---------|------------------|
18
- | 0 | Success | Command executed successfully |
19
- | 1 | General error | Unhandled error, invalid step reference, finish rejected on stalled queue |
20
- | 2 | Assignment error | No active assignment or assignment not found |
21
- | 3 | Configuration not found | Config file does not exist |
22
- | 4 | Step not found | Referencing a step that does not exist |
23
- | 5 | Attempt error | Attempt conflict, rejected receipt, unauthorized identity, unavailable evidence, or illegal attempt state |
18
+ | 0 | Success | `create`, `add`, `retry`, `fail`, `status`, `step`, `start`, `finish` completed |
19
+ | 1 | General error | Invalid step reference, report rejected when no step is in progress, missing report input, unhandled error |
20
+ | 2 | Assignment error | No active assignment or unknown assignment ID |
21
+ | 3 | Configuration not found | Required config file is missing during `create` |
22
+ | 4 | Step not found | `retry` or another command references a step that does not exist |
23
+ | 5 | Lifecycle conflict or busy maintenance | A prune/start exclusion blocks the operation: conflicting lifecycle identity, unsafe exclusion artifacts, or a busy/expired maintenance exclusion |
24
+ | 130 | Interrupted | SIGINT during a command |
24
25
 
25
26
  ## Exit Code Details
26
27
 
27
- ### Exit Code 0: Success
28
- The command executed successfully. This includes:
29
- - Creating an assignment (`create`)
30
- - Adding a step (`add`)
31
- - Retrying a step (`retry`)
32
- - Marking a step as failed (`fail`)
33
- - Displaying status (`status`)
34
- - Finishing a step (`finish`)
35
-
36
28
  ### Exit Code 1: General Error
37
- An error occurred that doesn't fit into other categories:
38
- - Invalid step reference (e.g., `finish` with invalid step number)
39
- - Report rejected when queue is stalled (no step currently in progress)
40
- - Missing report input for `finish` (`--message` absent/blank and no piped stdin)
29
+
30
+ - `finish` with an invalid step number
31
+ - `finish` when no step is in progress
32
+ - `finish` with no report content (`--message` absent/blank and no piped stdin)
41
33
  - Other unhandled errors
42
34
 
43
35
  ### Exit Code 2: Assignment Error
44
- Assignment state is invalid for the requested command:
45
- - No active assignment exists. Commands that require an active assignment return this code:
46
- - `status` when no assignment has been created
47
- - `finish` when no assignment has been created
48
- - Assignment ID does not exist (for commands targeting a specific assignment)
36
+
37
+ - No active assignment for a command that needs one (`status`, `finish`)
38
+ - `--assignment` names an assignment that does not exist
49
39
 
50
40
  ### Exit Code 3: Configuration Not Found
51
- A required configuration file could not be found:
52
- - Config file does not exist when running `create`
41
+
42
+ `create` cannot read the required configuration or YAML input.
53
43
 
54
44
  ### Exit Code 4: Step Not Found
55
- The requested step reference does not exist in the target assignment:
56
- - `retry` with unknown step number
57
- - Commands that target a specific missing step
58
-
59
- ### Exit Code 5: Attempt Error
60
- An attempt, receipt, identity, or evidence problem rejected the operation:
61
- - `attempt start` with a conflicting binding for an owned subtree
62
- - `attempt finish`/`attempt reconcile` with a receipt that fails verification (wrong binding, stale head, digest mismatch, self-approval, forbidden fields)
63
- - Worker-identity attempts to accept a succeeded verdict
64
- - Unknown or missing execution-boundary identity
65
- - Reconciling a terminal attempt, or resolving uncertainty without a receipt
66
- - Unavailable or unwritable evidence storage blocking a managed effect
45
+
46
+ The requested step reference does not exist in the target assignment.
47
+
48
+ ### Exit Code 5: Lifecycle Conflict or Busy Maintenance
49
+
50
+ A local prune/start exclusion refused the operation:
51
+
52
+ - `LifecycleErrors::Conflict` -- the lifecycle identity was pruned or its
53
+ exclusion artifacts are unsafe, so a writer must not be started against it.
54
+ - `LifecycleErrors::MaintenanceBusy` -- the maintenance exclusion is busy or its
55
+ admission deadline expired.
56
+
57
+ The command is refused; there is no retry loop. Inspect and clear the exclusion
58
+ state, then rerun the operation explicitly.
67
59
 
68
60
  ## See Also
69
61
 
70
- - [Usage Guide](usage.md) for full command reference
71
- - [Getting Started](getting-started.md) for tutorial
62
+ - [Usage Guide](usage.md) for the full command reference
63
+ - [Getting Started](getting-started.md) for a tutorial
@@ -1,15 +1,20 @@
1
1
  ---
2
2
  doc-type: user
3
3
  title: Getting Started with ace-assign
4
- purpose: Tutorial for creating, running, and adapting assignment queues with ace-assign.
4
+ purpose: Tutorial for creating, running, and adapting local assignment plans with ace-assign.
5
5
  ace-docs:
6
- last-updated: 2026-03-22
7
- last-checked: 2026-03-22
6
+ last-updated: 2026-10-17
7
+ last-checked: 2026-10-17
8
8
  ---
9
9
 
10
10
  # Getting Started with ace-assign
11
11
 
12
- Use `ace-assign` to run multi-step work as a durable queue instead of ad-hoc notes.
12
+ > **State owner:** `.ace-local/assign/` -- assignment plans and step state owned
13
+ > by `ace-assign`. Steps are never copied into a second queue. See
14
+ > [docs/lab-flow.md](../../docs/lab-flow.md).
15
+
16
+ Use `ace-assign` to run multi-step work as a durable local plan instead of
17
+ ad-hoc notes.
13
18
 
14
19
  ## Prerequisites
15
20