Repository navigation
feat(installation): expose authenticated current installation metadata - #34
Merged
Merged
Conversation
antoinetoussaint-byte
marked this pull request as ready for review
October 27, 2026 02:12
antoinetoussaint-byte
added a commit
that referenced
this pull request
Oct 27, 2026
…eaders hold TestCurrentInstallationIsConfinedToTheAuthenticatedAudience (from main, #34) issued rob and omar whole-kind read though their role reads store-x alone: the escalation the previous commit closes. The test is about installation confinement, so each asks for what they hold. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
antoinetoussaint-byte
added a commit
that referenced
this pull request
Oct 27, 2026
… harden/review-followups Conflicts were only generated artefacts: the authority-client library's contract.binpb, catalog digest and library.codefly.yaml digest. Each side recorded the contract of its own proto tree; neither digest is right for the merged tree, so none was hand-picked: both are regenerated. Regenerated with codefly v0.1.216 (built from tag d3af5843, which carries cli#1189): - generate proto in services/local: no change, the auto-merged bindings (#32's authority/v1, #34's installation/v1) are what the merged protos give. - generate contracts authority: the local grpc contract carries #32's RegisterAdmissionKeyRequest.proof and #34's InstallationService.Current; the catalog, module.package.codefly.yaml and the vendored authority.proto copy follow. --check is clean. - generate client --no-facade for authority-client: contract, catalog and library digest; its bindings are unchanged. Its contract is byte-identical to the module's local grpc contract, as on main. Kept from #33: the hop's range codefly.dev/authority@>=0.3.3 <0.4.0 (a 0.3.3 authority ignores the additive proof, so the floor still holds) and the package version 0.1.0 (#34 moved the contract under it unreleased too). Kept from #32: the authority interface at 0.3.4 and the module implementing it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
An installed module cannot currently read the authored namespace that Authority already requires for artifact approval. Add
InstallationService.Current, authenticated by the module's workload credential and a current parent Work Context. It returns only that module's installation identity, revision and namespace in the verified tenant, without an administrator session or caller-selected tenant/installation.Reuse shared-core Check and installation lookup, the existing namespace function, generated clients and shared conformance. A child context's seal identifies its source actor: the destination installation is resolved by Authority from the authenticated module and verified tenant. No new issuer, namespace registry, approval mechanism or permission bypass is introduced.
The installation interface advances to 0.3.0; the in-repository edge accepts it. External consumers constrained below 0.3 need explicit adoption. Go/Python/TypeScript bindings were regenerated through Codefly. Docs updated:
README.mdandlibraries/conformance/go/README.md.Validation:
tools/noproxygate/generated.json: Codefly regeneration produced identical bindings; the complete no-proxy race suite and vet pass. README now documents the reviewed digest refresh. No gate semantics or exemptions changed. All 15 PR checks passed on the prior corrected revision; CI is rerunning after integrating authority: ship the module's package, the hop's Version declares its policy, the hop declares authority 0.3.3 #33.This is a draft foundation, not deployed authoring qualification. The scoped contract is accepted in handbook #403 under the owner’s merge instruction; the broader Builder design remains conditional. The composed playground run is blocked by its existing Records REST endpoint reference while the selected owner exposes Connect/gRPC; even excluding the edge workspace group still fails in store initialization. Accounts must implement Current and pass the shared suite. Robin adoption follows its existing signed-hop PR obin-ai/module-robin#552; this PR does not duplicate it. Authority #33 is merged and integrated: Current is now listed in the served inventory and published by Codefly in the refreshed package contract. Package and no-proxy race gates pass. Authority #32 remains separate hardening work.
Contract proposal: https://github.com/obin-ai/handbook/pull/403
Companion Robin selection PR: https://github.com/obin-ai/module-robin/pull/555