Board of Governance — Smoke Test
Validate that all agents can read their identity, receive a brief, and produce a report. This is the canonical way to verify a board installation works.
Step 1: Read the Board
Read .board/board/BOARD.md for agent list, invocation commands, and board user. If BOARD.md does not exist, error: "No board found. Run /setup first."
Step 2: Pre-flight Checks
Before running agents, verify the environment is functional:
- •Board user exists:
id $BOARD_USER— error if missing - •Agent directories complete: Each agent has CLAUDE.md, inbox/, outbox/
- •Outbox writable by board user:
sudo -u $BOARD_USER test -w $AGENT_DIR/outbox - •CLIs on PATH for board user:
sudo -u $BOARD_USER bash -c 'which claude'(or codex) - •Credentials exist: Claude:
~$BOARD_USER/.claude/.credentials.json. Codex:~$BOARD_USER/.codex/auth.json
If any check fails, stop and report the specific failure with a fix suggestion.
Step 3: Prepare Agents
For each agent listed in BOARD.md:
- •
Write test brief to
inbox/brief.md:Smoke test: confirm your identity. State your name, thinking style, and which CLI you are running on. Write your response to outbox/report.md.
- •
Write minimal context to
inbox/context.md:This is a smoke test. No domain context needed.
- •
Clear stale reports:
rm -f $AGENT_DIR/outbox/report.md
Step 4: Sequential Test
Run each agent one at a time using its invocation command from BOARD.md. Sequential execution isolates failures — if agent 1 fails, you know it's not a parallelism issue.
For each agent:
- •Record start time
- •Run the invocation command (with a shorter timeout — 120s instead of 900s)
- •Record end time
- •Check exit code
- •Verify
outbox/report.mdexists and is non-empty ([ -s ... ]) - •Read first 3 lines of the report
- •Record: PASS or FAIL with timing
If any agent fails:
- •Report the failure with exit code and any error output
- •Point to
/debugfor troubleshooting - •Continue testing remaining agents (don't stop at first failure)
Step 5: Parallel Test
Only if all agents passed sequential. If any failed, skip this step.
- •Clear all outbox reports again
- •Rewrite test briefs (same content)
- •Run all agents simultaneously using the parallelism pattern from BOARD.md (shorter timeout — 120s)
- •Wait for all to complete
- •Verify all reports exist and are non-empty
- •Record wall-clock time for the parallel run
Step 6: Report Results
Present a summary table:
## Smoke Test Results | Agent | CLI | Sequential | Parallel | Time (seq/par) | |-------|-----|-----------|----------|----------------| | pragmatist | claude | PASS | PASS | 15s / 14s | | systems-thinker | codex | PASS | PASS | 25s / 22s | | skeptic | claude | PASS | PASS | 16s / 15s | **Board status:** All agents operational ✓
If any failures, include error details and /debug references.
Step 7: Cleanup
Remove smoke test briefs and reports (they're not real review artifacts):
for agent in $BOARD/board/*/; do name=$(basename "$agent") grep -q "Smoke test" "$agent/inbox/brief.md" 2>/dev/null && rm -f "$agent/inbox/brief.md" "$agent/inbox/context.md" "$agent/outbox/report.md" done