Skip to content

refactor: split GC reporting and resource helpers - #384

Draft
janicduplessis wants to merge 2 commits into
mainfrom
@janic/issue-371-gc-modules
Draft

refactor: split GC reporting and resource helpers#384
janicduplessis wants to merge 2 commits into
mainfrom
@janic/issue-371-gc-modules

Conversation

@janicduplessis

@janicduplessis janicduplessis commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Description

GC combines report rendering, cache policy, device cleanup, and EAS ownership checks in one 1,751-line command file, making each cleanup policy harder to review.

Solution

Move those responsibilities into GC-specific modules and keep registration, report collection, and cleanup order in the command, now 525 lines. Existing entry exports, dependency injection, ownership checks, and lock scope are preserved. The included plan tracks the native-command and guide follow-ups.

Test plan

  • Existing GC/EAS/device/cache suites pass before and after extraction. Exact text and serialized-report snapshots were recorded against main and pass unchanged here.
  • Moved helper bodies and external-tool arguments are unchanged. No live device or EAS deletion was run.
  • All repository checks pass: 3,537 unit tests, 20 fast end-to-end tests, runtime, formatting, lint, build, typecheck, and knip.

Fixes #371

@janicduplessis

janicduplessis commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator Author

Combined verification of #369, #370, #374, #382, #384, #385, and #386 against main at 43da17e passes: 3,550 unit tests, 24 fast end-to-end tests, formatting, lint, build, typecheck, knip, runtime-floor checks, and website typecheck/build. This includes the newly merged reload command. All eight guide renders, two indexes, and 24 CLI captures remain byte-identical through extraction, including the independent fingerprint and build-lock guidance corrections.

Integration details to preserve when merging the native extraction with the fixes:

The verified combined checkout is local-only at /private/tmp/stim-review-integration, commit d6aba6efa919cc2c0f28964b1ef445e28d44d15f. Individual PRs remain drafts; no PR merge or release was performed. Full native app/device matrix runs were not run.

The final combined run passed on its first attempt. Logs are retained under /private/tmp/stim-integration-reload-*.log. An earlier real-device process probe needed a retry on the prior baseline; it passed in isolation and in subsequent full runs without code or device changes. The independent CI timing failure in the existing build-lock process fixture is documented in #379.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Separate GC reporting and resource helpers from the command

1 participant