Orchestrata Ultimate / Specs / 000-orchestrata-cli

000-orchestrata-cli: Orchestrata CLI

The Orchestrata CLI is the human's entry point into the orchestration system. It provides a unified command interface to initialize projects, boot the runtime, submit intents, monitor agents, review outputs, query governance, and manage sessions.

At a glance

Item Value
Spec directory specs/000-orchestrata-cli/
Status line in the spec Design Phase
Requirement IDs defined 112
With a @traces citation in src/ 89 (79.5%)
With a @traces citation in tests/ 5 (4.5%)
Tracked files 12
RTM page 000-orchestrata-cli

Reading this spec

The Orchestrata CLI is the human's entry point into the orchestration system. It replaces five or more separate command-line tools with one unified command interface, so that a person keeps control over a multi-agent run through consistent commands. The spec covers initializing projects, booting the runtime, submitting intents, monitoring agents, reviewing and approving output, querying governance, running verification, querying the knowledge graph and managing sessions.

The scope is nine user stories: project initialization, runtime lifecycle, intent submission, review and approval, and session management are priority 1; agent monitoring, governance query, verification and knowledge graph query are priority 2. Five functional requirement groups sit beside them: command structure, configuration management, service integration, human-in-the-loop control and output formatting. All requirement IDs use the REQ-000- prefix.

The key design decisions are stated in the overview. The CLI is a thin layer that delegates to existing packages rather than reimplementing them. It is built on the Click framework and exposed through a root entry point in the project scripts so that it works with uv. Prolog gates guard every destructive or approval action, which is how human-in-the-loop control is enforced. The CLI integrates with the components specified in specs 001 to 008.

In the code, most of the work lives in orchestrata_ultimate/kernel/cli_main, with supporting pipeline code in orchestrata_ultimate/kernel/pipeline, orchestrata_ultimate/session/cli/pipeline, orchestrata_ultimate/orchestrator/pipeline_escalation and the gate in orchestrata_ultimate/governance/prolog_gate. The per-requirement view is on the RTM page.

The spec's own status line reads Design Phase, while the code already traces most of its requirements. It tracks 12 files and defines 112 requirement IDs. The full text follows below.

Measured coverage is 89 of 112 requirements cited by at least one @traces in src/ (79.5%), spread over 15 modules; the module citing the most of them is orchestrata_ultimate/kernel/cli_main (80 requirements). In tests/, 5 requirements are cited by a test-side @traces.

Coverage gaps: 23 requirements have no citing symbol. The largest untraced groups are REQ-000-* (23). Untraced means no @traces names the ID; the behaviour may still exist in code that was never annotated. Test-side citations are thinner than code-side ones (5 against 89).

Requirements

Checkbox is the state recorded in the requirements checklist; Traced by is the count of src/ symbols whose @traces names the ID.

