Uh oh!
There was an error while loading. Please reload this page.
refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736
Merged
Conversation
…pulse #712 retired the tool live-output stream onto the quiet ToolTrow panel, leaving the PR3 substrate — `streamVariants` (shell cva), `LiveIndicator` (live dot), and `@keyframes maka-pulse` (its breath) — with no production consumers. Remove all three and update the tests/contracts that referenced them: - packages/ui/src/primitives/chat.tsx: delete streamVariants + LiveIndicator (definitions and doc blocks). - apps/desktop/src/renderer/maka-tokens.css: delete @Keyframes maka-pulse. - packages/ui/src/__tests__/chat-primitives.test.ts: drop the two tests and imports for the removed symbols. - packages/ui/stories/animation-catalog.stories.tsx: drop the maka-pulse "Status pulse" demo (grid 3 -> 2). - apps/desktop/src/main/__tests__/chat-stream-cascade-contract.test.ts: replace the "present" pins with a "stays removed" guard, drop the LiveIndicator-pinning and maka-pulse-frame tests. - apps/desktop/src/main/__tests__/design-system-governance-406-contract.test.ts: drop maka-pulse from the functional-motion allowlist. - apps/desktop/src/main/__tests__/storybook-baseline-contract.test.ts: drop "Status pulse" from the retained-motion labels. Scattered comments still mentioning the retired symbols (the barrel rule in packages/ui/src/index.ts, cross-references in surviving chat.tsx doc blocks, the check-chat-marker script, the chat-tool-card banned list) are left for a follow-up comment-cleanup PR.
Address Codex review of PR #736 (two P3 findings on newly-added content): - chat-stream-cascade-contract.test.ts docstring wrongly claimed the production `ToolTrow`'s running dot uses `maka-tool-pulse`. `ToolTrow` expresses running state via a `TextShimmer` text sweep (no dot); the `maka-tool-pulse` keyframe belongs to the separate `ToolActivity` card. Rewrote the clause to match the real rendering path. - The "stays removed" keyframe check used `tokens.includes('@Keyframes maka-pulse')`, a bare substring match that would also reject a future `@keyframes maka-pulse-ring`. Switched to a precise declaration regex `/@Keyframes\s+maka-pulse\s*\{/`.
Apply receiving-code-review step 6 to the Codex review of PR #736: after deleting `streamVariants` / `LiveIndicator` / `@keyframes maka-pulse`, remove the sibling registry + guard entries that referenced them and are now obsolete (not the independent stale-prose cross-references, which stay for the follow-up comment-cleanup PR). - packages/ui/src/index.ts: the off-barrel enumeration named `streamVariants` / `LiveIndicator` and described a future public-export plan for `LiveIndicator`. After deletion that registry actively lied — drop the two names and the plan sentence (keep `markerVariants` / `toolVariants` + the rule statement). - apps/desktop/src/main/__tests__/chat-tool-card-cascade-contract.test.ts: the `maka-pulse_` banned-list entry guarded against the tool dot using `maka-pulse`, which no longer exists. The "stays removed" guard in chat-stream-cascade-contract is now the source of truth for `maka-pulse`'s absence, so the redundant banned entry is removed; the adjacent comment is trimmed to drop the `LiveIndicator` breath reference. The `animate-pulse` ban stays (independent of `maka-pulse`).
Uh oh!
There was an error while loading. Please reload this page.
5 tasks
Astro-Han added a commit
that referenced
this pull request
Jul 12, 2026
…script header The header of scripts/check-chat-marker-computed-style.mjs still claimed the harness diffs the retired PR3 stream shell (panel / header / flags + pills / body / chunk, with data-live="true") and "proves the tool live-output stream shell migration (#332 / PR3)". Since #712 / #736 retired that shell, the fixture only constructs the quiet tool-output panel (panel / command / body, same production classes on both sides). Rewrite the two stale header passages to state the current coverage: the marker-migration baseline + the quiet-panel layout-invariant check, with the PR3 stream shell marked as retired history. Comments only; no code changed. The chat-stream-cascade-contract fixture-alignment assertions still pass (they match code identifiers, not header prose). Found by Codex review of #742.
Astro-Han added a commit
that referenced
this pull request
Jul 12, 2026
* docs: drop stale stream-substrate cross-references from comments #736 removed streamVariants, LiveIndicator, and @Keyframes maka-pulse. Strip the prose that still named those symbols as current examples, peers, or retirement destinations, leaving the #736 "stays removed" guard and the accurate retirement narratives intact. Comments only — no code or CSS declarations changed. - packages/ui/src/primitives/chat.tsx: TextShimmer / toolVariants / previewVariants docs no longer cite LiveIndicator / maka-pulse / streamVariants as live peers. - apps/desktop/src/renderer/maka-tokens.css: maka-text-shimmer keyframe doc cites maka-tool-pulse (still in use) instead of the removed maka-pulse. - scripts/check-chat-marker-computed-style.mjs: header drops the stale LiveIndicator / maka-pulse "one element not diffed" sentence; the PR3b section's maka-tool-pulse running-dot note still stands. - design-system-governance-406-contract.test.ts: animation-name extraction example uses maka-tool-pulse (in use) instead of maka-pulse. - chat-stream-cascade-contract.test.ts: drop the dead "onto the shared maka-pulse" destination from the per-feature breath comment. Verified: chat-stream-cascade-contract + chat-tool-card-cascade-contract + design-system-governance-406 contract tests (15/15) and @maka/ui + @maka/desktop (main/renderer/storybook) typechecks all green. * docs: correct retired stream-shell coverage claims in computed-style script header The header of scripts/check-chat-marker-computed-style.mjs still claimed the harness diffs the retired PR3 stream shell (panel / header / flags + pills / body / chunk, with data-live="true") and "proves the tool live-output stream shell migration (#332 / PR3)". Since #712 / #736 retired that shell, the fixture only constructs the quiet tool-output panel (panel / command / body, same production classes on both sides). Rewrite the two stale header passages to state the current coverage: the marker-migration baseline + the quiet-panel layout-invariant check, with the PR3 stream shell marked as retired history. Comments only; no code changed. The chat-stream-cascade-contract fixture-alignment assertions still pass (they match code identifiers, not header prose). Found by Codex review of #742.
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 freeto 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
Remove the #712-retired tool live-output stream substrate —
streamVariants(shell cva),LiveIndicator(live dot), and the orphaned@keyframes maka-pulse— plus the tests/contracts that pinned them.Why
#712 moved the tool body onto the quiet
ToolTrowpanel, leaving the PR3 stream substrate with zero production consumers. The symbols + keyframe were dead code, still pinned by contracts as "present", which locked them in instead of locking their removal. This finishes the retirement and flips the contract to guard that the substrate stays removed.Refs #712 (retired the stream); the primitives originated in #332 PR3.
Scope
Changed:
packages/ui/src/primitives/chat.tsx— deletestreamVariants+LiveIndicator(definitions + doc blocks).apps/desktop/src/renderer/maka-tokens.css— delete@keyframes maka-pulse+ its comment.packages/ui/src/__tests__/chat-primitives.test.ts— drop the two tests + imports for the removed symbols.packages/ui/stories/animation-catalog.stories.tsx— drop the maka-pulse "Status pulse" demo (grid 3 → 2).apps/desktop/src/main/__tests__/chat-stream-cascade-contract.test.ts— replace the "present" pins (maka-pulse keyframe frames, LiveIndicator literals) with a single "stays removed" guard; drop the now-tautological streamVariants harness assertions.apps/desktop/src/main/__tests__/design-system-governance-406-contract.test.ts— dropmaka-pulsefrom the functional-motion allowlist.apps/desktop/src/main/__tests__/storybook-baseline-contract.test.ts— drop "Status pulse" from the retained-motion labels.Not included (follow-up PR):
packages/ui/src/index.ts(enumeratesstreamVariants/LiveIndicator), cross-references in survivingchat.tsxdoc blocks (toolVariants/TextShimmer), thecheck-chat-marker-computed-style.mjsscript comments, thechat-tool-card-cascade-contract.test.tsmaka-pulse_banned-list entry + comment, and the406test's animation-name extraction comments. Stale prose, not broken — tracked separately.Verification
npm run -w @maka/ui test— 103/103 pass.npm run -w @maka/desktop test— 2315/2315 pass (full main suite incl. restructured stream cascade contract, 406 governance, chat-tool-card, storybook baseline).npm run typecheck(root, all workspaces) +npm run -w @maka/desktop typecheck:stories— clean.No screenshots: the removed keyframe/primitive had no production consumers after #712 — no production element rendered them, so no visual delta. The computed-style contract + the
406motion governance test are the relevant guards; both pass.User-facing impact
None. The removed symbols/keyframe had no production consumers; the tool body renders through
ToolTrow+maka-tool-pulse(untouched). No changelog/docs/migration.Reviewer notes
chat-stream-cascade-contractpreviously asserted@keyframes maka-pulseis present with specific frames andLiveIndicatorcarries specific literals — pinning dead code as present. Replaced with!/\bstreamVariants\b/,!/\bLiveIndicator\b/,!tokens.includes('@keyframes maka-pulse')— a regression guard that the retirement holds.markerVariants(chat-view.tsx) andtoolVariants(tool-activity.tsx) are still in production and not touched.maka-pulse_banned entry inchat-tool-card-cascade-contractis left — a now-redundant guard that still passes (maka-tool-pulse≠maka-pulse), slated for the comment-cleanup follow-up.Checklist