feat: add Pi and OMP trial stacks - #5
Merged
kentwelcome merged 8 commits intoSep 3, 2026
Merged
Conversation
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
Signed-off-by: Kent Huang <kent@infuseai.io>
There was a problem hiding this comment.
🟢 Approval recommended
The Pi/OMP support is implemented end-to-end (runner, trial adapter, decision extractor, docs) with deterministic contract coverage and no issues found in the changed logic.
Pull request overview
This PR extends Behavior Diff to support Pi (pi) and OMP (omp) as first-class trial stacks (while keeping Claude Code and Codex as the only plugin hosts). It adds stack-specific headless CLI execution + normalization into the existing canonical trace.jsonl format, pins decision extraction to the selected stack/model, and updates docs and deterministic contract tests to lock the new behavior.
Changes:
- Add
pi/ompsupport to the headless runner (behavior-diff.sh) and per-trial adapter (run-trial.sh), including strict--modelrequirements for Pi/OMP. - Extend decision extraction (
decisions.py) with Pi/OMP extractor runners and self-check coverage for pinned extractors and model propagation. - Update live-skill host dispatch docs, public README wording, plugin manifest descriptions, and deterministic contract tests to cover the new stacks.
File summaries
| File | Description |
|---|---|
| tests/live-report-contract.sh | Adds contract assertions for ownership wording, Pi/OMP stack/model mentions, Codex no-dispatch behavior, and README/manifest wording. |
| tests/hooks-test.sh | Adds deterministic shell coverage for new stacks, including normalization expectations and model/CLI validation paths. |
| README.md | Clarifies plugin hosts vs trial stacks and adds a support matrix covering Claude/Codex/Pi/OMP surfaces. |
| plugin/skills/behavior-diff/SKILL.md | Documents ownership split (skill judgment vs script mechanics) and adds explicit Pi/OMP stack + exact-model guidance. |
| plugin/skills/behavior-diff/scripts/run-trial.sh | Implements Pi/OMP CLI branches and shared JSONL normalizer into canonical trace.jsonl. |
| plugin/skills/behavior-diff/scripts/decisions.py | Adds Pi/OMP extractors, enforces model requirement for pinned Pi/OMP, and expands self-check coverage. |
| plugin/skills/behavior-diff/scripts/behavior-diff.sh | Accepts pi/omp, enforces explicit model for them, improves unsupported-stack messaging, and defaults extractor stack/model for Pi/OMP runs. |
| plugin/skills/behavior-diff-live/SKILL.md | Updates live dispatch instructions for Claude Code, OMP (task batch), Pi (no dispatch → headless), and Codex no-dispatch fallback. |
| plugin/.codex-plugin/plugin.json | Updates plugin description to list trial stacks (claude, codex, pi, omp). |
| plugin/.claude-plugin/plugin.json | Updates plugin description to list trial stacks (claude, codex, pi, omp). |
| plans/2026-09-03-drc-4282-pi-omp-trial-stacks.md | Adds a detailed implementation plan and acceptance criteria for DRC-4282. |
| bin/behavior-diff | Updates CLI usage comment to include `pi |
Review details
- Files reviewed: 11/12 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
kentwelcome
deleted the
feature/drc-4282-trials-only-run-on-claude-or-codex-decide-the-binaryskill
branch
September 3, 2026 01:09
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
Closes DRC-4282
Test plan
docker run --rm -v "$PWD:/mnt" -w /mnt mvdan/shfmt:v3.14.0 -d -i 2 -ci .uvx ruff@0.16.5 format --check --diff .bash tests/hooks-test.shpython3 plugin/skills/behavior-diff/scripts/decisions.py --checkbash tests/live-report-contract.shbash tests/release-workflow-test.sh