ID Done Requirement Traced by
REQ-000-001 no orchestrata init <project> creates project directory 1
REQ-000-002 no orchestrata init initializes context.json 2
REQ-000-003 no orchestrata init creates orchestrata.yaml config 1
REQ-000-004 no orchestrata init loads Prolog governance rules none
REQ-000-005 no orchestrata init registers project in Memgraph 1
REQ-000-006 no orchestrata init opens first session automatically 1
REQ-000-007 no orchestrata init --template <type> applies project template 1
REQ-000-008 no orchestrata init validates project name 1
REQ-000-009 no orchestrata start boots Kernel (Spec 001) 5
REQ-000-010 no orchestrata start starts Postman routing (Spec 002) 3
REQ-000-011 no orchestrata start loads Prolog rules (Spec 007) 3
REQ-000-012 no orchestrata start connects Redis 1
REQ-000-013 no orchestrata start connects Neo4j 1
REQ-000-014 no orchestrata start opens session (Spec 006) none
REQ-000-015 no orchestrata start starts health endpoint 6
REQ-000-016 no orchestrata start --config <path> loads custom config 2
REQ-000-017 no orchestrata stop archives current session 1
REQ-000-018 no orchestrata stop drains message queues 1
REQ-000-019 no orchestrata stop disconnects Redis and Neo4j 1
REQ-000-020 no orchestrata stop shuts down Kernel and Postman 2
REQ-000-021 no orchestrata status shows runtime state 1
REQ-000-022 no orchestrata status shows connected services 1
REQ-000-023 no orchestrata status shows active volks with work_status 4
REQ-000-024 no orchestrata status shows session info 1
REQ-000-025 no orchestrata status shows health endpoint URL 1
REQ-000-026 no Graceful shutdown on SIGINT/SIGTERM 3
REQ-000-027 no orchestrata config team --add <volks> activates volks 1
REQ-000-028 no orchestrata config team --remove <volks> deactivates volks 1
REQ-000-029 no Team changes update Prolog facts (active_volk/1) 2
REQ-000-030 no Valid volk aliases enforced (U:Ox, U:PS, U:Vz, U:Ux, U:PM, U:Ar, U:Qa, U:Cx) 2
REQ-000-031 no Invalid volk alias rejected with error message 2
REQ-000-032 no Team configuration persisted in orchestrata.yaml 2
REQ-000-033 no orchestrata intent "<text>" submits to Intent Broker (Spec 003) 4
REQ-000-034 no Intent Broker parses natural language into structured intent 1
REQ-000-035 no Prolog validates intent (may_execute, constitutional_check) 1
REQ-000-036 no Validated intent routed to appropriate Volk via CXP packet 1
REQ-000-037 no CLI returns thread_id for tracking 2
REQ-000-038 no CLI displays which volk received the intent 1
REQ-000-039 no orchestrata respond --thread <id> "<text>" sends response to volk 6
REQ-000-040 no Response travels as CXP packet through Postman 4
REQ-000-041 no Blocked intents show governance reason 4
REQ-000-042 no orchestrata agents list shows all registered volks 1
REQ-000-043 no Agent list shows alias, role, status per volk 1
REQ-000-044 no orchestrata agents health shows health per volk 1
REQ-000-045 no Health shows responding/idle/error state 1
REQ-000-046 no orchestrata packets --thread <id> shows CXP flow 1
REQ-000-047 no Packet display shows delivery_status per message 1
REQ-000-048 no Packet display shows work_status per message 1
REQ-000-049 no Packet display shows from_agent, to_agent, subject 1
REQ-000-050 no orchestrata status combines agents + packets + session view none
REQ-000-051 no orchestrata review <volk> shows volk output/artifacts 3
REQ-000-052 no Review displays on active thread 2
REQ-000-053 no orchestrata approve --thread <id> sends work_status=resolved 8
REQ-000-054 no Approve unblocks downstream volks 5
REQ-000-055 no orchestrata reject --thread <id> "<reason>" sends feedback 3
REQ-000-056 no Reject keeps volk working with feedback 4
REQ-000-057 no Approve/reject travel as CXP packets through Postman 7
REQ-000-058 no Human must explicitly approve — no auto-approval 10
REQ-000-059 no orchestrata governance check "<action>" queries Prolog 1
REQ-000-060 no Check evaluates may_execute, constitutional_check, ethical_check 1
REQ-000-061 no Check returns allowed/denied with reason 3
REQ-000-062 no orchestrata governance log shows decision history 1
REQ-000-063 no Log shows which Prolog rule fired per decision 1
REQ-000-064 no orchestrata governance policies lists active policies 1
REQ-000-065 no Policies show constitutional constraints 1
REQ-000-066 no All governance queries go through Prolog engine (Spec 007) 4
REQ-000-067 no orchestrata verify runs full verification across all specs 1
REQ-000-068 no orchestrata verify --spec <id> verifies specific spec 1
REQ-000-069 no Verification reports verified/partial/missing per requirement 1
REQ-000-070 no Verification uses knowledge graph for traceability (Spec 008) 1
REQ-000-071 no Verification results stored in Memgraph none
REQ-000-072 no RTM generated from verification results none
REQ-000-073 no orchestrata knowledge query "<query>" queries Neo4j 1
REQ-000-074 no Query returns decisions, facts, artifacts from sessions 1
REQ-000-075 no Query supports temporal queries (what happened in session N) 1
REQ-000-076 no Query results formatted for terminal display 1
REQ-000-077 no orchestrata session status shows current session state none
REQ-000-078 no orchestrata session list shows all sessions none
REQ-000-079 no orchestrata session end closes current session none
REQ-000-080 no orchestrata session end --archive archives to Neo4j none
REQ-000-081 no Session end updates context.md none
REQ-000-082 no Session end creates git checkpoint none
REQ-000-083 no orchestrata session resume loads previous session none
REQ-000-084 no Resume restores agent state none
REQ-000-085 no orchestrata session facts shows session facts none
REQ-000-086 no Session commands wrap orchestrata-session (Spec 006) 1
REQ-000-087 no No volk work_status transitions to resolved without may_complete/2 1
REQ-000-088 no may_complete/2 checks all_acceptance_criteria_met 1
REQ-000-089 no may_complete/2 checks all_outputs_verified 2
REQ-000-090 no may_complete/2 checks no_open_questions 3
REQ-000-091 no may_complete/2 checks downstream_volk_not_blocked none
REQ-000-092 no Failed gate returns reason to volk 1
REQ-000-093 no Volk continues working until all gates pass none
REQ-000-094 no Click framework for all commands 1
REQ-000-095 no orchestrata version shows version 1
REQ-000-096 no --json flag for machine-readable output 2
REQ-000-097 no Clear error messages (no raw tracebacks) 5
REQ-000-098 no Help text for every command and subcommand none
REQ-000-109 no uv sync installs orchestrata script to venv bin directory none
REQ-000-110 no uv run orchestrata works from any directory within the workspace none
REQ-000-111 no Root pyproject.toml defines [project.scripts] entry point none
REQ-000-112 no Entry point resolves to orchestrata.kernel.cli_main:main 1
REQ-000-099 no Single orchestrata entry point replaces 5 existing CLIs 1
REQ-000-100 no orchestrata-kernel start subsumed by orchestrata start 1
REQ-000-101 no orchestrata-postman start subsumed by orchestrata start 1
REQ-000-102 no orchestrata-session commands wrapped by orchestrata session 1
REQ-000-103 no orchestrata-console replaced by full command tree 1
REQ-000-104 no U:Cx (Concierge) intake workflow: clarify, gather facts, escalate none
REQ-000-105 no U:Ar (Architect) 5-step pipeline: research, questions, design, tasks, review loop 1
REQ-000-106 no U:Vz (VizInt) reviews architecture for gaps before implementation none
REQ-000-107 no Each volk has a world-class expert system prompt 1
REQ-000-108 no Every volk action traced to a numbered spec none

