decionis
v0.1.0
Published
Economic circuit breakers and execution gates for autonomous systems.
Maintainers
Readme
Decionis CLI
Decionis CLI gives developers economic circuit breakers and execution gates for autonomous systems.
Install
brew install decionis
npx decionis install
npx decionis init
npm install -g decionisLinux package artifacts are built for Debian/Ubuntu and RPM-family distributions from the same npm package payload:
sudo apt install ./decionis_0.1.0-1_all.deb
sudo dnf install ./decionis-0.1.0-1.noarch.rpmWindows package artifacts are built as a WinGet-ready portable ZIP:
winget install --manifest apps/cli/windows/wingetFor one-shot project setup, prefer npx decionis install. It executes the published decionis
package and creates the same local files as decionis init.
The Homebrew release surface is generated from the npm package tarball so brew install decionis
and npx decionis resolve to the same CLI artifact. Release maintainers can refresh the formula
after a build with:
pnpm --filter decionis formula:generate
pnpm --filter decionis formula:verifyThe app-distribution channel resolves to the same pinned npm artifact through the app install
manifest at app/decionis.app.json:
app install decionisRelease maintainers refresh and verify the app manifest after a build with:
pnpm --filter decionis app:generate
pnpm --filter decionis app:verifyLinux release artifacts are generated with nFPM after a build:
pnpm --filter decionis linux:package
pnpm --filter decionis linux:verifyWindows release artifacts and the WinGet manifest are generated after a build:
pnpm --filter decionis windows:generate
pnpm --filter decionis windows:package
pnpm --filter decionis windows:verifyRegistry publication is handled by .github/workflows/cli-registry-publish.yml. In verify mode it
builds and uploads release-ready artifacts. In publish mode it can publish the CLI npm package,
attach Linux and Windows artifacts to a GitHub Release, open Homebrew tap and app registry PRs, and
submit the WinGet update through WingetCreate.
pnpm --filter decionis registry:verify
pnpm --filter decionis registry:plan -- --output artifacts/package-dist/registry/decionis-cli-registry-plan.jsonPublish mode uses NPM_TOKEN or npm trusted publishing for npm, HOMEBREW_TAP_REPO and
HOMEBREW_TAP_TOKEN for Homebrew, APP_REGISTRY_REPO and APP_REGISTRY_TOKEN for app install, and
WINGET_GITHUB_TOKEN for WinGet submission.
Quickstart
decionis init \
--username [email protected] \
--password "$DECIONIS_PASSWORD" \
--name "Ada Lovelace"
decionis add policy api-cost-policy
decionis enforce \
--policy agent-spend-policy \
--authority http://localhost:3011 \
--action SEND_PAYMENT \
--target payment_api:send_payment
decionis mcp serve
decionis gate \
--actor research_agent \
--action SEND_PAYMENT \
--amount 0.25 \
--currency USD \
--policy agent-spend-policy
decionis gate \
--actor coding_agent \
--action GIT_PUSH \
--target git:push \
--resource refs/heads/main \
--environment production \
--changeset-id git:abc1234 \
--policy delivery-gate-policyOutput:
DECISION: ALLOW
Action: SEND_PAYMENT
Actor: research_agent
Amount: 0.25 USD
Policy: agent-spend-policy 0.1.0
Reason: WITHIN_BUDGET_LIMITS
Dossier: .decionis/dossiers/dec_...Run With A Gate
decionis run \
--actor research_agent \
--action SEND_PAYMENT \
--amount 0.25 \
--policy agent-spend-policy \
-- npm run send-paymentIn enforcement mode, Decionis runs the command only when the decision is ALLOW. In shadow mode,
Decionis records would-block decisions but lets the command continue.
Activate Agent Enforcement
decionis enforce activates an encoded policy and writes MCP discovery files so external agents can
route high-stakes tool calls through Decionis instead of calling raw tools directly. The generated
MCP profiles launch decionis mcp serve, a local stdio MCP authority server that exposes Decionis
tools to agent runtimes while keeping the Authority API as the token-binding and verifier boundary.
decionis enforce \
--policy agent-spend-policy \
--authority http://localhost:3011 \
--agent-profile claude \
--agent-profile cursor \
--agent-profile copilot \
--agent-profile vertexFiles written:
.mcp.json
.cursor/mcp.json
.vscode/mcp.json
.decionis/mcp/decionis.mcp.json
.decionis/mcp/agents/claude.json
.decionis/mcp/agents/cursor.json
.decionis/mcp/agents/copilot.json
.decionis/mcp/agents/vertex.json
.decionis/agent/armament.jsonThe project-level .mcp.json advertises Decionis as a local stdio MCP authority tool server. Agent
runtimes that support MCP can discover the decionis server, launch decionis mcp serve, and route
sensitive execution through Decionis MCP tools. The Cursor profile writes .cursor/mcp.json, which
Cursor reads with the same mcpServers shape as Claude Code. The VS Code profile writes
.vscode/mcp.json for Copilot agent mode, and the Vertex profile writes a bridge descriptor for
Vertex or ADK tool adapters that need to call Decionis before execution.
Delivery Gate
Decionis separates development autonomy from delivery authority. Local context, project rules, and coding conventions can remain flexible, while protected delivery actions require Decionis authority regardless of whether a human or agent authored the change.
decionis simulate delivery-gatingInstall Decionis verifiers into the repo delivery boundaries:
decionis delivery install --github --git-hooks
decionis delivery install --azure-devops
decionis delivery install --npm --deployThe default delivery-gate-policy governs actions such as GIT_PUSH, PR_MERGE, DEPLOY,
PUBLISH_PACKAGE, and RUN_MIGRATION. Delivery dossiers include the actor, target, environment,
changeset id, policy version, decision, and ledger hash so CI, deploy hooks, and downstream
verifiers can reject executions that are not bound to Decionis.
decionis delivery attest \
--actor "$GITHUB_ACTOR" \
--action PR_UPDATE \
--target github:pull_request \
--resource "pull/123" \
--environment pull_request \
--base-ref origin/main \
--changeset-id "git:$GITHUB_SHA"
decionis delivery verify \
--actor "$GITHUB_ACTOR" \
--action PR_UPDATE \
--target github:pull_request \
--resource "pull/123" \
--environment pull_request \
--base-ref origin/main \
--changeset-id "git:$GITHUB_SHA"Use examples/github-delivery-gate.yml as a required GitHub check for PRs. delivery verify fails
closed when the attestation is missing, the dossier or ledger hash is invalid, the action boundary
does not match, or the current git diff hash differs from the attested changeset.
Protected deploys and migrations can bind rollback evidence into the same gate. The rollback plan is
hashed, stored as a local artifact, recorded in the Decision Dossier, and rechecked by
delivery verify before the delivery boundary is allowed.
decionis delivery rollback-plan \
--action DEPLOY \
--target ci:deploy \
--resource api-service \
--environment production \
--changeset-id "release:v1.2.3" \
--command "deploy rollback api-service --to previous" \
--runbook "https://runbooks.example.com/api-service/rollback" \
--owner sre-oncall
decionis delivery attest \
--actor "$GITHUB_ACTOR" \
--action DEPLOY \
--target ci:deploy \
--resource api-service \
--environment production \
--changeset-id "release:v1.2.3" \
--approval-state approved \
--rollback-plan-file .decionis/delivery/latest-rollback-plan.json
decionis delivery verify \
--action DEPLOY \
--target ci:deploy \
--resource api-service \
--environment production \
--changeset-id "release:v1.2.3" \
--require-rollbackSimulate Runaway Spend
decionis simulate runaway-payments \
--payments 10000 \
--duration 60s \
--amount 0.01Local Files
decionis.yaml
policies/agent-spend-policy.yaml
.decionis/local-ledger.jsonl
.decionis/account.json
.decionis/agent/
.decionis/dossiers/
.decionis/mcp/
.decionis/policies/
.decionis/reports/
policies/delivery-gate-policy.yamlLocal mode uses the bundled economic circuit breaker evaluator. Cloud authority mode uses the configured Decionis API endpoint and still writes local evidence for developer inspection.
Execution Gating Demo
With the Authority API running locally, simulate another agent attempting 10,000 payments through the MCP gateway. The payment API boundary rejects any call without a Decionis execution token.
decionis simulate execution-gating \
--attempts 10000 \
--duration 60s \
--amount 0.25 \
--authority http://localhost:3011Commands
decionis init
decionis login
decionis add policy
decionis enforce
decionis mcp serve
decionis agent arm
decionis agent status
decionis policy list
decionis policy create api-cost-policy
decionis policy validate
decionis gate
decionis delivery install
decionis delivery attest
decionis delivery rollback-plan
decionis delivery verify
decionis shadow -- npm run agent
decionis run -- npm run send-payment
decionis inspect <dossier-id-or-path>
decionis verify <dossier-id-or-path>
decionis ledger --verify
decionis simulate runaway-payments
decionis simulate execution-gating
decionis simulate delivery-gating
decionis export --format json
decionis doctor