From abea4cc9bbc62b9bf443b57d9b28d4274f62c295 Mon Sep 17 00:00:00 2001 From: tegwick Date: Mon, 28 Sep 2026 22:14:39 +0200 Subject: [PATCH] Document wait qualifiers in the workplan spec (CUST-WP-0074-T01) Co-Authored-By: Claude Fable 5.1 Assistant: claude-code Assistant-Model: claude-fable-5-1 Assistant-Process: 237582@bnt-lap001 Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826 --- workplan-spec.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/workplan-spec.md b/workplan-spec.md index 57998bc..5d3c287 100644 --- a/workplan-spec.md +++ b/workplan-spec.md @@ -47,8 +47,17 @@ the document body. Fields: | Field | Required | Values | Description | |-------|----------|--------|-------------| | `id` | yes | string | Unique task identifier within the workplan | -| `status` | yes | `todo` \| `in_progress` \| `done` | Task state | +| `status` | yes | `todo` \| `in_progress` \| `done` \| `wait` | Task state | | `priority` | no | `high` \| `medium` \| `low` | Execution priority | +| `depends_on` | with `wait` | list of workplan/task ids | External commitment: clears when every target is terminal | +| `needs_human` | with `wait` | `true` \| `false` | Human gate: a person clears it; the loop never picks the task up | +| `blocking_reason` | with `wait` | string | Required for `wait` | +| `decision_id` | no | string | Tracked decision or change request behind a human gate | + +A `wait` task carries `depends_on`, `needs_human: true`, or both — never +neither (fleet standard: `the-custodian/canon/standards/task-wait-qualifiers_v0.1.md`). +The loop skips `wait` tasks; a workplan with only `wait` tasks left is not +done, so the loop stops with the wait reasons instead of emitting the promise. ## Completion Rule