Fix Pkg.test failure for registered packages (#700) - #701
Merged
Conversation
The test/Project.toml files carried `[sources]` entries pointing to
sibling packages via relative paths that escape the package directory
(e.g. `GNNlib = {path = "../../GNNlib"}`). These are shipped inside the
registered tarball, so when an end user runs `Pkg.test` on an installed
release, `../../GNNlib` resolves to a nonexistent path and Pkg errors
with "expected package GNNlib to exist at path .../packages/
GraphNeuralNetworks/GNNlib".
The escaping sibling sources are redundant for local development — the
top-level [workspace] already links the sibling packages as dev
checkouts — so removing them keeps local `Pkg.test` resolving siblings
to the local paths, while a registry install resolves them from the
registry (per the existing [compat] bounds). Each test/Project.toml
keeps only its own non-escaping self-source.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Docs: the GNNlib temporal-cell forward passes (tgcn, gconv_gru, gconv_lstm, dcgru) had docstrings but no @docs block, so Documenter's checkdocs aborted the build with "4 docstrings not included in the manual". Convert them to plain comments, matching the convention for the other functional convs (gcn_conv, gat_conv, ... are exported but intentionally undocumented in GNNlib). Tests: the TGCNCell/TGCN gradient checks errored intermittently on the Julia 1.12 ubuntu runner. Mooncake returns exactly-zero gradients for some z-gate params when differentiating the graph-conv path from an all-zeros initial state (~3% of random inputs); Zygote and finite differences agree to ~1e-8, so it is an upstream Mooncake bug, not a layer-math issue. Skip Mooncake for these two items via ad_backends = [Flux.AutoZygote()], the same pattern GConvGRU/GConvLSTM/ DCGRU already use. Test/docs only: no changelog entry or version bump. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Traced the flaky TGCNCell/TGCN Mooncake failure to an upstream bug in Mooncake's gradient through NNlib.sigmoid (reported as chalk-lab/Mooncake.jl#1257), not the all-zeros initial state as first thought. Update the ad_backends skip comments to reflect the real cause and link the issue. Co-Authored-By: Claude Opus 4.8 <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.
Fixes #700, plus the pre-existing docs and Mooncake CI failures surfaced on this branch.
1.
Pkg.testfailure for registered packages (the original #700)Running
Pkg.teston an installed release failed with:The cause was the
[sources]section in each package'stest/Project.toml, which pointed at sibling packages via relative paths that escape the package directory (e.g.GNNlib = {path = "../../GNNlib"}). These ship inside the registered tarball, so for an end user../../GNNlibresolves to a nonexistent path.Fix: remove the escaping
../../sibling[sources]from the three affectedtest/Project.tomlfiles, keeping only each package's own non-escaping self-source. LocalPkg.teststill resolves siblings to the local dev paths via the top-level[workspace]; a registry install now resolves them from the registry per the existing[compat]bounds. Verified: full localPkg.test("GraphNeuralNetworks")passes and still uses the local dev siblings.2. Docs build failure (
missing_docs)The
Docsjob aborted with4 docstrings not included in the manualfor the GNNlib temporal-cell forward passestgcn,gconv_gru,gconv_lstm,dcgru. They carried"""docstrings but no@docsblock, and Documenter'scheckdocserrors on that. (Pre-existing onmaster.)Fix: convert those four docstrings to plain
#comments, matching the convention for GNNlib's other functional convs (gcn_conv,gat_conv, … are exported but intentionally undocumented). Verified with a fullGNNlib/docs/make.jlbuild.3.
TGCNCellgradient error on the Julia 1.12 ubuntu runnerTGCNCellerrored intermittently inside a Mooncake gradient check. Root cause is an upstream Mooncake AD bug, not our layer math: Mooncake returns exactly-zero gradients for some z-gate parameters when differentiating the graph-conv path from an all-zeros initial state (~3% of random inputs), while Zygote and finite differences agree to ~1e-8. It was flaky because the tests use an unseeded RNG (masterpassed by luck). OnlyTGCNCell/TGCNare affected;EvolveGCNOis fine, andGConvGRU/GConvLSTM/DCGRUalready skip Mooncake.Fix: skip Mooncake for the
TGCNCellandTGCNtest items viaad_backends = [Flux.AutoZygote()], the same pattern the sibling cells use, with an explanatory comment. Verified by running the fulltemporalconvsuite (60/60 pass) and confirming Zygote matches finite differences across 60 seeds.Notes
CHANGELOGentry or version bump.[sources]fix reaches end users only once new patch releases are tagged (the brokentest/Project.tomlis baked into already-registered versions).🤖 Generated with Claude Code