Turn an objective into a tracked, resumable execution plan. A-to-Mind runs each step, enforces token budgets, and preserves state so you can pause, inspect, and continue without losing context.
$ npx a-to-mind run release-note \
--repo acme/payments \
--budget-usd 2 \
--approval-mode required
import { AtoMind } from '@a-to-mind/sdk';
const run = await new AtoMind().run({
repo: 'acme/payments',
budgetUsd: 2,
approvalMode: 'required',
});
Plan → Approve → Run → Ledger
Every run ships with an immutable execution trace: plans, approvals, model calls, tool calls, costs, retries, and artifacts.
Hit play. The executor runs each step under a signed, least-privilege grant and halts at the Slack write, waiting for your approval before anything externally visible happens. That is the human-in-the-loop guarantee, live.
SAMPLE RUN — canned data. The production engine executes real workflows through this exact trace format.
“Monitor competitor pricing every morning, summarize material changes, write a Markdown report, and notify Slack only when thresholds are exceeded.”
Illustrative trace: the figures below are a canned example, not a live or verified run.
objective Monitor competitor pricing daily and alert on material changes
plan 4 steps · approved policy: read-only + slack.write behind approval gate
step 1 fetch pricing pages http.read 1,842 tok $0.004
step 2 extract & diff prices file.transform 963 tok $0.003
step 3 summarize material changes model.call 2,107 tok $0.006
step 4 write report.md artifact 0 tok $0.000
> threshold hit (+4.2% on 2 SKUs) - slack.notify awaiting approval
result report.md (sha256 9f2c…e81b) - 15.4s total - $0.013 of $2.00 cap
status succeeded - full ledger exported to run_01H8X.json
Approval gates surface where your team already works — no new dashboard required to say yes or no.
Spend caps and a default-deny tool allowlist are part of the run spec — versioned and enforced server-side, not in client code.
{
"budget": { "usd": 2, "tokens": 50000, "toolCalls": 20, "retries": 3 },
"tools": { "mode": "deny-by-default", "allow": ["http.read", "git.read", "slack.write"] },
"approvals": { "requiredFor": ["slack.write", "deploy.*"] }
}
const policy = {
budget: { usd: 2, tokens: 50000, toolCalls: 20, retries: 3 },
tools: { mode: 'deny-by-default', allow: ['http.read', 'git.read', 'slack.write'] },
approvals: { requiredFor: ['slack.write', 'deploy.*'] },
};
Every external write, deploy, or publish waits for explicit human approval — enforced server-side, not in client code.
The executor can only touch tools on a per-run allowlist you control. Nothing else exists to it.
Dollars, tokens, tool calls, elapsed time, and retries have hard ceilings enforced by the platform. Exceeding them fails the run safely.
Runs survive restarts and crashes. Pause, resume, or retry without duplicating external side effects, using idempotency keys throughout.
An append-only record of every decision, model call, tool effect, and artifact — exportable as JSON.
Cancel and pause are honored server-side, mid-step. Cancellation is itself an audited event.
| Stage | What happens |
|---|---|
| Define | You submit an objective, expected artifact, tool allowlist, budget, deadline, and approval policy. |
| Review plan | A planner proposes discrete steps. You inspect and approve the plan before anything runs. |
| Set policy | Spend caps, tool permissions, and approval gates are locked to the run and versioned. |
| Execute | Each step runs under signed, least-privilege grants with its own budget and idempotency key. |
| Evaluate | A separate evaluator checks structured acceptance criteria against artifacts and decides accept / reject / escalate. |
| Export or resume | Get a full JSON run report, or resume from the last checkpoint after fixing inputs. |
All launch templates listed here are read-only engineering specs. Business packages (Glass-Box, Surface Ledger, Promise Ledger, Adversarial Twin, Hostile Mirror) stay on their playbook URLs until an approved first-party run exists. This table does not sell a notify gate.
| Template | Output | Authority |
|---|---|---|
| Release-note generator | Markdown notes from a tag range | Read-only |
| GitHub Actions security audit | Findings plus suggested patch | Read-only |
| Cloudflare deployment review | Deployment-risk report | Read-only |
| Pull request review | Review comments and patch suggestion | Read-only |
| Incident research brief | Cited decision brief | Read-only |
| Documentation drift audit | Gaps plus proposed updates | Read-only |
| Dependency change impact report | Affected services and risks | Read-only |
Repository reads, PR reviews, and issue analysis. Writes arrive later, behind approval gates.
Workers, Pages, KV, D1, R2, and DNS inspection. Deployment diagnostics, initially read-only.
Run notifications, approval requests with one-click decisions, final reports.
Register scoped, schema-validated internal HTTP/OpenAPI endpoints as tools.
Create runs, watch progress, approve steps, cancel, and export reports from your terminal or code.
Signed events with retries and event IDs for run lifecycle milestones.
Tasks are durable state machines, persisted across our global edge network — not fragile chat loops. Execution is bounded by construction: hard limits, validated state transitions, checkpointed progress, and an append-only ledger. If a worker dies mid-run, the run resumes from its last checkpoint. If a step fails, the evaluator classifies why and whether a retry is safe. The same properties make runs diagnosable when they succeed and useful when they fail.
Usage-based by default. Connect your own model keys and pay providers directly at provider cost. The platform charges for orchestration, governance, and retention — never a token markup.
Hard spend caps are enforced server-side on every tier regardless of plan.
No surprise charges: a run that hits its ceiling fails safely with budget_exhausted in the ledger.