Repository navigation
Conversation
Add the initial ExecPlan for roadmap task 3.12.3, which verifies the `--color`, `--emoji`, `--progress`, and `--accessibility` policies by driving the real binary through pipes and pseudo-terminals. The draft records a baseline probe showing that `--color never` and `NO_COLOR` do not suppress ANSI colour in verbose `tracing` output, `miette` diagnostics, or `clap` help on a terminal, and proposes a pure display-plan core with adapters bound to its decisions. The plan is a DRAFT awaiting expert-panel revision and user approval. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Fold in findings from a five-member review (accessibility, testing and verification, architecture, terminal systems, and plan quality). - Split the colour decision: `--color never` and `NO_COLOR` leaks are defects to fix; `--color always` styling pipes is new open decision D11. - Gather terminal facts once through existing injected seams, reduce environment strings in one `EnvSignals` type, delete the ambient wrappers, and enforce single resolution with a `disallowed-methods` lint (D12). - Cover the missed consumers (`runner/help.rs`, `ExecutionContext`, and indicatif's own terminal check) and model `TERM=dumb`/unset `TERM`. - Isolate child processes with `env_clear()`, harden the PTY harness against hangs and flakes, widen the byte classifier, and add completeness guards to the exhaustive sweep. - Write each red cell and scenario in the EP-M3 commit that fixes it, and correct BDD step phrases, documentation coverage, and the Verus rationale. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Contributor
Reviewer's GuideThis documentation-only PR adds a DRAFT ExecPlan that diagnoses current terminal-rendering policy gaps and lays out an approval-gated architecture and verification programme using a pure display-plan core, Unix PTY/pipe tests, exhaustive/property-based checks, BDD scenarios, and contract snapshots. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This branch has not been deployed
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
This PR adds the ExecPlan for roadmap task 3.12.3, which verifies the
--color,--emoji,--progress, and--accessibilitypolicies bydriving the real
netsukebinary through pipes and pseudo-terminals (PTYs).docs/execplans/3-12-3-terminal-rendering-regression-tests.mdKey findings
A baseline PTY probe of the current binary shows that the policies are not
honoured end to end:
--color never --verboseandNO_COLOR=1 --verboseboth emit 416 ANSIcolour sequences through
tracingon a terminal.--color neverstill coloursmiettediagnostics and thetracingerrorline on a failing run.
--color never --helpemits 113 colour sequences fromclap.--progress autoand--progress alwaysresolve identically.Proposed approach
src/display_plan.rs) resolves every renderingdecision once from the four policies and terminal facts gathered through
existing injected seams;
tracing,miette,clap, and the statusreporter become adapters that apply the plan.
test_supportbuilt on the existingnixdev-dependency (no new crate), plus a byte classifier for colour, redraw,
hyperlink, and glyph facts.
tests for the string-facing lemmas, an end-to-end PTY/pipe matrix, BDD
scenarios, and
instacontract snapshots.Decisions needing approval
--progress auto≡alwaysand document it.NO_COLORcounts as set (recommend aligning withthe convention: empty means unset).
miette; defer thenarratable handler.
claphelp colour follows a startup hint from--colorandNETSUKE_COLOR.--color alwaysstyles output even when piped.The draft was reviewed and revised by a five-member expert panel
(accessibility, testing and verification, architecture, terminal systems,
plan quality); see the revision note at the end of the plan.
Validation
Documentation-only change:
make check-fmt,make markdownlint(includingspelling), and
make nixiepass.References
🤖 Generated with Claude Code
Summary by Sourcery
Define and seek approval for a comprehensive plan to verify and repair Netsuke's terminal rendering policies through real binary output tests.
Enhancements:
Documentation:
Tests: