Skip to content

docs(adr): 0003 — one typed daemon contract behind every frontend - #92

Open
V3RON wants to merge 1 commit into
mainfrom
adr/0003-typed-daemon-contract
Open

docs(adr): 0003 — one typed daemon contract behind every frontend#92
V3RON wants to merge 1 commit into
mainfrom
adr/0003-typed-daemon-contract

Conversation

@V3RON

@V3RON V3RON commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Records ADR 0003. This is the base of a five-PR stack that implements it.

The daemon side is sound — it owns all state and exposes role interfaces. The frontend side is not ready for a fourth client (a programmatic client for agent-device): the socket protocol is the real API but is untyped, HTTP bypasses the protocol and has already diverged on downloads.policy, frontends hold state that belongs to the daemon, and the socket has no roles.

The ADR decides: one contract module declaring every operation once, one dispatcher serving every transport, roles in the daemon, admin authority from a handshake credential, negotiated protocol ranges, one error class with closed codes, and frontends that render the contract and nothing else.

Stack:

  1. this PR — the ADR
  2. feat/0003-01-contract-module — contract module, range negotiation, daemon validates inputs
  3. dispatcher, roles, ownerId, credential handshake, HTTP onto the dispatcher
  4. typed client and package exports
  5. CLI and MCP onto the client, token operations into the daemon
  6. docs, smoke tests, changelog

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant