pi-crew 0.11.14 → 0.11.16

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
@@ -1,5 +1,47 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.11.16] — fix(bug #4): steer racing executor start no longer wiped by on-spawn truncate (2026-10-11)
4
+
5
+ Third live-caught fix from the 2026-10-10 full battery (run team_20261010172900).
6
+
7
+ ### Fixed
8
+
9
+ - **`steer_subagent` claimed "Steer delivered" while the steering file stayed
10
+ 0 bytes** — root cause: the F7 on-spawn truncate's race guard compared the
11
+ file mtime against `taskDispatchStartedAtMs` (captured when the executor's
12
+ attempt loop STARTS), but `steer_subagent` accepts a steer as soon as the
13
+ manifest + subagent record exist — which can be EARLIER (queue/semaphore
14
+ gap; live timeline: manifest 17:29:00.100, steer appended 17:29:05.088,
15
+ executor baseline captured later, truncate wiped it at 17:29:05.753). The
16
+ baseline is now the run's creation time (`steerRaceBaselineMs(manifest, …)`)
17
+ — the earliest instant a steer could have been accepted. Fresh per-run
18
+ artifacts roots cannot hold pre-run residue, so the baseline only moves
19
+ earlier: the original F7 post-dispatch race case is unchanged, pre-run
20
+ residue is still wiped. Regression: `child-executor-steer-race.test.ts`
21
+ (live timeline replay + boundary + legacy-manifest fallback + structural
22
+ wiring pin).
23
+
24
+ ## [0.11.15] — U8 sqlite async parity: coalesced mirror + runner env allowlist (2026-10-10)
25
+
26
+ Second live-caught pair from the real-test battery (P2/P2b/P2c probes).
27
+
28
+ ### Fixed
29
+
30
+ - **`saveRunTasksCoalesced` skipped the sqlite backend** — the hot path from
31
+ `persistSingleTaskUpdate` wrote only the tasks.json mirror; the authoritative
32
+ `state.sqlite` kept its createRun snapshot (P2 probe: manifest completed,
33
+ sqlite tasks all `queued`).
34
+ - **Detached runner env stripped `PI_CREW_STATE_BACKEND`** — even with the
35
+ mirror fix, async runs route task-state writes through the background
36
+ runner whose allowlist dropped the key: host created sqlite, runner updated
37
+ JSON (P2b re-probe still stuck). `PI_CREW_STATE_BACKEND`,
38
+ `PI_CREW_CHILD_PI_MODE`, `PI_CREW_CHILD_PI_POOL` are now allowlisted.
39
+ P2c end-to-end: sqlite tasks reach terminal status, tasks.json mirror and
40
+ events.jsonl audit spine intact, rpc transport + deterministic verify_gate
41
+ engaged.
42
+
43
+ # Changelog
44
+
3
45
  ## [0.11.13] — Reliability: runner survives run.lock contention + 2 fixes from live wave runs (2026-10-10)
4
46
 
5
47
  Three reliability fixes discovered while shipping Waves 1-3 of the upgrade-spec