chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge
, '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

chore(ci): narrow the UI consistency check-run agent - #9297

Merged
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check
Sep 3, 2026
Merged

chore(ci): narrow the UI consistency check-run agent#9297
juliusmarminge merged 1 commit into
mainfrom
t3code/simplify-ui-consistency-check

Conversation

@juliusmarminge

@juliusmarmingejuliusmarminge commented Sep 3, 2026

Copy link
Copy Markdown
Member

The Macroscope UI Consistency check-run agent had drifted from a styling guard into a general review and was costing a lot per run. Since #6381 it picked up PR-specific rules from #7906 (contrast tokens, filter on the root) and #7140 (environment routing in shared renderers, which is not a styling concern at all), plus standing instructions to inspect emitted production CSS, trace selector consumers across the codebase, compare cascade layers, and verify runtime scroll behavior on every run.

This cuts the prompt from 11.6 KB to about 4 KB and scopes it back to what it was meant to guard:

  1. Use the apps/web/src/components/ui primitives instead of rebuilding controls.
  2. Keep styling as Tailwind classes on the owning component instead of adding global CSS or static inline styles.
  3. Keep components composable, with the composer banner stack (ComposerBanner.tsx, ComposerBannerStack.tsx, and its consumers) named as the reference for how slot components should be shaped.

The prompt now opens by telling the agent to stay at diff level (no builds, no emitted-CSS inspection, no consumer tracing, no screenshot requests) and that a violation not obvious from the diff is not a finding.

Frontmatter changes: drop git_tools and github_api_read_only, narrow include to .tsx/.css and exclude tests, lower effort from high to medium, and add maxBudgetPerRun: 10. Still runs on claude-opus-5 with conclusion: failure.

The environment-routing rules removed here were a real correctness concern from #7140; if we still want them guarded they belong in their own agent.

Claude Fable 5 via Claude Code

🤖 Generated with Claude Code


Note

Low Risk
Config-only change to a CI agent prompt; the tradeoff is less automated coverage for environment routing and deep CSS/theme checks unless another agent picks them up.

Overview
Narrows the Macroscope UI Consistency agent from a broad web review back to a diff-only styling guard for apps/web, with a much shorter prompt (~11.6 KB → ~4 KB) and lower run cost.

The agent now answers three questions only: use components/ui primitives instead of raw controls, keep styling as Tailwind on the owning component (not new global CSS or static inline styles), and follow the ComposerBanner slot pattern for composable UI. It explicitly forbids builds, emitted-CSS inspection, consumer tracing, and screenshot requests; violations must be obvious from the diff.

Frontmatter:effortmedium, maxBudgetPerRun: 10, include limited to **/*.tsx and **/*.css with test files excluded, and git_tools / github_api_read_only removed (still browse_code + modify_pr). showToolCalls dropped.

Removed from the prompt: contrast/token rules, root filter guidance, environment routing in shared renderers, scroll/virtualized-list checks, visual-evidence requirements, and deep CSS cascade/selector auditing—those are no longer part of this check.

Reviewed by Cursor Bugbot for commit 04953ef. Bugbot is set up for automated code reviews on this repo. Configure here.

The Macroscope UI consistency agent had grown from a styling guard into a
general review: it accumulated PR-specific rules (contrast tokens,
environment routing, MenuPopup width defaulting, scroll-fade geometry)
and instructed the agent to inspect emitted CSS, trace selector consumers,
and verify runtime behavior on every run. That made each run expensive.
Cut the prompt to the three things it was meant to guard: use the ui/
primitives, keep styling as Tailwind on the owning component instead of
global CSS, and keep components composable, using the composer banner
stack as the reference shape. Drop git_tools and github_api_read_only,
narrow include to .tsx/.css, lower effort to medium, and cap spend per run.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ProviderMetricMain baselineThis PRImpactPR ceiling
CodexTotal thread wire13.3 KiB13.2 KiB−93 B (−0.7%)15.1 KiB
CodexThread snapshot wire6.9 KiB6.9 KiB0 B (0.0%)7.3 KiB
CodexLive turn WebSocket wire6.4 KiB6.3 KiB−93 B (−1.4%)7.8 KiB
CodexLive turn WebSocket decoded55.6 KiB55.5 KiB−88 B (−0.2%)66.4 KiB
CodexLive turn messages108−2 (−20.0%)21
ClaudeTotal thread wire13.3 KiB13.2 KiB−58 B (−0.4%)15.1 KiB
ClaudeThread snapshot wire6.9 KiB6.9 KiB−2 B (−0.0%)7.3 KiB
ClaudeLive turn WebSocket wire6.4 KiB6.3 KiB−56 B (−0.9%)7.8 KiB
ClaudeLive turn WebSocket decoded56.4 KiB56.3 KiB−44 B (−0.1%)66.4 KiB
ClaudeLive turn messages98−1 (−11.1%)21

Baseline: 7751299 · PR result: 04953ef · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 109.4 KiB
  • Claude decoded thread snapshot: 110.1 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This is a CI-only change with no direct product runtime impact, but it materially narrows automated review coverage and modifies a .macroscope/ configuration file. Human review is required for changes that alter Macroscope’s own review behavior.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@juliusmarminge
juliusmarminge merged commit e94603a into mainSep 3, 2026
20 checks passed
@juliusmarminge
juliusmarminge deleted the t3code/simplify-ui-consistency-check branch September 3, 2026 01:09
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* feat(desktop): browser profiles for the preview browser by @juliusmarminge in pingdotgg/t3code#7254
* refactor(shared): move the node:sqlite Effect SQL client into shared by @juliusmarminge in pingdotgg/t3code#7272
* feat(web): add opt-in panel animations by @maria-rcks in pingdotgg/t3code#8830
* feat(projects): automatically pull clean default branches by @maria-rcks in pingdotgg/t3code#9277
* fix(web): show pull request state icons in tabs by @flamboh in pingdotgg/t3code#9112
* feat(providers): add context compaction across harnesses by @maria-rcks in pingdotgg/t3code#8808
* feat(web): add proactive panels by @maria-rcks in pingdotgg/t3code#9276
* fix(web): unify control sizing across settings pages by @juliusmarminge in pingdotgg/t3code#9281
* fix(web): offer browser profiles from the empty-panel launcher by @juliusmarminge in pingdotgg/t3code#9279
* Revert "feat(providers): add context compaction across harnesses" by @maria-rcks in pingdotgg/t3code#9284
* fix(web): show scroll-to-end as soon as the last message slips under the composer by @juliusmarminge in pingdotgg/t3code#9280
* fix(cursor): honor auto and full access modes by @maria-rcks in pingdotgg/t3code#9283
* fix(desktop): detect installed Spectre libs for Windows builds by @juliusmarminge in pingdotgg/t3code#9285
* fix(pull-requests): missing features & better behaviour by @maria-rcks in pingdotgg/t3code#9188
* fix(providers): discover workspace skills everywhere by @maria-rcks in pingdotgg/t3code#9180
* fix(server): preserve automatic settlement timestamps by @eimexdev in pingdotgg/t3code#9254
* fix(opencode): show Reasoning selector for OpenCode models by @maria-rcks in pingdotgg/t3code#9287
* feat(web): preview document attachments in the file viewer by @juliusmarminge in pingdotgg/t3code#9292
* chore(ci): narrow the UI consistency check-run agent by @juliusmarminge in pingdotgg/t3code#9297
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260902.1261...v0.0.39-nightly.20260903.1262
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1262
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@juliusmarminge