Repository navigation
integrations: MUSUBI companion for cA2A (community, pinned to ca2a-runtime 0.4.0) - #354
Conversation
…ntime 0.4.0) Signed-off-by: Horizon <horizon@example.com>
|
🔴 Contributor Check: HIGH
Automated check by AgenTrust Contributor Check. |
dinakarjs
left a comment
There was a problem hiding this comment.
Reviewed the integration boundary at 2191782. Fresh Python 3.12.14 installation resolves ca2a-runtime 0.4.0 and nenrin-verify 0.5.6; all 83 integration tests pass and the installed dependency set is consistent. The suite includes the vendored-byte check, deterministic vector rebuild, positive/negative cases and the private-call signature check.
The by-log-order branch explicitly verifies the chain first, then passes the caller-assembled snapshot to the pinned private revocation check. Its trust limit remains the completeness/order of the operator's log; the documented tests do not prove publication completeness, prevention of all second uses, actual execution or hardware binding. The public API follow-up remains #263. No additional blocker found in this bounded integration read, but I am withholding full approval until the named fixed/floating conformance matrix actually runs: current checks show only contributor check and approval gate, not the new test workflow.
|
@dinakarjs thank you for the review. The conformance matrix has now run on this head: after @imran-siddique approved the fork workflows at about 06:13 UTC, run https://github.com/agentrust-io/integrations/actions/runs/39511331654 passed all six jobs (fixed and floating, Python 3.11, 3.12 and 3.13). The two red checks in the same batch are outside this entry. Check documentation links fails on https://github.com/arian-gogani/nobulex, which now answers 451, from |
|
Follow-up on the newly authorized CI: the six fixed/floating conformance jobs pass at unchanged 2191782. The two repository-wide blockers now have focused fixes proposed separately: #356 makes the model-signing/OpenSSL dependency explicit (the hosted WCM job passes there), and #357 removes the unavailable Nobulex source listing. Full-PR acceptance still needs those fixes accepted into the base and a fresh complete run; I am not treating unrelated red jobs as green. For the machine-readable ca2a-runtime tested_against/compatibility follow-up you offered, I am preserving your ownership. The schema currently has no ca2a-runtime property and compatibility.yaml no minimum; please have maintainers select the supported minimum before implementing that policy value. #263's public API choice also remains with maintainers and your offered implementation. |
dinakarjs
left a comment
There was a problem hiding this comment.
Approving the bounded community integration source at 2191782. The earlier source/contract review remains applicable; fresh Python 3.12.14 run of integrations/horizonshield-ca2a-companion/tests in the existing released-package environment: 83 passed. Current fixed/floating conformance matrices pass.
This does not clear the repository-wide CI failures: the WCM/OpenSSL and unavailable Nobulex source corrections are tracked by #356 and #357, and final CI must be rerun after those land. Maintainer acceptance remains separate. Preserve the author's compatibility metadata follow-up and the owner/contract decision for cA2A #263; this review does not establish complete operator logs, independent execution observation, trusted time or hardware assurance.
Adds
integrations/horizonshield-ca2a-companion/, community tier, following agentrust-io discussion #65.What it is: an offline verifier for a signed, Bitcoin-anchored log of cA2A revocation statements (unchanged), use limits, credential-use items, execution receipts and commit-reveal items. Every chain is judged by
verify_chainand cA2A's own revocation check from released ca2a-runtime.ca2a-runtime==0.4.0because the at-execution verdict calls the privateca2a_runtime.delegation.credential._check_revocation. The public call is requested in verify_chain: judge revocation by snapshot membership while windows are judged at at_time ca2a#263; the entry switches to it and drops the pin when it ships. One test fails first if the private function moves or changes its signature.tested_againsthas noca2a-runtimekey, so the pin is recorded in a comment inintegration.yaml, inpyproject.tomland in the workflow. If you prefer aca2a-runtimekey in the schema andcompatibility.yaml, I can send that as a separate PR..github/workflows/horizonshield-ca2a-companion-conformance.yml:fixed(the pins) andfloating(latest ca2a-runtime), Python 3.11 to 3.13, on changes and weekly.05b4924(SHA-256 in the README, checked by a test); the vectors rebuild byte for byte with ca2a-runtime 0.4.0. License MIT.Run locally:
pip install -e "integrations/horizonshield-ca2a-companion[test]" && pytest integrations/horizonshield-ca2a-companion/tests -qgives83 passed(Python 3.11, 3.12, 3.13 and 3.14).validate_integrations.py, the index and catalog checks, the ruff gate and actionlint pass.