Subcommands of pretorin frameworks for authoring, validating, and uploading
custom or forked frameworks. See Custom Frameworks
for the full authoring workflow.
Command
Description
pretorin frameworks init-custom <framework_id>
Scaffold a minimal valid unified.json (--title/-t, --output/-o, --force/-f)
pretorin frameworks validate-custom <file>
Validate a unified.json artifact against the bundled JSON Schema
pretorin frameworks build-custom <input>
Normalize a source catalog (unified, OSCAL, or known custom) into uploadable unified.json (--framework-id/-f required, --output/-o, --force)
pretorin frameworks upload-custom <file>
Upload a unified.json artifact as a draft revision (--framework-id/-f, --version-label/-v, --publish)
Link evidence to a STIG rule workflow (lazy-creates the row) (--system/-s, --override-system-mismatch, --override-reason)
pretorin evidence mark-current <evidence_id>
Re-affirm evidence freshness; bumps expires_at by the refresh cadence and resolves any expiring/expired monitoring events (--system/-s)
pretorin evidence validate <evidence_id>
Compare recorded source-material hash before re-verifying or replacing a drifted Markdown artifact (--system/-s, --source-root, --artifact-content/--artifact, --description/-d, --drift-note)
pretorin evidence delete <evidence_id>
Delete an evidence item (--system/-s, --framework-id/-f, --yes/-y)
Manage draft work and execute actions from a human-approved plan (--status pending|in_progress|blocked|completed|cancelled; --note required for blocked/cancelled)
pretorin issues resolve <ctrl> <fw> <issue_id>
Resolve or reopen a control issue (--system/-s, --resolution-note/--justification, --reopen)
pretorin issues update <ctrl> <fw> <issue_id>
Edit content/pinned/closure note without changing resolution state (--content/-c, --pinned/--no-pinned, --resolution-note)
The notes command group is a deprecated alias for issues; use issues for new
workflows. The commands accept the same arguments and call the same platform APIs.
Command
Description
pretorin notes create <ctrl> <fw>
Create a local note file (--content/-c, --name/-n)
pretorin notes list [ctrl] [fw]
List notes — platform (--system/-s) or local (--local, --framework/-f)
pretorin notes push
Push local notes to the platform (--dry-run)
pretorin notes add <ctrl> <fw>
Add a note directly on the platform (--content/-c, --system/-s)
pretorin notes resolve <ctrl> <fw> <note_id>
Resolve or reopen a control note (--system/-s, --resolution-note/--justification, --reopen, --content/-c, --pinned)
Subcommands of pretorin scope artifacts for managing the auditor-required
system_spec artifacts (asset inventory + 4 snapshot kinds). The inventory
group wraps the recipe-driven scan flow and posts a classified diff
(added / modified / decommissioned) against the platform inventory.
Command
Description
pretorin scope artifacts list
List the 5 system_spec artifact kinds with required/toggle/attest state (--system/-s)
pretorin scope artifacts toggle <kind>
Toggle an artifact kind required/optional; rationale required on toggle-off (--system/-s, --optional/--required, --rationale/-r)
pretorin scope artifacts inventory show
Show the current (or historical) asset inventory (--system/-s, --as-of)
pretorin scope artifacts inventory upload <csv>
Parse a CSV client-side, classify rows, and post a single inventory diff (--system/-s, --yes/-y)
pretorin scope artifacts inventory scan <source>
Run a recipe-driven scan (aws, azure, k8s, iac-workspace) and post the resulting diff (--system/-s, --yes/-y, --dry-run)
Operator-facing view onto the agent-authored work plans persisted locally under
~/.pretorin/plans/. Routed work moves through draft → active →
completed/cancelled. The MCP caller declares and activates the execution
contract; this CLI remains an operator-facing read/cancel surface.
Command
Description
pretorin plan list
List recent plans, newest first (--state/-s draft|active|completed|cancelled, --workflow/-w, --system, --framework, --control, --limit/-n)
pretorin plan show <plan_id>
Show a single plan’s full details; plan_id accepts a full UUID or unique prefix
pretorin plan cancel <plan_id>
Cancel a draft or active plan; refuses already-completed plans, no-op on already-cancelled (--reason/-r, --yes/-y)
pretorin plan prune
Remove old terminal (completed/cancelled) plans and unactivated drafts; active plans never removed (--older-than-days/-d default 30; terminal age uses terminal timestamp and draft age uses created_at; --dry-run/-n, --include-corrupt, --yes/-y)
List all vendors in the organization; inactive vendors are hidden by default (--search, --type/-t, --risk-tier, --owner-user-id, --assessment-status, --lifecycle-status, --include-inactive, --sort-by, --sort-dir)
pretorin vendor create <name>
Create a vendor (--type/-t, --description/-d, --authorization-level/-a, --owner-user-id, --inherent-risk)
Subcommands of pretorin vendor assessment for running a vendor through an
assessment: launch from a template, save answers, submit, AI-score, and finalize
with reviewer residual ratings.
Command
Description
pretorin vendor assessment launch <vendor_id>
Launch an assessment for a vendor from a template (--template-id required)
pretorin vendor assessment list <vendor_id>
List assessments for a vendor
pretorin vendor assessment get <vendor_id> <assessment_id>
Get an assessment with its template snapshot and responses
Preflight verifies that the source material each recipe needs is actually
reachable on this host before evidence work begins, then seeds the scope’s
active recipe set from what’s runnable. Artifacts are per-scope (system +
framework). See Recipes for how recipes consume sources.
Command
Description
pretorin preflight show
Show the current preflight verdict for the active (or given) scope (--system, --framework)
pretorin preflight verify
Probe every bound resolver, persist results, and show the refreshed verdict (--system, --framework)
pretorin preflight init
Bind sensible host-local defaults for this machine, then optionally verify (--workspace, --replace, --verify/--no-verify, --system, --framework)
pretorin preflight provision
Propose (and with --apply seed) the active recipe set from the ready-set (--apply, --include-unofficial, --system, --framework)
pretorin preflight bind <kind>
Add one resolver to a source kind’s collection, creating the artifact if needed (--type required, --name, --constraint, --scope repeatable, --probe, --param repeatable, --capability repeatable, --recommended, --system, --framework)
pretorin preflight unbind <kind>
Remove one resolver binding from a source kind by display name (--name required, --system, --framework)
Recipes are markdown + script playbooks the calling AI agent executes. See
Recipes for authoring guidance.
Command
Description
pretorin recipe list
List all loaded recipes with id, name, tier, author, and source path (--tier, --source, --system, --active)
pretorin recipe show <recipe_id>
Display a recipe’s manifest, body, and (with --sources) all loader paths
pretorin recipe new <recipe_id>
Scaffold a new recipe directory (--location user/project/builtin, --author, --name)
pretorin recipe validate <recipe_id>
Validate a recipe’s manifest, scripts, and description quality (--path for path-based override)
pretorin recipe run <recipe_id>
Run a recipe’s script locally for testing (--script/-s, --param/-p repeatable, --path, --system, --framework, --no-context)
pretorin recipe execute <recipe_id>
Run a recipe non-interactively with platform input resolution and declared submit routing (--script/-s, --param/-p repeatable, --path, --system, --framework, --submit)
pretorin recipe active
Show the scope’s active recipe set + a provisioning proposal (--system, --framework)
pretorin recipe activate <recipe_id...>
Add recipe(s) to the scope’s active set (--system, --framework)
pretorin recipe deactivate <recipe_id...>
Remove recipe(s) from the scope’s active set (--system, --framework)
The legacy pretorin scan command was removed when the recipes system landed.
Scanning now happens through built-in recipes that the calling AI agent invokes
via MCP. See STIG Scanning for the recipe-based workflow.