A workflow type for tasks whose deliverable is a document, not code. Explicitly exempt from the Iron Law (no failing test requirement) because there is nothing to test.
When to Use
- Competitive analyses and market research
- Architecture comparisons and ADR scaffolding
- Literature reviews and vendor evaluations
- Design research that does NOT feed into implementation planning
When NOT to Use
- If the deliverable includes code changes → use
/exarchos:oneshotor/exarchos:ideate - If you need TDD enforcement → use any other workflow type
- If the research feeds directly into implementation → use
/exarchos:ideate(which includes a design phase)
Phases
Phase 1: Gathering (initial)
Collect sources, references, and raw material for the deliverable.
- Define the research question or deliverable scope
- Identify and collect sources (URLs, documents, code references)
- Record sources in workflow state:
mcp__plugin_exarchos_exarchos__exarchos_workflow({
action: "set", featureId: "<id>",
updates: { "artifacts.sources": ["<source1>", "<source2>", "..."] }
})
- Create an outline of the deliverable
Transition: When artifacts.sources is a non-empty array → synthesizing
Phase 2: Synthesizing
Draft the deliverable document from gathered sources.
- Write the document based on gathered sources and outline
- Commit the document to the repo (typically under
docs/research/ordocs/designs/) - Record the report path:
mcp__plugin_exarchos_exarchos__exarchos_workflow({
action: "set", featureId: "<id>",
updates: { "artifacts.report": "<path-to-document>" }
})
Transition: When artifacts.report is set → completed
Optional: Escalation to Implementation
If discovery surfaces an implementation need:
- Note the finding in the report
- After completing the discovery workflow, start a new workflow:
Reference the discovery report as design input./exarchos:ideate <implementation-topic>
Event Emissions
Optionally emit events at key moments for observability:
mcp__plugin_exarchos_exarchos__exarchos_event({
action: "append", stream: "<featureId>",
event: { type: "discovery.sources_collected", data: { sourceCount: N } }
})
mcp__plugin_exarchos_exarchos__exarchos_event({
action: "append", stream: "<featureId>",
event: { type: "discovery.report_committed", data: { path: "<report-path>" } }
})