Skip to content

ci: enforce unused runtime exports in the web app - #10228

Merged
juliusmarminge merged 1 commit into
cleanup-web/app-internalsfrom
cleanup-web/knip-gate
Sep 6, 2026
Merged

ci: enforce unused runtime exports in the web app#10228
juliusmarminge merged 1 commit into
cleanup-web/app-internalsfrom
cleanup-web/knip-gate

Conversation

@juliusmarminge

@juliusmarminge juliusmarminge commented Sep 5, 2026

Copy link
Copy Markdown
Member

Web runtime exports are not covered by the existing Knip CI gate. Add apps/web alongside the seven internal packages after the preceding cleanup layers.

Keep exported types and Effect schemas under the existing preprocessor policy. Web UI component modules are copied and adapted as complete component sets, so Knip ignores named exports and duplicate aliases in apps/web/src/components/ui/*.tsx. The exception does not include file findings: an unimported UI component module still fails the file audit.

No dependency or plugin changes. Before this cleanup, the ordinary scan reported 205 web runtime exports and three duplicate-export groups. The integrated stack now passes under the revised policy. Production-only findings remain a separate audit because tests can legitimately consume meaningful logic.

Layer 4 of 4 in the web runtime-export cleanup stack. Based on #10227.

Verification at the integrated stack tip: vp run --filter @t3tools/web test passes all 4,052 tests across 333 files. Web typecheck and changed-file lint/format pass. vp run knip:check passes. A negative probe confirmed that a wholly unused components/ui/*.tsx file still fails the file audit.

Model: gpt-6 astra. Harness: Codex in T3 Code.

Note

Add apps/web to knip:check and ignore export findings for UI components

  • Extends knip:check in package.json to audit files, dependencies, and exports in apps/web.
  • Adds an ignoreIssues rule in knip.jsonc for src/components/ui/*.tsx to suppress export-level findings, treating these files as cohesive sets while still reporting fully unused files.
  • Updates docs/operations/development.md to document the expanded audit scope and component rules.
  • Behavioral Change: Running knip:check now audits apps/web, which may fail CI if unused files or dependencies exist outside the ignored UI components.

Macroscope summarized 78ed671.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS 0-9 changed lines (additions + deletions). labels Sep 5, 2026
@github-actions

github-actions Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ No successful main baseline artifact is available yet. This run establishes the initial measurement.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.5 KiB 15.1 KiB
Codex Thread snapshot wire 7.0 KiB 7.3 KiB
Codex Live turn WebSocket wire 6.5 KiB 7.8 KiB
Codex Live turn WebSocket decoded 57.0 KiB 66.4 KiB
Codex Live turn messages 8 21
Claude Total thread wire 13.5 KiB 15.1 KiB
Claude Thread snapshot wire 7.0 KiB 7.3 KiB
Claude Live turn WebSocket wire 6.5 KiB 7.8 KiB
Claude Live turn WebSocket decoded 57.8 KiB 66.4 KiB
Claude Live turn messages 9 21

Baseline: unavailable · PR result: 78ed671 · 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: 113.8 KiB
  • Claude decoded thread snapshot: 114.5 KiB

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

@juliusmarminge
juliusmarminge marked this pull request as ready for review September 5, 2026 23:25
macroscopeapp[bot]
macroscopeapp Bot previously approved these changes Sep 5, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — The PR is limited to CI coverage, Knip configuration, and documentation, with no product runtime or default changes. Human review is still required because the new Knip configuration suppresses export-related diagnostics for a class of web UI modules.

You can add or adjust custom eligibility rules. Learn more.

@cursor

cursor Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Bugbot is paused — on-demand spend limit reached

Bugbot uses usage-based billing for this team and has hit its on-demand spend limit.

A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue.

@macroscopeapp
macroscopeapp Bot dismissed their stale review September 6, 2026 03:32

Dismissing prior approval to re-evaluate 78ed671

@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XS 0-9 changed lines (additions + deletions). labels Sep 6, 2026
@juliusmarminge
juliusmarminge merged commit da2ba5b into main Sep 6, 2026
23 checks passed
@juliusmarminge
juliusmarminge deleted the cleanup-web/knip-gate branch September 6, 2026 05:07
github-actions Bot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 6, 2026
## What's Changed
* fix(web): keep timestamp tooltip dates in English by @Lucenx9 in pingdotgg/t3code#10256
* fix(web): let authorized clients scrolling reach settings by @flamboh in pingdotgg/t3code#10080
* fix(web): remember usage page selection by @extoci in pingdotgg/t3code#10189
* fix(server): keep the Antigravity Google sign-in across server restarts by @t3dotgg in pingdotgg/t3code#10244
* fix(antigravity): load user skills from ~/.gemini for every project by @t3dotgg in pingdotgg/t3code#10257
* fix(web): respect reduced motion in shared disclosures by @saphid in pingdotgg/t3code#10258
* feat(marketing): add a Windows 95 landing page by @t3dotgg in pingdotgg/t3code#10286
* refactor(web): remove unused runtime wrappers and exports by @juliusmarminge in pingdotgg/t3code#10225
* refactor(web): keep feature component helpers private by @juliusmarminge in pingdotgg/t3code#10226
* refactor(web): keep app utilities private and remove dead helpers by @juliusmarminge in pingdotgg/t3code#10227
* ci: enforce unused runtime exports in the web app by @juliusmarminge in pingdotgg/t3code#10228
* test(desktop): cover Clerk setup through the service by @juliusmarminge in pingdotgg/t3code#10284
* test(desktop): cover WSL hashes through runtime resolution by @juliusmarminge in pingdotgg/t3code#10285
* test(desktop): cover password store through startup by @juliusmarminge in pingdotgg/t3code#10287
* test(desktop): cover WSL paths through public behavior by @juliusmarminge in pingdotgg/t3code#10289
* test(desktop): exercise WSL cache safety through public scripts by @juliusmarminge in pingdotgg/t3code#10301
* test(web): cover file classification through diff ordering by @juliusmarminge in pingdotgg/t3code#10304
* test(web): focus command palette tests on search behavior by @juliusmarminge in pingdotgg/t3code#10302
* fix(web): add project settings to legacy sidebar project menu by @hwanseoc in pingdotgg/t3code#10021
* test(web): keep Markdown gutter styling private by @juliusmarminge in pingdotgg/t3code#10306
* feat(settings): add shared project defaults and scoped overrides by @maria-rcks in pingdotgg/t3code#9754
* feat(connections): balance new threads across connected machines by @maria-rcks in pingdotgg/t3code#9895
* test(web): keep settings viewport comparison private by @juliusmarminge in pingdotgg/t3code#10307
* fix(web): prevent file tree search focus ring clipping by @GuilhermeVieiraDev in pingdotgg/t3code#10175
* fix(mobile): stop the work log flickering during subagent runs and failing calls by @juliusmarminge in pingdotgg/t3code#10273
* fix(mobile): save linked media from chat by @juliusmarminge in pingdotgg/t3code#10271
* feat(markdown): show the GitHub mark for github.com links by @juliusmarminge in pingdotgg/t3code#10324
* fix(marketing): show a real preview card when t3.codes is shared by @t3dotgg in pingdotgg/t3code#10305


**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260906.1292...v0.0.39-nightly.20260906.1293

Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260906.1293
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR 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