pi-claude-supervisor 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented here.
4
4
 
5
+ ## [0.2.2](https://github.com/btnalit/pi-claude-supervisor/compare/v0.2.1...v0.2.2) (2026-09-12)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * baseline no-output watchdog at worker start ([6596d85](https://github.com/btnalit/pi-claude-supervisor/commit/6596d857522e61be7a4aa837dcd74f520300da0a))
11
+
5
12
  ## [0.2.1](https://github.com/btnalit/pi-claude-supervisor/compare/v0.2.0...v0.2.1) (2026-09-12)
6
13
 
7
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-claude-supervisor",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "A policy-gated Pi supervisor for observing and verifying Claude Code workers.",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
package/src/supervisor.ts CHANGED
@@ -560,9 +560,14 @@ export class Supervisor {
560
560
  const status = await this.#adapter.getStatus(this.#handle);
561
561
  if (!status.running) return;
562
562
  const now = Date.now();
563
- const startedAt = Date.parse(this.#task.startedAt);
564
- const lastOutputAt = status.lastOutputAt ? Date.parse(status.lastOutputAt) : startedAt;
565
- const reason = this.#deadlineMs > 0 && now - startedAt >= this.#deadlineMs
563
+ const taskStartedAt = Date.parse(this.#task.startedAt);
564
+ // The deadline is cumulative across recovery, but the no-output timer
565
+ // starts when this worker process starts. Otherwise a slow Decision Worker
566
+ // startup or a recovered task can be stopped on its first watchdog tick
567
+ // before this worker has had a chance to produce output.
568
+ const workerStartedAt = Date.parse(this.#handle.startedAt);
569
+ const lastOutputAt = status.lastOutputAt ? Date.parse(status.lastOutputAt) : workerStartedAt;
570
+ const reason = this.#deadlineMs > 0 && now - taskStartedAt >= this.#deadlineMs
566
571
  ? "worker deadline exceeded"
567
572
  : this.#noOutputTimeoutMs > 0 && now - lastOutputAt >= this.#noOutputTimeoutMs
568
573
  ? "worker produced no output before timeout"