ClankerOS is intentionally local-first. It is a harness around replaceable agents and command runners, not a hosted agent platform.
CLI commands
-> AgentSystem
-> SQLite state in .agent/state.db
-> markdown reports and JSON artifacts
-> dashboard, next-iteration, evals, and project notes
The control plane stores state in SQLite and writes human-readable continuity
to markdown. Runtime artifacts live under .agent/, .clanker/, runs/,
docs/, and projects/.
The first milestone keeps external side effects out of scope unless a command models the evidence and approval boundary explicitly. Most proof-chain commands write local rows and reports only.
Examples of blocked or report-only surfaces:
- hosted dashboard deployment;
- remote worker startup;
- autonomous scheduling;
- browser or desktop operation;
- CI/deploy execution;
- budget enforcement;
- trust promotion;
- automatic retries;
- real cost tracking.
For code changes, ClankerOS can:
- register a local git repo;
- create an isolated worktree;
- run a constrained local command;
- collect diff and test evidence;
- create a pending approval;
- create a local worktree commit after approval and freshness checks;
- write a GitHub handoff packet with commands for the operator.
The GitHub handoff packet does not push or open a pull request by itself.
The generated capability-chain reports may look repetitive. That is deliberate: each rung proves a tiny local transition and preserves source links, counters, and non-claims.
For example, a review command can record:
approval_requests_created=0;activation_actions_taken=0;external_mutations_taken=0;activation_allowed=false;capability_enabled=false.
Those zeros are part of the proof.
When adding a capability, prefer this order:
- write a focused failing test;
- add storage for durable state;
- add the CLI command;
- write a report with explicit non-claims;
- expose status in the dashboard and iteration packet;
- run focused, adjacent, full, and operational verification;
- update project notes and tutorials.