* fix(#1296): align config docs/prompts/schema with consumers The user-facing config surface disagreed with what the consumers actually do (subset of the #1216 audit). No runtime consumption behavior changes. - workflow.subagent_timeout: settings-advanced.md prompt + docs/CONFIGURATION.md said "seconds (default 600)" but the consumer (map-codebase.md) uses milliseconds (default 300000). Relabeled all four spots in settings-advanced.md (prompt, parse-default list, example, confirmation table) + the CONFIGURATION.md row. - review.models.<cli>: settings-integrations.md, docs/CONFIGURATION.md (Integration Settings), and docs/CLI-TOOLS.md documented a shell command, but review.md injects the value into a --model/-m flag. Relabeled to a bare model id and reconciled the contradictory CONFIGURATION.md sections. - workflow.test_command + workflow.build_command: consumed via config-get (test_command in verify-phase/execute-phase/audit-fix/post-merge-gate; build_command in post-merge-gate) and documented, but absent from validKeys so `config set` rejected them. Registered both in config-schema.manifest.json and documented them in references/planning-config.md (overview + complete reference). Regression tests: behavioral config-set tests (tests/config.test.cjs) + doc-parity content guards (tests/config-field-docs.test.cjs). Deferred to other #1216 clusters: security-gate wiring, search_gitignored wiring, mvp_mode, source_grounding_authority labeling, and config-set enum enforcement. Closes #1296 Refs #1216 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * chore(changeset): Fixed fragment for #1296 config-surface alignment Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1418,3 +1418,47 @@ describe('plan_review.source_grounding and plan_review.source_grounding_authorit
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
// ─── config-set workflow.test_command (#1216) ────────────────────────────────
|
||||
|
||||
describe('config-set workflow.test_command (#1216)', () => {
|
||||
let tmpDir;
|
||||
|
||||
beforeEach(() => {
|
||||
tmpDir = createTempProject();
|
||||
runGsdTools('config-ensure-section', tmpDir);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
cleanup(tmpDir);
|
||||
});
|
||||
|
||||
test('config-set accepts workflow.test_command', () => {
|
||||
const result = runGsdTools(['config-set', 'workflow.test_command', 'npm test'], tmpDir);
|
||||
assert.ok(result.success, `config-set should accept workflow.test_command: ${result.error}`);
|
||||
const config = readConfig(tmpDir);
|
||||
assert.strictEqual(config.workflow?.test_command, 'npm test', 'value must be persisted');
|
||||
});
|
||||
|
||||
test('config-set workflow.test_command persists a custom make command', () => {
|
||||
const result = runGsdTools(['config-set', 'workflow.test_command', 'make test'], tmpDir);
|
||||
assert.ok(result.success, `config-set should accept workflow.test_command: ${result.error}`);
|
||||
const config = readConfig(tmpDir);
|
||||
assert.strictEqual(config.workflow?.test_command, 'make test', 'make test must be persisted');
|
||||
});
|
||||
|
||||
test('config-get workflow.test_command returns the set value', () => {
|
||||
runGsdTools(['config-set', 'workflow.test_command', 'cargo test'], tmpDir);
|
||||
const result = runGsdTools('config-get workflow.test_command', tmpDir);
|
||||
assert.ok(result.success, `config-get should return workflow.test_command: ${result.error}`);
|
||||
const output = JSON.parse(result.output);
|
||||
assert.strictEqual(output, 'cargo test', 'config-get must return the persisted value');
|
||||
});
|
||||
|
||||
test('config-set accepts workflow.build_command', () => {
|
||||
const result = runGsdTools(['config-set', 'workflow.build_command', 'npm run build'], tmpDir);
|
||||
assert.ok(result.success, `config-set should accept workflow.build_command: ${result.error}`);
|
||||
const config = readConfig(tmpDir);
|
||||
assert.strictEqual(config.workflow?.build_command, 'npm run build', 'value must be persisted');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user