feat: add v1.2.0 Phase 2 Rainbow Arc progress - #23
Merged
HelloThisWorld merged 5 commits intoAug 1, 2026
Conversation
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
Implements Phase 2 of the v1.2.0 Visual Progress milestone on top of the Phase 1 foundation:
This is a developer preview, not a v1.2.0 release. The application version remains 1.1.3.
Related issues
Stacking and rebase strategy
PR #22 was already merged before Phase 2 began, so this branch was created from the latest main and this draft targets main directly. origin/main was fetched again before push and remained at e04724a. If main advances during review, this branch will be rebased onto main and only genuine Phase 2 conflicts will be resolved. The current range contains only Phase 2 changes.
Detailed changes
Rainbow Arc Weld renderer
Resource and performance boundaries
Provider architecture and support
The parser observes only new output incrementally, uses bounded fixed storage and state machines, accepts fragmented ANSI/UTF-8/carriage-return input, and fails open on contention, malformed input, overflow, incompatible terminal state, or reset.
Safe replacement
visualProgress.replaceRecognizedOutput defaults to false, so original output is preserved by default. When enabled, suppression is limited to an immediately recognized whole callback owned by high-confidence pip, Git, curl, or wget; it must be a safe transient determinate carriage-return/erase-line record in a healthy parser, normal screen, known cursor state, and a pane with an enabled renderer.
Ordinary newline logs, unknown/generic output, warnings, audit findings, errors, stack traces, prompts, summaries, malformed/incomplete ANSI, alternate-screen output, Docker/BuildKit, package-manager/build-provider output, late decisions, contended callbacks, and renderer/parser failures are always preserved. Terminal output never waits for recognition.
Privacy
No telemetry, upload, output logging, scrollback scan, or persistence was added. Normalized state contains only structural progress data. Bounded provider buffers clear on prompt/command completion, close/detach, restart, disable/emergency override, and provider error/cancel. Command lines, package/image names, paths, URLs, host/user names, environment variables, credentials, clipboard content, and terminal output are neither logged nor persisted.
Validation performed
Final passing validation on Windows x64 Release:
Corrective history: the native build caught one unused Wget meter-shape local after ownership tightening; the condition was made authoritative and the build passed. The Relevant suite caught assertions that expected no overlay for transfer-shaped unknown text; tests now assert Generic, non-suppressible overlay behavior, and the final suite passed.
GitHub Actions
Authoritative workflow run 30672469710 completed successfully on the pushed head
a807f9f4bf35417d4c9858a04cbd9f6676cb0630:Classify exact change set: passed in 22s.Quick source and smoke validation: passed in 28s.x64 Release build and relevant tests: passed in 26m22s; both the Release build/compiled-tests step and relevant compiled-tests step passed.ci-gate: passed in 3s and confirmed every selected validation job.x64 ${{ matrix.configuration }} build and relevant tests: skipped as expected for the exact code-class selection.x64 unpackaged distributions and installer lifecycle tests: skipped as expected for this non-packaging change set.Tests not run
Known limitations and Phase 3 exclusions
Recognition intentionally rejects unsupported variants and preserves their output. Docker/BuildKit, npm/pnpm/yarn, nvm, Maven, Gradle, and Generic remain overlay-only. There is no polished Settings UI, command label, ETA/speed text UI, notification/history/persistence, arbitrary parser plugin, final adaptive governor UI, website update, release documentation, version bump, installer/portable validation, or release preparation. Packaged visual/performance/accessibility soak and final tuning remain Phase 3 work.
Checklist
No tag, GitHub Release, merge, README release update, website change, or workflow modification was performed.