Code that traces this spec

Module Symbols Requirements
orchestrata_ultimate/agents/volks/architect/volk 1 1
orchestrata_ultimate/agents/volks/persona 1 1
orchestrata_ultimate/governance/prolog_client 1 1
orchestrata_ultimate/governance/prolog_gate 6 6
orchestrata_ultimate/kernel/cli_client 2 1
orchestrata_ultimate/kernel/cli_main 41 80
orchestrata_ultimate/kernel/cli_watch 3 1
orchestrata_ultimate/kernel/pipeline 7 11
orchestrata_ultimate/kernel/pipeline_checkpoint 1 1
orchestrata_ultimate/kernel/pipeline_escalation 3 4
orchestrata_ultimate/orchestrator/engine 1 1
orchestrata_ultimate/orchestrator/orchestrator 2 2
orchestrata_ultimate/orchestrator/pipeline_escalation 9 9
orchestrata_ultimate/orchestrator/pipeline_runner 2 1
orchestrata_ultimate/session/cli/pipeline 5 10

Checklists

checklists/README.md

SPEC-000: Orchestrata CLI — Checklist Overview

Purpose

Checklists for the unified Orchestrata CLI — the human's control plane over the multi-agent orchestration system. The CLI is a thin interface layer over Specs 001-008.

