Skip to main content
The Noēsis CLI is installed with the package. Run via noesis or uv run noesis.
The CLI surface is intentionally small in this release. A more robust CLI is in active development, with better scripting ergonomics, richer subcommands, and stronger JSON-first workflows. When in doubt, treat noesis <command> --help as the source of truth.

Installation

Install from source while the PyPI name is pending:
git clone https://github.com/saraeloop/noesis.git
cd noesis
uv tool install .
# or: pipx install .
When the PyPI release is live, you can also use uv add noesis or pip install noesis.

Commands

Available for now: run, solve, list, show, view, events, insight, artifacts, diagnostics, version, validate-ports, migrate, new.

noesis run

Run a baseline episode (no adapter).
noesis run "task description" [options]
# or read from stdin
echo "Summarize the README" | noesis run --stdin
Arguments:
ArgumentDescription
taskTask prompt (optional if --stdin or - is used)
Options:
OptionDescriptionDefault
-s, --seed INTSeed for reproducibility0
-P, --policy SPECPolicy alias or module:Class (on/off accepted)on
--no-intuitionDisable intuition entirelyFalse
--tags JSONJSON object of tags to attachNone
--dir-min FLOATOverride direction_min_confidenceNone
--stdinRead task prompt from STDIN (or pass - as task)False
-y, --yesAssume yes for interactive promptsFalse
-j, --jsonEmit JSON {episode_id}False
-q, --quietPrint only the episode idFalse
Examples:
# Simple run
noesis run "Draft release notes"

# Policy alias or module:Class
noesis run "Check database" --policy mymodule:SafetyPolicy

# JSON tags object
noesis run "Deploy to staging" --tags '{"env":"staging","team":"platform"}'

# Quiet / JSON forms
noesis run "Test task" -q
noesis run "Test task" -j | jq -r '.episode_id'

noesis solve

Run an episode through a specific adapter/flow.
noesis solve ADAPTER "task description" [options]
Arguments:
ArgumentDescription
adapterAdapter name or import path (required)
taskTask prompt (optional if --stdin or - is used)
Options:
OptionDescriptionDefault
-s, --seed INTSeed for reproducibility0
-P, --policy SPECPolicy alias or module:Class (on/off accepted)on
--no-intuitionDisable intuition entirelyFalse
--tags JSONJSON object of tags to attachNone
--dir-min FLOATOverride direction_min_confidenceNone
--stdinRead task prompt from STDIN (or pass - as task)False
-j, --jsonEmit JSON {episode_id}False
-q, --quietPrint only the episode idFalse
Examples:
# With registered adapter
noesis solve my-adapter "Process data"

# With module path
noesis solve mymodule:analyzer "Analyze logs"

# Policy + tags
noesis solve deploy-adapter "Deploy" --policy SafetyPolicy --tags '{"env":"prod"}'

noesis list

List recent episodes.
noesis list [options]
Options:
OptionDescriptionDefault
--limit INTMaximum episodes to show20
--strict-manifestRe-hash manifests and warn on driftFalse
-j, --jsonOutput as JSONFalse
-q, --quietPrint episode ids onlyFalse
Examples:
# Table output
noesis list --limit 10

# JSON output for scripting
noesis list -j | jq '.[0].episode_id'
Output columns:
ColumnDescription
StartedStart timestamp
IDEpisode identifier
TaskTruncated task description
ManifestStatus note (only when --strict-manifest is used)

noesis show

Display episode summary.
noesis show EPISODE_ID [options]
Arguments:
ArgumentDescription
episode_idEpisode ID to display (required)
Options:
OptionDescriptionDefault
-j, --jsonOutput raw JSONFalse
-q, --quietPrint episode id onlyFalse
Examples:
# Friendly output
noesis show ep_2024_abc123_s0

# Raw JSON
noesis show ep_2024_abc123_s0 -j

noesis view

Inspect an episode timeline, metrics, and governance decisions in one view.
noesis view TARGET [options]
Arguments:
ArgumentDescription
targetEpisode ID or run directory
Options:
OptionDescriptionDefault
--prettyRender formatted tablesTrue
-j, --jsonEmit JSON viewFalse
--eventsStream raw events.jsonlFalse
--grep SUBSTRFilter timeline rows by substringNone
--schema VERSIONValidate against specific summary schemalatest (auto)
--fail-on-invalidExit 1 if validation errors are detectedFalse
--openPrint artifact pathsFalse
Examples:
# Pretty viewer
noesis view ep_2024_abc123_s0

# JSON
noesis view ep_2024_abc123_s0 -j | jq '.summary.metrics.success'

noesis events

Print events for an episode.
noesis events EPISODE_ID [options]
Arguments:
ArgumentDescription
episode_idEpisode ID to read (required)
Options:
OptionDescriptionDefault
--phase PHASEFilter by phaseNone
-j, --jsonOutput events as JSONLFalse
-q, --quietSuppress bannerFalse
Examples:
# All events
noesis events ep_2024_abc123_s0

# Filter by phase
noesis events ep_2024_abc123_s0 --phase act

# JSON for piping
noesis events ep_2024_abc123_s0 -j | jq '.phase'

# Latest episode
noesis events $(noesis list -j | jq -r '.[0].episode_id')
noesis list returns episodes newest first, so index 0 is the latest run. Phase values:
PhaseDescription
startEpisode start
observeInput capture
interpretSignal extraction
planAction planning
directionPolicy directives
intuitionPolicy intuition
insightInsight metrics
reasonReasoning traces
governanceAudit decisions
actTool execution
reflectOutcome evaluation
learnLearning signals
terminateEnd state
errorError events

noesis insight

