A provider-neutral, local-first Agent OS for turning goals into governed, evidence-backed work.
Deckent unifies an assistant, parallel workers, and a platform control plane around one authority chain: Goal → Mission → Flow → Run → WorkItem → Attempt → Operation. Terminal and Desktop are the primary operator surfaces; CLI, MCP, API, process/autonomous entry points, and connectors are adapters; Dashboard is an observability projection. [Evidence: .deckent/workspace/IDENTITY.md:2-10,16-17]
English documentation · Türkçe dokümantasyon · Current truth gaps
A useful agent runtime must do more than generate code. Deckent resolves provider and model policy, decomposes dependency-aware work, constrains write scope, records attempts and operations, evaluates results, settles evidence, retains memory, and exposes recovery paths. Those responsibilities are visible in the current orchestration, configuration, memory, authority, and run-flow modules. [Evidence: src/orchestra/sprint-controller.ts; src/orchestra/dependency-scheduler.ts; src/core/config.ts; src/core/memory-store.ts; src/core/run-flow-store.ts; src/core/task-settlement-authority.ts]
The product is designed for two audiences at once: a solo user who wants low-friction control, and organizations that require multi-project, multi-tenant, cross-platform policy and audit. It must work across macOS, Linux, Windows native, and WSL2, or fail explicitly when a capability is unavailable. [Evidence: AGENTS.md:13-35; .deckent/workspace/IDENTITY.md:6,15]
The npm package exposes deckent and deckent-mcp, requires Node.js >=24.0.0, and publishes the compiled dist tree. [Evidence: package.json:2-20,115-123]
For a published-package installation, the declared command is npm install -g deckent. This documentation audit did not execute that networked, global mutation, so installation-from-registry remains HOLD until the publish pipeline verifies it. The repository build command npm run build:all was run by the owner immediately before this rewrite. [Evidence: package.json:22-38; owner run statement, 2026-08-01; docs/analysis/OPEN-QUESTIONS-2026-08.md]
Releases are governed rather than manual. main is protected by a GitHub merge queue, so CI re-runs the required checks on the final merge result and not only on the pull-request branch; the CI workflow listens on merge_group for exactly that reason. A v* tag then runs a single publish authority: install → build:all → validate:publish → smoke gate → npm publish → GitHub Release. The older publish workflow is retired to a read-only dry-run and never uploads to the registry. [Evidence: .github/workflows/ci.yml:3-11,17-23; .github/workflows/release.yml:1-11; .github/workflows/publish.yml:1-12]
The following four commands were executed against the current compiled binary on 2026-08-01. They are read-only; they identify the binary, inspect readiness, preview onboarding, and read current run authority.
node dist/cli/entry.js --version-json
node dist/cli/entry.js doctor --json
node dist/cli/entry.js onboard --plan-only --json
node dist/cli/entry.js status --jsonObserved checkpoints:
- Version reported
0.100.0, Nodev24.15.0, Linux; exit 0. - Doctor returned
ok: true; its honest summary reported 15 ready and 2 non-required missing checks in this workspace; exit 0. - Onboarding returned a project-scoped, balanced config plan with
applied: false; it detected logged-in Claude and Codex sessions and did not write the plan; exit 0. - Status returned
active: false,lifecycle: IDLE, and an honest provider-observationHOLDfor four unresolved intervals outside the exact current-run task set; exit 0.
[Evidence: real-binary outputs for all four commands, 2026-08-01; read-only contracts src/cli/commands/doctor.ts:2190-2245, src/cli/commands/onboard.ts:301-316,502-546, src/cli/commands/status.ts:725-781,1024-1040]
Starting actual work is intentionally not presented as verified here. The audit was expressly prohibited from running sprint/run/autonomous execution commands. The exact execution-proof authority is therefore typed HOLD rather than replaced with fabricated output. [Evidence: owner boundary; docs/analysis/OPEN-QUESTIONS-2026-08.md OQ-20]
| Need | Surface | Current user contract | Repository truth |
|---|---|---|---|
| Conversational control | Bare deckent or deckent chat --native |
Interactive agentic REPL | Bare invocation routes to native chat; interactive TTY uses the Ink REPL. [Evidence: src/cli/entry.ts:51-107,157-171,664-713] |
| Goal preview / governed start | deckent do <goal> |
Preview by default; --run --yes is the explicit non-interactive start path when RunFlow v2 is enabled |
Proposal compilation is a real provider call; the RunFlow path can persist a proposal even without starting, so it was not run in this audit. [Evidence: src/cli/commands/do.ts:132-179,219-357,440-517] |
| Structured lifecycle | plan, start, status, review, retro |
Plan, execute, observe, adjudicate, learn | All command/help contracts are live; state-changing paths were help-verified only in this audit. [Evidence: src/cli/commands/plan.ts:121-205; src/cli/commands/start.ts:329-345; src/cli/commands/status.ts:1024-1040; src/cli/commands/review.ts:184-224; src/cli/commands/retro.ts:334-342] |
| One-shot work | run <description> |
Execute one task without a sprint cycle | The same run parent also owns lifecycle aliases, a documented CLI ambiguity. [Evidence: src/cli/commands/run.ts:451-476,920-939] |
| Run inbox and decisions | deckent runs [n] |
List run-flows, then decide a single run with --approve, --reject, --start, --retire, --diff, or --commit; --limit <n> widens the listed window and --close-stale classifies dead records |
All of those flags are registered on one runs command. --retire cancels an approved run that never started; a flow-id prefix resolves against every flow regardless of --limit. [Evidence: src/cli/commands/runs.ts:249-262] |
| Owner-managed model activation | deckent models list/activate/deactivate/activation |
Detection reports what a provider offers; activation records what the owner allows into the routing pool | activate and deactivate both require --provider; a model with no recorded decision counts as active, so an untouched project is unchanged. [Evidence: src/cli/commands/models.ts:158-205] |
| Durable process work | process submit/status/result |
Submit an ExecutionRequest; side effects can park for approval |
CLI surface is registered and points at process services. [Evidence: src/cli/commands/process.ts:142-190] |
| Continuous work | autonomous … |
Durable backlog, approvals, status, and loop controls | Manifest marks runtime active but default-off and records missing MCP parity plus an attach-only reactive bridge. [Evidence: .deckent/settings/features-manifest.json; src/cli/commands/autonomous.ts:1710-1946] |
| Remote/programmatic control | HTTP/SSE and MCP | API server and 49 MCP tools / 8 resources | 49 tools are registered; CLI/MCP parity gate still accepts 37 CLI-only and 1 MCP-only baseline gaps. [Evidence: src/mcp/tools/index.ts:68-125; src/mcp/server.ts; npm run lint:parity, 2026-08-01] |
- Deterministic, evaluation-backed lifecycle orchestration, dependency scheduling, FIX retries, checkpoints, retrospectives, and rollback policy. [Evidence:
src/orchestra/sprint-phases.ts;src/orchestra/dependency-scheduler.ts;src/orchestra/sprint-checkpoint.ts;src/orchestra/rollback.ts] - Provider-neutral routing from effective config, model registry, live authority, reachability, limits, and budget rather than a hard-coded product provider. [Evidence:
.deckent/workspace/IDENTITY.md:10;src/core/config.ts;src/core/model-registry.ts;src/core/routing/route-task-v3.ts] - DB-first memory with SQLite/FTS5, relation/history support, document freshness, KPI stores, recall, and export/backup operations. [Evidence:
src/core/memory-store.ts:100-338;src/core/memory-query.ts;src/cli/commands/memory.ts;src/cli/commands/recall.ts:11-20] - Runtime-wide approval, authority, audit, scope, and immutable settlement contracts. [Evidence:
src/core/approval-broker.ts;src/orchestra/authority-enforcer.ts;src/core/task-settlement-authority.ts;src/core/invocation-receipt-store.ts:705-850] - Native REPL, terminal dashboard, web/API server, Desktop, VS Code extension, connectors, CLI, and MCP surfaces. [Evidence:
src/cli/entry.ts:664-713;src/cli/commands/dashboard.ts:147-214;src/cli/commands/serve.ts:72-80;src/desktop;src/extensions/vscode;src/connectors;src/mcp] - 215 visible CLI command paths under 75 top-level commands, 51 canonical MCP tools, 8 MCP resources, 21 built-in agents, and 31 built-in skills. The identity projection reports the same agent and skill counts. [Evidence: recursive
buildProgram()andTOOL_CATALOGintrospection plus filesystem counts, 2026-08-18;.deckent/workspace/IDENTITY.mdidentity-summaryblock]
Status labels in the detailed docs mean:
✅ live: source wiring exists and current runtime evidence supports the claim.⚠️ partial: code exists, but a flag, missing proof, parity gap, or production closure limits the claim.🔜 roadmap: design/history exists without current production closure.
The feature manifest currently lists 21 active, 4 lightly used, 9 dormant, and 1 dead entry. The live truth --json check reported five truth contracts: training trace was code/wired/enabled/proven; tool surface, worker approval gate, and routing journal lacked runtime proof; prompt-gate-block had no detected callsite and was the single half-wire candidate. [Evidence: .deckent/settings/features-manifest.json; real node dist/cli/entry.js features --json and truth --json outputs, 2026-08-01]
The latest dogfood handoff does not certify unattended production reliability: its Codex audit records 0/31 intervention-free runs and documents settlement/gate contradictions that require the ordered certification ladder. These are not hidden behind product language; see Current frictions and the difference report. [Evidence: docs/MASTER-PLAN.md — RECOVERY-BORN-488 family, RECOVERY-BORN-490-REPLAY-CERTIFICATION-001 and CODEX-MAIN-001 decision line]
- Getting started
- Run lifecycle
- Execution modes
- Interactive surfaces
- Feature catalog
- CLI reference
- MCP reference
- Database reference
- Configuration
- Complete bilingual documentation index
- Code–documentation difference report
Deckent's three immutable laws are Dual Lens + Scale, Every Environment, and Never MVP. The complete governance interpretation is documented in Immutable Laws. [Evidence: AGENTS.md:9-35]
License: MIT. [Evidence: package.json:90-91; LICENSE]
- 51 MCP tools + 8 MCP resources
- 21 built-in agents
- 30 built-in skills
- 20 dashboard pages