Skip to content

docs: bring the node API wire contract under version control - #18

Merged
Babissimo merged 1 commit into
mainfrom
docs/node-api-v1-contract
Aug 17, 2026
Merged

Babissimo merged 1 commit into
mainfrom
docs/node-api-v1-contract

Conversation

@Babissimo

Copy link
Copy Markdown
Contributor

Summary

Moves nodes_api_v1.yml into claude-shared/docs/contracts/, where the org's cross-service interfaces already belong per the workspace CLAUDE.md. Brings 1.1.1 across as it stands, plus 1.1.0 under contract-history/ so the last change can be diffed. No content is altered.

What

  • docs/contracts/nodes_api_v1.yml — the contract at 1.1.1
  • docs/contracts/contract-history/nodes_api_v1.1.0.yml — the superseded version
  • docs/contracts/README.md — what the file is, that it is versioned rather than frozen, and that this is now the copy to edit

Why

The contract has sat at the root of the owl meta-workspace, which is not a git repository. So the file that three independent implementations are built against had no history: no way to review a change, no commit to cite when one landed, and a version number held by convention rather than by anything that could enforce it. A silent edit was indistinguishable from an agreed one.

The three implementations are the server in Tower-Finder, the node client in retina-node, and the conformance harness. A change to the contract is a change to all three, which makes it exactly the kind of artefact that wants review.

How

Copied verbatim from ~/owl/nodes_api_v1.yml and ~/owl/contract-history/, on a branch cut from main. Checked for droplet IPs, key filenames and credential values before committing; the contract and its history are clean.

Follow-ups

  • The copy under ~/owl becomes a working copy. Worth deciding whether it should be a symlink, a checkout, or simply deleted so there is one source.
  • The phase 1 ADRs and plans in docs/decisions/ and docs/plans/ are still untracked locally. They are the documents CLAUDE.md points the org at, and they exist on one laptop. The phase 1 ADR carries a droplet IP and needs redacting before it can join a public repo.

Tracked as 86cb2d059.

🤖 Generated with Claude Code

The contract has sat at the root of the owl meta-workspace, which is not a
git repository. So the file that three independent implementations are built
against had no history: no way to review a change, no commit to cite when one
landed, and a version number held by convention rather than by anything that
could enforce it. A silent edit was indistinguishable from an agreed one.

Moving it into claude-shared/docs/contracts/ is where the org's cross-service
interfaces already belong per the workspace CLAUDE.md, and it gives the file
review, history and a citable commit.

Brings 1.1.1 across as it stands, plus 1.1.0 under contract-history/ so the
last change can be diffed. No content is altered.

Tracked as 86cb2d059.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Babissimo
Babissimo merged commit c6f67e0 into main Aug 17, 2026
2 checks passed
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