feat: H3 help <command> per-command detail + general reference

HELP node takes an optional single-word topic (BarePath);
AppCommand::Help { topic }. note_help_topic renders the help
block(s) of every command sharing that entry word (so `help
create` covers both create forms), plus `help types` and a
friendly "no help for X" pointer for unknown topics. Full help
gains a detail-hint footer. Catalogued help.detail_hint /
help.unknown_topic; parse-error matrix updated (help now takes a
topic, so the near-miss is the multi-word case). 9 integration
tests in tests/it/help_command.rs. Mark H3 [x].
This commit is contained in:
claude@clouddev1
2026-06-07 13:32:18 +00:00
parent 8dec784080
commit 757711f2bf
12 changed files with 247 additions and 26 deletions
+15 -10
View File
@@ -696,17 +696,22 @@ since ADR-0027.)
there, so the payoff is small.
- [ ] **H2** `hint` provides contextual help for the current
input or the most recent error.
- [/] **H3** `help` provides general reference and per-command
- [x] **H3** `help` provides general reference and per-command
help.
*(Partial, verified 2026-06-07: the `help` command
(`app.rs:2370` `note_help`) lists all currently-supported
commands by iterating the REGISTRY + translating each
`CommandNode.help_id`, plus an intro and a types reference, so a
new command appears automatically. **Missing:** `help <command>`
per-command detail — the HELP node's shape is `EMPTY_SEQ`, so it
takes no argument — and a fuller "general reference". These two
are the remaining pieces; the `help_id` hook is already there
to build per-command detail on.)*
*(Done 2026-06-07: the **general reference** is `help` (no arg) —
intro + the full command list (REGISTRY × `help_id`, so new
commands appear automatically) + the type reference + a footer
pointing at the focused form. **Per-command help** is `help
<command>` (H3's new piece): the HELP node took an optional
single-word topic (`BarePath`), `AppCommand::Help { topic }`,
and `note_help_topic` renders the block(s) of every command
sharing that entry word — so `help create` covers both create
forms — plus `help types` for the type reference and a friendly
"no help for `X`" pointer for an unknown topic. Help/usage
strings catalogued + key-registered; 9 integration tests
(`tests/it/help_command.rs`). A richer *narrative* overview
(modes, the `:` escape, syntax conventions) is reference-docs
scope, tracked under **DOC1** — not part of H3.)*
## CLI