Repository navigation
fix(run): admission carries a module's declared page - #1252
Merged
Merged
Conversation
A native run admits the whole selected closure before the first consumer
starts, and rendered every manifest there with its frontend deferred. The
authority admits a module's roles only beside its page ("module declares
roles and no page"), so a module page declaring roles was refused at
admission and the run stopped before any service started.
Admission now builds each selected module's page bundle before taking the
delivery lock, as a ready delivery does, and names it in the admitted
manifest; the ready delivery reuses the bundle retained for unchanged
inputs. An early delivery keeps a previously published payload only when it
was handed none.
Co-Authored-By: Claude Fable 5.1 <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.
What
A native run admits every selected module before the first consumer starts (
admitSelected). Until now it rendered each manifest with the frontend deferred, so the page was removed. The authority (codefly-dev/authority atd0210535,authority-core/decide/manifest.go) admits a module's roles only when the module also declares a page: "module %q declares roles and no page". As a result, any module page that declares roles was refused at admission, and the run stopped before any service started. This reproduces with obin-ai/module-directory#13 on 0.1.229.The fix:
Classification
This is a fix in the code that owns the behaviour (the launcher's admission). The authority's rule is correct; the manifest the CLI sent at admission did not describe the module.
Reuse
It uses
launcher.frontendBundleandLocalFrontend's input-keyed retention, and adds no new build path.Tests
TestAdmissionCarriesADeclaredPage. It fails without the change (no admitted manifest carries a page) and passes with it, including a second admission that builds nothing.go test ./cmd/run/andgo vet ./cmd/run/pass.Not verified
dist/), which is tracked on that PR.🤖 Generated with Claude Code