docs: iterate rich-cli-tools spec — three-subpackage layout, Rich-only dep#8
Draft
jlevy wants to merge 1 commit into
Draft
docs: iterate rich-cli-tools spec — three-subpackage layout, Rich-only dep#8jlevy wants to merge 1 commit into
jlevy wants to merge 1 commit into
Conversation
…y dep Revised after reading the rich_custom/unified_live/nerd_icons source directly and assessing maturity per module. Key changes: - Reorganize the package into three subpackages that document the dependency split visually: terminal/ (stdlib only, terminal-emulator concerns), icons/ (stdlib only, pure data), display/ (Rich-required, all rendering). Plus two top-level stdlib modules (errors, progress_types). - Single runtime dependency: rich. Drop strif (AtomicVar -> threading.Lock; abbrev_str/single_line -> inline helpers), typing-extensions (override -> stdlib-or-shim), and flowmark (fill_text -> textwrap.fill). - Add a CI lint that fails the build if any module under terminal/ or icons/ imports rich, enforcing the dep-free contract. - Add a per-module maturity table grounded in current source: ship-now tier (cells, char_transform, indent, nerd_icons, clideps osc/styles) vs ship-careful tier (markdown_fork, multitask_status, unified_live, terminal_images, rich_output) with risk notes (markdown fork pinned to Rich private internals). - Restructure the implementation plan around the new layout. Add a markdown-fork canary test that fails loudly when Rich's internals break the fork. - Update bead titles for Phases 2-4 to match the new structure. https://claude.ai/code/session_01ASsBTDGgzLRb3C5Aj5wkJW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Iterate on the rich-cli-tools spec following feedback that (a) I'd planned the layout from survey reports without reading the
rich_custom/*source directly, (b) the original flat layout conflated terminal-specific and Rich-specific modules, and (c) the dependency surface could be tighter.What changed
terminal/(stdlib only — OSC escapes, capability detection, sixel/kitty subprocess),icons/(stdlib only — Nerd Font tables and lookup),display/(Rich-required — all rendering enhancements). Plus two top-level stdlib modules (errors,progress_types) that span the layers.rich. Dropsstrif(AtomicVar→threading.Lock;abbrev_str/single_line→ inline helpers),typing-extensions(override→ stdlib-or-shim), andflowmark(fill_text→textwrap.fill).terminal/oricons/importsrich— enforces the dep-free contract.rich._loop.loop_first,rich._stack.Stack); a CI failure here signals a Rich-internals break before any user-visible bug ships.What's unchanged
simple-modern-uv, the companion agent skill design, tryscript golden testing, byte-identical port verification, the kash + clideps consumer migration plan, and the gather-limited interop note (TaskStatecompare-by-value contract).Note
This is a docs-only PR (spec iteration). No code changes; existing beads continue to track implementation.
Test plan
tbd list --spec docs/project/specs/active/plan-2026-05-23-rich-cli-tools.md(9 beads, dependency graph intact)https://claude.ai/code/session_01ASsBTDGgzLRb3C5Aj5wkJW
Generated by Claude Code