Show computed insight events (alias for events --phase insight).
noesis insight EPISODE_ID [options]
Arguments:
ArgumentDescription
episode_idEpisode ID to analyze (required)
Options:
OptionDescriptionDefault
-j, --jsonOutput events as JSONLFalse
-q, --quietSuppress bannerFalse
Examples:
# Get metrics
noesis insight ep_2024_abc123_s0

# Parse with jq
noesis insight ep_2024_abc123_s0 -j | jq '.metrics.success'

noesis artifacts

Verify artifact manifests.
noesis artifacts verify TARGET [options]
Arguments:
ArgumentDescription
targetEpisode ID, run directory, or manifest path
Options:
OptionDescriptionDefault
--strictFail when unexpected files are presentFalse
-j, --jsonEmit JSON reportFalse
-q, --quietSuppress human-readable outputFalse
Exit codes:
CodeMeaning
0Verified (including warnings)
2Verification error
3Missing manifest/files
4Signature error
Example:
noesis artifacts verify ep_2024_abc123_s0 --strict

noesis diagnostics

Run stability diagnostics (default) or compare two runs for drift.
# Default checks
noesis diagnostics [options]

# Replay comparison
noesis diagnostics replay RUN_A RUN_B [options]
Options (default mode):
OptionDescriptionDefault
--checks a,b,cComma-separated subset of checksall
--strictExit non-zero on warningsFalse
-j, --jsonEmit JSON payloadFalse
-q, --quietSuppress human-readable outputFalse
Checks include runs_dir health, learn_home, confidence bounds, learn thresholds, registered ports, config snapshot drift, latest summary schema, and latest manifest verification. Replay mode options:
OptionDescriptionDefault
run_a run_bEpisode directories to compare (required)
-j, --jsonEmit JSON payloadFalse
-q, --quietSuppress human-readable outputFalse
Examples:
# Default diagnostics
noesis diagnostics --strict

# Drift compare two runs
noesis diagnostics replay runs/ep_a runs/ep_b
Replay exits 1 on drift, 0 otherwise. Default mode exits 1 on errors (or warnings when --strict).

noesis version

Show CLI/core version and available adapters.
noesis version [-j]
Options:
OptionDescriptionDefault
-j, --jsonEmit JSON payloadFalse

noesis validate-ports

List registered runtime ports from the active session.
noesis validate-ports [-j|-q]
Options:
OptionDescriptionDefault
-j, --jsonEmit JSON payloadFalse
-q, --quietSuppress human outputFalse

noesis migrate

Codemod deprecated Noēsis shims to the modern API.
noesis migrate [paths...] [--dry-run] [-j]
Options:
OptionDescriptionDefault
paths...Files or directories (defaults to .).
--dry-runPreview changes without modifying filesFalse
-j, --jsonEmit JSON reportFalse
Exit codes:
CodeMeaning
0No issues
1Errors encountered
2TODOs or skipped items remain

noesis new

Experimental scaffolder placeholder.
noesis new [flow|policy] NAME [-j|-q]
Returns a TODO message today.

Global options

These options work with all commands:
OptionDescription
--compactCompact output (summary only)
--verboseVerbose output (detailed reasoning)
--debugDebug mode (implies verbose)
--port NAME=SPECRegister a runtime port (repeatable)
--helpShow help message

Environment variables

VariableDescription
NOESIS_RUNS_DIRDefault runs directory
NOESIS_PLANNERDefault planner mode (meta/minimal)
NOESIS_DIRECTION_MIN_CONFIDENCEDefault direction_min_confidence
NOESIS_INTUITION_MODEDefault intuition mode
NOESIS_TIMEOUT_SECDefault timeout
NOESIS_LEARN_HOMEDefault learn directory
NOESIS_LEARN_MODEDefault learn mode
NOESIS_LEARN_AUTO_APPLY_MIN_SUCCESSESMinimum successes before auto-apply
NOESIS_LEARN_AUTO_APPLY_MIN_CONFIDENCEConfidence threshold for auto-apply
NOESIS_PROMPT_PROVENANCE_ENABLEDEnable prompt provenance (true/false)
NOESIS_PROMPT_PROVENANCE_MODEProvenance mode
NOESIS_AGENTSAgent registry path override
NOESIS_TASKSTasks registry path override
Example:
# Set planner mode via environment
NOESIS_PLANNER=minimal noesis run "Quick test"

# Set runs directory
NOESIS_RUNS_DIR=./my-runs noesis list

Scripting patterns

Get latest episode ID

LATEST=$(noesis list -j | jq -r '.[0].episode_id')
noesis show $LATEST

Check success rate

noesis list -j --limit 100 | jq '[.[] | select(.success != null) | .success] | (add / length)'

Export metrics to CSV

noesis list -j | jq -r '.[] | [.episode_id, .success, .started_at] | @csv' > episodes.csv

Filter by manifest drift

noesis list -j --strict-manifest | jq '[.[] | select(.manifest_status != null and .manifest_status != "ok")]'

Tail direction events

noesis events $(noesis list -j | jq -r '.[0].episode_id') --phase direction

Batch process episodes

for ep in $(noesis list -j | jq -r '.[].episode_id'); do
  echo "Processing $ep"
  noesis insight $ep > "insights/$ep.json"
done

Exit codes

Core CLI exit codes (noesis/cli/errors.py):
CodeMeaning
0Success
1General error (EXIT_ERROR)
2Invalid usage / argument errors (EXIT_USAGE)
3Episode vetoed by governance (EXIT_VETO)
Some subcommands add their own codes. For example, noesis artifacts verify uses dedicated codes for verification results (missing files, signature failures, etc.). Check noesis <command> --help if you need exact codes in CI.

Next steps