Skip to content

docs: resolve the 20 orphaned pages — 10 re-nav'd, 10 deleted with redirects (#2253) - #2293

Open
GigaHierz wants to merge 3 commits into
mainfrom
GigaHierz/2253-orphan-audit
Open

docs: resolve the 20 orphaned pages — 10 re-nav'd, 10 deleted with redirects (#2253)#2293
GigaHierz wants to merge 3 commits into
mainfrom
GigaHierz/2253-orphan-audit

Conversation

@GigaHierz

Copy link
Copy Markdown
Contributor

Closes #2253. Stacked on #2291 — base is GigaHierz/2255-thirdweb-one-page, since the orphan check can only flip to gating once the three thirdweb orphans are also gone. Review that one first; this retargets to main automatically when it merges.

What changed

All 20 non-thirdweb orphans resolved per the decisions in the audit sheet (the Remove column plus its Notes). Every .mdx on disk is now reachable from docs.json navigation.

Re-nav'd — current tab, no path moves (10)

Page Nav home
tooling/overview/migrate/from-ethereum Tooling › Overview
build-on-celo/build-with-usat Build on Celo › Use Cases
build-on-celo/build-on-socialconnect Build on Celo › Use Cases
tooling/oracles/wit-oracle Tooling › Oracles
tooling/wallets/ledger/eip712-workaround Tooling › Wallets › Ledger Wallet
contractkit/{data-encryption-key, migrating-to-viem, migrating-to-contractkit-v1, migrating-to-contractkit-v2, notes-web3-with-contractkit} Tooling › Libraries & SDKs › ContractKit

Deleted with a redirect (10)

