Skip to content

chore: archival snapshot docs#6713

Merged
LesnyRumcajs merged 2 commits intomainfrom
archivals-snapshot-docs
Mar 10, 2026
Merged

chore: archival snapshot docs#6713
LesnyRumcajs merged 2 commits intomainfrom
archivals-snapshot-docs

Conversation

@LesnyRumcajs
Copy link
Copy Markdown
Member

@LesnyRumcajs LesnyRumcajs commented Mar 10, 2026

Summary of changes

Changes introduced in this pull request:

  • added archival snapshot usage docs based on internal discussions

Reference issue to close (if applicable)

Closes

Other information and links

Part of #6695

Change checklist

  • I have performed a self-review of my own code,
  • I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
  • I have added tests that prove my fix is effective or that my feature works (if possible),
  • I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

Outside contributions

  • I have read and agree to the CONTRIBUTING document.
  • I have read and agree to the AI Policy document. I understand that failure to comply with the guidelines will lead to rejection of the pull request.

Summary by CodeRabbit

  • Documentation
    • Enhanced archival snapshots guide with detailed procedures for configuring partial archival nodes using lite and diff snapshots
    • Added practical examples and clarified snapshot types, dependencies, and best practices
    • Improved snapshot service documentation with expanded descriptions and cross-references to usage guidance

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 10, 2026

Walkthrough

Two documentation files were updated to provide comprehensive guidance on partial archival node setup and snapshot archival procedures. The primary file was substantially rewritten with detailed procedures, worked examples, and explicit steps for downloading, importing, and validating lite and diff snapshots. The secondary file was updated with clarified snapshot type descriptions and cross-references to the newly expanded guide.

Changes

Cohort / File(s) Summary
Snapshot Archival Documentation
docs/docs/users/guides/advanced/archival_snapshots.md, docs/docs/users/knowledge_base/snapshot_service.md
Restructured archival snapshots guide with detailed procedures for partial archival node setup using lite and diff snapshots. Added worked examples, explicit step-by-step workflows (download, import, compute/verify, validate), warning sections on diff snapshot requirements, and clarified snapshot interrelation. Updated snapshot_service.md descriptions to reference the new comprehensive guide and clarify snapshot contents.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Suggested reviewers

  • hanabi1224
  • elmattic
  • akaladarshi
🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'chore: archival snapshot docs' is vague and generic, using non-descriptive terms that don't convey meaningful information about the substantial changes made to archival snapshot documentation. Consider a more specific title such as 'docs: update archival snapshots guide with lite/diff snapshot procedures' to better reflect the major documentation rewrite and new guidance added.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch archivals-snapshot-docs

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment thread docs/docs/users/guides/advanced/archival_snapshots.md Outdated
Comment thread docs/docs/users/guides/advanced/archival_snapshots.md
@LesnyRumcajs LesnyRumcajs marked this pull request as ready for review March 10, 2026 15:33
@LesnyRumcajs LesnyRumcajs requested a review from a team as a code owner March 10, 2026 15:33
@LesnyRumcajs LesnyRumcajs requested review from hanabi1224 and sudo-shashank and removed request for a team March 10, 2026 15:33
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (3)
docs/docs/users/guides/advanced/archival_snapshots.md (3)

8-11: Consider mentioning Lotus compatibility.

Based on the linked repository context showing that Lotus uses Forest-hosted snapshots and the snapshot service docs mention both Forest and Lotus can read snapshots, it would be helpful to explicitly note in this guide whether these archival snapshots (lite and diff) are compatible with Lotus or Forest-only.

💭 Suggested addition

Consider adding a note in the introduction, such as:

Forest supports building partial or full archival nodes using **lite** and
**diff** snapshots. This guide explains the snapshot types, how they relate to
each other, and how to use them for common workflows.

:::note
These archival snapshots are in Forest's CAR format. While standard Forest snapshots are compatible with Lotus, archival lite and diff snapshots are currently supported only in Forest due to the specialized import and state computation workflow.
:::
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/docs/users/guides/advanced/archival_snapshots.md` around lines 8 - 11,
The intro to archival_snapshots.md should explicitly state Lotus compatibility:
add a short note after the opening paragraph clarifying whether lite and diff
archival snapshots are compatible with Lotus or only supported by Forest;
reference the snapshot types "lite" and "diff" and mention the CAR format if
relevant, e.g., an :::note block saying these archival lite/diff snapshots are
Forest-specific (or compatible with Lotus if that's the case) and explain why
(import/state computation workflow) so readers of the "lite" and "diff" sections
understand tooling scope.

30-71: Excellent warning and golden rule section!

The warning box with concrete error examples is very helpful for preventing common mistakes. The "golden rule" and visual example make the lite+diff relationship crystal clear.

Minor improvement: Add language specifiers to the fenced code blocks at lines 37, 43, and 62 for better rendering and accessibility. Since these are error messages and diagrams (not executable code), you can use text or plaintext:

📝 Suggested language specifiers

Line 37:

-```
+```text
 failed to lookup actor f410f...

Line 43:
```diff
-```
+```text
 failed to read init actor address map

