docs: update devnet-runner skill with information on restarting nodes#209
docs: update devnet-runner skill with information on restarting nodes#209pablodeymo merged 2 commits intomainfrom
Conversation
Greptile SummaryThis PR enriches the Changes:
Issues found:
Confidence Score: 4/5
|
| Filename | Overview |
|---|---|
| .claude/skills/devnet-runner/SKILL.md | Updated skill description to include checkpoint sync use case, added a concise "Restarting a Node with Checkpoint Sync" section with a 5-step procedure, and expanded the Reference section into a bullet list. Minor issue: --restart-client and --checkpoint-sync-url are not added to the Command-Line Flags table. |
| .claude/skills/devnet-runner/references/checkpoint-sync.md | New reference document with a comprehensive 6-step checkpoint sync restart procedure, verification guidance, and troubleshooting section. Content is clear and well-structured; the only concern is the isAggregator field shown in the YAML example, which is not documented in SKILL.md's schema reference. |
Sequence Diagram
sequenceDiagram
participant User
participant spin-node.sh
participant Docker
participant SourceNode
participant RestartedNode
User->>spin-node.sh: --restart-client <node> --checkpoint-sync-url <url>
spin-node.sh->>Docker: Stop existing container
spin-node.sh->>Docker: Clear data directory
spin-node.sh->>Docker: docker pull <image>:<tag>
spin-node.sh->>RestartedNode: Start with --checkpoint-sync-url
RestartedNode->>SourceNode: GET /lean/v0/states/finalized
SourceNode-->>RestartedNode: SSZ-encoded finalized state
RestartedNode->>RestartedNode: Verify state (genesis time, validator count, pubkeys)
RestartedNode->>RestartedNode: Store anchor state & block header
RestartedNode->>RestartedNode: Connect to P2P network
RestartedNode-->>User: Node syncing from checkpoint slot
User->>Docker: docker logs --tail 20 <node>
Docker-->>User: "Block imported successfully" / Fork Choice Tree
Comments Outside Diff (1)
-
.claude/skills/devnet-runner/SKILL.md, line 88-97 (link)New flags missing from Command-Line Flags table
The new section introduces
--restart-clientand--checkpoint-sync-url, but neither flag is added to the Command-Line Flags table (lines 88–97). An agent or developer scanning this table as a quick reference won't find these flags there.Consider adding them to the table for completeness:
Prompt To Fix With AI
This is a comment left during a code review. Path: .claude/skills/devnet-runner/SKILL.md Line: 88-97 Comment: **New flags missing from Command-Line Flags table** The new section introduces `--restart-client` and `--checkpoint-sync-url`, but neither flag is added to the Command-Line Flags table (lines 88–97). An agent or developer scanning this table as a quick reference won't find these flags there. Consider adding them to the table for completeness: How can I resolve this? If you propose a fix, please make it concise.
Prompt To Fix All With AI
This is a comment left during a code review.
Path: .claude/skills/devnet-runner/SKILL.md
Line: 88-97
Comment:
**New flags missing from Command-Line Flags table**
The new section introduces `--restart-client` and `--checkpoint-sync-url`, but neither flag is added to the Command-Line Flags table (lines 88–97). An agent or developer scanning this table as a quick reference won't find these flags there.
Consider adding them to the table for completeness:
```suggestion
| Flag | Description |
|------|-------------|
| `--node <name\|all>` | **Required.** Node(s) to start. Use `all` to start all nodes in config. **Note:** Using specific node names (e.g., `--node zeam_0,ream_0`) does NOT reassign validators - use only if explicitly requested |
| `--generateGenesis` | Regenerate genesis files. Implies `--cleanData` |
| `--cleanData` | Clean data directories before starting |
| `--stop` | Stop running nodes instead of starting them |
| `--forceKeyGen` | Force regeneration of hash-sig validator keys |
| `--validatorConfig <path>` | Custom config path (default: `$NETWORK_DIR/genesis/validator-config.yaml`) |
| `--dockerWithSudo` | Run docker commands with `sudo` |
| `--restart-client <name[,name...]>` | Stop, clear data, and restart specified node(s) with optional checkpoint sync |
| `--checkpoint-sync-url <url>` | Checkpoint state URL used when restarting a node (defaults to public leanpoint provider if omitted) |
```
How can I resolve this? If you propose a fix, please make it concise.
---
This is a comment left during a code review.
Path: .claude/skills/devnet-runner/references/checkpoint-sync.md
Line: 34-41
Comment:
**`isAggregator` field undocumented in schema reference**
The `isAggregator` field shown in this YAML snippet doesn't appear anywhere else in the repository — it's absent from the validator-config schema table in `SKILL.md` (the "full schema" and "Field reference" sections). This creates an inconsistency: a reader following `SKILL.md` would not know this field exists, and might think the example here is illustrative/fictional rather than a real config field.
If `isAggregator` is a real field supported by `spin-node.sh`, it should be added to the schema documentation in `SKILL.md`. If it isn't a real field and the aggregator role is determined some other way (e.g., alphabetically or by validator index), the example should be updated to reflect the actual mechanism.
How can I resolve this? If you propose a fix, please make it concise.Last reviewed commit: 9e34b2f
| ```yaml | ||
| # In lean-quickstart/<network-dir>/genesis/validator-config.yaml | ||
| validators: | ||
| - name: "ethlambda_0" | ||
| isAggregator: false | ||
| - name: "ethlambda_2" | ||
| isAggregator: true # restarting this stops finalization until it catches up | ||
| ``` |
There was a problem hiding this comment.
isAggregator field undocumented in schema reference
The isAggregator field shown in this YAML snippet doesn't appear anywhere else in the repository — it's absent from the validator-config schema table in SKILL.md (the "full schema" and "Field reference" sections). This creates an inconsistency: a reader following SKILL.md would not know this field exists, and might think the example here is illustrative/fictional rather than a real config field.
If isAggregator is a real field supported by spin-node.sh, it should be added to the schema documentation in SKILL.md. If it isn't a real field and the aggregator role is determined some other way (e.g., alphabetically or by validator index), the example should be updated to reflect the actual mechanism.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/devnet-runner/references/checkpoint-sync.md
Line: 34-41
Comment:
**`isAggregator` field undocumented in schema reference**
The `isAggregator` field shown in this YAML snippet doesn't appear anywhere else in the repository — it's absent from the validator-config schema table in `SKILL.md` (the "full schema" and "Field reference" sections). This creates an inconsistency: a reader following `SKILL.md` would not know this field exists, and might think the example here is illustrative/fictional rather than a real config field.
If `isAggregator` is a real field supported by `spin-node.sh`, it should be added to the schema documentation in `SKILL.md`. If it isn't a real field and the aggregator role is determined some other way (e.g., alphabetically or by validator index), the example should be updated to reflect the actual mechanism.
How can I resolve this? If you propose a fix, please make it concise.
This PR updates the devnet-runner skill with information on restarting nodes via checkpoint-sync.