Uh oh!
There was an error while loading. Please reload this page.
[codex] Make Protocol tab App Layer ready - #144
Conversation
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
philanton
left a comment
There was a problem hiding this comment.
Top-level structural suggestion
The 1.x Protocol tab is now App Layer-only. The nested protocol/app-layer/ directory adds a path segment that carries no information — every page already lives under the "Protocol" tab.
Move all pages from docs/nitrolite/protocol/app-layer/*.mdx up to docs/nitrolite/protocol/*.mdx. This also lets docs/nitrolite/protocol/introduction.mdx drop its slug: /protocol/app-layer/overview override and use a natural URL (or rename to protocol/overview.mdx). Removes the mixed sidebar id scheme between protocol/introduction and protocol/app-layer/*. Update sidebars-nitrolite.ts, the navbar docId in docusaurus.config.ts, and any inbound link in learn//build/ that already uses /nitrolite/protocol/app-layer/....
Cosmetic — duplicate ordering source
Each new App Layer page has sidebar_position: N in frontmatter, but the sidebar uses an explicit items: array — frontmatter positions are inert. Two sources of truth for ordering. Drop sidebar_position from the frontmatter, or switch the sidebar to autogenerated and rely on frontmatter alone. Pick one.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ihsraham
commented
May 4, 2026
@philanton fixed the top-level notes. moved the pages up, removed the extra url override and ordering fields, updated the links, and checked the pages locally. |
philanton
left a comment
There was a problem hiding this comment.
All review comments addressed in de19e21. RLP → Solidity ABI fix landed, .mdx suffixes dropped on versioned 0.5.x links, Clearnet category position reverted to 4, Event Messages stub collapsed to admonition, and the structural move flattened protocol/app-layer/* up to protocol/*. LGTM.
Uh oh!
There was an error while loading. Please reload this page.
## Summary Makes the current Nitrolite `1.x` Protocol tab App Layer-only and source-bound after the `nitrolite` / `clearnet` split from base branch commit `f7b0b80` (`feat: nitrolite-clearnet separation`). This PR adds a language-agnostic Nitrolite App Layer protocol section derived only from `/Users/maharshimishra/Documents/nitrolite/docs/protocol`, removes stale current Nitrolite Protocol pages from the visible `1.x` Protocol tree, and keeps old VirtualApp/NitroRPC material available under the existing `0.5.x` versioned docs. ## Current Protocol navigation - Current `1.x` Nitrolite Protocol opens at `/nitrolite/protocol/introduction`. - The visible current Protocol sidebar contains only `App Layer` and its nine source-bound pages. - The sidebar label is `App Layer`, not `Nitrolite v1 App Layer`, because the docs version selector already says `1.x`. - Old current `Protocol Reference`, `Architecture`, and old top-level `Terminology` are not shown in the current Nitrolite Protocol sidebar. - Clearnet/YNP pages from the base branch remain under `/clearnet/**` and are not shown in the current Nitrolite Protocol sidebar. - Version switching from any current Nitrolite Protocol page without a matching `0.5.x` doc id falls back to `/nitrolite/0.5.x/protocol/introduction`, preserving access to the old 0.5 Protocol tree. - Version switching from `0.5.x` Protocol pages without a matching current doc id falls back to `/nitrolite/protocol/introduction`. ## Source coverage matrix | Current page | Source file / sections | | --- | --- | | `docs/nitrolite/protocol/introduction.mdx` | `docs/protocol/overview.md`: design goals, roles, architecture layers, core concepts, protocol version scope | | `docs/nitrolite/protocol/terminology.mdx` | `docs/protocol/terminology.md`: naming conventions, entities, state, cryptographic, ledger, signing, operation, extension terms | | `docs/nitrolite/protocol/cryptography-and-signing.mdx` | `docs/protocol/cryptography.md`: algorithms, canonical encoding, digest construction, signature envelope, validation modes, session keys, replay protection | | `docs/nitrolite/protocol/state-and-ledger-model.mdx` | `docs/protocol/state-model.md`: common fields, channel state, ledger invariant, empty non-home ledger, off-chain/enforcement representations, intent mapping | | `docs/nitrolite/protocol/channel-lifecycle.mdx` | `docs/protocol/channel-protocol.md`: definition, identifier, lifecycle actions, signing categories, advancement rules, transition families, checkpoint-relevant transitions | | `docs/nitrolite/protocol/enforcement-and-settlement.mdx` | `docs/protocol/enforcement.md`: enforceability, locked funds, creation, submission, challenge, close, validation, escrow/migration enforcement, failures | | `docs/nitrolite/protocol/cross-chain-and-assets.mdx` | `docs/protocol/cross-chain-and-assets.md`: unified asset model, normalization, home/non-home ledgers, escrow, cross-chain deposit/withdrawal, migration, replay protection, current notes | | `docs/nitrolite/protocol/interaction-model.mdx` | `docs/protocol/interactions.md`: transport assumptions, envelope, message types, operations, events, correlation, errors, ordering | | `docs/nitrolite/protocol/security-and-limitations.mdx` | `docs/protocol/security-and-limitations.md`: maturity, goals, off-chain safety, enforcement guarantees, node liquidity trust, assumptions, limitations, future improvements | | `static/img/protocol/state-ledger-advancement.png` | copied unchanged from `docs/protocol/state_ledger_advancement.png` | ## Review updates - Flattened current Protocol pages from `docs/nitrolite/protocol/app-layer/*.mdx` to `docs/nitrolite/protocol/*.mdx`. - Removed the `slug: /protocol/app-layer/overview` override from the current overview. - Updated Nitrolite/Clearnet inbound links and footer links to `/nitrolite/protocol/introduction` or the flattened page routes. - Removed redundant `sidebar_position` frontmatter from explicit-sidebar current Protocol pages. - Fixed canonical encoding wording from RLP to Solidity ABI encoding. - Demoted reserved event messages from a full section to a note under Message Types. - Removed the reviewed `.mdx` suffixes from versioned Markdown links. - Adjusted Clearnet decentralized-layer category position from `5` to `4`. - Added `AGENTS.md` so future Docusaurus work runs typecheck/build, serves locally, fetches changed routes, and keeps internal doc links extensionless. ## Adversarial source-only checks - Searched current Nitrolite Protocol pages for `@erc7824`, `@yellow-org/sdk`, `TypeScript`, `Go`, `Clearnet`, `Duck`, `v0.5`, old VirtualApp/NitroRPC markers, and redundant visible `v1` wording: no disallowed current Protocol hits. - Searched `migration` separately: hits are source-backed by `channel-protocol.md`, `cross-chain-and-assets.md`, and `terminology.md`. - Verified the source image is served from `/img/protocol/state-ledger-advancement.png`. - Verified built current sidebar shows only `App Layer` and the nine planned pages. - Verified built version dropdown maps current Protocol pages to `/nitrolite/0.5.x/protocol/introduction` when there is no exact `0.5.x` equivalent, and maps `0.5.x` Protocol introduction back to `/nitrolite/protocol/introduction`. - Verified `/clearnet/learn/decentralized-layer/overview` remains available after conflict resolution. ## Validation - `npm run typecheck` passed. - `npm run build` passed. - `npm run serve -- --host 127.0.0.1 --port 3014` passed. - `curl -fsS -L` returned `200` for all nine current Protocol pages: - `/nitrolite/protocol/introduction` - `/nitrolite/protocol/terminology` - `/nitrolite/protocol/cryptography-and-signing` - `/nitrolite/protocol/state-and-ledger-model` - `/nitrolite/protocol/channel-lifecycle` - `/nitrolite/protocol/enforcement-and-settlement` - `/nitrolite/protocol/cross-chain-and-assets` - `/nitrolite/protocol/interaction-model` - `/nitrolite/protocol/security-and-limitations` - `curl -fsS -L` also returned `200` for `/nitrolite/0.5.x/protocol/introduction`, `/clearnet/learn/decentralized-layer/overview`, and `/img/protocol/state-ledger-advancement.png`. Build notes: Docusaurus still reports pre-existing/base broken links in Clearnet generated contract API pages and versioned `0.5.x` pages, plus pre-existing broken anchors in versioned `0.5.x` pages. No build failure remains, and the merge conflicts are resolved.
Summary
Makes the current Nitrolite
1.xProtocol tab App Layer-only and source-bound after thenitrolite/clearnetsplit from base branch commitf7b0b80(feat: nitrolite-clearnet separation).This PR adds a language-agnostic Nitrolite App Layer protocol section derived only from
/Users/maharshimishra/Documents/nitrolite/docs/protocol, removes stale current Nitrolite Protocol pages from the visible1.xProtocol tree, and keeps old VirtualApp/NitroRPC material available under the existing0.5.xversioned docs.Current Protocol navigation
1.xNitrolite Protocol opens at/nitrolite/protocol/introduction.App Layerand its nine source-bound pages.App Layer, notNitrolite v1 App Layer, because the docs version selector already says1.x.Protocol Reference,Architecture, and old top-levelTerminologyare not shown in the current Nitrolite Protocol sidebar./clearnet/**and are not shown in the current Nitrolite Protocol sidebar.0.5.xdoc id falls back to/nitrolite/0.5.x/protocol/introduction, preserving access to the old 0.5 Protocol tree.0.5.xProtocol pages without a matching current doc id falls back to/nitrolite/protocol/introduction.Source coverage matrix
docs/nitrolite/protocol/introduction.mdxdocs/protocol/overview.md: design goals, roles, architecture layers, core concepts, protocol version scopedocs/nitrolite/protocol/terminology.mdxdocs/protocol/terminology.md: naming conventions, entities, state, cryptographic, ledger, signing, operation, extension termsdocs/nitrolite/protocol/cryptography-and-signing.mdxdocs/protocol/cryptography.md: algorithms, canonical encoding, digest construction, signature envelope, validation modes, session keys, replay protectiondocs/nitrolite/protocol/state-and-ledger-model.mdxdocs/protocol/state-model.md: common fields, channel state, ledger invariant, empty non-home ledger, off-chain/enforcement representations, intent mappingdocs/nitrolite/protocol/channel-lifecycle.mdxdocs/protocol/channel-protocol.md: definition, identifier, lifecycle actions, signing categories, advancement rules, transition families, checkpoint-relevant transitionsdocs/nitrolite/protocol/enforcement-and-settlement.mdxdocs/protocol/enforcement.md: enforceability, locked funds, creation, submission, challenge, close, validation, escrow/migration enforcement, failuresdocs/nitrolite/protocol/cross-chain-and-assets.mdxdocs/protocol/cross-chain-and-assets.md: unified asset model, normalization, home/non-home ledgers, escrow, cross-chain deposit/withdrawal, migration, replay protection, current notesdocs/nitrolite/protocol/interaction-model.mdxdocs/protocol/interactions.md: transport assumptions, envelope, message types, operations, events, correlation, errors, orderingdocs/nitrolite/protocol/security-and-limitations.mdxdocs/protocol/security-and-limitations.md: maturity, goals, off-chain safety, enforcement guarantees, node liquidity trust, assumptions, limitations, future improvementsstatic/img/protocol/state-ledger-advancement.pngdocs/protocol/state_ledger_advancement.pngReview updates
docs/nitrolite/protocol/app-layer/*.mdxtodocs/nitrolite/protocol/*.mdx.slug: /protocol/app-layer/overviewoverride from the current overview./nitrolite/protocol/introductionor the flattened page routes.sidebar_positionfrontmatter from explicit-sidebar current Protocol pages..mdxsuffixes from versioned Markdown links.5to4.AGENTS.mdso future Docusaurus work runs typecheck/build, serves locally, fetches changed routes, and keeps internal doc links extensionless.Adversarial source-only checks
@erc7824,@yellow-org/sdk,TypeScript,Go,Clearnet,Duck,v0.5, old VirtualApp/NitroRPC markers, and redundant visiblev1wording: no disallowed current Protocol hits.migrationseparately: hits are source-backed bychannel-protocol.md,cross-chain-and-assets.md, andterminology.md./img/protocol/state-ledger-advancement.png.App Layerand the nine planned pages./nitrolite/0.5.x/protocol/introductionwhen there is no exact0.5.xequivalent, and maps0.5.xProtocol introduction back to/nitrolite/protocol/introduction./clearnet/learn/decentralized-layer/overviewremains available after conflict resolution.Validation
npm run typecheckpassed.npm run buildpassed.npm run serve -- --host 127.0.0.1 --port 3014passed.curl -fsS -Lreturned200for all nine current Protocol pages:/nitrolite/protocol/introduction/nitrolite/protocol/terminology/nitrolite/protocol/cryptography-and-signing/nitrolite/protocol/state-and-ledger-model/nitrolite/protocol/channel-lifecycle/nitrolite/protocol/enforcement-and-settlement/nitrolite/protocol/cross-chain-and-assets/nitrolite/protocol/interaction-model/nitrolite/protocol/security-and-limitationscurl -fsS -Lalso returned200for/nitrolite/0.5.x/protocol/introduction,/clearnet/learn/decentralized-layer/overview, and/img/protocol/state-ledger-advancement.png.Build notes: Docusaurus still reports pre-existing/base broken links in Clearnet generated contract API pages and versioned
0.5.xpages, plus pre-existing broken anchors in versioned0.5.xpages. No build failure remains, and the merge conflicts are resolved.