mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-01 06:23:28 +08:00
fix: require bounded loop-status exit-code watch
This commit is contained in:
@@ -43,6 +43,8 @@ tool calls that have no matching `tool_result`.
|
||||
- `ecc loop-status --exit-code` exits `2` when stale loop or tool signals are
|
||||
found, or `1` when transcripts cannot be scanned.
|
||||
- `ecc loop-status --watch` refreshes status until interrupted.
|
||||
- `ecc loop-status --watch --watch-count 3 --exit-code` refreshes a bounded
|
||||
number of times, then exits with the highest status seen.
|
||||
- `ecc loop-status --watch --watch-count 3` emits a bounded watch stream for
|
||||
scripts and handoffs.
|
||||
|
||||
|
||||
@@ -116,6 +116,10 @@ function parseArgs(argv) {
|
||||
}
|
||||
}
|
||||
|
||||
if (options.exitCode && options.watch && options.watchCount === null) {
|
||||
throw new Error('--exit-code with --watch requires --watch-count so the process can exit');
|
||||
}
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
|
||||
@@ -444,6 +444,13 @@ function runTests() {
|
||||
assert.strictEqual(payload.errors.length, 1);
|
||||
})) passed++; else failed++;
|
||||
|
||||
if (test('exit-code mode rejects unbounded watch mode', () => {
|
||||
const result = run(['--watch', '--exit-code']);
|
||||
|
||||
assert.strictEqual(result.code, 1);
|
||||
assert.match(result.stderr, /--exit-code with --watch requires --watch-count/);
|
||||
})) passed++; else failed++;
|
||||
|
||||
if (test('getStatusExitCode prioritizes attention signals over scan errors', () => {
|
||||
const payload = {
|
||||
errors: [{ message: 'unreadable' }],
|
||||
|
||||
Reference in New Issue
Block a user