docs(operate): add a landing page for the Operate tab - #2308
Conversation
GigaHierz
left a comment
There was a problem hiding this comment.
Reviewed at head 692b8706, rebased onto current main first (the branch was 2 behind; it rebases clean). Content tier — no code or money paths — so instead of a suite pass I did link resolution, nav reachability, independent verification of every claim in the body and on the page, and a rendered click-through.
One finding, one line. Everything else verified clean.
Finding
Low · operate/index.mdx:89 · content sits after ## Related, which AGENTS.md §3 says closes the page.
The Discord line follows the ## Related bullets. AGENTS.md: "## Resources is a two-column table… ## Related is a bullet list… Both close the page."
I checked whether the standard is already drifting rather than assuming: of 24 pages carrying ## Related on main, 22 end there. This would be the third exception.
Raising it only because the body invokes AGENTS.md to justify the wording of that exact sentence, so the standard is being applied to its content but not its placement.
Fix: move the sentence above ## Related, or fold it into the opening paragraph beside the "fastest path" line.
Your open question
Don't match operate/operators/overview.mdx:50. Yours is shorter and says the same thing, and AGENTS.md is explicit that the conflicting existing page is the one that's wrong. The right resolution is fixing the older four, not degrading the new one — the long form appears identically on operators/overview.mdx:50, troubleshooting.mdx:44, notices/archive/l1-fusaka-upgrade.mdx:39 and notices/archive/celo-sepolia-launch.mdx:91. Say the word and I'll file it as a follow-up.
A finding I withdrew
I nearly raised that the "Run a node" deck omits /operate/operators/architecture, which is second in the nav group this page routes. Then I checked: operators/overview.mdx:17 links to it directly, so it is one hop from your first card. Correct curation, not a gap.
Verified good
- All 19 internal links resolve to a real file and are reachable from nav. No anchors used, so nothing
broken-linkscannot see. - Every factual claim on the page, against the pages it describes: the op-geth→op-reth switch dates exist on the deprecation notice (Sepolia June 24 2026, Mainnet July 22 2026 — correctly not restated here, per §7);
run-nodeis op-reth-from-snapshot;historical-proofsiseth_getProofwithout an archive node;configurationiscelo-l2-node-docker-compose. - Every structural claim in the body, independently:
/operatedid resolve tooperate/notices/overview; Operate was the only tab not opening on an index page; the Home tab is a real one-page-group precedent; 737 redirects with no/operatesource and no wildcard shadowing it. docs.jsonis exactly 4 insertions, 0 deletions, no reformatting — diffed rather than taken on trust. Every existing group keeps its position.- Rendered click-through on
mint dev:/operatereturns 200 and serves the new page.broken-linksandcheck-orphansboth green against currentmain, not just the base this was written on. - The Discord channel deep-link resolves (200) and matches the pattern on five other pages.
sidebarTitle: "Start here"is consistent withbuild-on-celo/index's "Getting started".
What it got right
The diagnosis is the valuable part — a prospective node operator's first screen being a deprecation list is a real problem, and the fix is four lines of nav plus one page. Routing rather than explaining is the right call: operators/overview.mdx keeps its single-source role and is untouched, so node tiers and client choice still live in one place each. Linking out for the op-geth dates instead of restating them is §7 done properly, and it is the detail most landing pages get wrong.
One round of targeted fixes, not a rethink.
Merge-order hazards
None. git merge-tree against all six other open PRs (#2288, #2295, #2297, #2299, #2300, #2304) reports no conflicts. Your docs.json insert is in the Operate nav block; the others are in Contribute nav, redirects, footer and integrations. Merge in any order.
|
Fixed in I took your second option and folded the sentence into the opening paragraph rather than leaving it floating above
On the Discord wording, agreed, and thanks for turning up the other three. I only knew about The withdrawn architecture finding was the right call, and for the reason you landed on: |
GigaHierz
left a comment
There was a problem hiding this comment.
Approving. Re-checked at head 16513d72 (the merge from main), not at the head I reviewed yesterday.
The one finding is closed. 7e7ed84e moves the support sentence into the opening paragraph, so the page now ends on the ## Related bullets and matches the 22 of 24 pages that do the same. Folding it into the "who this is for, fastest path, where to ask" sentence reads better than the floating line would have.
Verified on this head:
- Diff is still exactly
docs.json+4 andoperate/index.mdx+87, nothing else, no reformatting. mint broken-linksandbash scripts/check-orphans.shboth green locally on16513d72.mint devserves/operatewith a 200 and the rendered page carries the Start here title, the support sentence in the intro, and a single## Relatedat the end.- Branch is 0 behind
main, CI green, no conflicts with the other open PRs.
The Discord wording tidy-up on the older four pages is filed as #2309.
The Operate tab has had no landing page since #2289 folded the Specs tab into it, so
/operateresolved tooperate/notices/overviewand the first screen a prospective node operator saw was a list of deprecations. This addsoperate/index.mdxas the tab's front door and puts it first in the nav, matching every other tab, all of which already open on their own index page. The page routes rather than explains:operate/operators/overview.mdxkeeps its role as the node-operation intro and is not touched, so node tiers, client choice and the op-geth switch dates still live in one place each.What's in it
operate/index.mdx, written to the AGENTS.md §3 Index page type: an audience sentence, a warning that op-geth is being replaced by op-reth which links out for the dates rather than restating them, then card groups for Run a node, Keep a node healthy, Reference, Protocol specification and Network notices. It closes with## Relatedpointing at the three things readers need that live outside the tab: network information, hosted RPC providers, and community RPC nodes.docs.jsongains a four-line insert,{"group": "Introduction", "pages": ["operate/index"]}, at the head of the Operate tab. Every existing group keeps its position, so Network Notices stays second because the op-geth deadline is still live. A one-page group is the existing precedent: the Home tab opens the same way.No redirects. Nothing is moved, renamed or deleted, so AGENTS.md §2 does not apply. There is no
/operateentry among the 737 redirects and no wildcard that would shadow it.Verification
git diff docs.jsonis 4 insertions and 0 deletions, with no reformatting.One thing to look at
The page ends with
Ask in #celo-L2-support on Discord if you get stuck.The equivalent line onoperate/operators/overview.mdx:50reads "Please reach out to our team on Discord in the #celo-L2-support channel if you have any questions." I did not copy it, on the grounds that AGENTS.md says an existing page that conflicts with the standard is wrong and should not be copied as drift. That leaves the two pages wording the same pointer differently until the older one is tidied. Happy to match the old wording instead if you would rather they agree today.Part of #2266.