refactor: extract remote/ folder — Phase 5#951
Conversation
Size Report
Startup median (7 runs, lower is better):
Top changed chunks:
|
9627312 to
f07f145
Compare
|
Reviewed against plans/perfect-shape.md §5.5 and the Phase 5 refactor guidance. This is the intended remote-folder ownership move: the eight root-level remote/proxy/upload files are git renames into src/remote/, with import/config updates only. I checked the same-named remote-config paths specifically: src/utils/remote-config.ts remains separate, while the public remote-config barrel moved to src/remote/remote-config.ts and the rslib/package export key still emits agent-device/remote-config at dist/src/remote-config.*. Package export coverage and remote-config public tests cover that public subpath. No command identity, daemon registry, platform routing, or behavior-sensitive path changed beyond import locations. Checks are green. I do not see remaining actionable blockers. Sequencing note: this is stacked on #950, so it should land after #950 or be retargeted once #950 is in main. |
Move the remote/proxy/upload subsystem out of the src/ root cluster into a dedicated src/remote/ intent folder, per plans/perfect-shape.md §5.5: daemon-proxy · daemon-artifacts · upload-client(-artifact) · remote-config · remote-config-core · remote-config-schema · remote-connection-state - 8 files moved (git renames); imports repointed via a resolve-based codemod (path.relative recomputation — correctly distinguishes the root remote-config from the unrelated src/utils/remote-config.ts) - rslib entry keeps key 'remote-config' so dist output stays dist/src/remote-config.js; public 'agent-device/remote-config' byte-identical - update .fallowrc.json entrypoint + fallow-baselines/health.json keys + vitest.config.ts coverage include + the integration test import paths Behaviorless path codemod. typecheck/lint/build/fallow/tests all green. Stacked on #950 (contracts→kernel).
f07f145 to
eaf38f9
Compare
|
Move the SDK client + companion-tunnel cluster out of the src/ root into a dedicated src/client/ folder, per plans/perfect-shape.md §5.5 (~8k LOC client/remote unfoldered at src root; remote/ already extracted in #951). Files moved (9): client, client-types, client-shared, client-normalizers, client-companion-tunnel{,-contract,-worker}, client-react-devtools-companion, companion-tunnel. - git renames; 68 importers repointed via the resolve-based codemod (intra-client stays ./, staying deps recomputed) - companion-tunnel.ts keeps rslib key 'internal/companion-tunnel' so dist output stays dist/src/internal/companion-tunnel.js (public subpath byte-identical; verified by build) - update non-src importers (3 integration tests, vitest coverage include), .fallowrc.json entrypoint, fallow-baselines/health.json keys backend.ts and daemon-client*.ts are intentionally left for follow-up (daemon/client split). Behaviorless path codemod; all gates green.
Move the SDK client + companion-tunnel cluster out of the src/ root into a dedicated src/client/ folder, per plans/perfect-shape.md §5.5 (~8k LOC client/remote unfoldered at src root; remote/ already extracted in #951). Files moved (9): client, client-types, client-shared, client-normalizers, client-companion-tunnel{,-contract,-worker}, client-react-devtools-companion, companion-tunnel. - git renames; 68 importers repointed via the resolve-based codemod (intra-client stays ./, staying deps recomputed) - companion-tunnel.ts keeps rslib key 'internal/companion-tunnel' so dist output stays dist/src/internal/companion-tunnel.js (public subpath byte-identical; verified by build) - update non-src importers (3 integration tests, vitest coverage include), .fallowrc.json entrypoint, fallow-baselines/health.json keys backend.ts and daemon-client*.ts are intentionally left for follow-up (daemon/client split). Behaviorless path codemod; all gates green.
Move the SDK client + companion-tunnel cluster out of the src/ root into a dedicated src/client/ folder, per plans/perfect-shape.md §5.5 (~8k LOC client/remote unfoldered at src root; remote/ already extracted in #951). Files moved (9): client, client-types, client-shared, client-normalizers, client-companion-tunnel{,-contract,-worker}, client-react-devtools-companion, companion-tunnel. - git renames; 68 importers repointed via the resolve-based codemod (intra-client stays ./, staying deps recomputed) - companion-tunnel.ts keeps rslib key 'internal/companion-tunnel' so dist output stays dist/src/internal/companion-tunnel.js (public subpath byte-identical; verified by build) - update non-src importers (3 integration tests, vitest coverage include), .fallowrc.json entrypoint, fallow-baselines/health.json keys backend.ts and daemon-client*.ts are intentionally left for follow-up (daemon/client split). Behaviorless path codemod; all gates green.
What
Moves the remote / proxy / upload subsystem out of the
src/root cluster into a dedicatedsrc/remote/intent folder, per plans/perfect-shape.md §5.5 ("~8k LOC client/remote unfoldered at src root").Files moved (8):
daemon-proxy,daemon-artifacts,upload-client,upload-client-artifact,remote-config,remote-config-core,remote-config-schema,remote-connection-state.How
path.relativefrom each importer's new location) — notably it correctly distinguishes the rootremote-config.tsfrom the unrelatedsrc/utils/remote-config.ts(the same-named-file collision a naive sed would corrupt).remote-config, so dist output staysdist/src/remote-config.jsand the publicagent-device/remote-configsubpath is byte-identical (verified by build +package-exports/remote-config-publictests)..fallowrc.jsonentrypoint,fallow-baselines/health.jsonkeys,vitest.config.tscoverage include, and the integration test import paths.Safety
typecheck ✅ · oxlint ✅ · build ✅ (public
remote-configdist preserved) · fallow audit ✅ (no issues in changed files) · targeted unit tests ✅ (62 passing). Behaviorless path codemod, 35 files.Stacking
Stacked on #950 (
contracts → kernel). Base will auto-retarget tomainonce #950 merges.