The six tooling/overview/setup/* pages, build-on-celo/support, tooling/contract-verification/foundry, tooling/testnets/celo-sepolia/disclaimer, tooling/wallets/coinbase-wallet. Each redirect points at the nearest page that answers the same question, and none of them point at another redirect source.

Two places the sheet and the repo disagreed

Worth a look, because in both cases the sheet's inbound-link count was 0 and the repo says otherwise.

1. build-on-celo/build-on-socialconnect — kept, not deleted. Marked Remove=TRUE with inbound = 0, but it is linked from six in-nav pages: home/wallets.mdx:10, tooling/wallets/index.mdx:11, build-on-celo/build-with-self.mdx:50, build-on-celo/build-on-minipay/overview.mdx:102, contractkit/odis.mdx:25, contractkit/migrating-to-contractkit-v1.mdx:45. Re-nav'd into Use Cases next to build-with-self; all six links keep working. Please correct the row.

2. tooling/contract-verification/foundry — deleted, but its content was kept. Also marked inbound = 0; in fact tooling/dev-environments/foundry.mdx:112 linked to it, and deleting it outright would have left Foundry as the only deploy path in the docs with no verification instructions while Hardhat, Remix, Blockscout and Celoscan all keep theirs. The forge verify-contract commands are now a "Using Foundry" section on the contract-verification overview — a page that did not mention Foundry at all before — and the redirect lands there.

Same treatment for the other two deletes that held unique content: the Celo Sepolia terms and conditions became an <Accordion> on the testnet page, and the support channels became a "Get support" section on build-on-celo/index. Nothing that only existed on a deleted page was dropped.

Inbound links repointed, not papered over

tooling/dev-environments/hardhat.mdx listed three deleted setup pages as its prerequisites; that block is now a single sentence naming the actual prerequisites. tooling/dev-environments/foundry.mdx:112 points at the new anchor.

The CI check now gates

continue-on-error: true removed from .github/workflows/docs-validation.yml, and the stale "report-only" comment updated in scripts/check-orphans.sh. A new page that is not added to navigation now fails CI.

Incidental fixes on pages this already touches

Verification

$ bash scripts/check-orphans.sh
No orphan pages found.

$ npx mintlify broken-links
success no broken links found

Unblocks #2256 (decides coinbase-wallet and ledger/eip712-workaround), #2257 (decides from-ethereum and development-chain), #2258 and #2259.

GigaHierz and others added 3 commits August 28, 2026 13:56
…arity (#2255)

thirdweb was documented across seven pages — a group of three under Dev
Environments, an SDK page under Libraries & SDKs, and three orphaned pages
under build-on-celo/ — with tutorials, step-by-step code, and "recommended"
wording that no other tool in the docs gets.

It is now one page, `tooling/dev-environments/thirdweb`, flat alongside
foundry, hardhat and remix: what it is, the Celo chain configuration, and a
link to thirdweb's own docs. All six other paths redirect there.

Also in this change:

- Removes the tutorials (NFT drop, one-click quickstart) and the CLI/SDK
  walkthroughs — thirdweb's own docs cover them.
- Wallet-provider entry in tooling/wallets/index kept as a plain list item at
  parity with the other providers; utm campaign parameters dropped there and
  on the nodes page.
- x402 "Alternative: thirdweb facilitator" reduced to one link under a neutral
  "Other facilitators" heading.
- Indexer section of scaling-your-app no longer recommends a vendor; it points
  at the Indexers group.
- Fixes a mislinked wagmi reference in attribution-tags that pointed at the
  thirdweb overview page.
- Updates the two stale "Using ..." lists to current root-relative paths and
  adds the missing Foundry entry.
- Deletes three now-unreferenced thirdweb images.

Clears the three thirdweb orphans; the remaining 20 belong to #2253.

Verified: `mintlify broken-links` reports no broken links;
`scripts/check-orphans.sh` reports 20 orphans, all owned by #2253.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…irect

Review fixes on #2255:

- `thirdweb/chains` does export Celo Sepolia as `celoSepoliaTestnet` (chain ID
  11142220). Verified against thirdweb@5.121.1:
  dist/esm/chains/chain-definitions/celo-sepolia-testnet.js. The page now uses
  the named export for both networks instead of defineChain.
- Adds the `/tooling/libraries-sdks/thirdweb-sdk/index` redirect source.
  Mintlify served the deleted page at that path too, and only the bare path was
  covered.
- Drops the `mdx-code-block` fence in tooling/dev-environments/index.mdx — a
  Docusaurus/Crowdin leftover that Mintlify renders as a literal code block.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…directs (#2253)

Applies the decisions recorded in the orphan-audit sheet. Every .mdx file on
disk is now reachable from docs.json navigation, and the CI orphan check added
in #2252 goes from report-only to gating.

Re-nav'd in their current tab, no path moves:

- tooling/overview/migrate/from-ethereum  -> Tooling > Overview
- build-on-celo/build-with-usat           -> Build on Celo > Use Cases
- build-on-celo/build-on-socialconnect    -> Build on Celo > Use Cases
- tooling/oracles/wit-oracle              -> Tooling > Oracles
- tooling/wallets/ledger/eip712-workaround-> Tooling > Wallets > Ledger Wallet
- five ContractKit pages                  -> Tooling > Libraries & SDKs > ContractKit

Deleted, each with a redirect to the nearest page that answers the same
question: the six tooling/overview/setup pages, build-on-celo/support,
tooling/contract-verification/foundry, tooling/testnets/celo-sepolia/disclaimer
and tooling/wallets/coinbase-wallet.

Three of those carried content that existed nowhere else, so it was folded into
a live page before the delete rather than dropped:

- the Celo Sepolia terms and conditions -> an Accordion on the testnet page
- the support channels                  -> a "Get support" section on build-on-celo/index
- the forge verify-contract commands    -> a "Using Foundry" section on the
  contract-verification overview, which previously did not mention Foundry at all

Inbound links repointed rather than left to redirects: the Hardhat page linked
to three deleted setup pages, and the Foundry page linked to the deleted
verification page.

Also on the pages this touches:

- og:description -> description on the nine re-nav'd pages that had it, so they
  carry a description into llms.txt now that they are reachable (#2239).
- wit-oracle: emoji heading removed, and a Solidity example fixed that could not
  compile (`constructor(IWitnetPriceRouter _router))` -> `... _router) {`).
- contract-verification overview: stale /developer/verify/* links updated to
  current paths.

Verified: `scripts/check-orphans.sh` reports no orphan pages;
`mintlify broken-links` reports no broken links.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@GigaHierz
GigaHierz requested review from a team as code owners August 28, 2026 13:02
@GigaHierz
GigaHierz requested review from piersy and seolaoh and removed request for a team August 28, 2026 13:02
Base automatically changed from GigaHierz/2255-thirdweb-one-page to main August 28, 2026 14:41

@palango palango left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the full change set against the PR head (6579bf5). The mechanics mostly check out: all ten new nav entries exist on disk with no duplicates, all ten redirect destinations exist and are in nav, docs.json parses, check-orphans.sh passes at head, and the /build#celo-l2-mainnet anchor resolves. Fifteen findings survived verification; twelve are inline comments on the diff, and the three below anchor on lines outside it.

Ranked, most severe first: 1. legacy-URL redirect chains (inline, docs.json:573) 2. from-ethereum content errors (inline) 3. migrating-to-viem Alfajores content and broken examples (inline) 4. hardhat prerequisites dead-end (inline) 5. mis-aimed deletion redirects (inline, docs.json:609) 6. socialconnect redirects not tightened (below) 7. orphan-gate blind spots (inline, check-orphans.sh) 8. circular foundry.toml promise (inline) 9. Foundry invisible in list and sidebar (inline) 10. segment-dropping wildcards (below) 11. nonexistent "Edit this page" control (inline) 12. stale duplicate lede (inline) 13. emoji headings on the socialconnect page (inline) 14. wit-oracle fence tags (inline) 15. orphaned image assets (below).

Socialconnect redirects not tightened (docs.json 3085, 2229, 753/761/789/3321). This PR adds build-on-celo/build-on-socialconnect to navigation, which was the recorded precondition for re-pointing these. /build/build-on-socialconnect (line 3085) is the page's own legacy path and still lands on /build-on-celo/index. /protocol/socialconnect (2229) still leaves the site for self.xyz, a different product per the Self/SocialConnect split in AGENTS.md section 7. The identity-concept sources at 753, 761 and 3321 still point at the ContractKit ODIS API page, as does 789, whose #using-the-mapping-for-payment fragment matches no heading there while the socialconnect page opens with exactly that payments use case. The ODIS-specific sources (769, 821, 3337) are fine as they are.

Segment-dropping wildcards (docs.json 2609, 2613). /developer/setup/:slug* and /developer/migrate/:slug* both rewrite to /tooling/overview/:slug*, dropping a path segment, so all six legacy /developer/setup/* URLs and /developer/migrate/from-ethereum 404. This predates the PR, but the PR retires the setup pages and publishes from-ethereum, and it forecloses the one-line wildcard fix because the corrected targets are now redirect sources themselves. While the redirect set is open: explicit /developer/setup/* entries mirroring the new block at 573-596, plus /developer/migrate/from-ethereum and the three celo-for-eth-devs sources (1433, 1513, 1557) pointed at /tooling/overview/migrate/from-ethereum, which now answers exactly that question.

Orphaned image assets. Deleting replit.mdx and wallet.mdx leaves img/doc-images/deploy-replit/ (12 PNGs, 6.9 MB) and img/doc-images/testnet-wallet/ (6 PNGs, 1.0 MB) with zero references anywhere in the tree. Nothing in CI catches unreferenced images, so git rm -r both directories in this PR while the deletions are in context.

Comment thread docs.json
},
"redirects": [
{
"source": "/tooling/overview/setup/overview",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These ten redirects cover the current paths of the deleted pages, but older wildcards further down the array rewrite legacy URLs onto these same paths, and Mintlify only takes one hop. Six URLs that resolved at the base commit now 404:

  • /developer/verify/foundry (wildcard at line 2585)
  • /network/alfajores/disclaimer, /network/baklava/disclaimer, /network/celo-sepolia/disclaimer (2745/2753/2761)
  • /wallet/coinbase-wallet (2789)
  • /build/support (the /build/:slug* wildcard at 2557 matches before the specific /build/support entry at 3149, which is now dead code)

Each needs a specific entry above the wildcard, pointing at the final destination already chosen here. AGENTS.md section 2: point at the final page, not at another redirect.

---
title: Celo for Ethereum Developers
og:description: Overview of the similarities and differences between the Celo and Ethereum blockchains.
description: Overview of the similarities and differences between the Celo and Ethereum blockchains

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding this page to navigation publishes content that contradicts the canonical pages:

  • Line 78 says Celo "uses EigenLayer as the data settlement layer". It is EigenDA, for data availability (AGENTS.md section 7, /operate/specification/eigenda).
  • Line 16 says "1 second block finality" and line 78 "all blocks are finalized immediately... no need to wait for more than 1 block confirmation". AGENTS.md rules out the 1-second-finality phrasing; L2 finality follows Ethereum (/operate/specification/finality).
  • Line 84 has a reversed link, (transaction types)[/what-is-celo/...], which renders as plain text, and even fixed the path dead-ends: the /what-is-celo/using-celo/protocol/:slug* wildcard rewrites to singular /home/protocol/transaction/... while the page lives under transactions/. The working target is /home/protocol/transactions/transaction-types.
  • Lines 67-107 still recommend Celo Rosetta and celo-blockchain and describe L1 epoch-block receipt behavior.

Worth a content pass before this enters the sidebar, or hold the page back for #2257.

---
title: Migration document from Contractkit
og:description: How to migrate from ContractKit to viem.
description: How to migrate from ContractKit to viem

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page enters the nav with content AGENTS.md rules out and code that does not run:

  • Alfajores references at lines 21, 194 and 234 ("Alfajores (44787) is retired - do not reference it"). Line 234's Alfajores USDm address is passed as feeCurrency on a mainnet client at line 247, which reverts on chain.
  • tokenAddresses["StableToken] at lines 156 and 174 is an unterminated string literal.
  • publicClient.getAddresses() (42), walletClient.sendSignedTransaction(...) (80) and sendTransaction straight after simulateContract (185) are not viem APIs; AGENTS.md: every example that stays must run.
  • The title is "Migration document from Contractkit" with no sidebarTitle, so that misspelled label is what the sidebar shows, while the sunset banners on the sibling pages call this "the migration guide". Migrating to viem would match.

Either fix the page in this PR or hold it out of nav until it is fixed; publishing as-is ships broken examples on the recommended migration path.

- [Using Windows](/tooling/overview/setup/windows)
- [Using Mac](/tooling/overview/setup/mac)
- [Using Replit](/tooling/overview/setup/replit)
Node.js and a package manager installed locally, and an account funded from the [Celo Sepolia faucet](https://faucet.celo.org/celo-sepolia). To deploy without a local environment, use [Remix](/tooling/dev-environments/remix) instead.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence replaces the only route readers had to account-creation guidance, and the guide now dead-ends: the config below requires process.env.MNEMONIC with derivation path m/44'/52752'/0'/0, and after this PR no page in the repo explains how to obtain one. The natural reading of the new prerequisite (MetaMask plus faucet) does not produce a usable mnemonic either; tooling/wallets/metamask/use.mdx says MetaMask cannot export or import along the Celo derivation path. Cheapest fix: link celocli account:new (tooling/libraries-sdks/cli/account.mdx, in nav) with a note on the derivation path, or switch the example to a private-key account.

Comment thread docs.json
"destination": "/tooling/testnets/celo-sepolia/index"
},
{
"source": "/tooling/wallets/coinbase-wallet",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Three of the new destinations do not answer the question the deleted page answered (AGENTS.md section 2: redirect to the nearest page that answers the same question):

  • This one: tooling/wallets/index.mdx never mentions Coinbase and has no chain params. The deleted page's wallet_addEthereumChain/wallet_watchAsset content survives near-verbatim at /tooling/wallets/metamask/setup (in nav), which is the better target.
  • /tooling/overview/setup/wallet (585) goes to the Celo Sepolia network page, which has faucet links but nothing on creating or importing a wallet; /tooling/wallets/metamask/add-celo-testnet-to-metamask covers both.
  • /tooling/overview/setup/replit (589) goes to a dev-environments index that never mentions Replit or any no-install path; /tooling/dev-environments/remix is the surviving browser-only option, as the new hardhat.mdx prerequisite itself says.

- [Using Remix](/developer/verify/remix)
- [Using CeloScan](/developer/verify/celoscan)
- [Using Hardhat](/developer/verify/hardhat) No newline at end of file
- [Using Hardhat](/tooling/contract-verification/hardhat)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Foundry is missing from this list even though the "Using Foundry" section is two lines below it, and it is also absent from the Contract Verification sidebar group in docs.json, so someone scanning either surface sees four methods and concludes Foundry is not covered. Minimum fix: add - [Using Foundry](#using-foundry) here. The symmetric alternative is to keep foundry.mdx as a fifth page in the group alongside Hardhat, Blockscout, Remix and Celoscan.

Comment thread build-on-celo/index.mdx
- Longer-form discussion: the [Celo Forum](https://forum.celo.org/).
- Updates: the [DevDesk mailing list](https://embeds.beehiiv.com/eeadfef4-2f0c-45ce-801c-b920827d5cd2) and [CeloDevs on X](https://x.com/CeloDevs).

Something missing or unclear in these docs? [Open an issue](https://github.com/celo-org/docs/issues/new) or use "Edit this page" at the bottom of any page.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs.json has no feedback key, and Mintlify only renders the suggest-edits control when feedback.suggestEdit is configured, so there is no "Edit this page" at the bottom of any page; a reader following this instruction finds nothing. The sentence came over from the deleted support page, but since it is being rewritten anyway: either add the feedback block to docs.json in this PR or drop the clause and keep the issue link.




How to verify contracts deployed on Celo.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leftover from the rewrite: this line plus the --- under it restate the frontmatter description right above the new lede at line 11, so the page opens with the same sentence twice and a stray rule. Suggest deleting lines 7-9. While in the file, ## Verify Contracts on Celo on line 13 should be sentence case; the AGENTS.md heading rule explicitly covers rewritten pages.

---
title: Introduction to SocialConnect
og:description: A beginner's guide to understanding and using SocialConnect
description: How SocialConnect maps phone numbers and other identifiers to Celo addresses

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Publishing this page while editing its frontmatter leaves all four headings against the AGENTS.md heading rules this same PR applies to wit-oracle.mdx: emoji in every heading, a question heading on a non-FAQ page, and "Further Reading", which AGENTS.md names as an out-of-vocabulary synonym. The emoji also end up in the generated anchor slugs, so plain #key-features-style deep links scroll nowhere, and mint broken-links does not validate anchors. Separately, the page has zero internal links (everything points at socialconnect-docs.vercel.app), which makes the AGENTS.md-canonical page for phone-number mapping a dead end in the link graph.

* https://docs.witnet.io/smart-contracts/witnet-data-feeds/addresses
*/
constructor(IWitnetPriceRouter _router))
constructor(IWitnetPriceRouter _router) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch on the constructor. The fence this block sits in is still tagged javascript though, as are the other two on the page: lines 36 and 106 are Solidity, and the snippet at line 76 mixes Python calls with // comments and parses in neither language. Since this PR already edits inside the first block, worth retagging the fences and fixing the line-76 snippet in the same pass.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants