Docs redesign — week 4 IA cutover (renames + redirects)#630
Closed
kiryl-xyz wants to merge 1 commit into
Closed
Conversation
Restructures the EN "Documentation" anchor into the 8 top-level groups
from PRD §WS-1, consolidates the streaming taxonomy (LaserStream merges
Yellowstone gRPC; WebSockets merges Standard + Enhanced), and ships 21
redirects to keep inbound links alive.
Top-level groups (was 11, now 8 + Resources)
- Get Started — adds /quickstart back into nav (was orphan)
- Read chain state — RPC, indexed reads, DAS, Enhanced Tx, Wallet API
- Stream chain data — LaserStream, WebSockets, Webhooks
- Send transactions — Sender, Bundles, sendTransaction, Priority Fee
- Run dedicated infrastructure — Dedicated Nodes, Shred Delivery
- Specialized — Compression, Staking, Orb
- Billing — autoscaling, pay-with-crypto
- Resources — glossary, sdks, changelog
Streaming consolidation
- New websockets/ namespace: overview merges enhanced-websockets.mdx +
rpc/websocket.mdx into one product page with two tiers (Enhanced +
Standard) on a unified endpoint. Sub-pages moved here via git mv.
- LaserStream absorbs Yellowstone gRPC: 5 monitoring guides moved under
laserstream/guides/. New laserstream/migration-from-yellowstone page
documents the wire-compatible drop-in (one URL change).
Files moved (git mv, history preserved): 10
- data-streaming/quickstart → streaming/quickstart
- grpc/{account,transaction,slot-and-block,entry,stream-pump-amm-data}
→ laserstream/guides/*
- enhanced-websockets/{account-subscribe,transaction-subscribe,
stream-pump-amm-data,llms.txt}
→ websockets/*
- rpc/websocket/quickstart → websockets/quickstart
Files deleted: 11
- data-streaming.mdx, getting-data.mdx (rewritten in week 2)
- enhanced-websockets.mdx, rpc/websocket.mdx (merged into
websockets/overview.mdx)
- grpc.mdx, grpc/quickstart.mdx (merged into
laserstream/migration-from-yellowstone.mdx)
- rpc/websocket/stream-pump-amm-data.mdx (canonical is the
enhanced-websockets version)
- event-listening.mdx, event-listening/quickstart.mdx (orphan,
redundant with streaming/)
- laserstream/websocket.mdx (orphan, content covered by
websockets/overview.mdx)
- rpc/http/get-accounts.mdx, rpc/http/get-transactions.mdx (orphan
duplicates of rpc/guides/*)
Redirects added: 19 new entries on top of the 2 pre-existing, 21 total.
- /grpc and /grpc/quickstart land on /laserstream/grpc (the gRPC
product page) rather than the migration guide; the migration guide
is a sibling page reachable from there.
- All sub-paths (/grpc/account-monitoring, /enhanced-websockets/*,
/rpc/websocket/*) redirect to their direct equivalents.
- errors.404.redirect stays false so unmatched paths still 404 visibly.
Internal-link rewrites: 70 occurrences across 33 files updated from old
→ new paths.
Bulk-rewrite bug + fix: the rewriter's regex used a lookahead but no
lookbehind, so /grpc matched as a substring of /laserstream/grpc and
produced doubled paths like /laserstream/laserstream/migration-from-
yellowstone. Caught by pre-commit review. 9 occurrences across 8 files
re-pointed to /laserstream/grpc. Lessons captured in SPIKE-NOTES.md
for future bulk rewrites.
Audit: 361 EN pages (was 368). 333 in nav, 28 orphans (was 34). audit.csv
prefilled for the 12 new/moved pages with their Diátaxis type and
Keep action.
Validation
- docs.json is valid JSON.
- mint validate parses all new files cleanly. The 2 pre-existing parse
errors (api-reference/das/searchassets, api-reference/enhanced-
transactions/gettransactions) are unrelated to this PR — they were
also failing on main before this branch.
- mint broken-links found no new broken links.
Out of scope (deferred)
- ZH side of docs.json nav — auto-regenerated by the i18n CI workflow
on merge to main via npm run i18n:nav-apply.
- Persona quickstarts (PRD §WS-4, week 3 in the plan).
- API Reference anchor restructure — kept current shape per PRD.
- Diátaxis page badges (PRD §WS-5, week 5).
scripts/_ia-cutover.js stays in tree as a record of how the nav
restructure happened. Not registered in package.json.
Plan: ~/.claude/plans/users-kiryl-downloads-prd-plan-to-imple-cozy-badger.md
Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Stacked on #629 → #628. The big one — restructures the EN "Documentation" anchor into the PRD's 8 top-level groups, consolidates the streaming taxonomy, and ships 21 redirects.
What ships
New nav (was 11 groups, now 8 + Resources)
Streaming consolidation
Files: 10 moves (history preserved), 11 deletes, 2 new
Redirects: 21 entries (19 new + 2 pre-existing)
`/grpc` and `/grpc/quickstart` land on `/laserstream/grpc` (the product page); the migration guide is a sibling. All sub-paths redirect directly. `errors.404.redirect: false` stays — unmatched paths still 404 visibly.
Internal-link rewrites: 70 occurrences across 33 files
Old paths (`/data-streaming`, `/grpc`, `/enhanced-websockets`, `/rpc/websocket`, `/getting-data`, `/event-listening`) all repointed.
Bug caught by pre-commit review
The rewriter regex used a lookahead but no lookbehind, so `/grpc` matched inside `/laserstream/grpc` and produced doubled paths like `/laserstream/laserstream/migration-from-yellowstone` in 9 places. Pre-commit review caught it before merge. Fixed all 9 + documented the lesson in SPIKE-NOTES.md for future bulk rewrites.
Validation
Notes for review
Validation steps after merge to preview
```bash
Spot-check a handful of redirects
for url in /data-streaming /grpc /enhanced-websockets /rpc/websocket /getting-data; do
curl -sIL "$url" | grep -E "HTTP|Location"
done
```
🤖 Generated with Claude Code