5.7 KiB
5.7 KiB
Case: leader-blocked-answer-resume-through-bundled-cli
Test Type
This is a forward-test and a blocked-question resolution skill validation.
The goal is to verify that a leader using the packaged orch skill can observe a blocked task, answer it through orch, and reach final completion with a real worker using the packaged inbox skill.
Purpose
Validate that all of the following can be true at the same time:
- the leader can use
orch wait,blocked,answer,reconcile, andstatusthrough the bundled skill CLI - a worker can ask a blocked question through the bundled inbox skill
- the answer reaches the active attempt thread
- the worker resumes after the answer and completes the task
- the final run reaches
done
Preconditions
- orch skill path exists:
ORCH_SKILL_PATH=skills/orch - inbox skill path exists:
INBOX_SKILL_PATH=skills/inbox - bundled CLI executables exist at
ORCH_SKILL_PATH/assets/orchandINBOX_SKILL_PATH/assets/inbox - use an empty temporary directory
TMPDIR - initialize
TMPDIR/coord.dbbefore launching role agents throughINBOX_SKILL_PATH/assets/inbox --db TMPDIR/coord.db --json init
Agent Topology
leaderworker-a
Inputs
Leader Prompt
Use $orch at ORCH_SKILL_PATH to act as leader on the already initialized SQLite DB TMPDIR/coord.db. Only coordinate through the bundled orch CLI from the skill. Workflow: 1) create run run_blog_skill_002, 2) add and dispatch one task T1 to worker-a with --execution-mode analysis, 3) wait until the task becomes blocked, 4) inspect blocked tasks, 5) answer the blocked question with the decision "Use stdout for MVP.", 6) wait until the task completes, 7) reconcile and inspect final status, 8) stop after reporting RUN_ID and THREAD_ID. Do not use ordinary chat to coordinate with the worker.
Worker Prompt
Use $inbox at INBOX_SKILL_PATH to act as worker-a on SQLite DB TMPDIR/coord.db. Only coordinate through the bundled inbox CLI from the skill. Workflow: 1) fetch and claim the assigned task, 2) send one in_progress update, 3) send a blocked update asking "Should logging go to stdout or stderr?", 4) wait for a reply, 5) finish the task with done after you receive the leader decision, 6) stop after reporting the THREAD_ID you handled. Do not use ordinary chat to coordinate with the leader.
Execution Parameters
- use the shared execution contract from README.md
- use the shared timeout defaults from README.md
- do not override the default cleanup policy
Execution Steps
- Initialize
TMPDIR/coord.dbonce through the bundled inbox CLI before launching agents - Inject
skills/orch/intoleader - Inject
skills/inbox/intoworker-a - Point both agents at the same database path
TMPDIR/coord.db - Launch
leaderandworker-ain parallel - Wait for both agents to finish
- Resolve
THREAD_IDfrom the agent outputs - Independently run the validation commands from the main thread
Validation Commands
ORCH_SKILL_PATH/assets/orch --db TMPDIR/coord.db --json status --run run_blog_skill_002
INBOX_SKILL_PATH/assets/inbox --db TMPDIR/coord.db --json show --thread THREAD_ID
Expected Outcomes
leadersuccessfully observes a blocked event throughorchleadersuccessfully inspects the blocked queue and emits oneanswerworker-areceives that answer through inbox history and completes the task- the final run state is
done
Assertions
status.data.run.status == "done"status.data.tasks[0].status == "done"show.data.messages[*].kindincludesquestion,answer, andresult- one
questionmessage containspayload_json.question == "Should logging go to stdout or stderr?" - one
answermessage contains bodyUse stdout for MVP. - the final thread status is
done
Cleanup
- use the default cleanup policy from README.md
- if the run fails, retain
TMPDIRandcoord.dbfor replay and manual inspection
Recorded Example Run
- recorded on:
2026-03-19 - execution mode:
direct_cli_replayviascripts/run_orch_skill_forward_tests.sh - result:
pass - observed run id:
run_blog_skill_002 - observed thread id:
thr_42ce634f273745e9b95badc14ce52708 - evidence summary:
orch wait --for task_blockedwoke on the worker question, andinbox wait-replylater woke on the leader answer- final
orch status --run run_blog_skill_002 --jsonreturnedrun.status == "done"andtasks[0].status == "done" - final
inbox show --thread thr_42ce634f273745e9b95badc14ce52708 --jsoncontainedquestion,answer, andresultmessages - the recorded
questionpayload wasShould logging go to stdout or stderr?, and the recordedanswerbody wasUse stdout for MVP. - note: this recorded run exercised the packaged binaries directly in a temporary DB and did not spawn separate Codex role agents
Recorded Real Forward Run
- recorded on:
2026-03-19 - execution mode:
real_subagent_forward_test - result:
pass - evidence root:
/tmp/orch-skill-subagents.J1XWgs/leader-blocked-answer-resume-through-bundled-cli - observed run id:
run_blog_skill_002 - observed thread id:
thr_fd11536a0b2f4c668f6e78c38090816e - evidence summary:
- a real leader agent using
skills/orch/completedwait --for task_blocked,blocked,answer,wait --for task_done,reconcile, andstatus - a real worker agent using
skills/inbox/completedclaim,update --status in_progress,update --status blocked,wait-reply, resumeupdate, anddone - main-thread validation confirmed
run.status == "done",task.status == "done", the blocked question payloadShould logging go to stdout or stderr?, and the answer bodyUse stdout for MVP.