chore: baseline-free production-exports cleanup (#1276) - #1282
Conversation
Classify and burn down the 32 baseline-tolerated unused production exports. - Live seams: annotate with @internal JSDoc visibility tags (test hooks, introspection helpers, public install-source constant) so fallow no longer treats them as dead production exports. - Wrappers: collapse re-export wrappers in commands/index.ts (ref/selector) and daemon/lease-context.ts (buildLeaseDiagnosticsContext); update all importers to pull directly from the source module. - Stale baseline entry: remove the non-existent resetAndroidMultiTouchHelperInstallCache entry. - Empty fallow-baselines/production-unused-exports.json so check:production-exports now fails loudly on any new dead export. Fixes #1276 Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
Review — approve with three notesThe classification is honest and the mechanics check out. Verified independently:
Three follow-ups before/at merge:
|
- CONTRIBUTING.md: document that intentional non-production exports should use JSDoc @internal with a short justification, treated as a reviewed baseline entry. - isPlatform: fix JSDoc tag to "@internal" and remove conflicting "public" wording. - ARCHIVE_EXTENSIONS: re-export from src/sdk/install-source.ts so the public install-source subpath has a real consumer story for the constant. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
Thanks for the review. Addressed all three notes:
All checks green. |
|
Review finding at The export list is burned down correctly, but the claimed baseline-free outcome is incomplete. Please either:
The export classification and wrapper cleanup otherwise look sound. Current-head iOS smoke was still running at review time. |
- Drop --baseline from pnpm check:production-exports and remove the check:production-exports:baseline generation script. - Delete fallow-baselines/production-unused-exports.json. - Update CONTRIBUTING.md to describe the baseline-free behavior and remove references to reviewed baseline entries for production unused exports. Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
|
Good catch — I had only emptied the baseline file. Now the check is actually baseline-free:
|
|
Re-reviewed current head The earlier finding is resolved: the production-export gate no longer passes a baseline, the baseline-generation script and file are removed, and contributor guidance now describes baseline-free enforcement. All 23 current-head checks pass and the PR is clean. Ready for human merge review. |
|
Thanks for the re-review — ready for human merge review. |
Summary
Burn down the 32 baseline-tolerated unused production exports so
pnpm check:production-exportsno longer relies on a grandfather list.Classification
parseArgs,listCommandAliasSuggestionEntries, cloud-webdriver factories/capability builders, command-surface/registry introspection helpers, platform reset/clear test hooks,isPlatform,setActiveProviderDeviceRuntimes,ARCHIVE_EXTENSIONS,commandscatalog@internalJSDoc visibility tags; fallow now treats them as intentional seams instead of dead exports.commands/index.tsre-exports ofref/selector;daemon/lease-context.tsre-export ofbuildLeaseDiagnosticsContextcommands/interaction/runtime/selector-read.tsandcore/lease-scope.ts.src/platforms/android/multitouch-helper.ts:resetAndroidMultiTouchHelperInstallCacheResult
fallow-baselines/production-unused-exports.jsonis now empty.pnpm check:production-exportspasses without a baseline and will fail loudly on any newly introduced dead export.Note: I used
@internalJSDoc tags rather than// fallow-ignore-next-line unused-exportbecause the repo already uses@internalfor the same purpose insrc/core/interaction-targeting.ts, and visibility tags do not produce stale-suppression warnings in the test-inclusivefallow auditrun.Fixes #1276
Link to Devin session: https://app.devin.ai/sessions/2819f6f9400b455aa9414722ba937d64
Requested by: @thymikee