Tasks: ad-hoc tasks that run no PDLC process
The last spec artifact (requirements → design → testing plan → tasks). A DAG of implementation tasks derived from the approved design and testing plan.
Task list
[x] 1. Name the fourth loop and localize loop resolution
cli/the_loop/graph/model.py: addPDLC_ADHOC_LOOP, extendSHIPPED_LOOPS, addOUTER_PATH_LOOPS,LOOP_FOR_CONTROL_COMMANDandresolve_outer_loop; export them.- Depends on: none
- Requirements: R1.1, R2.3, R2.4
- Test:
T1 — pytest tests/test_graph_adhoc.py -k "resolve_outer_loop or control_command"(red→green)
[x] 2. Ship
pdlc-adhoc-loop.yaml- Three walkable nodes (
work,review,complete) plus terminalcleanupandescalated; noproduces, novalidate-artifacts, noskipSets, norequired/skippable;command: do-taskon every node that renders a resume hint. - Depends on: 1
- Requirements: R1.1–R1.6
- Test:
T1 — pytest tests/test_graph_adhoc.py -k "compiles or gates_nothing or no_selection"(red→green)
- Three walkable nodes (
[x] 3. Add the
classify-adhoc-replyhook- New
cli/the_loop/graph/hooks/adhoc.py, registered fromhooks/__init__.py; reusesfeedback._authorized_comments; newest authorized comment decides; outcomesdoneandmore-work;waitingwhen nothing authorized has arrived. - Security-relevant (trust boundary 2,
design.md§Security design): the negative tests are the unauthorized-reply and self-authored-"done" cases. - Depends on: 1
- Requirements: R3.1–R3.4
- Test:
T1/T8 — pytest tests/test_graph_adhoc.py -k "reply or self_authored or unauthorized"(red→green)
- New
[x] 4. Add the
docontrol keywordcli/the_loop/control.py:DO,COMMANDS,_ARMING_COMMANDS,SPAWN_COMMANDS,DEFAULT_KEYWORDS; no parser change.- Security-relevant (trust boundary 1): the negative tests are the unauthorized-arming and two-keyword-refusal cases, plus
the-loop donenot matching. - Depends on: none
- Requirements: R2.1, R2.2
- Test:
T1/T8 — pytest tests/test_graph_adhoc.py -k "keyword or whole_token or refused"(red→green)
[x] 5. Route the new loop through the four resolution seams
graph/bootstrap.py(OUTER_PATH_LOOPSmembership),graphlink.py(_outer_loop_name, and the ad-hociterate on:line inrender_graph_context),core/graphs.py(_recorded_loop).- Depends on: 1, 2, 4
- Requirements: R2.3–R2.5, R4.2, R5.2
- Test:
T1/T10 — pytest tests/test_graph_adhoc.py tests/test_graph_contribution.py tests/test_graphlink.py tests/test_core_graphs.py(red→green)
[x] 6. Ship
/the-loop:do-taskcommands/do-task.md, modelled oncontribute-to.md; states what the loop omits and forbids authoring a spec chain.- Depends on: 2
- Requirements: R4.1, R4.3
- Test: T1 —
pytest tests/test_graph_adhoc.py -k commandasserts every node'scommand:namesdo-task
[x] 7. Config surface: schema, template, docs page
.the-loop/cli-config.schema.json→ copied byte-identically tocli/the_loop/schemas/cli-config.schema.json;skills/the-loop/templates/cli-config.yaml;docs/config/cli/routing-options.md.- Depends on: 4
- Requirements: R2.1
- Test:
T1 — pytest tests/test_config_schema_parity.py tests/test_docs_parity.py
[x] 8. Documentation and the decision record
skills/the-loop/SKILL.md,skills/the-loop/reference/workflow.md,docs/capabilities/process-graph.md,docs/capabilities/webhook-triggers.md,docs/reference/commands.md,docs/decisions/decision-083.md(+ the decisions index).- Depends on: 2, 4, 6
- Requirements: R1, R2, R3, R4, R5
- Test:
T1 — pytest tests/test_docs_parity.py
[x] 9. Verification
- Execute
testing-plan.md; record results and commit redacted evidence underdocs/specs/issue-225/evidence/. - Depends on: 1–8
- Requirements: all
- Test:
T1, T2, T3, T8, T10
- Execute
Dependency graph (DAG)
mermaid
flowchart LR
T1[1 · loop names] --> T2[2 · graph yaml]
T1 --> T3[3 · classify-adhoc-reply]
T4[4 · do keyword] --> T5[5 · resolution seams]
T1 --> T5
T2 --> T5
T2 --> T6[6 · do-task command]
T4 --> T7[7 · schema + docs page]
T2 --> T8[8 · docs + decision]
T4 --> T8
T6 --> T8
T3 --> T9[9 · verification]
T5 --> T9
T7 --> T9
T8 --> T9Checkpoints
After tasks 2, 5 and 8: run uv run --project cli pytest and append an execution-log entry. After task 9 the verification results and evidence are committed, then the review phases run.