feat(#291): deepen workstream name policy seam (#292)

This commit is contained in:
Tom Boucher
2026-05-26 11:24:12 -04:00
committed by GitHub
parent a361da689b
commit f76a53e055
6 changed files with 143 additions and 23 deletions

View File

@@ -795,6 +795,26 @@ describe('path traversal rejection', () => {
}
});
describe('cmdWorkstreamStatus rejects invalid names consistently', () => {
for (const name of maliciousNames) {
test(`rejects status ${name}`, () => {
const result = runGsdTools(['workstream', 'status', name, '--raw'], tmpDir);
assert.ok(!result.success, `status should reject invalid name: ${name}`);
assert.ok(result.error.includes('Invalid workstream name'), `error should mention invalid name for: ${name}`);
});
}
});
describe('cmdWorkstreamComplete rejects invalid names consistently', () => {
for (const name of maliciousNames) {
test(`rejects complete ${name}`, () => {
const result = runGsdTools(['workstream', 'complete', name, '--raw'], tmpDir);
assert.ok(!result.success, `complete should reject invalid name: ${name}`);
assert.ok(result.error.includes('Invalid workstream name'), `error should mention invalid name for: ${name}`);
});
}
});
describe('getActiveWorkstream rejects poisoned active-workstream file', () => {
for (const name of maliciousNames) {
test(`rejects poisoned file containing ${name}`, () => {