Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .claude/skills/shepherd/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,9 @@ from step 5 (Inner loop).
- Verify runs on every run; the claim ledger is never empty.
- Never report a dispatched stage as still running, and never end a turn waiting on one, without
first checking its output file on disk — present and complete means done: read it and proceed.
An absent output file tells you only that the stage isn't done — not whether it's still
working or has died: report `status unknown; output not present` and offer to wait or
re-dispatch. Never infer "still running" or "stalled" from turn count or a human check-in.
- Blindness per the role table's "do NOT read" column; judgment files are pasted, never granted;
the repository itself is never blinded.
- shepherd never commits `.shepherd/` paths. Run data stays ignored via the run's
Expand Down
5 changes: 4 additions & 1 deletion tests/test_orchestrator_contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -201,10 +201,13 @@ def test_orchestrator_dispatches_reviewers_in_parallel():
def test_dispatched_stage_completion_is_disk_based():
# A dispatched stage's output file on disk is the completion signal, independent of
# dispatch mode (background vs blocking) and dispatch site (single or parallel fan-out) —
# the orchestrator must never claim it's still waiting without checking disk first.
# the orchestrator must never claim it's still waiting without checking disk first. When the
# file is absent it reports the unknown honestly and never fabricates a status from turn count.
assert "completion signal" in ORCH
assert "output file on disk" in ORCH
assert "Never report a dispatched stage as still running" in ORCH
assert "status unknown; output not present" in ORCH
assert 'Never infer "still running" or "stalled" from turn count or a human check-in' in ORCH


def test_dispatched_stages_run_non_interactively():
Expand Down
Loading