One native owner
The coding agent reads a compact change packet and owns implementation. No relay race between PM, lead, engineer, QA, and retro personas.
OpenSpec-native change harness
A lean control plane for brownfield software work. OpenSpec holds the agreement. Your native coding agent builds it. Deterministic providers prove every observable claim.
plan 4 capabilities · 3 executions
reuse static-analysis receipt 19d8…
run test + discovery one process
run browser chromium · 2 claims
proof workspace 7f31… PASS
The harness, rebuilt
Long phase chains and lifecycle personas made orchestration dominate latency and token cost. Change Loop keeps judgment in one short loop and moves repeatable work into deterministic execution.
Rigor scales with risk and evidence—not with a task-size phase matrix.
The coding agent reads a compact change packet and owns implementation. No relay race between PM, lead, engineer, QA, and retro personas.
Claims select provider capabilities. Provider contracts run project-owned tools and produce receipts the runtime can validate.
Receipts bind to code, agreement, claims, configuration, environment, protocol, and artifacts. Unchanged proof work is reused.
Land checks proof freshness, applies only the proven sandbox, verifies identity, syncs specs, archives, and safely cleans up. An interrupted or multi-repository Land resumes from its journal.
The change loop
Not a waterfall. Investigation is optional; Land is the explicit completion boundary.
Use only when the problem, cause, or direction is materially unclear.
read-only explorationState intent, requirements, task outcomes, and evidence; the harness compiles stable OpenSpec links.
OpenSpec contractBuild from a compact packet inside an isolated Git worktree.
native agentReuse valid receipts; schedule only missing or stale evidence.
deterministic providersApply the proven diff, verify state, sync specs, and archive.
explicit transactionChange ⇄ Build ⇄ Prove
Revise the same change. Sync. Invalidate stale proof.
/changes · /dev
/changes lists active work. /dev composes the same workflow. The agent drives one advance coordinator; users never assemble the internal CLI chain.
Evidence, not confidence
Every observable acceptance scenario receives a stable claim ID. Each claim requires the capabilities that can actually demonstrate it. Missing, stale, failed, erroneous, or inconclusive evidence blocks landing.
The behavioral contract and ordinary derived wiring live in
evidence.yaml. Conditional execution.yaml overrides custom
commands, reports, services, or readiness—invalidating only the provider
fingerprints it touches.
Run one deterministic project command for one evidence capability.
// execution.yaml
"static-analysis": {
"adapter": "command",
"command": ["npm", "run", "check"],
"timeoutMs": 120000
}
Capability catalog
Less waiting, less paying
Providers run from one canonical proof decision. Independent readers can execute together; conflicting resources serialize; identical commands deduplicate.
Valid receipts survive across proof attempts while all bound inputs remain identical.
Same command, arguments, environment, working directory, timeout, and readiness run once.
Read-only work overlaps safely. Browser, server, database, and workspace writes remain exclusive.
Wall time, unique executions, requests, tokens, cache, cost, and orchestrator share stay inspectable.
Committed execution policy
foundation.json makes model routing, budgets, escalation, and review
policy visible in the repository. Portable tiers describe the work; the native host
selects the configured model family.
haikuInventory, logs, and mechanical documentation.
fallback → standardsonnetImplementation, tests, and focused investigation.
fallback → deepopusArchitecture, security, migration, and independent review.
no lower-confidence exitExplicit review policy
The shipped self + single-model policy works with Claude alone. Projects that need separation of duties can require an independent identity, another provider, or both.
Clear ownership
The AI decides what requires judgment. The harness executes what should be deterministic.
Proposal, delta specs, design, tasks, claims, and provider contracts.
openspec/changes/<id>/
Reads a bounded packet, edits the sandbox, and updates one task ledger.
.foundation/sandboxes/<id>
Hashes, schedules, validates receipts, finalizes proof, and guards landing.
.foundation/receipts/<id>/
How the agent knows
CLAUDE.mdloads
orchestrator.mdroutes
commands/*.mdcalls
claude-foundationruns
foundation.mjscomposes
runtime/
Readable state
The compact packet carries only what the next step consumes. Durable intent stays in
OpenSpec; machine lifecycle, receipts, logs, metrics, and sandboxes stay under
.foundation/.
openspec/changes/profile-auth/
├── proposal.md
├── tasks.md # sole task ledger
├── evidence.yaml # stable claims + capabilities
├── specs/ # standard lane
├── design.md # conditional context
├── grounding.yaml # conditional decisions
├── execution.yaml # conditional custom wiring
├── repositories.yaml # conditional multi-repo scope
└── handoffs.yaml # conditional external work
.foundation/
├── runtime/ # lifecycle + resolver
├── receipts/ # content-bound evidence
├── authority/ # review + acceptance requests
├── transactions/ # recoverable Land journals
├── logs/ # provider output + events
├── recovery/ # abandoned change records
└── sandboxes/ # isolated worktrees
The compiled OpenSpec packet is the source of truth. Semantic drafts and runtime actions are inputs and projections, not parallel requirement ledgers.
Install once per project
Change Loop-managed workflow files refresh on update. Project-owned specs, active changes, dependencies, and runtime state stay yours.
brew tap maximumsoft-co-ltd/claude-foundation \
https://github.com/Maximumsoft-Co-LTD/claude-foundation
brew install claude-foundation
claude-foundation init /path/to/project --yes
claude-foundation doctor --stage change/change add profile authentication/build profile-auth → /prove profile-auth/land profile-authNode.js 20.19 or later, Git for worktree isolation, jq for the Claude settings merge, and the OpenSpec CLI for spec synchronization and archive: npm install -g @fission-ai/openspec@1.7.0. Open a new agent session in the target project afterwards so the slash commands register.
claude-foundation init --host cursor|opencode|codex layers a host adapter over the same install: Cursor gets the commands and an always-on rule, OpenCode gets the commands plus a plugin that replays the live guards, and Codex gets the prompts with Land gates as the enforcement. Worktree sandboxes can also install their own dependencies via sandbox.setupCommand in foundation.json.
Install and lock @playwright/test and browser binaries in the application. Change Loop validates and executes the local tool; it never downloads an unpinned browser framework during proof.
Operator surface
change start <draft.json>compile one semantic brief into a valid OpenSpec changechange amend <id> <amendment.json>apply a linked semantic amendment transactionallyadvance <id> --through build|proven|archivedrun the safe lifecycle chain and stop only at a real boundarydoctor --change <id>check runtime, provider, and lifecycle readinesschangeslist active work and the next useful action for eachpacket <id>compact handoff without replaying historyevidence detect <id>find project-owned providers without executing themproof readiness <id>see typed blockers and canonical next actionsproof run <id>advanced primitive: run the proof phase onlyauthority request <id>open a resumable human review or acceptanceevidence verify-ci <id>verify signed CI provenance bound to the workspacemetrics <id>inspect latency, execution, token, and cost dataland check <id>verify the completion boundaryland archive <id>apply, verify, sync, archive, clean upland resume <id>resume an interrupted or multi-repository Landchange waive <id> --capability <c>withdraw one failed gate's enforcement on a recorded decisionchange abandon <id>quarantine a change that cannot be provendescribe [command]explain the six intent commands and every advanced primitiveBrownfield changes, without blind spots
One agreement, one implementation owner, executable evidence, and an explicit landing boundary.