Checklist Files
File Contents Items
constitutional.md 11 constitutional articles compliance 110
requirements.md 10 user stories + cross-cutting requirements 108
testing.md Unit, integration, and performance tests 143
Total 361
Command Coverage
Spec ID Command Group Requirements Tests
SPEC-000-001 orchestrata init 8 reqs 7 tests
SPEC-000-002 orchestrata start/stop/status 18 reqs 18 tests
SPEC-000-003 orchestrata config team 6 reqs 6 tests
SPEC-000-004 orchestrata intent/respond 9 reqs 8 tests
SPEC-000-005 orchestrata agents/packets 9 reqs 8 tests
SPEC-000-006 orchestrata review/approve/reject 8 reqs 8 tests
SPEC-000-007 orchestrata governance 8 reqs 7 tests
SPEC-000-008 orchestrata verify 6 reqs 6 tests
SPEC-000-009 orchestrata knowledge 4 reqs 5 tests
SPEC-000-010 orchestrata session 10 reqs 10 tests
Cross-cutting Prolog gates, CLI design, unified CLI, volks 22 reqs 19 tests
Dependencies on Other Specs
This CLI Command Depends On
orchestrata start Spec 001 (Kernel), 002 (Postman), 006 (Session), 007 (Governance)
orchestrata intent Spec 003 (Intent), 004 (CXP), 007 (Governance)
orchestrata agents Spec 001 (Kernel), 002 (Postman)
orchestrata review/approve Spec 004 (CXP), 002 (Postman)
orchestrata governance Spec 007 (Prolog Governance)
orchestrata verify Spec 007b (Verification), 008 (Knowledge Graph)
orchestrata knowledge Spec 008 (Knowledge Graph)
orchestrata session Spec 006 (Session Management)
Completion Tracking

All checkboxes start unchecked [ ]. A checkbox is marked [x] ONLY when:

  1. The implementation exists in code
  2. A test verifies the implementation
  3. The test passes
  4. Prolog logic gates confirm completion (may_complete/2)

No self-declaration. No assumption. Verified only.

checklists/constitutional.md

SPEC-000: Constitutional Compliance Checklist — Orchestrata CLI

Article I: Human Authority
Article II: Prolog as Single Source of Truth
Article III: Session Isolation
Article IV: Hooks for Extensibility
Article V: Minimal Core, Maximal Extension
Article VI: Python 3.11+ Implementation
Article VII: Testing Without Mocks
Article VIII: Metrics and Observability
Article IX: Graceful Degradation
Article X: Version Compatibility
Article XI: Documentation First

checklists/requirements.md

The requirement list above comes from this file; 0 of 112 checkbox items are ticked.

checklists/testing.md

SPEC-000: Testing Checklist — Orchestrata CLI

Unit Tests: Project Initialization (SPEC-000-001)
Unit Tests: Runtime Lifecycle (SPEC-000-002)
Unit Tests: Team Configuration (SPEC-000-003)
Unit Tests: Intent Submission (SPEC-000-004)
Unit Tests: Agent Monitoring (SPEC-000-005)
Unit Tests: Review and Approval (SPEC-000-006)
Unit Tests: Governance (SPEC-000-007)
Unit Tests: Verification (SPEC-000-008)
Unit Tests: Knowledge Graph (SPEC-000-009)
Unit Tests: Session Management (SPEC-000-010)
Unit Tests: Prolog Completion Gates
Unit Tests: CLI Framework
Integration Tests
Performance Tests

Other tracked files

Full spec text

Verbatim from specs/000-orchestrata-cli/spec.md; headings are pushed down two levels.

SPEC-000: Orchestrata CLI

Metadata


Overview

What

The Orchestrata CLI is the human's entry point into the orchestration system. It provides a unified command interface to initialize projects, boot the runtime, submit intents, monitor agents, review outputs, query governance, and manage sessions.

Why
How

