Summary
Two documentation defects in crates/cli:
README.md last changed on 21 April. Its Charon-parity table marks eleven commands as "Not implemented" that ship today, and its "Commands (current)" section documents only three of the eight top-level commands the binary exposes.
pluto enr --help tells the operator to look for a file that does not exist.
Parity table rows that are wrong
Marked ❌ at README.md#L61-L85, all present in cli.rs:
| Command |
Landed |
run |
#503, 2026-07-07 |
unsafe, unsafe run |
#503, 2026-07-07 |
relay |
#224, 2026-02-27 |
dkg |
#316, 2026-04-23 |
alpha, alpha test + all/peers/beacon/validator/mev/infra |
#149, 2026-02-16 |
Genuinely still unimplemented, and correct as-is: combine, alpha add-validators, exit and its five subcommands.
Wrong key filename in enr help
cli.rs#L39 reads:
long_about = "Prints an Ethereum Node Record (ENR) from this client's pluto-enr-private-key. This serves as a public key that identifies this client to its peers."
No such file is ever produced or read. KEY_FILE_NAME in p2p::k1 is charon-enr-private-key; dkg::disk requires it under that name; run's --p2p-private-key defaults to .charon/charon-enr-private-key. This is also the one place the string appears — pluto-enr-private-key has no other occurrence in the tree.
Charon's cmd/enr.go Long is otherwise identical and names charon-enr-private-key, so the fix restores parity as well as accuracy.
Work
Acceptance
- Every ✅/❌ in the parity table matches the subcommands
pluto --help actually exposes.
- A reader can find every implemented top-level command in the prose section.
- No help text or doc names a key file the binary does not use.
Summary
Two documentation defects in
crates/cli:README.mdlast changed on 21 April. Its Charon-parity table marks eleven commands as "Not implemented" that ship today, and its "Commands (current)" section documents only three of the eight top-level commands the binary exposes.pluto enr --helptells the operator to look for a file that does not exist.Parity table rows that are wrong
Marked ❌ at
README.md#L61-L85, all present incli.rs:rununsafe,unsafe runrelaydkgalpha,alpha test+all/peers/beacon/validator/mev/infraGenuinely still unimplemented, and correct as-is:
combine,alpha add-validators,exitand its five subcommands.Wrong key filename in
enrhelpcli.rs#L39reads:long_about = "Prints an Ethereum Node Record (ENR) from this client's pluto-enr-private-key. This serves as a public key that identifies this client to its peers."No such file is ever produced or read.
KEY_FILE_NAMEinp2p::k1ischaron-enr-private-key;dkg::diskrequires it under that name;run's--p2p-private-keydefaults to.charon/charon-enr-private-key. This is also the one place the string appears —pluto-enr-private-keyhas no other occurrence in the tree.Charon's
cmd/enr.goLongis otherwise identical and namescharon-enr-private-key, so the fix restores parity as well as accuracy.Work
cli.rs: changepluto-enr-private-keytocharon-enr-private-keyin theEnrvariant'slong_about.README.md: flip the eleven stale rows to ✅ and drop their "Not implemented" notes.README.md: extend "Commands (current)" to coverrun,relay,dkg,alpha testandcreate clusterwith their flags, matching the depth of the existingenrandcreateentries.Acceptance
pluto --helpactually exposes.