Repository navigation
feat: connect Pi events to independent source acceptance (no model calls) - #26
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.
Summary
Pi integration can now bind a selected test-success claim to a complete event lifecycle and independently tested delivery. A successful tool result or final message cannot supply its own host evidence.
Adds a no-prompt installed-Pi probe, bounded JSON capture API (model execution denied by default), parser, trusted-fixture oracle, demo and 35 Pi tests. Updates bilingual entry docs, architecture/development/status, ADR implementation progress and adapter classification. Required CI needs neither Pi nor model access.
Evidence
After:
python -m examples.pi_evaluationuses the same scripted success trace for correct and incorrect code:host_completed/ allowed, thenunverified/ blocked. This is a synthetic replay, not a real-agent run.python scripts/run_tests.py --suite core --fail-on-skip --json .local/pi-integration/core.json: 136 passed, zero failures/errors/skips.langgraph,protocol,harness: 7 tests, 49 documents, 8 breakers + 3 positive controls; all passed.get_statepassed, exit 0, prompts/model calls requested 0, no inherited credentials. CLI entry digest alone is not full package pinning. No real task JSON trace has been captured.git diff --cached --check: passed.Review record: base
c06106ba2bf2f6dbc5303ca0cdacdb48613e04bb, head6c910db; classesadapter,automation,docs. Primary-agent review checked evidence promotion, execution opt-in, independent oracle inventory, cross-platform process handling and claim boundaries. The policy script change only classifies new Pi paths, adds no permission or execution exception, and is automation-critical. Trusted default-branch policy does not yet know these new adapter paths; this review explicitly includes them. No SACP/0.1 protocol changes or protocol companion waiver.Pre-merge evidence checked: PR CI run
38687709522has all eight required jobs successful. Downloaded all six suite artifacts: core 136 on Ubuntu 3.11/3.12 and Windows 3.12; LangGraph 7, protocol 49, harness 8+3, zero failures/errors/skips. Trusted receipt run38687777151produced strict-valid COMPLETE/200, bound to head6c910db29239db3ec2d18fa8e012c12b3b6fe895, merge-test SHAad0c9f39fb72328bb4d482e1f1ef2d3299551548, tree fingerprintsha256:90349199d0853b725b1c41b3f6c1b39fbbe665789a5e180a083b237d10126115, with no evidence errors. Receipt classes areautomation, docsunder old main policy; adapter scope was explicitly reviewed here. Decision: proceed with manually initiated squash merge and final main verification.Merge Danger
Door: two-way
Additive experimental package; no dependency/workflow changes. Reports are not official wire receipts or release approvals. Local acceptance is explicitly for trusted fixtures: Python process separation is not a hostile-code sandbox. Caller-provided evidence is not authenticated. Capture launchers declare isolation; they do not attest it. Real execution still needs enforced isolation, full runtime pin, provider/model, credentials and budget. User requested integration only, with no model calls; none were made.
Blast Radius: evaluation
Manually squash only after inspecting CI jobs and SHA-bound trusted receipt. Revalidate final main SHA after merge; preserve branches and local evidence.
Post-merge result: squash commit
d6b3864d4b3a403ab735b322230251d1c84ec589; main-verify run 38687891756 succeeded on all seven jobs. Downloaded and checked all six evidence artifacts: core 136 on all three configured environments, LangGraph 7, protocol 49, harness 8 breakers + 3 positive controls, zero failures/errors/skips. Strict-valid post-merge COMPLETE/200 receipt binds the final main SHA and matching tree fingerprint, with no evidence errors. Remote integration branch preserved; local worktree clean. No model execution occurred.