ALPHA · IN PREPARATION
Developer Companion and Intent Runtime
This is an Alpha architecture reference, not an installation flow. It separates the published foundation from the Companion that is still to be connected end to end.
Alpha in preparation
Developer Companion is not yet an end-to-end executable product. No Mission Graph is automatically dispatched to a Mac, there is no Codex or Claude adapter, and the Evidence Gate does not yet produce sealed Evidence. The sections below distinguish what can be inspected today from what remains planned.
Available today in the Alpha
Two sets of primitives exist independently: the seven kelvin_intents_* tools in Kelvin Cloud issue the plan and record session state; kelvin_companion_challenge, kelvin_companion_prepare, and kelvin_companion_attest on the local MCP approve a granted directory and produce its integrity record. There is not yet a bridge that automatically dispatches the first set to the second.
The published contract
kelvin_intents_plan issues an inert Mission Graph proposal bound to the project, principal, OAuth client, policy, digest, and expiry. The Alpha template covers feature and fix and declares intake, preflight, reproduce (for a fix only), agent work, review, test, and Evidence Gate. Dependencies, budgets, timeouts, retries, and exit criteria are part of the contract; that does not mean every limit or node already has an executor.
What the Alpha primitives do
- Plan: “fix this bug” becomes a short-lived, inert issuance of nodes and criteria. It stores bindings and digests only, creates no session, job, Room, or grant, and start rejects a client-fabricated or modified plan.
- Record: start creates the durable session; inspect reads its state; cancel terminates it. None of these operations opens a shell or chooses a binary on the Mac.
- Claim: next returns at most one ready node with a short lease, action token, and monotonic fencing token. The fencing token identifies the attempt's current generation; it keeps old work from winning over new work, but grants no machine access.
- Report: report records an idempotent MissionActionReceipt and must match the current attempt, action token, fencing token, principal, and client. A self-reported outcome never suffices. An Evidence Gate never reaches completed in deliveryMode=verified without a sealed project EvidenceJob; a valid LocalWorkReceipt satisfies the gate only in demonstration and leaves the verdict unevaluated.
- Record local integrity: challenge/prepare/attest require human approval, resolve the canonical directory, calculate before-and-after digests, and sign the remote binding. The resulting LocalWorkReceipt still does not turn that record into sealed Evidence.
In preparation for end-to-end execution
Still missing are automatic authenticated dispatch to a real Mac, isolated worktrees and build lanes, Simulator allocation, real Codex and Claude adapters, an end-to-end local binding through an enrolled Node, the sealed EvidenceJob child, complete restart recovery, the fleet scheduler, dashboard UI, and Protocol Mirror. Only after those gates can the Companion say it executed and proved a mission end to end.
Artifact MCP: in preparation
Artifact MCP is not yet available to connect. Once published, it will be the surface for reading sealed Evidence and creating authorized derived flows — separate from Live MCP and granting no input, job, Room, or Mac access.
Privacy and surfaces
By default, Kelvin Cloud does not receive source code: it receives the project, a summary explicitly submitted by the user and limited to 2,000 characters, and digests. That summary is content classified as cloud_user_submitted, and sending it requires an explicit choice. This describes the Kelvin Cloud boundary; it does not promise that the agent provider is local.
Codex, Claude, or another MCP client may send source code to the selected model provider under that provider's contract and configuration. Kelvin does not proxy that traffic or copy it into Kelvin Cloud, but it does not block it either. The screen that will show the provider and data boundary before authorization remains in preparation.