The monitor extension has never executed inside pi. Everything about it is verified statically or against a stub: tsc, biome, jiti probes with a fake ExtensionAPI, and one real loader import confirming the factory registers the monitor tool, the monitor command and both session hooks. CI never runs pi, so CI cannot close this.
Unverified as a result:
- whether
deliverAs: "followUp" with triggerTurn: true actually wakes an idle session, and whether nextTurn lands where expected
- how a
customType: "monitor" message renders with no registered renderer
- auto-discovery through the dploy-folded
~/.pi/agent/extensions symlink after inv stow. Inferred from loader.js accepting entry.isDirectory() || entry.isSymbolicLink(), never observed
ctx.ui.notify firing from the stored context on the quiet path
Smoke test, roughly two minutes in one interactive session:
uv run inv stow
- arm a one-shot:
monitor arm "sleep 2; echo hello" -- it should wake the session and report hello
- arm a streaming monitor and confirm it does not wake the session per line
/monitor -- both should list with their effective wake value
- exit, then confirm no monitor processes survive
Verifying this needs a real interactive TUI session, since the checks are about what appears on screen and when, not about an exit code.
The monitor extension has never executed inside pi. Everything about it is verified statically or against a stub:
tsc,biome,jitiprobes with a fakeExtensionAPI, and one real loader import confirming the factory registers themonitortool, themonitorcommand and both session hooks. CI never runspi, so CI cannot close this.Unverified as a result:
deliverAs: "followUp"withtriggerTurn: trueactually wakes an idle session, and whethernextTurnlands where expectedcustomType: "monitor"message renders with no registered renderer~/.pi/agent/extensionssymlink afterinv stow. Inferred fromloader.jsacceptingentry.isDirectory() || entry.isSymbolicLink(), never observedctx.ui.notifyfiring from the stored context on the quiet pathSmoke test, roughly two minutes in one interactive session:
uv run inv stowmonitor arm "sleep 2; echo hello"-- it should wake the session and reporthello/monitor-- both should list with their effectivewakevalueVerifying this needs a real interactive TUI session, since the checks are about what appears on screen and when, not about an exit code.