Line 62:
```diff
-```
+```text
 Lite `@3`,480,000 ─┬─ Diff `@3`,480,000+3,000 ─── ...

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/docs/users/guides/advanced/archival_snapshots.md around lines 30 - 71,
Add language specifiers "text" (or "plaintext") to the three fenced code blocks
that contain the error message "failed to lookup actor f410f...", the error
message "failed to read init actor address map", and the diagram beginning "Lite
@3,480,000 ─┬─ Diff @3,480,000+3,000..." so they render/accessibly as
non-executable text; locate the three triple-backtick blocks surrounding those
exact strings and change the opening fence from totext (or


76-113: Clear algorithm and excellent worked example!

The step-by-step algorithm for determining required snapshots is logical and easy to follow. The calibnet example with the complete table makes it very practical for users. I verified the math: floor(3,506,992 / 30,000) × 30,000 = 3,480,000 ✓ and the 9 diffs + 1 base lite = 10 snapshots ✓.

Minor improvement: Add language specifiers to the pseudocode blocks:

📝 Suggested language specifiers

Lines 83-85 and 90-95 should use text or plaintext:

-```
+```text
 base_epoch = floor(E / 30,000) × 30,000

```diff
-```
+```text
 diff `@base_epoch` + 3,000
 ...

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/docs/users/guides/advanced/archival_snapshots.md around lines 76 - 113,
Add explicit language specifiers to the two fenced pseudocode blocks: update the
block containing "base_epoch = floor(E / 30,000) × 30,000" to use ```text (or

with "diff `@base_epoch` + 3,000" to use ```text (or ```plaintext) so the
pseudo-code is rendered as plain text rather than being language-agnostic.
🤖 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/docs/users/guides/advanced/archival_snapshots.md`:
- Around line 161-178: The docs show using "forest-cli state compute --epoch
<LITE_EPOCH> -n <NUMBER_OF_EPOCHS>" and an example of "-n 200" but don't explain
that 200 is only illustrative; add a brief note after the example that for a
full archival node you must compute all epochs covered by your snapshots (i.e.,
from the base lite epoch through the latest diff snapshot) and that the -n value
should be adjusted to match that total, while the 200-epoch value is just a
demonstration.

---

Nitpick comments:
In `@docs/docs/users/guides/advanced/archival_snapshots.md`:
- Around line 8-11: The intro to archival_snapshots.md should explicitly state
Lotus compatibility: add a short note after the opening paragraph clarifying
whether lite and diff archival snapshots are compatible with Lotus or only
supported by Forest; reference the snapshot types "lite" and "diff" and mention
the CAR format if relevant, e.g., an :::note block saying these archival
lite/diff snapshots are Forest-specific (or compatible with Lotus if that's the
case) and explain why (import/state computation workflow) so readers of the
"lite" and "diff" sections understand tooling scope.
- Around line 30-71: Add language specifiers "text" (or "plaintext") to the
three fenced code blocks that contain the error message "failed to lookup actor
f410f...", the error message "failed to read init actor address map", and the
diagram beginning "Lite `@3`,480,000 ─┬─ Diff `@3`,480,000+3,000..." so they
render/accessibly as non-executable text; locate the three triple-backtick
blocks surrounding those exact strings and change the opening fence from ``` to
```text (or ```plaintext).
- Around line 76-113: Add explicit language specifiers to the two fenced
pseudocode blocks: update the block containing "base_epoch = floor(E / 30,000) ×
30,000" to use ```text (or ```plaintext) and likewise update the block
containing the diff list starting with "diff `@base_epoch` + 3,000" to use ```text
(or ```plaintext) so the pseudo-code is rendered as plain text rather than being
language-agnostic.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: f656a228-705c-4d84-8e44-ee9806ab4a33

📥 Commits

Reviewing files that changed from the base of the PR and between 3591d1a and c143412.

📒 Files selected for processing (2)
  • docs/docs/users/guides/advanced/archival_snapshots.md
  • docs/docs/users/knowledge_base/snapshot_service.md

Comment thread docs/docs/users/guides/advanced/archival_snapshots.md
@LesnyRumcajs LesnyRumcajs added this pull request to the merge queue Mar 10, 2026
Merged via the queue into main with commit dc3251a Mar 10, 2026
11 checks passed
@LesnyRumcajs LesnyRumcajs deleted the archivals-snapshot-docs branch March 10, 2026 17:57
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