Files
ai-workflow-skill/docs/tests/council-review-skill/council-start-with-target-file-through-bundled-cli.md
T

3.9 KiB

Case: council-start-with-target-file-through-bundled-cli

Test Type

This is a forward-test and a non-prompt target-context validation.

The goal is to verify that a leader using the packaged council-review skill can start a council run from explicit --target-file context instead of relying on a pure inline prompt.

Purpose

Validate that all of the following can be true at the same time:

  • the test runner can prepare a concrete brief file before launching the leader
  • the leader can start a council run through the bundled council-review skill using --target-file
  • the target-file path is persisted in council input metadata
  • reviewer tasks are still dispatched normally from the file-based target

Preconditions

  • council-review skill path exists: COUNCIL_SKILL_PATH=skills/council-review
  • inbox skill path exists: INBOX_SKILL_PATH=skills/inbox
  • bundled CLI executables exist at COUNCIL_SKILL_PATH/assets/orch and INBOX_SKILL_PATH/assets/inbox
  • sqlite3 is available locally for metadata validation
  • use an empty temporary directory TMPDIR
  • initialize TMPDIR/coord.db before launching the leader through INBOX_SKILL_PATH/assets/inbox --db TMPDIR/coord.db --json init

Agent Topology

  • leader

Inputs

Target File Fixture

Create TMPDIR/brief.md before launching the leader with contents similar to:

# Brief

Review the current council-review packaging flow.

- Confirm the skill can carry file-based context.
- Focus on documentation quality and report semantics.

Leader Prompt

Use $council-review at COUNCIL_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) start council run council_skill_009 using --target-file TMPDIR/brief.md, --target-type mixed, and --mode review, 2) stop after reporting RUN_ID and the target metadata you observed from the start response. Do not use ordinary chat to simulate reviewer work.

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

  1. Initialize TMPDIR/coord.db once through the bundled inbox CLI before launching agents
  2. Create TMPDIR/brief.md with the target file contents
  3. Inject skills/council-review/ into leader
  4. Point the leader at the database path TMPDIR/coord.db
  5. Launch the leader
  6. Wait for the leader to finish
  7. Independently run the validation commands from the main thread

Validation Commands

COUNCIL_SKILL_PATH/assets/orch --db TMPDIR/coord.db --json run show --run council_skill_009
COUNCIL_SKILL_PATH/assets/orch --db TMPDIR/coord.db --json status --run council_skill_009
sqlite3 TMPDIR/coord.db "SELECT prompt, target_file, repo_path, target_task_id FROM council_inputs WHERE run_id = 'council_skill_009';"
sqlite3 TMPDIR/coord.db "SELECT acceptance_json FROM tasks WHERE run_id = 'council_skill_009' AND task_id = 'CR1';"

Expected Outcomes

  • the leader successfully starts council_skill_009
  • the run goal references the target file rather than an inline prompt
  • the stored council input row keeps target_file == TMPDIR/brief.md
  • reviewer task dispatch still produces the usual three council tasks
  • reviewer task acceptance metadata carries the target_file reference forward

Assertions

  • run_show.data.run.goal mentions brief.md
  • status.data.tasks length is 3
  • status.data.run.status is not terminal
  • the council_inputs row has empty prompt, repo_path, and target_task_id
  • the council_inputs row has target_file == "TMPDIR/brief.md"
  • the CR1 acceptance JSON contains "target_file":"TMPDIR/brief.md"

Cleanup

  • use the default cleanup policy from README.md
  • if the run fails, retain TMPDIR, brief.md, and coord.db for replay and manual inspection