Skip to content

Tasks: a control keyword must open the comment; an ambiguous body is conversation ​

Task list ​

  • [x] 1. Parser tests (red): placements of R1.1–R1.4 and the #496 body in cli/tests/test_control.py
    • Depends on: none
    • Requirements: R1.1, R1.2, R1.3, R1.4, R1.6
    • Test: T1 — uv run pytest cli/tests/test_control.py (red before task 2)
  • [x] 2. Anchor parse_command to the body start and later line starts; correct the module, ControlResult and parse_command docstrings
    • Depends on: 1
    • Requirements: R1, R3.2
    • Test: T1 green; T8 (two leading commands → ambiguous, mid-prose → none)
  • [x] 3. Dispatcher tests (red): an ambiguous comment is enqueued for the live session and executes nothing; the #496 comment reaches the session; a paused session still suppresses it
    • Depends on: none
    • Requirements: R2.1–R2.3
    • Test: T2/T8 — uv run pytest cli/tests/test_routing.py cli/tests/test_reactions.py cli/tests/test_reactions_integration.py
  • [x] 4. Dispatcher: stop settling an ambiguous body; retire SETTLED_CONTROL_AMBIGUOUS (outcomes, ACK states, eventlog vocabulary); reword the control.ambiguous event and the poller docstring
    • Depends on: 3
    • Requirements: R2
    • Test: T2 green
  • [x] 5. Text: both cli-config.schema.json copies, redact.py docstring, docs/capabilities/webhook-triggers.md (rule + changelog row), docs/learnings/learning-018.md + index
    • Depends on: 2, 4
    • Requirements: R3
    • Test: T12 — make check (schema copies stay in sync)
  • [x] 6. Full suite: fix any test that relied on a mid-body keyword
    • Depends on: 2, 4, 5
    • Requirements: R1.5
    • Test: T12 — make check

Dependency graph (DAG) ​

Checkpoints ​

After task 2 (T1), after task 4 (T2), after task 6 (make check). Then the verification node executes testing-plan.md.

Review comments ​

Released under the MIT License.