feat(fleet): HARNESS-HOMES fleet MVP — profile-driven seat composition and launch (#1209) #1213
@@ -40,10 +40,10 @@ function fixture(profile: Record<string, unknown> = { schema: 1, harness: 'claud
|
||||
const userHome = join(root, 'user');
|
||||
const agentDir = join(userHome, 'fleet', 'agents', 'fred');
|
||||
const namedBundleDir = join(userHome, 'auth', 'claude', 'fred_example.com');
|
||||
mkdirSync(join(systemHome, 'framework', 'runtime', 'claude'), { recursive: true });
|
||||
mkdirSync(join(systemHome, 'runtime', 'claude'), { recursive: true });
|
||||
mkdirSync(agentDir, { recursive: true });
|
||||
mkdirSync(namedBundleDir, { recursive: true });
|
||||
writeFileSync(join(systemHome, 'framework', 'runtime', 'claude', 'settings.json'), '{}\n');
|
||||
writeFileSync(join(systemHome, 'runtime', 'claude', 'settings.json'), '{}\n');
|
||||
writeFileSync(join(agentDir, 'profile.json'), `${JSON.stringify(profile, null, 2)}\n`);
|
||||
writeFileSync(join(namedBundleDir, '.credentials.json'), '{}\n', { mode: 0o600 });
|
||||
writeFileSync(
|
||||
@@ -352,7 +352,7 @@ describe('dry-run composition', () => {
|
||||
env: { SEAT_FLAG: 'yes' },
|
||||
});
|
||||
writeFileSync(
|
||||
join(fx.systemHome, 'framework', 'runtime', 'claude', 'settings.json'),
|
||||
join(fx.systemHome, 'runtime', 'claude', 'settings.json'),
|
||||
'{"theme":"dark","hooks":["system"],"nested":{"system":true}}\n',
|
||||
);
|
||||
mkdirSync(join(fx.userHome, 'config', 'claude'), { recursive: true });
|
||||
@@ -376,7 +376,7 @@ describe('dry-run composition', () => {
|
||||
harness: claude
|
||||
seat-home: <ROOT>/user/fleet/agents/fred/.claude
|
||||
settings sources:
|
||||
system: <ROOT>/system/framework/runtime/claude/settings.json
|
||||
system: <ROOT>/system/runtime/claude/settings.json
|
||||
user: <ROOT>/user/config/claude/settings.json
|
||||
agent: <ROOT>/user/fleet/agents/fred/overlay.json
|
||||
output: <ROOT>/user/fleet/agents/fred/.claude/settings.json
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user