Skip to content

feat: connect Pi events to independent source acceptance (no model calls) - #26

Merged
aDragon0707 merged 1 commit into
mainfrom
codex/pi-agent-integration
Oct 15, 2026
Merged

aDragon0707 merged 1 commit into
mainfrom
codex/pi-agent-integration

Conversation

@aDragon0707

@aDragon0707 aDragon0707 commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

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.

Pi JSON events + actual process exit
  + independently recorded delivery digest
  + trusted external contract / copied-source unittest run
    -> SACP host observation / selected claim -> derived verdict

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

  • Before: deterministic engine fixtures did not collect Pi events or independently test delivered source.
    After: python -m examples.pi_evaluation uses the same scripted success trace for correct and incorrect code: host_completed / allowed, then unverified / 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.
  • Same runner for langgraph, protocol, harness: 7 tests, 49 documents, 8 breakers + 3 positive controls; all passed.
  • Pi-specific tests cover truncation, malformed/unknown events, retries, tool identity, independent good/bad source acceptance, stale delivery reuse, missing/zero/skipped/expected-failure tests, timeout, no-model default and scripted process capture limits.
  • Actual installed Pi 1.0.0 / Node 24.18.0: version and RPC get_state passed, 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.
  • Documentation links/fences/public-path check and git diff --cached --check: passed.

Review record: base c06106ba2bf2f6dbc5303ca0cdacdb48613e04bb, head 6c910db; classes adapter, 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 38687709522 has 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 run 38687777151 produced strict-valid COMPLETE/200, bound to head 6c910db29239db3ec2d18fa8e012c12b3b6fe895, merge-test SHA ad0c9f39fb72328bb4d482e1f1ef2d3299551548, tree fingerprint sha256:90349199d0853b725b1c41b3f6c1b39fbbe665789a5e180a083b237d10126115, with no evidence errors. Receipt classes are automation, docs under 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.

@aDragon0707
aDragon0707 merged commit d6b3864 into main Oct 15, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant