System architecture
Clients, gateway, Go node, contracts, data planes, and source-of-truth rules.
The technical source of truth for Kode’s repository format, wallet authorization, P2P synchronization, EVM coordination, and engineering procedures.
Kode separates explanatory engineering guidance from normative specifications. Protocol behavior must follow the specifications; implementation changes cannot silently redefine them.
Clients, gateway, Go node, contracts, data planes, and source-of-truth rules.
Canonical DAG-CBOR objects, CIDs, commits, attestations, refs, and private encryption.
SIWE challenges, device delegation, capabilities, policy evaluation, and session security.
go-libp2p negotiation, verified object transfer, ref sync, discovery, and rate limits.
Repository registry, access policy, compare-and-swap branches, PRs, and approvals.
Assets, trust boundaries, primary attacks, mitigations, and security invariants.
Cross-language conformance, fuzzing, invariants, P2P adversarial tests, and E2E flows.
Environments, observability, backups, recovery, key rotation, releases, and incidents.
One logical object must always produce one byte representation.
Objects are verified by content rather than storage location.
Wallet-delegated keys avoid prompting users for every commit.
Wallet signatures establish identity and delegate explicit capabilities.
QUIC-first encrypted transport with discovery and NAT traversal.
Only shared policy, protected refs, PR state, and hashes move on-chain.
Wallet identity does not automatically grant repository access. The Go boundary evaluates explicit policy for every protected operation.
Identify UI, application, protocol, object-format, security, or contract impact.
Security-sensitive and interoperable behavior begins with an accepted ADR.
Define fields, bounds, errors, valid fixtures, and invalid fixtures.
Go and TypeScript must pass the same canonical test vectors.
Run fuzz, invariant, adversarial, authorization, and recovery tests.