Product

Seven roles. Five personas. One workspace.

Every order in a voyage knows which role should run it. Crews bind to model tiers automatically. Quality gates run between roles, not as a CI afterthought.

Roles

Seven canonical squad roles

The Lead sits at the top of the chain of command — it dispatches and oversees the six specialised squad roles below. Each role has a canonical code used in order files and config. The active persona overlays a themed display name — the code is stable across all personas.

LEAD

Lead

Orchestrator. The local interactive Claude session — talks to you, dispatches every squad, and tracks voyage progress. Owns the chain of command above all six squad roles. Opus 4.7.

Dispatches · sequences · oversees

PLN

Planner

Plans the voyage. Produces a written plan in .mso/plans/ before any other crew runs. Sonnet 4.6.

BLD

Builder

Implements features. Reads the plan, writes the code, runs the tests it touched. Sonnet 4.6.

TST

Tester

Tests + validates acceptance criteria. Refuses to sign off if any AC fails. Sonnet 4.6.

DOC

Documenter

Documentation. Updates README, CLI reference, release notes. Sonnet 4.6.

SEC

Security

Security review. Read-only. Runs OWASP/CWE pattern scans. Reports findings, never fixes. Haiku 4.5.

REL

Release

Integration + merge gate. Opens the PR, monitors CI, resolves Copilot review threads, refuses on unresolved CRITICAL/HIGH. Opus 4.7.

In action

A role sequence from PLN to REL

Watch an order advance through its full role sequence. Each crew hands off only when its acceptance criteria pass. The Releaser refuses to merge until CI is green.

Personas

Role names across personas

Canonical codes are fixed. Each built-in persona substitutes its own display names in prompts and CLI output. The mechanics underneath are identical.

CodeDefault⚓ Nautical🔱 Navy SEALs⚡ Storm Troopers🌿 Game Rangers
PLNPlannerNavigatorReconStrategistScout
BLDBuilderShipwrightOperatorEngineerTracker
TSTTesterBosunRange SafetyInspectorWarden
DOCDocumenterScribeDebrieferScribeChronicler
SECSecurityLookoutIntelCounter-intelRanger
RELReleaseCoxswainExtractionCommanderConservator
LEADLeadQuartermasterCommandDirectorChief Ranger

Set your persona in .mso/config/workspace.json or pass --persona to any mso command. See the persona picker for a full preview.

Features

What ships in the box

Voyage / order schema

Discrete tasks (orders) grouped into sprints (voyages). dependsOn chains enforce order. One voyage = one branch = one PR.

Acceptance criteria + quality gates

Three validation types: file-exists, manual judgement, shell command exit code. Tester validates; Releaser enforces.

Pretool secret detection

AWS keys, GitHub PATs, OpenAI / Anthropic / Slack tokens, JWTs, RSA private keys. Blocks the tool call before the secret hits a commit.

Posttool OWASP/CWE scanner

SQL injection, XSS, path traversal, hardcoded credentials, insecure deserialization, command injection, weak crypto. Findings written to .mso/reports/security/.

MCP server registry

Per-server risk levels and per-role permissions. The Lead refuses to launch crews that request unregistered or denied servers.

Audit log + external anchoring

Hash-chained JSONL of every privileged action. Optional external anchoring to S3 Object Lock / Azure Immutable Blob.

Slack bridge

Mobile control. You receive crew questions on Slack and reply; the crew picks up the answer and continues.

Backup + restore

Full workspace state to a single ZIP. Restore restores orders, voyages, plans, reports — everything except runtime state.