Capabilities live in one canonical, versioned repository and are projected one way into the runtimes where AI operators work. Surfaces subscribe to what the factory publishes. Evidence is what earns a change back into source.
A runtime root like ~/.claude or ~/.codex is output, not input. A hand edit there is drift, not authority: it is unversioned, unreviewed, invisible to every other surface, and gone the next time the factory publishes.
So the sync engine snapshots projected-file hashes and halts before clobbering a hand-edited live file. The diff is surfaced instead, so a legitimate live fix can be promoted into canonical source and then re-projected everywhere.
A declaration says what Scaffolde can project and verify; it does not prove that local auth, provider access, gateways, or processes are healthy on a particular machine. That is what doctor and readiness are for.
Four steps turn a capability into versioned infrastructure every declared surface can use.
Skills, agents, workflows, contracts, and adapters are written in the repository first and versioned like any other code. Nothing becomes authoritative by being typed into a runtime root.
Manifests declare what exists and what each surface receives. A missing or inconsistent reference stops projection instead of shipping a half-built surface.
The sync engine writes managed files into each declared runtime root and records hash checkpoints, so the next run can tell a fresh projection apart from a hand edit.
Doctor and readiness report each surface as ready, degraded, attention, or blocked. Those signals, plus tests and Work Packets, decide whether a change earns its way back into source.
Scaffolde runs on Algorithm 8.4.0, a conjecture-and-refutation loop: the goal survives verbatim, done is a set of falsifiable claims, and each claim names the probe that could disprove it. “Should work” is forbidden.
| Claim modality | Evidence that closes it |
|---|---|
| file | A read of the file that was written. |
| deploy | A live probe against the deployed target. |
| ui | A real browser session driving the interface, never curl. |
| completion | Matching tool calls, graded by the VerificationGate hook. Gaps block. |
‘Should work’ is forbidden.
Memory is federated, not pooled. Each store owns one kind of truth, and the boundaries are written down rather than assumed.
| Store | What it owns |
|---|---|
| Paperclip | The durable backlog: tasks, assignment, and status across sessions. Vendored upstream with explicit patch boundaries. |
| .scaffolde/tasks/ | Execution evidence: what a run actually did, kept next to the work it describes. |
| gbrain | Synthesized cross-surface knowledge with lineage, so a recalled fact carries where it came from. Vendored upstream. |
| SecondBrain / Telos | Human-authored intent: goals, preferences, and direction written by the operator. |
Human authority wins conflicts.
‘Should work’ is forbidden.
177 active skills, nearly 40 agents, 235 workflows, and 12 declared surfaces, all from one canonical source.