[transitive deps] apply transitive dep to root node - #21
Merged
Conversation
neilverc
added a commit
that referenced
this pull request
Aug 27, 2026
…e immediate parent Per #21: a target's dependent hook must run with ctx.consumer set to the render root, never the intermediate resource that actually declared the edge. The FS a dependent hook can mutate is always the render root's bundle, so keeping ctx.consumer as the root keeps the two consistent, and it means a target kind's `dependents` list is keyed by the render-root kinds that can reach it rather than needing an entry for every pass-through kind in between — dynamo-table's existing `[service, subscriber]` entries already cover a service reaching it through any number of intermediate packages. Updates SPEC.md and the render.go doc comments accordingly, and fixes the three dependency tests that assumed ctx.consumer was the immediate parent: - multi-hop test: dynamo-table now accepts "service" (the root), not "package". - cycle test: alpha's dependents entry now accepts its own kind (the root), not "beta". - diamond test: since ctx.consumer is now identical (the root) for both edges into the shared leaf, the two firings are distinguished by their own params instead of consumer identity.
neilverc
force-pushed
the
multihop/apply-transitive-dependency-to-root-node
branch
from
August 27, 2026 17:38
5710dd5 to
f16772b
Compare
…e immediate parent Per #21: a target's dependent hook must run with ctx.consumer set to the render root, never the intermediate resource that actually declared the edge. The FS a dependent hook can mutate is always the render root's bundle, so keeping ctx.consumer as the root keeps the two consistent, and it means a target kind's `dependents` list is keyed by the render-root kinds that can reach it rather than needing an entry for every pass-through kind in between — dynamo-table's existing `[service, subscriber]` entries already cover a service reaching it through any number of intermediate packages. Updates SPEC.md and the render.go doc comments accordingly, and fixes the three dependency tests that assumed ctx.consumer was the immediate parent: - multi-hop test: dynamo-table now accepts "service" (the root), not "package". - cycle test: alpha's dependents entry now accepts its own kind (the root), not "beta". - diamond test: since ctx.consumer is now identical (the root) for both edges into the shared leaf, the two firings are distinguished by their own params instead of consumer identity.
neilverc
force-pushed
the
multihop/apply-transitive-dependency-to-root-node
branch
from
August 27, 2026 17:39
f16772b to
3adddf5
Compare
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.

Transitive dependencies need to be applied to the root node, ie the initiating resource, not the intermediate resource