59bd6135e22635be52c914b9fb22e0f412b2349e
Static analysis of Pi runtime (rpc-mode.js, agent-session.js, runner.js)
confirms all 4 decisive questions:
- Q1 kickoff: NO — source:"rpc" bypasses the "interactive" guard (agent-session.js:720)
- Q2 widget emission: NO — ctx.sendRaw does not exist, crashes (0 refs in core/extensions/)
- Q3 response routing: NO — rpc-mode.js returns after consuming extension_ui_response;
pi.on("extension_ui_response") never fires (not in runner.js)
- Q4 steering: YES — steer() bypasses emitInput entirely
Decision: both Task 3 (kickoff guard) and Task 4 (emitAndWait → ctx.ui.* / Variant A)
require gate adaptation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
ThothII
35 MiB
Languages
TypeScript
46.1%
Python
18%
Go
15.1%
JavaScript
12.6%
Shell
4.9%
Other
3.3%