fix(fleet): compose system settings from the installed flattened home layout

The installed ~/.config/mosaic home flattens the repo's
packages/mosaic/framework/ prefix: the real file is
<home>/runtime/<harness>/settings.json, exactly as launch.ts already
resolves it everywhere. The fleet launch composition leaked the repo
layout (framework/runtime/...) into the system layer path, so a real
installed home failed with COMPOSITION_FAILED while the temp-fixture
specs (which mirrored the same wrong prefix) stayed green. Found by the
in-box hour-gate dry-run against the installed mos-dev-stage home.

Co-Authored-By: Claude Fable 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Dtdjx4Gxude9fwyLezCrhh
This commit is contained in:
Jason Woltje
2026-08-13 11:52:00 -05:00
co-authored by Claude Fable 5
parent 92e790ae9d
commit c16256d48c
2 changed files with 5 additions and 5 deletions
@@ -577,7 +577,7 @@ export function resolveFleetLaunchComposition(
const layers: SettingsLayer[] = [
readSettingsLayer(
'system',
join(roots.systemHome, 'framework', 'runtime', profile.harness, 'settings.json'),
join(roots.systemHome, 'runtime', profile.harness, 'settings.json'),
true,
),
readSettingsLayer(