Treat published_seam ingress as an external queue provider under ClosedWorld conformance#276
Merged
Merged
Conversation
Carry resolved M.spec.published_seam declarations into the common graph model so closed-world validation can recognize explicit external ingress providers. Preserve hard failures for every undeclared producer gap and keep partial-graph behavior unchanged. ⟦AI:FKST⟧
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Add a cross-department regression test: a department that declares a queue in published_seam but does not consume it must not exempt a different department's producerless consumed queue. The external-seam exemption requires the same department to both consume and publish the queue. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Contributor
Author
sshx review recordOut-of-band fix via Thinking / meta-judge
Review triplet (independent, context-isolated)
Advisories addressed
Verification
⟦AI:FKST⟧ |
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.
Motivation
Graph conformance was asymmetric between flat and composed packages for declared external-ingress queues. A package that declares one of its consumed queues in
M.spec.published_seamis declaring it a PUBLIC EXTERNAL INGRESS — produced by an external host/composer, not by anything in the package's own[event_deps]closure.crates/fkst-framework/src/host_conformance.rs:747-751runsValidationScope::PartialGraphfor a single-root graph (flat package) butValidationScope::ClosedWorldfor a composed/multi-root graph.validation.rs).github-proxy:github_pr_comment_request) with a published-seam ingress passes, but the same declared ingress in a composed package hard-fails ClosedWorld — even thoughpublished_seamexplicitly declares it external. That asymmetry blocked any composed package with a legitimate external ingress seam (observed with thebrowser-qacomposed package:browser-qa.browser_qa_request).published_seamshould mean the same thing in flat and composed packages.Change (narrow)
Treat a consumed queue that is declared in its own consuming department's
published_seamas satisfying the producer requirement (a narrowly-scoped external-seam provider), even under ClosedWorld. Every other missing-producer gap remains a hard error, and PartialGraph behavior is unchanged.config.rs:DepartmentDeclgains#[serde(default)] published_seam(serde default → no other construction site is forced to change).validation.rs: the per-queue producer computation counts an external-seam provider when the queue is in a consuming department'spublished_seam(mirrors the existingbuilt_in_provider_for_queuepattern).sdk_graph.rs+ supervise construction sites: carry the already-resolvedM.spec.published_seaminto the common graph model.Verification
cargo test -p fkst-common: unit 25 passed / 0 failed (includes the new ClosedWorld published-seam test), integration 29 passed / 0 failed.published_seam; (b) ClosedWorld still hard-fails a consumed queue with no producer and no published_seam; (c) PartialGraph still emits a warning and succeeds.browser-qaonfkst-packages): composed conformancebrowser-qa.browser_qa_request has no producerviolation count went 2 → 0 (original engine BIN → this BIN), with no package-side change.cargo build -p fkst-framework: succeeds.Note: the full
fkst-frameworksuite'sobserve_cli::observe_json_reports_live_subscriber_status_for_pending_queuesis a pre-existing environment-dependent (observe-socket) flaky, unrelated to this change; allfkst-frameworktargets compile and the focused graph-scan test passes. Substrate CI is the full-suite gate.This unblocks composed packages that legitimately expose an external ingress seam and removes a real flat-vs-composed conformance inconsistency.
🤖 Generated with Claude Code
⟦AI:FKST⟧