# refactor\(web\): keep app utilities private and remove dead helpers · PR \#10227 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/10227)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: merged

Source repository: pingdotgg/t3code

Source branch: cleanup-web/app-internals

Target branch: cleanup-web/component-internals

Head commit: ce43c55df9b28f06c5a80b1e34bfd98e02813385

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/10227)

[Commits](https://git.cafe/pingdotgg/t3code/pull/10227/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/10227/diffs?format=markdown)

## Description

---

Web app utilities export implementation details without external consumers. Keep locally used helpers and constants private, and remove the dead preview-refresh shortcut wrapper, review-comment predicate, and theme labels.

Exported types and Effect schemas remain allowed. Existing behavior tests and the shared React hook test harness remain in place. Core UI component modules are unchanged.

Layer 3 of 4 in the web runtime-export cleanup stack. Based on [#10226](https://github.com/pingdotgg/t3code/pull/10226).

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.

