Repository navigation
feat(omp): support oh-my-pi harness through .omp/config.yml - #112
Merged
Merged
Conversation
Wire the existing .pi/extensions into oh-my-pi (omp 18.16.0) through a project-scoped .omp/config.yml, so omp and Pi share one implementation. Extension changes needed for omp. Pi-observable effects are noted: - path-guard: read the edit target from omp's [PATH#TAG] hashline header, accept a string[] systemPrompt (Pi still passes a string), and tolerate missing tool input. - validate and drift: post-write checks read the same hashline headers. Pi write and edit-with-path behavior is unchanged. - drift: await checkFileForDrift before counting. On Pi the startup count never incremented, because it counted unresolved promises. - validate and drift: startup scans also run on session_start, once per session. Pi fires resources_discover and session_start for the same start. - ocgs-question: log omp's built-in ask answers to production/session-logs/agent-decisions.jsonl (pure helper ask-log.ts). Pi has no ask tool, so this path does not run there. Tests: npm run test:extensions (25) and test:omp (3). The path-guard test that reimplemented the matcher is replaced by a contract test that imports the real module. Not changed on Pi: one broken extension module still aborts Pi startup. See docs/omp-compatibility.md. Refs: docs/omp-compatibility.md
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.
Summary
Adds oh-my-pi (
omp18.16.0) support by wiring the existing.pi/extensionsthrough a project-scoped.omp/config.yml. omp and Pi share one implementation. Pi behavior is unchanged apart from the fixes listed under "Pi-observable changes".Related Issues
None. Design and acceptance details are in
docs/omp-compatibility.md.Type of Change
Pi-observable changes
These are the only Pi-facing changes. Everything else about Pi is unchanged.
checkFileForDrift. On Pi it never incremented before this change.session_start, once per session. Pi fires both events for the same start, so a guard keeps it to one scan.systemPromptas an array (omp). Pi's string path is unchanged. Missing tool input no longer throws.[PATH#TAG]edit headers. Piwriteandeditwithpathare unchanged.tool_resulthook logs ompaskanswers toagent-decisions.jsonl. Pi has noasktool, so the hook does not run there.Testing
Run on the final tree (commit
8165bb1):npm test: 177 plugin tests and 54 hook and framework tests passnpm run test:extensions: 25 pass (19 existing, 6 for ask decision logging)npm run test:omp: 3 passnpm run test:framework: passesAcceptance matrix, run headlessly through
omp --mode rpc(rpc-uifor the ask row) andpi --mode rpc. Raw logs are local under.superpowers/(gitignored). The table summarizes them./skill:help/help-a)rpc-ui)src/Counts: omp 11 PASS, 1 OBSERVED. Pi 2 PASS, 1 PARTIAL, 1 FAIL, 7 BLOCKED, 1 OBSERVED.
Not verified / open
questionpicker, and the trust prompt. Row 10 ran inrpc-ui.opencodeandopencode-gokeys return 401 (expired), and the NVIDIA models returned 410 and 404. Pi rows 2–7 and 10 are blocked on this..pi/README.mddoes not hold on Pi 0.85.1; that claim is unchanged here.questionnaming on omp. Thequestiontool is inactive by default on omp, andaskis the native tool. About 110 files under.agents/say "usequestion". One sample showed the model callingask. Renaming those references changes canonical content, so this PR does not touch them. This needs a decision.Taskand/consultare broken on both harnesses and are not wired on omp. The defect is inferred from the types, not reproduced at runtime.Checklist
docs/pi-compatibility.md,.pi/README.md)