ace-assign 0.71.0 → 0.73.1
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.
- checksums.yaml +4 -4
- data/.ace-defaults/assign/catalog/steps/auto-merge.step.yml +8 -8
- data/.ace-defaults/assign/catalog/steps/create-pr.step.yml +1 -1
- data/.ace-defaults/assign/catalog/steps/mark-pr-ready.step.yml +1 -1
- data/.ace-defaults/assign/config.yml +0 -13
- data/.ace-defaults/assign/presets/fix-bug.yml +1 -1
- data/.ace-defaults/assign/presets/work-on-task-ace-development.yml +1 -1
- data/.ace-defaults/assign/presets/work-on-task-auto-merge.yml +1 -1
- data/.ace-defaults/assign/presets/work-on-task.yml +1 -1
- data/CHANGELOG.md +5 -2116
- data/README.md +58 -31
- data/docs/exit-codes.md +36 -44
- data/docs/getting-started.md +9 -4
- data/docs/usage.md +129 -522
- data/handbook/skills/as-assign-drive/SKILL.md +1 -4
- data/handbook/workflow-instructions/assign/drive.wf.md +47 -195
- data/handbook/workflow-instructions/assign/prepare.wf.md +1 -1
- data/handbook/workflow-instructions/assign/verify-test-suite.wf.md +8 -2
- data/lib/ace/assign/cli/commands/assignment_target.rb +2 -15
- data/lib/ace/assign/cli/commands/create.rb +1 -8
- data/lib/ace/assign/cli/commands/fail.rb +0 -6
- data/lib/ace/assign/cli/commands/finish.rb +2 -23
- data/lib/ace/assign/cli/commands/fork_session.rb +0 -1
- data/lib/ace/assign/cli/commands/select.rb +0 -1
- data/lib/ace/assign/cli/commands/start.rb +0 -2
- data/lib/ace/assign/cli/commands/status.rb +1 -31
- data/lib/ace/assign/cli/commands/step.rb +1 -3
- data/lib/ace/assign/cli.rb +1 -85
- data/lib/ace/assign/errors.rb +8 -80
- data/lib/ace/assign/models/assignment.rb +5 -28
- data/lib/ace/assign/molecules/assignment_manager.rb +0 -26
- data/lib/ace/assign/molecules/fork_session_launcher.rb +4 -12
- data/lib/ace/assign/molecules/lifecycle_exclusion.rb +15 -112
- data/lib/ace/assign/molecules/runtime_control_surface_runner.rb +6 -2
- data/lib/ace/assign/molecules/skill_assign_source_resolver.rb +9 -0
- data/lib/ace/assign/organisms/assignment_executor.rb +0 -6
- data/lib/ace/assign/organisms/task_assignment_creator.rb +3 -8
- data/lib/ace/assign/version.rb +1 -1
- data/lib/ace/assign.rb +0 -6
- metadata +22 -176
- data/.ace-defaults/assign/presets/close-delivery.yml +0 -57
- data/.ace-defaults/assign/presets/deliver-release.yml +0 -60
- data/.ace-defaults/assign/presets/integrate-batch.yml +0 -72
- data/.ace-defaults/assign/presets/supervise-delivery.yml +0 -69
- data/docs/protected-authority.md +0 -282
- data/exe/ace-scope-ready +0 -55
- data/lib/ace/assign/atoms/assignment_scope.rb +0 -58
- data/lib/ace/assign/atoms/attempt_state_machine.rb +0 -84
- data/lib/ace/assign/atoms/candidate_limits.rb +0 -20
- data/lib/ace/assign/atoms/delivery_parameters.rb +0 -19
- data/lib/ace/assign/atoms/evidence_digest.rb +0 -78
- data/lib/ace/assign/atoms/fixed_merge_schemas.rb +0 -398
- data/lib/ace/assign/atoms/git_blob_batch.rb +0 -59
- data/lib/ace/assign/authority/assignment_definition.rb +0 -35
- data/lib/ace/assign/authority/assignment_inventory.rb +0 -290
- data/lib/ace/assign/authority/campaign_consumer_policy.rb +0 -100
- data/lib/ace/assign/authority/campaign_execution.rb +0 -119
- data/lib/ace/assign/authority/campaign_round_transfer.rb +0 -82
- data/lib/ace/assign/authority/candidate_blob_batch.rb +0 -55
- data/lib/ace/assign/authority/candidate_head_comparison.rb +0 -139
- data/lib/ace/assign/authority/candidate_transfer.rb +0 -357
- data/lib/ace/assign/authority/cleanup_result_protection.rb +0 -53
- data/lib/ace/assign/authority/client.rb +0 -257
- data/lib/ace/assign/authority/command_execution.rb +0 -180
- data/lib/ace/assign/authority/deployment.rb +0 -627
- data/lib/ace/assign/authority/deployment_history.rb +0 -146
- data/lib/ace/assign/authority/endcap.rb +0 -457
- data/lib/ace/assign/authority/endcap_attempts.rb +0 -274
- data/lib/ace/assign/authority/endcap_campaign_results.rb +0 -232
- data/lib/ace/assign/authority/endcap_campaign_rounds.rb +0 -266
- data/lib/ace/assign/authority/endcap_contexts.rb +0 -23
- data/lib/ace/assign/authority/endcap_inboxes.rb +0 -37
- data/lib/ace/assign/authority/endcap_prepared_work.rb +0 -80
- data/lib/ace/assign/authority/endcap_publication.rb +0 -41
- data/lib/ace/assign/authority/endcap_results.rb +0 -398
- data/lib/ace/assign/authority/endcap_review_requests.rb +0 -183
- data/lib/ace/assign/authority/endcap_reviews.rb +0 -130
- data/lib/ace/assign/authority/endcap_service_context.rb +0 -38
- data/lib/ace/assign/authority/endcap_service_settlement.rb +0 -152
- data/lib/ace/assign/authority/evidence_transfer.rb +0 -67
- data/lib/ace/assign/authority/execution_scope_observation.rb +0 -903
- data/lib/ace/assign/authority/fixed_publication_lifecycle.rb +0 -176
- data/lib/ace/assign/authority/fixed_service_lifecycle.rb +0 -594
- data/lib/ace/assign/authority/inbox_context_original.rb +0 -113
- data/lib/ace/assign/authority/launch_attempt_consumers.rb +0 -51
- data/lib/ace/assign/authority/launch_campaign_registration.rb +0 -214
- data/lib/ace/assign/authority/launch_control_channel.rb +0 -313
- data/lib/ace/assign/authority/launch_control_exclusions.rb +0 -127
- data/lib/ace/assign/authority/launch_driver.rb +0 -393
- data/lib/ace/assign/authority/launch_input_inhibition.rb +0 -132
- data/lib/ace/assign/authority/launch_lifecycle.rb +0 -997
- data/lib/ace/assign/authority/launch_prepared_work.rb +0 -122
- data/lib/ace/assign/authority/launch_review.rb +0 -91
- data/lib/ace/assign/authority/launch_scope_abort.rb +0 -81
- data/lib/ace/assign/authority/launch_scope_admission.rb +0 -215
- data/lib/ace/assign/authority/launch_scope_close.rb +0 -146
- data/lib/ace/assign/authority/launch_scope_parent.rb +0 -44
- data/lib/ace/assign/authority/launch_scope_release.rb +0 -859
- data/lib/ace/assign/authority/launch_steering.rb +0 -353
- data/lib/ace/assign/authority/launch_stop.rb +0 -254
- data/lib/ace/assign/authority/maintenance_workspace_retirement.rb +0 -229
- data/lib/ace/assign/authority/ordinary_attempt_start.rb +0 -137
- data/lib/ace/assign/authority/ordinary_client.rb +0 -70
- data/lib/ace/assign/authority/ordinary_completion.rb +0 -104
- data/lib/ace/assign/authority/ordinary_effect_settlement.rb +0 -118
- data/lib/ace/assign/authority/ordinary_lifecycle.rb +0 -227
- data/lib/ace/assign/authority/ordinary_merge_evidence.rb +0 -81
- data/lib/ace/assign/authority/ordinary_peer.rb +0 -54
- data/lib/ace/assign/authority/ordinary_progress.rb +0 -162
- data/lib/ace/assign/authority/ordinary_queue.rb +0 -115
- data/lib/ace/assign/authority/ordinary_release_artifacts.rb +0 -143
- data/lib/ace/assign/authority/ordinary_results.rb +0 -206
- data/lib/ace/assign/authority/ordinary_review_evidence.rb +0 -180
- data/lib/ace/assign/authority/ordinary_reviews.rb +0 -214
- data/lib/ace/assign/authority/ordinary_server.rb +0 -75
- data/lib/ace/assign/authority/ordinary_supervisor.rb +0 -99
- data/lib/ace/assign/authority/original_inbox_selection.rb +0 -41
- data/lib/ace/assign/authority/posix_acl.rb +0 -59
- data/lib/ace/assign/authority/prepared_input.rb +0 -130
- data/lib/ace/assign/authority/prepared_queue.rb +0 -185
- data/lib/ace/assign/authority/prepared_task_context.rb +0 -116
- data/lib/ace/assign/authority/prepared_work.rb +0 -309
- data/lib/ace/assign/authority/prepared_worker.rb +0 -69
- data/lib/ace/assign/authority/private_directory.rb +0 -33
- data/lib/ace/assign/authority/protected_assignment_context.rb +0 -226
- data/lib/ace/assign/authority/readiness_hook.rb +0 -120
- data/lib/ace/assign/authority/receipt_transfer.rb +0 -48
- data/lib/ace/assign/authority/release_artifact_manifest.rb +0 -91
- data/lib/ace/assign/authority/retained_input.rb +0 -53
- data/lib/ace/assign/authority/router.rb +0 -81
- data/lib/ace/assign/authority/server.rb +0 -131
- data/lib/ace/assign/authority/service_cleanup_dispatch.rb +0 -88
- data/lib/ace/assign/authority/service_cleanup_evidence.rb +0 -180
- data/lib/ace/assign/authority/service_delivery_evidence.rb +0 -101
- data/lib/ace/assign/authority/service_evidence.rb +0 -286
- data/lib/ace/assign/authority/service_publication_evidence.rb +0 -110
- data/lib/ace/assign/authority/socket_server.rb +0 -255
- data/lib/ace/assign/authority/task_context_entry.rb +0 -32
- data/lib/ace/assign/authority/transfer_codec.rb +0 -189
- data/lib/ace/assign/cli/commands/attempt/base.rb +0 -84
- data/lib/ace/assign/cli/commands/attempt/evidence.rb +0 -28
- data/lib/ace/assign/cli/commands/attempt/finish.rb +0 -51
- data/lib/ace/assign/cli/commands/attempt/reconcile.rb +0 -49
- data/lib/ace/assign/cli/commands/attempt/start.rb +0 -45
- data/lib/ace/assign/cli/commands/attempt/status.rb +0 -54
- data/lib/ace/assign/cli/commands/authority/inbox_context_principal.rb +0 -25
- data/lib/ace/assign/cli/commands/authority/inbox_context_selection.rb +0 -28
- data/lib/ace/assign/cli/commands/authority/launch.rb +0 -97
- data/lib/ace/assign/cli/commands/authority/serve.rb +0 -31
- data/lib/ace/assign/cli/commands/authority/status.rb +0 -26
- data/lib/ace/assign/cli/commands/authority/task_context.rb +0 -31
- data/lib/ace/assign/cli/commands/authority/task_context_principal.rb +0 -25
- data/lib/ace/assign/cli/commands/authority/task_context_selection.rb +0 -30
- data/lib/ace/assign/cli/commands/authority/terminate.rb +0 -29
- data/lib/ace/assign/cli/commands/authority/worker.rb +0 -23
- data/lib/ace/assign/cli/commands/campaign_export_result.rb +0 -55
- data/lib/ace/assign/cli/commands/campaign_record_round.rb +0 -57
- data/lib/ace/assign/cli/commands/delivery.rb +0 -107
- data/lib/ace/assign/cli/commands/inbox_bind.rb +0 -34
- data/lib/ace/assign/cli/commands/protected_submission.rb +0 -61
- data/lib/ace/assign/cli/commands/resume.rb +0 -38
- data/lib/ace/assign/cli/commands/submit_candidate.rb +0 -34
- data/lib/ace/assign/cli/commands/submit_result.rb +0 -61
- data/lib/ace/assign/models/attempt.rb +0 -178
- data/lib/ace/assign/models/attempt_binding.rb +0 -116
- data/lib/ace/assign/models/evidence_event.rb +0 -86
- data/lib/ace/assign/models/execution_receipt.rb +0 -139
- data/lib/ace/assign/molecules/attempt_reconciler.rb +0 -127
- data/lib/ace/assign/molecules/attempt_store.rb +0 -201
- data/lib/ace/assign/molecules/canonical_attempt_state.rb +0 -151
- data/lib/ace/assign/molecules/canonical_evidence.rb +0 -170
- data/lib/ace/assign/molecules/canonical_read_commands.rb +0 -84
- data/lib/ace/assign/molecules/canonical_read_snapshot.rb +0 -313
- data/lib/ace/assign/molecules/evidence_calculator.rb +0 -237
- data/lib/ace/assign/molecules/evidence_journal.rb +0 -1899
- data/lib/ace/assign/molecules/execution_identity_resolver.rb +0 -137
- data/lib/ace/assign/molecules/execution_scope_lineage.rb +0 -345
- data/lib/ace/assign/molecules/fixed_effect_reference.rb +0 -31
- data/lib/ace/assign/molecules/installed_journal_read.rb +0 -143
- data/lib/ace/assign/molecules/journal_input_inhibition.rb +0 -78
- data/lib/ace/assign/molecules/journal_mutation.rb +0 -274
- data/lib/ace/assign/molecules/journal_prompt_mutation.rb +0 -241
- data/lib/ace/assign/molecules/ordinary_merge_cli.rb +0 -68
- data/lib/ace/assign/molecules/ordinary_merge_contract.rb +0 -410
- data/lib/ace/assign/molecules/original_launch_binding.rb +0 -37
- data/lib/ace/assign/molecules/proposal_journal.rb +0 -179
- data/lib/ace/assign/molecules/protected_control_exclusion.rb +0 -303
- data/lib/ace/assign/molecules/protected_workspace_exclusion.rb +0 -330
- data/lib/ace/assign/molecules/protected_workspace_provisioner.rb +0 -164
- data/lib/ace/assign/molecules/receipt_verifier.rb +0 -320
- data/lib/ace/assign/molecules/terminal_scope_receipt.rb +0 -88
- data/lib/ace/assign/organisms/attempt_coordinator.rb +0 -1374
- data/lib/ace/assign/organisms/delivery_coordinator.rb +0 -342
- data/lib/ace/assign/organisms/ordinary_driver.rb +0 -310
- data/lib/ace/assign/organisms/ordinary_merge_consumer.rb +0 -365
- data/lib/ace/assign/organisms/prepared_work_builder.rb +0 -194
- 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
|
|
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
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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`
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
45
|
-
-
|
|
46
|
-
-
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
81
|
+
## Testing Contract
|
|
59
82
|
|
|
60
|
-
|
|
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
|
-
|
|
88
|
+
Assignment verification uses deterministic commands only:
|
|
63
89
|
|
|
64
|
-
|
|
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:
|
|
4
|
+
purpose: Exit codes for the local ace-assign lifecycle commands.
|
|
5
5
|
ace-docs:
|
|
6
|
-
last-updated: 2026-
|
|
7
|
-
last-checked: 2026-
|
|
6
|
+
last-updated: 2026-10-17
|
|
7
|
+
last-checked: 2026-10-17
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# CLI Exit Codes
|
|
11
11
|
|
|
12
|
-
|
|
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 |
|
|
19
|
-
| 1 | General error |
|
|
20
|
-
| 2 | Assignment error | No active assignment or assignment
|
|
21
|
-
| 3 | Configuration not found |
|
|
22
|
-
| 4 | Step not found |
|
|
23
|
-
| 5 |
|
|
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
|
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
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
|
-
|
|
45
|
-
- No active assignment
|
|
46
|
-
- `
|
|
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
|
-
|
|
52
|
-
|
|
41
|
+
|
|
42
|
+
`create` cannot read the required configuration or YAML input.
|
|
53
43
|
|
|
54
44
|
### Exit Code 4: Step Not Found
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
- `
|
|
63
|
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
|
|
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
|
data/docs/getting-started.md
CHANGED
|
@@ -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
|
|
4
|
+
purpose: Tutorial for creating, running, and adapting local assignment plans with ace-assign.
|
|
5
5
|
ace-docs:
|
|
6
|
-
last-updated: 2026-
|
|
7
|
-
last-checked: 2026-
|
|
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
|
-
|
|
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
|
|