You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
prime-agent kit: scripts/verify (pins + live assertions) #374
Note for whoever writes this verifier: there is now a shared verdict contract for scripts/verify, so prime-agent's should source it from the start rather than be converted later.
integrations/isolation/acq-kits/verify-report.sh (added in #460) replaces the per-kit ok/bad pair and the [ "$fail" -eq 0 ] verdict, which reported success both when zero checks ran and when checks were silently skipped.
Five states, and the distinction that matters for this issue specifically: unver means could not check and degrades the verdict; skip means not applicable in this configuration and does not. This kit's verifier is two-mode (--pins offline vs live), and several of its live assertions depend on things that may be absent — prime-agent not on PATH, no CA bundle, no network for the in-guest USAi fetch. Those are unver, not skip, and definitely not silent.
Concretely relevant to the checks named in the description:
--pins re-derives from live vendor endpoints. No network → unver, not a pass. A pins gate that could not reach the vendor has proven nothing about the pins.
CA-bundle present + in-guest node fetch USAi → 200. Two separate facts; the fetch failing for lack of egress is unver, whereas a 200 that returned the wrong body is bad.
negative-pin leaves the agent absent (fail-closed). This is the one to be careful with — a check that the agent is absent passes trivially when the sandbox never came up. Assert the sandbox exists first, or the absence is unmeasured rather than confirmed.
scripts/tests/test_verify_contract.py enforces the contract statically (CI cannot run these scripts — they need a live sandbox). It has a CONVERTED / UNCONVERTED classification, and test_every_kit_is_classifiedfails on a kit in neither set, so adding prime-agent/scripts/verify without classifying it will turn the suite red. Add it to CONVERTED in the same PR.
#463 tracks converting the six existing scripts still on the old pattern.
AI-assisted (OpenCode), on operator instruction. Advisory.
AI-assisted note (OpenCode), advisory. Adding a measurement rather than a new issue, since this is already the tracking issue for prime-agent's missing scripts/verify.
The gap is also a documentation inaccuracy right now, which is worth fixing in the same pass.
integrations/isolation/acq-kits/README.md:31-33 states unconditionally:
Each kit is self-contained: a spec.yaml (hybrid/v1), any files/ payload, a scripts/verify host-side check, a README.md (with a backend parity note),
a TROUBLESHOOTING.md, and docs/decisions/ records.
So prime-agent is missing all three claimed artifacts, and oci-engine is missing TROUBLESHOOTING.md. The "each kit is self-contained" sentence reads as a description of the current state but is actually an aspiration — which means a contributor copying an existing kit has no way to tell the list is unmet, and a reader auditing coverage would conclude prime-agent has a verify script that just failed to run.
Suggestion: whichever change adds prime-agent/scripts/verify should either also add the oci-engineTROUBLESHOOTING.md, or soften the README sentence to describe the target shape explicitly (e.g. "Kits are expected to be self-contained: ... Not every kit is complete yet — see the registry") so the prose cannot drift from the tree again.
Not a blocker on anything; just a cheap correctness fix adjacent to the work already tracked here.
Activity
wz-gsa commentedon Oct 2, 2026
Note for whoever writes this verifier: there is now a shared verdict contract for
scripts/verify, so prime-agent's should source it from the start rather than be converted later.integrations/isolation/acq-kits/verify-report.sh(added in #460) replaces the per-kitok/badpair and the[ "$fail" -eq 0 ]verdict, which reported success both when zero checks ran and when checks were silently skipped.Five states, and the distinction that matters for this issue specifically:
unvermeans could not check and degrades the verdict;skipmeans not applicable in this configuration and does not. This kit's verifier is two-mode (--pinsoffline vs live), and several of its live assertions depend on things that may be absent —prime-agentnot on PATH, no CA bundle, no network for the in-guest USAi fetch. Those areunver, notskip, and definitely not silent.Concretely relevant to the checks named in the description:
--pinsre-derives from live vendor endpoints. No network →unver, not a pass. A pins gate that could not reach the vendor has proven nothing about the pins.CA-bundle present + in-guest node fetch USAi → 200. Two separate facts; the fetch failing for lack of egress isunver, whereas a 200 that returned the wrong body isbad.negative-pin leaves the agent absent(fail-closed). This is the one to be careful with — a check that the agent is absent passes trivially when the sandbox never came up. Assert the sandbox exists first, or the absence is unmeasured rather than confirmed.scripts/tests/test_verify_contract.pyenforces the contract statically (CI cannot run these scripts — they need a live sandbox). It has aCONVERTED/UNCONVERTEDclassification, andtest_every_kit_is_classifiedfails on a kit in neither set, so addingprime-agent/scripts/verifywithout classifying it will turn the suite red. Add it toCONVERTEDin the same PR.#463 tracks converting the six existing scripts still on the old pattern.
AI-assisted (OpenCode), on operator instruction. Advisory.
wz-gsa commentedon Oct 14, 2026
AI-assisted note (OpenCode), advisory. Adding a measurement rather than a new issue, since this is already the tracking issue for
prime-agent's missingscripts/verify.The gap is also a documentation inaccuracy right now, which is worth fixing in the same pass.
integrations/isolation/acq-kits/README.md:31-33states unconditionally:Measured against
origin/main:So
prime-agentis missing all three claimed artifacts, andoci-engineis missingTROUBLESHOOTING.md. The "each kit is self-contained" sentence reads as a description of the current state but is actually an aspiration — which means a contributor copying an existing kit has no way to tell the list is unmet, and a reader auditing coverage would concludeprime-agenthas a verify script that just failed to run.Suggestion: whichever change adds
prime-agent/scripts/verifyshould either also add theoci-engineTROUBLESHOOTING.md, or soften the README sentence to describe the target shape explicitly (e.g. "Kits are expected to be self-contained: ... Not every kit is complete yet — see the registry") so the prose cannot drift from the tree again.Not a blocker on anything; just a cheap correctness fix adjacent to the work already tracked here.