You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add an explicit trust-model section to docs/federation.md: what HMAC-signed
manifests do and do not guarantee, the pairwise-shared-secret requirement, secret
distribution/rotation guidance, and the threat boundaries (what a compromised peer
can and cannot do).
Why this matters
Federated capability discovery (federation_discovery.py) verifies manifests with
shared-secret HMAC — meaning any party holding the secret can mint manifests, there
is no non-repudiation, and per-peer secrets are required for isolation. These are
legitimate design choices for a 0.x in-process kernel, but adopters wiring
federation across organizational boundaries must understand them before relying
on them. Honest boundary documentation is a security feature in itself and the
prerequisite for the public-key investigation (ISSUE 61).
Current evidence
federation_discovery.py:1-56: sign_manifest/verify_manifest use hmac with a caller-supplied shared secret; the envelope embeds a wire-level identifier.
docs/federation.md exists but does not spell out trust assumptions, secret-handling guidance, or non-goals (verified absence of a threat-model section).
Shared-secret MAC vs public-key signature tradeoffs (no non-repudiation, pairwise
key growth) are standard security-documentation material.
Proposed implementation
Extend docs/federation.md: trust assumptions (per-peer secrets, both sides can
sign), guarantees (integrity, authenticity within the secret-sharing set),
non-guarantees (non-repudiation, revocation of a leaked secret without
redistribution), operational guidance (per-peer secrets, rotation steps),
explicit non-goals.
Frame defensively: "Strengthen clarity around…" — no attack walkthroughs.
Verify each documented claim against code (e.g., what exactly is covered by the HMAC — payload bytes? canonicalization?) — the docs must match implementation precisely.
No code changes in this issue; if doc-writing reveals a code gap, file separately.
Acceptance criteria
docs/federation.md has a trust-model section covering assumptions, guarantees, non-guarantees, and secret-handling guidance.
Every claim is traceable to specific code behavior.
Documentation review against source; make ci (docs don't break builds, but
examples referenced must run).
Documentation plan
The deliverable is documentation; CHANGELOG Added (docs).
Migration and compatibility notes
Not expected to require migration.
Risks and tradeoffs
Documenting limits may give some adopters pause — that is the correct outcome for
out-of-scope uses, and it builds the trust that drives long-term adoption.
Summary
Add an explicit trust-model section to
docs/federation.md: what HMAC-signedmanifests do and do not guarantee, the pairwise-shared-secret requirement, secret
distribution/rotation guidance, and the threat boundaries (what a compromised peer
can and cannot do).
Why this matters
Federated capability discovery (
federation_discovery.py) verifies manifests withshared-secret HMAC — meaning any party holding the secret can mint manifests, there
is no non-repudiation, and per-peer secrets are required for isolation. These are
legitimate design choices for a 0.x in-process kernel, but adopters wiring
federation across organizational boundaries must understand them before relying
on them. Honest boundary documentation is a security feature in itself and the
prerequisite for the public-key investigation (ISSUE 61).
Current evidence
federation_discovery.py:1-56:sign_manifest/verify_manifestusehmacwith a caller-supplied sharedsecret; the envelope embeds a wire-level identifier.docs/federation.mdexists but does not spell out trust assumptions, secret-handling guidance, or non-goals (verified absence of a threat-model section).External context
Shared-secret MAC vs public-key signature tradeoffs (no non-repudiation, pairwise
key growth) are standard security-documentation material.
Proposed implementation
docs/federation.md: trust assumptions (per-peer secrets, both sides cansign), guarantees (integrity, authenticity within the secret-sharing set),
non-guarantees (non-repudiation, revocation of a leaked secret without
redistribution), operational guidance (per-peer secrets, rotation steps),
explicit non-goals.
AI-agent execution notes
federation_discovery.py(whole module),federation.py,kernel/_federation.py,docs/federation.md,tests/test_federation_discovery.py.Acceptance criteria
docs/federation.mdhas a trust-model section covering assumptions, guarantees, non-guarantees, and secret-handling guidance.Test plan
Documentation review against source;
make ci(docs don't break builds, butexamples referenced must run).
Documentation plan
The deliverable is documentation; CHANGELOG
Added(docs).Migration and compatibility notes
Not expected to require migration.
Risks and tradeoffs
Documenting limits may give some adopters pause — that is the correct outcome for
out-of-scope uses, and it builds the trust that drives long-term adoption.
Suggested labels
documentation, security, ecosystem