No description
  • Python 47.4%
  • JavaScript 28.4%
  • HTML 18.8%
  • CSS 5.4%
Find a file
2026-09-30 23:59:10 -04:00
.github/workflows Add an interactive workflow through the Kaiba contracts 2026-09-12 00:01:00 -04:00
contracts Define portable delegated evidence hashing and authority scope 2026-09-30 23:53:13 -04:00
docs Define transient DNS workload authorization RPC contract 2026-09-29 00:41:14 -04:00
examples Define owner-bounded same-key renewal delegation 2026-09-30 22:43:41 -04:00
schemas Define owner-bounded same-key renewal delegation 2026-09-30 22:43:41 -04:00
tests Define portable delegated evidence hashing and authority scope 2026-09-30 23:53:13 -04:00
tools Define portable delegated evidence hashing and authority scope 2026-09-30 23:53:13 -04:00
website Make the device journey visual and approachable (#5) 2026-09-12 01:50:12 -04:00
.gitignore Add GitHub Pages guide to the Kaiba process 2026-09-11 22:53:44 -04:00
CONTRIBUTING.md Define provisioning, identity, and publication contracts 2026-09-11 18:12:43 -04:00
README.md Define owner-bounded same-key renewal delegation 2026-09-30 22:43:41 -04:00
requirements-dev.txt Define provisioning, identity, and publication contracts 2026-09-11 18:12:43 -04:00
VERSION feat: specify supervised expired pilot recovery approval 2026-09-25 17:47:25 -04:00

Kaiba contracts

Shared contracts from device provisioning to publication of a graphical device configuration. This repository defines the records, responsibilities, and guarantees that connect Kaiba subsystems. It does not implement a provisioning lane, controller, signer, device agent, or production admission service.

Status: proposed contract set 0.4.0-draft.1, plus an isolated 0.5.0-draft.1 WorkloadBinding draft and transient DNSWorkloadAuthorization RPC response, and a 0.6.0-draft.1 bounded renewal delegation. Additive families require explicit producer and consumer adoption. The original family is used by the isolated enrollment rehearsal. Passing the included tests means the documents' sample records satisfy the checked rules; it does not qualify hardware, authenticate a device, or authorize a release.

Read in this order

The process guide website provides a visual walkthrough of the handoffs, ownership, contract coverage and current development slice. It is published by GitHub Pages once the repository's Pages source is enabled. See website maintenance and setup.

The visual device story introduces the journey in plain language, with an animated device and before/after states. The technical walkthrough adds contract fixtures, exact state transitions and acceptance rules. Both support development restrictions, conflicting assignments and a lost confirmation.

  1. System specification: pipeline, authorities, and invariants.
  2. Contract catalog: every handoff, including deferred contracts.
  3. Common rules: identity, digests, versioning, and errors.
  4. Initial detailed contracts:
  5. Conformance and examples.

The original wire family remains in schemas/0.1.0-draft.1. The new pilot family lives in schemas/0.2.0-draft.1. The additive renewal authorization lives in schemas/0.3.0-draft.1. Proposed recovery approval, key proof and cutover live in schemas/0.4.0-draft.1; runtime adoption remains pending. The isolated, unadopted WorkloadBinding and DNSWorkloadAuthorization drafts live in schemas/0.5.0-draft.1. This additive family leaves the existing contract-set VERSION, enrollment and pilot wire families unchanged. All use exact contract/version dispatch; pilot records do not upgrade legacy readiness or confer full qualification. They use JSON Schema Draft 2020-12 and resolve entirely from local files. Examples use fictitious identifiers and evidence references; they contain no credentials or live grants.

Validate locally

Python 3.12 or newer:

python -m venv .venv
.venv/bin/python -m pip install -r requirements-dev.txt
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python tools/validate.py examples/valid/publish-request.json

On Windows, use .venv\Scripts\python.exe. Validation includes schema checks, record-local semantic checks, linked fixture digests, and negative cases. Runtime authorization obligations are listed separately and require subsystem tests.

Ownership and adoption

The system contract belongs here. Each producer and affected consumer reviews changes; implementation, deployment, key custody, and internal state remain in the owning project. See contributing and the adoption checklist.

The implementation owners are kaiba-provisioning for the ProvisioningRecord producer and kaiba-fleet for enrollment, identity inventory and the DeviceBinding producer. Fleet implements the isolated rehearsal; pilot runtime support and fully qualified admission remain separate work. Naming owners does not establish contract adoption or production conformance.

The provisioning baseline is pinned in sources. Its current development posture cannot enter enrollment_ready. The proposed production examples here do not change that status. The proposed pilot family needs explicit producer/consumer adoption and its own authenticated policy before live use.