Summary
In the Oh My Pi integration, Plannotator planning mode instructs the agent to submit a completed plan by writing JSON to xd://plannotator_submit_plan. The active planning-mode write guard rejects that device URI as if it were a filesystem path, so the plan cannot be submitted.
The OMP-side report is can1357/oh-my-pi#10699. I am cross-reporting here because this breaks the Plannotator completion contract and may require coordination between the planning prompt/hook and OMP's device routing.
Reproduction
- Start a Plannotator planning session in Oh My Pi.
- Create a valid Markdown plan inside the repository, such as
plans/vas-module-and-partner-portal.md.
- Invoke the documented submission device:
{
"path": "xd://plannotator_submit_plan",
"content": "{\"filePath\":\"plans/vas-module-and-partner-portal.md\"}"
}
Actual result
Plannotator: during planning, writes are limited to markdown files (.md, .mdx) inside the working directory. Blocked: xd://plannotator_submit_plan
xd://report_issue is rejected by the same guard, indicating that internal device writes are being validated as ordinary filesystem writes before URI dispatch.
Expected result
The submission reaches the Plannotator device and opens the plan review UI. Planning mode should continue restricting real filesystem writes to in-worktree Markdown while permitting its required submission device.
Impact
The injected planning contract says a completed planning turn may end only by calling plannotator_submit_plan, but that operation is impossible. The agent is forced into repeated questions or must exit plan mode without review.
Environment
- Oh My Pi installed executable:
omp/18.1.6
- Plannotator:
0.27.11
- Arch Linux x64
- Plan path was a valid
.md file inside the working directory
- The active conversation/tool host may have originated before the OMP executable was replaced; its runtime version is not exposed to the agent
Suggested integration checks
- Confirm whether Plannotator's OMP planning hook expects
xd://plannotator_submit_plan to bypass the Markdown filesystem guard.
- Add an end-to-end OMP integration test that enters plan mode, writes an allowed Markdown plan, and successfully submits it.
- Ensure the plan-mode restriction distinguishes internal device URIs from filesystem destinations.
- Keep arbitrary filesystem writes and unapproved device operations blocked.
If this is wholly OMP-owned, the linked OMP issue can remain canonical and this issue can track the Plannotator-side integration expectation/documentation.
Summary
In the Oh My Pi integration, Plannotator planning mode instructs the agent to submit a completed plan by writing JSON to
xd://plannotator_submit_plan. The active planning-mode write guard rejects that device URI as if it were a filesystem path, so the plan cannot be submitted.The OMP-side report is can1357/oh-my-pi#10699. I am cross-reporting here because this breaks the Plannotator completion contract and may require coordination between the planning prompt/hook and OMP's device routing.
Reproduction
plans/vas-module-and-partner-portal.md.{ "path": "xd://plannotator_submit_plan", "content": "{\"filePath\":\"plans/vas-module-and-partner-portal.md\"}" }Actual result
xd://report_issueis rejected by the same guard, indicating that internal device writes are being validated as ordinary filesystem writes before URI dispatch.Expected result
The submission reaches the Plannotator device and opens the plan review UI. Planning mode should continue restricting real filesystem writes to in-worktree Markdown while permitting its required submission device.
Impact
The injected planning contract says a completed planning turn may end only by calling
plannotator_submit_plan, but that operation is impossible. The agent is forced into repeated questions or must exit plan mode without review.Environment
omp/18.1.60.27.11.mdfile inside the working directorySuggested integration checks
xd://plannotator_submit_planto bypass the Markdown filesystem guard.If this is wholly OMP-owned, the linked OMP issue can remain canonical and this issue can track the Plannotator-side integration expectation/documentation.