feat: add Jade Fork docs and fix node-operation issues#140
feat: add Jade Fork docs and fix node-operation issues#140
Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ❌ Deployment failed View logs |
pre-rail | 68c9d21 | Mar 31 2026, 06:37 AM |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR restructures node operation documentation to integrate MPT (Merkle Patricia Trie) guidance across multiple setup guides rather than maintaining a separate document. It adds a new Jade Fork overview explaining the zkTrie-to-MPT state storage transition, updates Docker and host-based deployment guides with MPT-specific snapshots and configurations, and reorganizes sidebar navigation into "Forks & Network Upgrades" and "Maintenance" categories. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Deploying morph-doc with
|
| Latest commit: |
68c9d21
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://67200e3b.morph-doc.pages.dev |
| Branch Preview URL: | https://feat-jade-fork-docs.morph-doc.pages.dev |
…ration zkTrie nodes with updated binaries can still process MPT blocks post-fork. MPT storage migration is optional, not mandatory. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md (1)
79-99: Hardcoded snapshot date requires maintenance.Similar to the host guide, the snapshot name
mpt-snapshot-20260312-1is hardcoded (lines 73-74). This creates the same maintenance burden where the documentation will need updates whenever a new snapshot is published.Consider adding a more prominent reminder to check for the latest snapshot:
:::tip Check the [snapshot information page](https://github.com/morph-l2/run-morph-node#snapshot-information) for the most recent MPT snapshot name and update the `.env_mpt` variables accordingly before downloading. :::🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md` around lines 79 - 99, Update the section that downloads the MPT snapshot to avoid relying on the hardcoded snapshot name `mpt-snapshot-20260312-1`; add a prominent reminder (tip/note) instructing readers to check the snapshot information page (https://github.com/morph-l2/run-morph-node#snapshot-information) for the latest MPT snapshot name and to update their `.env_mpt` variables before running the download commands, and replace or annotate any direct references to `mpt-snapshot-20260312-1` so maintainers/users are explicitly told to validate the current snapshot name first.docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md (2)
60-101: Hardcoded snapshot date will require frequent updates.The snapshot name
mpt-snapshot-20260312-1is hardcoded in multiple places (lines 74, 83, 96). While line 90 notes that users should replace this with the latest name, this pattern creates maintenance overhead and increases the risk of users following stale instructions.📝 Consider using a variable pattern
# Set the snapshot name as a variable SNAPSHOT_NAME=mpt-snapshot-20260312-1 cd ~/.morph wget -q --show-progress https://snapshot.morphl2.io/mainnet/${SNAPSHOT_NAME}.tar.gz tar -xzvf ${SNAPSHOT_NAME}.tar.gzAlternatively, add a more prominent callout at the beginning:
:::tip Check for the latest snapshot Before proceeding, check the [snapshot information page](https://github.com/morph-l2/run-morph-node#snapshot-information) for the most recent MPT snapshot name and update the commands below accordingly. :::🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md` around lines 60 - 101, The docs hardcode the snapshot name "mpt-snapshot-20260312-1" in multiple commands (wget, tar, mv) which causes maintenance burden; update the instructions to define a single snapshot variable (e.g., SNAPSHOT_NAME) at the start and reference that variable in all commands that currently use mpt-snapshot-20260312-1 (the wget/tar/mv commands and the example paths), or alternatively add a prominent tip instructing readers to look up the latest snapshot name before running the commands and replace the placeholder; ensure every occurrence in the Step 4 section (wget, tar, mv, and the note about replacing the name) is changed to use the variable or explicit callout so users won’t follow stale commands.
49-59: Consider more robust process termination.The
ps | grep | awk | killpattern has several limitations:
- No error handling if the process isn't found
- No verification that the kill succeeded
- Uses
killwithout a signal, which sends SIGTERM but doesn't wait for clean shutdown- Could match unintended processes if multiple instances are running
🔧 More robust alternatives
Option 1: Use
pkillwith error handling# Stop morphnode pkill -f morphnode || echo "morphnode not running" sleep 2 # Stop geth pkill -f geth || echo "geth not running" sleep 2Option 2: Graceful shutdown with timeout
# Stop morphnode gracefully pid=$(pgrep -f morphnode) if [ -n "$pid" ]; then kill -TERM $pid sleep 5 # Force kill if still running kill -9 $pid 2>/dev/null || true fi🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md` around lines 49 - 59, Replace the fragile "ps | grep | awk | kill" snippet for stopping morphnode and geth with a robust termination sequence: use pkill -f morphnode and pkill -f geth with a fallback message if not running, or use pgrep -f morphnode / pgrep -f geth to capture PIDs, check for non-empty PID, send SIGTERM (kill -TERM) and wait/sleep for a short timeout, then verify the process is gone and escalate to kill -9 if still alive; ensure each step logs or echoes "not running" or success and suppress non-fatal errors so the script won't fail unexpectedly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 13: The markdown has a heading-level jump (MD001): change the "### MPT
Nodes (post-Jade Fork)" heading and the other heading at the same section (the
second occurrence referenced at lines 25) from level 3 to level 2 by replacing
the leading "###" with "##" so both headings use "##" and restore proper heading
order to satisfy the linter.
---
Nitpick comments:
In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.md`:
- Around line 60-101: The docs hardcode the snapshot name
"mpt-snapshot-20260312-1" in multiple commands (wget, tar, mv) which causes
maintenance burden; update the instructions to define a single snapshot variable
(e.g., SNAPSHOT_NAME) at the start and reference that variable in all commands
that currently use mpt-snapshot-20260312-1 (the wget/tar/mv commands and the
example paths), or alternatively add a prominent tip instructing readers to look
up the latest snapshot name before running the commands and replace the
placeholder; ensure every occurrence in the Step 4 section (wget, tar, mv, and
the note about replacing the name) is changed to use the variable or explicit
callout so users won’t follow stale commands.
- Around line 49-59: Replace the fragile "ps | grep | awk | kill" snippet for
stopping morphnode and geth with a robust termination sequence: use pkill -f
morphnode and pkill -f geth with a fallback message if not running, or use pgrep
-f morphnode / pgrep -f geth to capture PIDs, check for non-empty PID, send
SIGTERM (kill -TERM) and wait/sleep for a short timeout, then verify the process
is gone and escalate to kill -9 if still alive; ensure each step logs or echoes
"not running" or success and suppress non-fatal errors so the script won't fail
unexpectedly.
In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.md`:
- Around line 79-99: Update the section that downloads the MPT snapshot to avoid
relying on the hardcoded snapshot name `mpt-snapshot-20260312-1`; add a
prominent reminder (tip/note) instructing readers to check the snapshot
information page
(https://github.com/morph-l2/run-morph-node#snapshot-information) for the latest
MPT snapshot name and to update their `.env_mpt` variables before running the
download commands, and replace or annotate any direct references to
`mpt-snapshot-20260312-1` so maintainers/users are explicitly told to validate
the current snapshot name first.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 47b16558-509c-409d-957f-66434e1806ac
📒 Files selected for processing (12)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.mddocs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.mddocs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/3-jade-fork-upgrade-host.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/4-jade-fork-upgrade-docker.mddocs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.mdsidebars.js
|
|
||
| :::note | ||
| To prune a Geth node at least 200 GB of free disk space is recommended. This means pruning cannot be used to save a hard drive that has been completely filled. A good rule of thumb is to prune before the node fills ~80% of the available disk space. | ||
| ### MPT Nodes (post-Jade Fork) |
There was a problem hiding this comment.
Fix heading level increment to satisfy markdown linting.
Line 13 and Line 25 should use ## (not ###) to avoid a heading-level jump (MD001).
Suggested diff
-### MPT Nodes (post-Jade Fork)
+## MPT Nodes (post-Jade Fork)
-### zkTrie Nodes (pre-Jade Fork)
+## zkTrie Nodes (pre-Jade Fork)Also applies to: 25-25
🧰 Tools
🪛 markdownlint-cli2 (0.22.0)
[warning] 13-13: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3
(MD001, heading-increment)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at
line 13, The markdown has a heading-level jump (MD001): change the "### MPT
Nodes (post-Jade Fork)" heading and the other heading at the same section (the
second occurrence referenced at lines 25) from level 3 to level 2 by replacing
the leading "###" with "##" so both headings use "##" and restore proper heading
order to satisfy the linter.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md (1)
133-133: Make tail commands copy-paste ready.Line 133 and Line 152 use mixed prose/inline-code formatting for commands. Consider fenced bash snippets for better terminal usability.
Suggested docs tweak
-tail -f `geth.log` to check if the Geth is running properly, or you can also execute the curl command below to check if you are connected to peers. +Use: +```bash +tail -f geth.log +``` +to check if Geth is running properly. You can also execute the curl command below to check peer connectivity. ... -tail -f `node.log` to check if the node is running properly. +Use: +```bash +tail -f node.log +``` +to check if the node is running properly.Also applies to: 152-152
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md` at line 133, Replace mixed prose/inline-code terminal examples (e.g., "tail -f `geth.log`" and "tail -f `node.log`" at the spots referencing Geth and node logs) with copy-paste ready fenced bash code blocks containing the exact commands (for example a ```bash block with "tail -f geth.log" or "tail -f node.log") and then follow the block with the explanatory sentence about checking Geth/node status or peer connectivity; update both occurrences referenced in the diff (the geth.log example and the node.log example).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md`:
- Around line 66-69: Update the recovery section to document both recovery
paths: (1) the binary-only path for zkTrie nodes — explain that if the node
missed the fork but is a zkTrie node it can be recovered by updating to the
post-fork binary and simply restarting (reference "zkTrie" and the earlier lines
that mention updating binaries and restart), and (2) the MPT migration path —
keep the existing instructions about preparing an MPT data directory, restoring
from an MPT snapshot and starting with the --morph-mpt flag for cases that
require state migration; clearly state when to use each path (e.g.,
zkTrie-compatible nodes use binary update+restart, non-zkTrie or incompatible
state requires snapshot+--morph-mpt).
---
Nitpick comments:
In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`:
- Line 133: Replace mixed prose/inline-code terminal examples (e.g., "tail -f
`geth.log`" and "tail -f `node.log`" at the spots referencing Geth and node
logs) with copy-paste ready fenced bash code blocks containing the exact
commands (for example a ```bash block with "tail -f geth.log" or "tail -f
node.log") and then follow the block with the explanatory sentence about
checking Geth/node status or peer connectivity; update both occurrences
referenced in the diff (the geth.log example and the node.log example).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: f74b8cf5-a71e-4418-a91e-bdcc7bf74728
📒 Files selected for processing (5)
docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.mddocs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
✅ Files skipped from review due to trivial changes (1)
- docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.md
- docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
Show resolved
Hide resolved
- jade-fork-overview FAQ: fix "miss fork time" recovery (binary update, not full MPT migration), split crash debug by upgrade path, clarify rollback - upgrade-node-host/docker warnings: binary/image update IS sufficient for zkTrie nodes; only redirect to MPT guide if user wants storage migration - jade-fork-upgrade-host/docker: clarify these are optional MPT storage migration guides, not required upgrade steps - validator/run-on-host: add missing `morph` module to --http.api - prune-state: remove "all nodes should be running in MPT mode" — zkTrie nodes with updated binaries remain valid - run-mpt-node tip: "need to migrate" → "want to migrate" - run-on-host: fix archive mode tip for MPT era, add genesis sync content, fix js comment syntax in bash code blocks Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- upgrade-node-host: add missing morph module to --http.api in restart cmd - validator/run-in-docker: fix ROLLUP_CONTRACY typo → ROLLUP_CONTRACT - validator/run-on-host: fix L1MESSAGEQUEUECONTRACT → L1MESSAGEQUEUE_CONTRACT for Hoodi (variable name must match the one referenced in start command) - run-mpt-node: fix bare slug links → use .md extension for consistency - run-in-docker: fix cd path after clone (run-morph-node/morph-node not morph-node) - sidebars.js: move "Upgrade Node" before "Forks & Network Upgrades" to match operator workflow; also order host before docker within Upgrade Node Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.md (1)
13-13:⚠️ Potential issue | 🟡 MinorUse
##headings to fix markdown heading increment lint.This still triggers MD001 (
h3jump). Promote both section headings to##.Also applies to: 25-25
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at line 13, Update the Markdown heading levels to fix the MD001 lint: change the "### MPT Nodes (post-Jade Fork)" heading to use "##" and likewise promote the adjacent section heading (the subsequent section header in this document) from "###" to "##" so there is no h3 jump.
🧹 Nitpick comments (1)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.md (1)
17-24: Add concrete stop/start command references for host and Docker flows.“Stop the node” / “Start the node” is ambiguous operationally. Link to exact stop/start procedures (or provide command snippets) for both host and Docker guides to reduce operator error during pruning.
Also applies to: 33-39
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` around lines 17 - 24, Replace the ambiguous "Stop the node" / "Start the node" steps with explicit, copy-pasteable stop/start command snippets and brief notes for both host (systemd) and containerized (Docker/docker-compose) deployments so operators know exactly how to stop and start the consensus client (morphnode) and execution client (geth) before and after running geth snapshot prune-state; ensure the commands explicitly target the morphnode and geth services/containers, instruct to verify the processes have fully terminated before pruning and to restart both services after pruning, and apply the same concrete edits to the other occurrence of this instruction later in the document.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 20: The prune command uses a bare geth invocation ("nohup geth snapshot
prune-state --datadir \"$GETH_DB_DIR\" > prune.log &"), which can fail if the
source-built binary isn't in PATH; update this line to either call the explicit
built binary used elsewhere (replace "geth" with the same explicit binary path)
or add a note that "geth must be in PATH" before the command, and apply the same
change to the other identical occurrence of the prune command in the file.
---
Duplicate comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Line 13: Update the Markdown heading levels to fix the MD001 lint: change the
"### MPT Nodes (post-Jade Fork)" heading to use "##" and likewise promote the
adjacent section heading (the subsequent section header in this document) from
"###" to "##" so there is no h3 jump.
---
Nitpick comments:
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md`:
- Around line 17-24: Replace the ambiguous "Stop the node" / "Start the node"
steps with explicit, copy-pasteable stop/start command snippets and brief notes
for both host (systemd) and containerized (Docker/docker-compose) deployments so
operators know exactly how to stop and start the consensus client (morphnode)
and execution client (geth) before and after running geth snapshot prune-state;
ensure the commands explicitly target the morphnode and geth
services/containers, instruct to verify the processes have fully terminated
before pruning and to restart both services after pruning, and apply the same
concrete edits to the other occurrence of this instruction later in the
document.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 070908ac-ba09-4125-add7-d49ceb157684
📒 Files selected for processing (1)
docs/build-on-morph/developer-resources/node-operation/1-prune-state.md
| 1. Stop the node, including the consensus client (`morphnode`) and the execution client (`geth`). | ||
| 2. Run the prune command: | ||
| ```bash | ||
| nohup geth snapshot prune-state --datadir "$GETH_DB_DIR" > prune.log & |
There was a problem hiding this comment.
Prune commands may fail in source-built host setup due to bare geth invocation.
The doc uses nohup geth ..., but host run docs start geth via ./morph/go-ethereum/build/bin/geth (docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md:117-129). Please either use the same explicit binary path here or state geth must be in PATH.
Also applies to: 36-36
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/build-on-morph/developer-resources/node-operation/1-prune-state.md` at
line 20, The prune command uses a bare geth invocation ("nohup geth snapshot
prune-state --datadir \"$GETH_DB_DIR\" > prune.log &"), which can fail if the
source-built binary isn't in PATH; update this line to either call the explicit
built binary used elsewhere (replace "geth" with the same explicit binary path)
or add a note that "geth must be in PATH" before the command, and apply the same
change to the other identical occurrence of the prune command in the file.
…grade guides - Rewrite full-node/run-in-docker and run-on-host as MPT-first docs - Delete standalone run-mpt-node (merged into the two main guides) - Delete jade-fork-upgrade-host and jade-fork-upgrade-docker (redundant) - Update jade-fork-overview links to point to consolidated docs - Clean up upgrade-node-host/docker (remove Jade Fork migration refs) - Update validator docs and sidebar Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
sidebars.js (1)
182-197:⚠️ Potential issue | 🟡 MinorSidebar category order does not match the stated rollout structure.
Forks & Network Upgradesshould appear beforeUpgrade Nodeto match the intended sequence in this PR.Suggested fix
{ type: 'category', - label: 'Upgrade Node', + label: 'Forks & Network Upgrades', collapsed: false, items: [ - 'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-host', - 'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-docker', + 'build-on-morph/developer-resources/node-operation/upgrade-node/jade-fork-overview', ], }, { type: 'category', - label: 'Forks & Network Upgrades', + label: 'Upgrade Node', collapsed: false, items: [ - 'build-on-morph/developer-resources/node-operation/upgrade-node/jade-fork-overview', + 'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-host', + 'build-on-morph/developer-resources/node-operation/upgrade-node/upgrade-node-docker', ], },🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@sidebars.js` around lines 182 - 197, The sidebar categories are in the wrong order; swap the two category objects so the category with label 'Forks & Network Upgrades' appears before the category with label 'Upgrade Node'—locate the category entries whose label properties are 'Upgrade Node' and 'Forks & Network Upgrades' in sidebars.js and reorder those objects (including their items arrays and collapsed flags) so the forks & network upgrades category comes first.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`:
- Line 13: The top-level heading "Recommended Versions" uses ### which jumps
levels (MD001); change it to a level-2 heading (## Recommended Versions) or
insert an appropriate preceding H2 so the document's heading hierarchy is
sequential; update the "Recommended Versions" heading text (the unique heading
string) to use the correct level to resolve the MD001 warning.
- Around line 240-242: The fenced code block containing the snapshot URL is
missing a language identifier; update the block that currently shows ``` on the
line before
"https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz" to
include a language tag (e.g., change ``` to ```text) so the block becomes a
properly tagged fenced code block.
---
Outside diff comments:
In `@sidebars.js`:
- Around line 182-197: The sidebar categories are in the wrong order; swap the
two category objects so the category with label 'Forks & Network Upgrades'
appears before the category with label 'Upgrade Node'—locate the category
entries whose label properties are 'Upgrade Node' and 'Forks & Network Upgrades'
in sidebars.js and reorder those objects (including their items arrays and
collapsed flags) so the forks & network upgrades category comes first.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ee1fc43c-0b23-4f25-bfbb-2fdaf1f7e0dc
📒 Files selected for processing (9)
docs/build-on-morph/developer-resources/node-operation/full-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.mddocs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.mddocs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.mddocs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.mddocs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.mdsidebars.js
💤 Files with no reviewable changes (1)
- docs/build-on-morph/developer-resources/node-operation/full-node/3-run-mpt-node.md
✅ Files skipped from review due to trivial changes (3)
- docs/build-on-morph/developer-resources/node-operation/upgrade-node/2-upgrade-node-docker.md
- docs/build-on-morph/developer-resources/node-operation/upgrade-node/1-upgrade-node-host.md
- docs/build-on-morph/developer-resources/node-operation/upgrade-node/0-jade-fork-overview.md
🚧 Files skipped from review as they are similar to previous changes (2)
- docs/build-on-morph/developer-resources/node-operation/validator-node/2-run-on-host.md
- docs/build-on-morph/developer-resources/node-operation/validator-node/1-run-in-docker.md
| - 32GB+ RAM | ||
| - High-performance SSD with at least 1TB of free space | ||
| - 25+ MBit/sec download Internet service | ||
| ### Recommended Versions |
There was a problem hiding this comment.
Fix heading level jump in the first section.
Line 13 starts at ### before any ##, which triggers MD001 and can break heading hierarchy consistency.
Suggested fix
-### Recommended Versions
+## Recommended Versions🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md`
at line 13, The top-level heading "Recommended Versions" uses ### which jumps
levels (MD001); change it to a level-2 heading (## Recommended Versions) or
insert an appropriate preceding H2 so the document's heading hierarchy is
sequential; update the "Recommended Versions" heading text (the unique heading
string) to use the correct level to resolve the MD001 warning.
| ``` | ||
| https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz | ||
| ``` |
There was a problem hiding this comment.
Add language identifier to fenced code block.
This block is missing a language tag (MD040).
Suggested fix
-```
+```text
https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against the current code and only fix it if needed.
In
@docs/build-on-morph/developer-resources/node-operation/full-node/2-run-on-host.md
around lines 240 - 242, The fenced code block containing the snapshot URL is
missing a language identifier; update the block that currently shows on the line before "https://snapshot.morphl2.io/<network>/mpt-snapshot-YYYYMMDD-N.tar.gz" to include a language tag (e.g., change to ```text) so the block becomes a
properly tagged fenced code block.
</details>
<!-- fingerprinting:phantom:poseidon:hawk:ac9c2e5b-65f0-41bd-b8f5-232d857c46b2 -->
<!-- This is an auto-generated comment by CodeRabbit -->
- Add note that pruning requires 128 blocks after MPT migration - Clarify zkTrie prune is unsupported after switching to MPT - Merge "Upgrade Node" and "Forks & Network Upgrades" into "Upgrade & Forks" Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Add comprehensive Jade Fork (zkTrie → MPT) documentation and fix multiple issues across the node-operation docs.
New Files (3)
upgrade-node/0-jade-fork-overview.md— Entry point: what the Jade Fork is, fork schedule, upgrade decision tree, and FAQ/troubleshootingupgrade-node/3-jade-fork-upgrade-host.md— Step-by-step host (source-built) migration guideupgrade-node/4-jade-fork-upgrade-docker.md— Step-by-step Docker migration guideFixes
prune-state.mdprune-zk-stateis zkTrie-only; no guidance for MPT nodesprune-state) and zkTrie (prune-zk-state) sections with appropriate contextfull-node/2-run-on-host.mdcatching_up: trueincorrectly described as "in sync"catching_up: falsemeans fully syncedfull-node/2-run-on-host.mdmorphnodestartup command broken — missing\continuation; dangling--mainnetand--l1.rpcflags not used in current releases3-run-mpt-node.mdfull-node/1-run-in-docker.md,full-node/2-run-on-host.md,validator-node/1-run-in-docker.md,validator-node/2-run-on-host.md:::warningcallout to each file directing users to MPT docsfull-node/2-run-on-host.md,validator-node/2-run-on-host.mdsnapshot.morph.networkinconsistent withsnapshot.morphl2.ioused in MPT docssnapshot.morphl2.iofull-node/1-run-in-docker.mdsecret-jwt.txt,.envsaysjwt-secret.txtjwt-secret.txtfull-node/2-run-on-host.md--http.apimissingmorphmodule (present in3-run-mpt-node.md)morphto the API listsidebars.jsprune-stateplaced under "Full Node" category — it's a maintenance task, not a setup guidesidebars.jsfull-node/3-run-mpt-node.md,upgrade-node/1-upgrade-node-host.md,upgrade-node/2-upgrade-node-docker.md:::tip/:::warningcallouts routing users to the right guideKnown Issue (not fixed here)
validator-node/1-run-in-docker.mdhasROLLUP_CONTRACY(typo forROLLUP_CONTRACT). This appears to be the actual env var name used in therun-morph-nodeMakefile — changing it in docs without updating the code would cause breakage. Needs to be fixed in the run-morph-node repo first.Test plan
npm start/ Docusaurus dev server compiles without errors🤖 Generated with Claude Code
Summary by CodeRabbit
Documentation