docs: correct four README claims and index seven docs - #303
Merged
Merged
Conversation
This was referenced Sep 13, 2026
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.
Release-checklist accuracy pass for 0.13.0 — the same methodology applied to
dpp-corebefore 0.20.0. Every claim re-checked against the tree rather than re-read.The README was wrong in four places
The crate map was missing a crate.
dpp-render— the shared renderer extracted fromdpp-resolverso the live read and the continuity tier's pre-rendered snapshot cannot drift apart — appeared nowhere, while all eleven siblings did.The dpp-core table named seven crates where the workspace takes nine.
dpp-aasanddpp-ruleswere both absent.dpp-rulesis the notable one: it is taken withfeatures = ["bundle"], which is the signed-ruleset channel the README's own trust-layer section advertises two screens further down. The README was selling a feature whose dependency it did not list.The open-core table named a crate where a repository belongs. The Odal Core row read
dpp-domain— one crate insidedpp-core— in a column headed Repository.The resolver route table listed five of the eight routes
router.rsserves. Missing every GS1 Digital Link variant beyond the bare/01/{gtin}:/01/{gtin}/21/{serial}/01/{gtin}/10/{batch}/01/{gtin}/10/{batch}/21/{serial}The last one is the one that matters — the documented resolver did not include the URL this node actually prints on labels.
Seven documents were unreachable from the index
docs/README.mdlinks 13 of the 20 documents underdocs/. Unindexed:architecture/EVIDENCE-DOSSIER.md,guides/OPERATOR-SETUP.md,guides/WEBHOOKS.md, all three ofgovernance/, andproject/ENDPOINTS.md.EVIDENCE-DOSSIER.mdis the sharp one: the paragraph immediately below that index advertises evidence dossiers as a headline capability, and did not link the document explaining them. The root README does.docs/project/ENDPOINTS.mdis a second register of the HTTP surface33 of the spec's 78 paths, last touched 2026-08-28.
Nothing in it is wrong — I checked every route it names against
api/openapi.yamland all 33 still exist. But a partial duplicate of an authoritative file drifts by construction, and this repo's own principle is that two registers of one fact drift while one does not.Rather than syncing 45 routes into it — which would perpetuate exactly that — it now states at the top that the spec is authoritative, that its own tables are a partial illustration, and that a table disagreeing with the spec should be deleted rather than corrected. The genuinely non-duplicated content (how routes are mounted across the fused node, and which identity endpoints are deliberately unreachable there) is what it keeps.
🚨 A removed HTTP endpoint was filed under
### ChangedGET /integrator/api/v1/templates/batteryis gone — replaced bybattery-ev,battery-lmt,battery-industrial. The entry carried its own*(Breaking for the template route…)*marker and sat under Changed, where nobody reading for migrations would find it.It now has a
### Breakingentry, with the rationale left under Changed where it was written. Found by sweeping[Unreleased]for breaking-change language outside### Breaking— the same check that turned up three misfiled breaks indpp-core0.20.0, which is why it is now a checklist step rather than something I happened to do twice.Two other entries matched the sweep and were correctly placed: an internal
SUPPORTED_SECTORSconst rename, and a dead-branch removal that explicitly states "No behaviour change".RELEASE.mdgains the checks that would have caught thisIts checklist also skipped from 6 to 8 — step 7 had never existed. That slot now holds the CHANGELOG-section sweep, and step 6 names what to reconcile the README against (
crates/,[workspace.dependencies],dpp-resolver/src/router.rs) instead of saying "verify the README reflects the current API".Verification
Docs-only — no source changes. The non-cargo gates all pass:
spec-version-check✅outbound-check✅subjects-check✅mod-rs-check✅debug-check✅grants-check✅migrations-check✅. CI runs the rest.