Musketeer logo Musketeer

Three Roles in the CLI

The Musketeer CLI tracks state for the three cognitive roles defined in the trio model. Each role operates against SMALL-governed canonical state.

CLI role tokens

When passing --role to commands like packet, log, and verdict, use the CLI token names:

Concept role CLI token
Originator planner
Examiner auditor
Executor executor

The trio in the CLI

Originator state

The Originator defines intent and plan. In SMALL-governed workspaces, this maps to:

  • .small/intent.small.yml - the goal and desired outcome
  • .small/plan.small.yml - the tasks to be performed

Examiner state

The Examiner sets constraints and reviews the plan:

  • .small/constraints.small.yml - scope boundaries, non-goals, and requirements
  • Review notes in .small/plan.small.yml

Executor state

The Executor records progress and handoff:

  • .small/progress.small.yml - what has been done, with sequence numbers
  • .small/handoff.small.yml - the structured handoff record

Musketeer execution artifacts

In addition to the SMALL-owned state above, each role produces Musketeer-owned artifacts:

  • Packets (packet --role <token>) - assembled from SMALL canonical state, written to .musketeer/packets/
  • Execution logs (log --role <token>) - written to .musketeer/runs/<replayId>/execution-log.yml
  • Verdicts (verdict --role auditor) - written to .musketeer/verdicts/<replayId>.verdict.yml

File ownership

Role Reads from .small/ Writes to .musketeer/
Originator intent, plan packets, execution logs
Examiner constraints, plan packets, verdicts
Executor progress, handoff packets, execution logs

Note: File ownership is a design policy. The current CLI does not enforce write restrictions per role. This is planned.

The triangle on disk

        Originator
        /        \
       /          \
      /   intent   \
     /    + plan    \
    /                \
  Examiner --------- Executor
  constraints      progress + handoff

Each vertex of the triangle owns specific SMALL artifacts. Musketeer execution artifacts (packets, verdicts, logs) flow between roles through .musketeer/.

Why track roles?

Tracking roles provides:

  1. Separation of duties - each role has defined responsibilities
  2. Accountability - you can see which role produced which state
  3. Auditability - the handoff history is on disk
  4. Structure - the discipline becomes tangible

The CLI makes the trio model concrete through SMALL-governed file state and Musketeer execution artifacts.