mirror of
https://github.com/garrytan/gstack.git
synced 2026-09-10 23:19:09 +02:00
fix(hosts): delete five dead HostConfig fields
metadataFormat (generator hardcodes openai.yaml), sidecar (behavior lives in setup's create_agents_sidecar — knowledge preserved as a comment in codex.ts), install.prefixable (skill_prefix is implemented entirely in bin/gstack-config), staticFiles (docstring cited a SOUL.md that never existed anywhere), and adapter (its only would-be consumer, openclaw-adapter.ts, was fully dead — with a test asserting the field was undefined). Kept: learningsMode (wired next), linkingStrategy (validation reads it), coAuthorTrailer (consumed by resolvers/utility.ts). Proof: JSON dump diff shows ONLY the deleted keys vanishing; zero-diff regen across all 10 hosts; host-config + gen-skill-docs suites green. Note: this commit also carries chunk-23 edits to the shared hosts/claude.ts + define-host.ts + host-config.test.ts files (skipSkills collapse, stale line-number comment drops) — pathspec commits, concurrent prep. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
2b27d89ae3
commit
9124559810
@@ -120,7 +120,7 @@ describe('validateHostConfig', () => {
|
||||
generation: { generateMetadata: false },
|
||||
pathRewrites: [],
|
||||
runtimeRoot: { globalSymlinks: ['bin'] },
|
||||
install: { prefixable: false, linkingStrategy: 'symlink-generated' },
|
||||
install: { linkingStrategy: 'symlink-generated' },
|
||||
};
|
||||
}
|
||||
|
||||
@@ -441,16 +441,6 @@ describe('golden-file regression', () => {
|
||||
// ─── Individual host config correctness ─────────────────────
|
||||
|
||||
describe('host config correctness', () => {
|
||||
test('claude is the only prefixable host', () => {
|
||||
for (const config of ALL_HOST_CONFIGS) {
|
||||
if (config.name === 'claude') {
|
||||
expect(config.install.prefixable).toBe(true);
|
||||
} else {
|
||||
expect(config.install.prefixable).toBe(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
test('claude is the only host with real-dir-symlink strategy', () => {
|
||||
for (const config of ALL_HOST_CONFIGS) {
|
||||
if (config.name === 'claude') {
|
||||
@@ -476,14 +466,8 @@ describe('host config correctness', () => {
|
||||
expect(codex.frontmatter.descriptionLimitBehavior).toBe('error');
|
||||
});
|
||||
|
||||
test('codex generates openai.yaml metadata', () => {
|
||||
test('codex generates metadata (openai.yaml, format hardcoded in gen-skill-docs)', () => {
|
||||
expect(codex.generation.generateMetadata).toBe(true);
|
||||
expect(codex.generation.metadataFormat).toBe('openai.yaml');
|
||||
});
|
||||
|
||||
test('codex has sidecar config', () => {
|
||||
expect(codex.sidecar).toBeDefined();
|
||||
expect(codex.sidecar!.path).toBe('.agents/skills/gstack');
|
||||
});
|
||||
|
||||
test('factory has tool rewrites', () => {
|
||||
@@ -521,17 +505,13 @@ describe('host config correctness', () => {
|
||||
expect(openclaw.pathRewrites.some(r => r.from === 'CLAUDE.md' && r.to === 'AGENTS.md')).toBe(true);
|
||||
});
|
||||
|
||||
test('openclaw has no adapter (dead code removed)', () => {
|
||||
expect(openclaw.adapter).toBeUndefined();
|
||||
});
|
||||
|
||||
test('openclaw has no staticFiles (SOUL.md removed)', () => {
|
||||
expect(openclaw.staticFiles).toBeUndefined();
|
||||
});
|
||||
|
||||
test('openclaw includeSkills is empty (native skills replaced generated ones)', () => {
|
||||
expect(openclaw.generation.includeSkills).toBeDefined();
|
||||
expect(openclaw.generation.includeSkills!.length).toBe(0);
|
||||
test('no host carries a no-op empty includeSkills allowlist', () => {
|
||||
// includeSkills: [] was a no-op (the generator's `?.length` guard treats an
|
||||
// empty allowlist as absent), so configs omit the field instead of
|
||||
// shipping a lie about "no skills generated".
|
||||
for (const config of ALL_HOST_CONFIGS) {
|
||||
expect(config.generation.includeSkills).toBeUndefined();
|
||||
}
|
||||
});
|
||||
|
||||
test('every host has coAuthorTrailer or undefined', () => {
|
||||
|
||||
Reference in New Issue
Block a user