Refresh operator documentation and CLI help

This commit is contained in:
2026-11-07 23:31:14 +00:00
parent 69fe35c480
commit c648d1de33
24 changed files with 1088 additions and 812 deletions

View File

@@ -1,32 +1,28 @@
# CommandKit v0.5.0
CommandKit v0.5.0 fixes defects in deferred reporting and YAML value preservation,
reduces repeated work in command installation and alias help, and simplifies
typed input preparation and replay of captured flags.
CommandKit v0.5.0 fixes lost deferred messages and preserves YAML value types
more accurately. It also reduces repeated work when installing commands and
showing alias help, and refreshes documentation and help text.
## Changes
- Acceptance of deferred messages now closes atomically when invocation finalization
begins. Concurrent submissions are included in the final batch or rejected
with `ErrReporterClosed`; accepted messages can no longer be silently lost
between batch detachment and closure.
- Finalized reporting state releases its direct references to borrowed output
and diagnostic writers while retaining presentation results. Writers remain
caller-owned.
- `DecodeYAMLReport` follows resolved YAML scalar tags, preserving numeric-looking
strings as strings. YAML report rendering preserves explicit numeric meaning
for values beyond the resolver's ordinary numeric range.
- Compilation of flag aliases reuses resolved chain suffixes. Alias discovery and
help reuse the existing source tree, and declaration validation reuses one
scratch path across siblings, formatting paths only for diagnostics.
- Typed input preparation reconstructs occurrence order without general sorting;
replay of captured flags merges already ordered streams. Parsing and completion
share flag-consumption mechanics while retaining their distinct handling of
errors and incomplete input.
- The core reporting example preserves its default scenario when the optional
operand is omitted. The interactive completion fixture no longer collides with
the reserved `--format` flag. `FlagMeta` documentation now states the existing
naming and reserved-spelling rules.
- Deferred messages accepted before finalization are retained for final reporting;
they can no longer be silently lost when a handler finishes. Later submissions return
`ErrReporterClosed`.
- Finished invocations release their direct references to output and diagnostic
writers while keeping delivery results available. Applications still own the
writers.
- `DecodeYAMLReport` preserves numeric-looking strings as strings. YAML report
output also preserves explicitly tagged numbers beyond the YAML resolver's
ordinary numeric range.
- Command installation, alias help, and typed input handling avoid repeated
work. Parsing and completion share flag handling while retaining their
different treatment of errors and unfinished input.
- The reporting example now works when its optional scenario is omitted, and
the interactive completion fixture no longer conflicts with `--format`.
`FlagMeta` documents existing naming and reserved-spelling rules.
- READMEs, CLI instructions, examples, and generated help use clearer language
and explain common tasks before implementation details.
## Compatibility and upgrade