fix(ci): drop a dependency list that flagged real edges - #364
Merged
Merged
Conversation
LKSNDRTMLKV
deleted the
fix/dependency-graph-says-types-is-standalone
branch
September 17, 2026 10:45
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.
Closes #347 — and the issue is right that the claim is false, but wrong about where it lives, which matters for the fix.
The quote is not in
CLAUDE.md#347 attributes "dpp-types and dpp-common are standalone" to
CLAUDE.md's Dependency direction section. It is not there. The only occurrences of "standalone" inCLAUDE.mddescribe services and ports — the resolver, the identity service, the in-memory job store. Its dependency diagram draws the platform stack abovedpp-corewithdpp-typesas the anchor, which is correct as drawn.The sentence's only home is
.coderabbit.yaml, in thecrates/**/*.rspath instructions. So this changes one file, not two.Every clause of that list was wrong
Derived from the
Cargo.tomlfiles rather than from the prose:dpp-typesstandalonedpp-domain,dpp-rulesdpp-dal: types + domaindpp-commondpp-vault: dal, types, common, domaindpp-vc,dpp-crypto,dpp-digital-link,dpp-registry,dpp-calc,dpp-rulesdpp-integrator: types + commondpp-domain,dpp-rulesdpp-node: vault, identity, integrator, commondpp-seal,dpp-plugin-host,dpp-resolveranddpp-renderwere not in the list at all. The instruction ended "Flag any edge outside that list", so the reviewer was told to flag most of the workspace.What it cost
On #356 this produced a 🟠 Major recommending that
TrustServiceStatusbe duplicated intodpp-typesand converted at thedpp-sealboundary, to close a "public type leak". There was no leak:dpp-typeshas declareddpp-domainsince it was written, and two things merged this morning return core types straight from its public API —SuccessorLookup::successor_ofreturnsdpp_domain::passport::Passport, andTrustedListStorereturnsDppError. The finding was declined, but only after the argument was had.The fix is to stop enumerating
Replacing the list with a corrected list would recreate the failure — and this file already names that anti-pattern, two paragraphs later, about version pins: "read the pin there and never from a copy restated in prose, which is how one document claimed 0.1.0 for fourteen releases." The graph has the same property: it has one home, in the
Cargo.tomlfiles, and any copy of it decays.So the paragraph now says the edges are declared in
Cargo.toml, says not to flag an edge for being absent from a list here, records what the old list got wrong so the next person does not restore it, and keeps the one invariant that is genuinely load-bearing:That one is checked and true —
dpp-common/Cargo.tomldeclares nodpp-*dependency at all — and it is the edge whose absence means something, which is exactly what a reviewer cannot read off aCargo.tomlat a glance.YAML re-parsed after the edit;
path_instructionsstill has its four entries.