Daimon runtime attachments, relay hibernation, and authorization consolidation - #12
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fifteen commits since
v0.1.17, in three groups.Daimon runtime attachments — the reason this needs a release.
RuntimeDaimonplusAgentID,TokenEnv, andReceiptStorePathonbridgeconfig, a durable Daimon wake adapter, idempotent wake reply slots, attachment readiness receipts, durable delivery cursors and replay, and extracted runtime control codecs.No published Moltnet currently carries any of this — it is absent from
v0.1.14(the version Spawnfile pins) and fromv0.1.17. Spawnfile emitskind: "daimon"with fields the releasedRuntimeConfigdoes not declare, so a daimon organization fails at strict JSON decode onagent_idbeforeValidate()runs, andwait -ntears the container down. Spawnfile now refuses to compile such an org rather than shipping one that dies at boot; this release is what lets it compile.Relay hibernation —
hibernate: truewith admitted peers moved into durable connection state. One idle room was costing roughly 10,800 GB-s/day, about 83% of the free tier.Authorization consolidation —
isOperatorClaimsexisted in five spellings: two verbatim copies and three inlineadmin && writeexpressions. All now callauthn.Claims.Operator(). The pre-existing tests only caught "operator locked out"; the new ones catch too permissive, which is the direction that hands a peer credential the owner's bypass.Also removes
filterPairScopedAgentSummaries, which was unreachable in production rather than merely untested — every store in the repo satisfies both context interfaces, so its guard branch could never be taken. The live path already enforced the same guarantee and now has a test pinning it.Adds a
relay-testCI job; the relay suite previously ran only if someone typednpm testinrelay/.Verification
go test ./...— 35 packages, 0 failuresgo vet ./...clean,gofmtcleanrelay— 19/19Mutation-checked throughout:
Operator()&&→||reddens 5 claims tests plus 13 rooms and 3 transport tests; each single-site re-inline reddens exactly its own new test and nothing else.