User Scenarios & Stories

US-001: Project Initialization (P1)

As a developer I want to initialize a new Orchestrata project So that I can start orchestrating agents quickly

Acceptance Criteria:

Command:

orchestrata init <project> [--template <type>]

US-002: Runtime Lifecycle (P1)

As a system operator I want to control the Orchestrata runtime So that I can start, stop, and monitor the system

Acceptance Criteria:

Commands:

orchestrata start [--config <path>]
orchestrata stop
orchestrata status

US-003: Intent Submission (P1)

As a user I want to submit natural language intents to the system So that agents can execute my requests

Acceptance Criteria:

Commands:

orchestrata intent "<text>"
orchestrata respond --thread <id> "<text>"

US-004: Agent Monitoring (P2)

As a system administrator I want to monitor agents and message flow So that I can observe system health

Acceptance Criteria:

Commands:

orchestrata agents list
orchestrata agents health
orchestrata packets --thread <id>

US-005: Review and Approval (P1)

As a human supervisor I want to review and approve agent outputs So that Article I (Human Authority) is enforced

Acceptance Criteria:

Commands:

orchestrata review <volk>
orchestrata approve --thread <id>
orchestrata reject --thread <id> "<reason>"

US-006: Governance Query (P2)

As a governance officer I want to query and inspect governance policies So that I can understand system constraints

Acceptance Criteria:

Commands:

orchestrata governance check "<action>"
orchestrata governance log
orchestrata governance policies

US-007: Verification (P2)

As a quality engineer I want to run verification against specifications So that I can validate requirements compliance

Acceptance Criteria:

Command:

orchestrata verify [--spec <id>]

US-008: Knowledge Graph Query (P2)

As a analyst I want to query the knowledge graph So that I can retrieve project context and history

Acceptance Criteria:

Command:

orchestrata knowledge query "<query>"

US-009: Session Management (P1)

As a developer I want to manage work sessions So that I can track work and resume contexts

Acceptance Criteria:

Commands:

orchestrata session status
orchestrata session list
orchestrata session end [--archive]
orchestrata session resume
orchestrata session facts

Functional Requirements

FR-001: Command Structure
FR-002: Configuration Management
FR-003: Service Integration
FR-004: Human-in-the-Loop
FR-005: Output Formatting

Technical Design

Architecture
┌─────────────────────────────────────────────────────────┐
│                    orchestrata CLI                       │
├─────────────────────────────────────────────────────────┤
│  init  │  start/stop/status  │  intent/respond         │
│  agents │  review/approve/reject  │  governance         │
│  verify  │  knowledge  │  session                     │
├─────────────────────────────────────────────────────────┤
│              CLI Entry Point (Click)                    │
├─────────────────────────────────────────────────────────┤
│  orchestrata-kernel  │  orchestrata-postman            │
│  orchestrata-session │  orchestrata-governance         │
│  orchestrata-knowledge                                │
└─────────────────────────────────────────────────────────┘
Entry Point
Existing CLI Mapping
Existing CLI Spec 000 Equivalent
orchestrata orchestrata start (expanded)
orchestrata-kernel Subsumed by orchestrata start
orchestrata-postman Subsumed by orchestrata start
orchestrata-session orchestrata session * (wrapped)
— orchestrata init (NEW)
— orchestrata intent (NEW)
— orchestrata governance (NEW)

Success Criteria

  1. All commands listed in Command Tree are functional
  2. Integration with all 8 component specs verified
  3. Human-in-the-loop workflows tested
  4. Configuration management working
  5. Help text complete for all commands

Dependencies


Open Items

# Item Owner
1 Define orchestrata.yaml project config schema U:Ar
2 Define how intent translates natural language to structured intent Spec 003
3 Define how review renders volk output (terminal format) U:Ar
4 Define how knowledge query translates natural language to Cypher Spec 008
5 Determine if standalone kernel/postman CLIs are kept for microservice deployment U:Ar

Revision History

Date Version Author Changes
2026-03-07 1.0 Mohamed Initial specification