Repository navigation
Add Pi and Pi Durable attached-worker hooks - #47
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pi coding sessions and Pi Durable harnesses could not attach to Foreman's supervisor. This adds
piandpi-durableprocess adapters plus buildable TypeScript bridges, using the existing responsibility routing, evidence, Jev budgeting, and session runtime.Pi routes at cancellable
input, injects the selected context before agent start, supervises tool calls/results, and checks completion atagent_before_settle. Pi Durable uses native generation/tool hooks, reads original submitted entries by durable run input IDs, and keeps routing and the one-continuation allowance through retries and handovers. Completion response replay covers the gap between Foreman's saved decision and Pi's task memo.Both bridges refuse operations on process/protocol failures. Durable generation hooks ordinarily swallow exceptions, so refusal uses the public task abort API with a cancellation-aware waiter. Saved conversation control plus
afterToolsalso halts mixed parallel rounds; before-tool steering becomes a block with feedback because Durable cannot inject context at that boundary. Already-running parallel calls cannot be undone.The integration targets published
@earendil-works/pi-coding-agent/pi-durable1.0.4 and Node 22.19+. Setup instructions are inintegrations/pi/README.md. The npm package is local/private; this PR does not release either package or install these bridges into existing user sessions. Codex remains the default adapter.Validation:
ThruWire Dev currently provides only a post-release FeatureComplete checkpoint. Its existing Foreman 0.4.3 receipt remains intact. There is no implementation/PR progress destination, so project synchronization for this unreleased feature is pending an appropriate record or its actual release; no planned work was marked released.
Closes #46.