docs: fix broken cross-refs and stale names across how-it-works/roadmap/bff/README#3
Merged
Merged
Conversation
- docs/how-it-works.md: replace stale `apiRoot` with `resource`, inline the HATEOAS caching caution that pointed at non-existent §7.3, and renumber §9/10/11 → §8/9/10 so the heading sequence is contiguous. - docs/roadmap.md: replace stale `navigableOwner`/`MetadataStore` names with the actual runtime-metadata map names. - docs/hateoas-bff-example.md: rewrite the "Triggered by" column to use the path-based `/bff/<view>` routing that matches both §2 of the same doc and the actual Fastify routes. - README.md: `let` → `const` on the `restocked` example (consistency). Addresses FINDING-03 from code review plus Quick Fixes 1, 4, 5, 6, 7, 8. Quick Fix 2 (roadmap §8) and Quick Fix 12 (how-it-works.md:254) are handled in the parallel NavigationError PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
feffef
added a commit
that referenced
this pull request
Apr 17, 2026
…lans - Rewrite housekeeping item #3's DONE blurb to describe the actual landed architecture (single fetchResource + per-builder inlined formatting + failureToError boundary converter). The previous text referenced fetchSafe/fetchProne/formatErrorMessage — none of which exist in src/. They were symbol names from an intermediate refactor plan that was superseded before landing. - Delete docs/pipeline-refactor-plan.md and docs/pipeline-refactor-plan-alt.md. Both carry "Proposed — awaiting review" headers despite describing superseded designs. They are the root cause of the housekeeping drift. - Drop dangling references to missing docs/integration-test-split.md in housekeeping items #5 and #7. - Reorder housekeeping items into numerical sequence (no content changes). Addresses FINDING-05 from code review plus Quick Fixes 3, 13, 14. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
5 tasks
feffef
commented
Apr 17, 2026
Owner
Author
feffef
left a comment
There was a problem hiding this comment.
Opus Reviewer (on behalf of @feffef): LGTM (would approve if GitHub allowed self-approval). Verified every fix against the source of truth:
- Fix 1 (roadmap §1):
apiClientByNavigableandlinksByNavigablematch the WeakMap names insrc/runtime-metadata.ts:19,24. StalenavigableOwner/MetadataStorenames are gone. - Fix 4 (apiRoot → resource):
how-it-works.md:380now saysresource, consistent withConnectOptions.resourceatsrc/type-system.ts:144. - Fix 5 (§9/10/11 → §8/9/10): Heading sequence in
how-it-works.mdis now contiguous (1–10, no gap). Grep across the repo for§9,§10,§11,Section 9/10/11turns up only the self-referencesee §9 TODOinhateoas-bff-example.md:183, which predates this PR (the TODO section there is §8 within that file — pre-existing drift unrelated to FINDING-03's scope). The cross-doc reference athateoas-bff-example.md:44was correctly updated from§9to§8. - Fix 6 (broken 7.3 pointer): Replaced with a short inline HATEOAS caching caution — standalone and appropriate for the bullet's intent.
- Fix 7 (let → const):
README.md:85usesconstas intended. - Fix 8 (bff-example §4 table): All eight rows use path-based
GET /bff/<view>syntax matching the actual Fastify routes atexamples/hateoas-bff/bff-routes.ts:986,991,996,1025,1030,1047,1052,1057. Spot-checked home/category/product/search/cart — all correct.
Scope discipline: how-it-works.md:254 (TypeError claim, owned by PR #4) and roadmap.md §8 (Standardized Error Class Hierarchy, owned by PR #4) both untouched. Diff stat confirms: 4 files, 16 insertions, 16 deletions — no scope creep.
Minor observation (not blocking, not in scope for this PR): docs/hateoas-bff-example.md:183 contains a pre-existing stale see §9 TODO reference — should point to §8 within that same file. Worth a separate small fix some time, but has nothing to do with this PR.
Ship it.
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.
Scope
Bundles all non-conflicting documentation fixes from the recent review into a single PR to minimize churn. Intentionally excludes two lines that overlap with the parallel NavigationError PR (docs/how-it-works.md:254 and docs/roadmap.md §8 TypeError wording).
Finding (primary)
FINDING-03 | WARNING | Style / Documentation
Location:
docs/how-it-works.md:380,docs/how-it-works.md:400, heading sequenceThree broken pointers in
how-it-works.md:apiRoot—linkTohas no such parameter; the option is namedresource.Concrete impact: a reader learning the library from
how-it-works.mdchases pointers that lead nowhere, losing trust in the doc.Approach chosen: B — fix + preserve intent
For the broken §7.3 reference, the doc's intent was to caution against caching hrefs. The fix inlines that guidance rather than silently deleting the parenthetical — the reader still gets the HATEOAS warning without a dangling pointer.
Alternatives considered
Other fixes bundled (all docs, non-conflicting)
docs/roadmap.md§1 stalenavigableOwner/MetadataStore→ actual runtime-metadata map names.README.mdlet restocked→const restocked(consistency).docs/hateoas-bff-example.md§4 "Triggered by" column uses the path-based/bff/<view>routing matching §2 and the Fastify routes.Excluded (handled in parallel PR)
docs/roadmap.md§8link-extraction.tsreference) — touched by the NavigationError PR.docs/how-it-works.md:254TypeErrorclaim) — the NavigationError PR rewrites this line to reflect the new class.Test plan
npx jest— all tests pass (doc-only change).how-it-works.mdafter renumbering.Review checklist