CLI 0.0.9 preparation plan¶
Expanded scope selected after PR #191¶
The original preparation below is merged in PR #191; its main CI and docs deployment passed. The user subsequently approved additional batch/image work, added #132, #134, #136, #145 and #146, and requested related issues.
The expanded scope is tracked in issue #192 and the approved architectural design. It includes #6, #10, #123, #124, #125, #126, #132, #133, #134, #136, #142,
144, #145, #146, #149, #150, #151 and #157, with explicit remaining-scope¶
boundaries for the larger trackers. The design is reviewed and approved. The implementation plans cover seven workstreams and await review; new product implementation and publication are not claimed complete.
The design proposes a shared core protocol seam and rich-ext implementations. The approved design requires new core/ext package versions and a dependency-ordered publication handoff. The original unchanged-core/ext handoff below describes PR #191 only and must not be reused for the expanded implementation.
Original PR #191 scope and recorded preparation checklist¶
Accepted goal: Named themes, batch progress/cancellation, discoverable demo sections, read-only doctor diagnostics, refreshed workflow evidence and a bounded ANSI256/Floyd–Steinberg image-quality slice.
Status: Source preparation. Combined validation, review and release handoff remain pending; no publication or tags are authorized by this plan.
Ownership and contracts¶
| Workstream | Owner | Contract |
|---|---|---|
| Themes | CLI | Strict [themes.NAME] data; defaults/profile/CLI selection; CLI bindings override styles; resolved worker snapshot |
| Batch status | CLI | Progress only on human-report stderr TTY; --no-progress; Ctrl+C stops scheduling, kills/waits workers and exits 130 |
| Demo discovery | CLI | --demo-list; --demo --demo-section core|workflows|art; finite pipes and interrupt cleanup |
| Doctor | CLI | Human diagnostics or JSON stdout; selected safe diagnostics, detected/inferred distinction; no probes/network/pager execution |
| Palette and dithering | Art | Public ImageColorMode/Dither builders; ASCII/blocks only; opt-in ANSI256 with optional Floyd–Steinberg |
| Integration and evidence | Release preparation | Fresh optimized-build demos, recipes, package gates, independent review and main-target PR |
The faithful core stays unchanged. CLI conveniences compose public APIs; art owns reusable preprocessing. Keep defaults truecolor/no-dither and existing stdout/report separation, except the explicit doctor JSON document on stdout. No generalized rendering redesign, theme-stack change, GIF dithering, Sixel quantisation or complete #125 roadmap is included.
Versions and dependencies¶
The original two-package scope is superseded by the approved expansion: prepare core 0.0.5, ext 0.0.7, art 0.0.7 and CLI 0.0.9 independently. Record the already completed CLI 0.0.8/art 0.0.6 publication with verified workflow and registry-consumer evidence. Registry identity checks must still compare unchanged packages; staged changed siblings cannot substitute for published dependencies at release time.
Acceptance and review¶
- Validate all themes/profile references, including inactive definitions; preserve option operands and precedence; verify exports and batch snapshots.
- Check interruption during planning, execution and replay, all started workers reaped, input protection, ordered output and exactly one JSON report.
- Check doctor with malformed config, redirected stdout,
NO_COLORand absent pager; never dump unrelated environment data. - Check demo list-only and invalid-section behavior, lean art selection, redirected finite output and terminal/pipe interruption.
- Check deterministic fixed ANSI256 entries 16–255, transparent edges, tiny/odd raster dimensions, final fitted sampling, invalid combinations and unchanged output when preprocessing is disabled.
- Run formatting, Clippy, workspace/lean tests, Rust 1.90, parity, CLI/PTY tests, strict documentation, package staging/identity and tag-plan checks. Capture real optimized-build output with reproducible recording provenance.
- Obtain independent review, resolve findings, open a main-target PR, wait for required checks, merge, then verify main ancestry and documentation deployment.
See release notes for the evidence checklist and independent publication handoff. No pending gate is complete merely because it appears here.
Expanded implementation evidence¶
The approved Native execution implements the seven workstreams tracked in #192. See expanded release evidence for tests, migration, actual screenshots and issue dispositions. Publication order is core, ext/art, CLI; main merge, remote CI and publication are separate gates.