refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse - #736

Merged
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants
Jul 11, 2026
Merged

refactor(ui): remove retired streamVariants, LiveIndicator, and maka-pulse#736
Astro-Han merged 3 commits into
mainfrom
refactor/remove-dead-stream-variants

Conversation

@Astro-Han

Copy link
Copy Markdown
Contributor

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 ToolTrow panel, 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 — delete streamVariants + 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 — 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.

Not included (follow-up PR):

  • Comment cleanup. Scattered comments still mention the retired symbols: the barrel rule in packages/ui/src/index.ts (enumerates streamVariants/LiveIndicator), cross-references in surviving chat.tsx doc blocks (toolVariants/TextShimmer), the check-chat-marker-computed-style.mjs script comments, the chat-tool-card-cascade-contract.test.tsmaka-pulse_ banned-list entry + comment, and the 406 test'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.
  • TDD: the new "stays removed" guard was confirmed RED first (failed because the symbols still existed), then GREEN after deletion.

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 406 motion 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

  • Contract flip is the key review point: chat-stream-cascade-contract previously asserted @keyframes maka-pulse is present with specific frames and LiveIndicator carries 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) and toolVariants (tool-activity.tsx) are still in production and not touched.
  • The maka-pulse_ banned entry in chat-tool-card-cascade-contract is left — a now-redundant guard that still passes (maka-tool-pulsemaka-pulse), slated for the comment-cleanup follow-up.
  • Rollback: revert the single commit; the contract returns to the "present" pins and the symbols return.

Checklist

  • Scope matches the PR title and excludes unrelated changes
  • Verification lists commands/results
  • User-facing impact: none
  • Risk/rollback called out
  • UI changes: N/A (no visual delta — explained)

…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`).
@Astro-Han
Astro-Han merged commit b181741 into mainJul 11, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/remove-dead-stream-variants branch July 11, 2026 22:03
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.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@Astro-Han