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
Resolve Hai Huang's review findings on the CPEX plugin PR:
Must-fix (blocker):
- applyA2AResponseBodyMod: fail closed when >1 text-kind artifact parts
exist, mirroring the inference response guard (cmf_inference.go:204).
Previously only the first part was rewritten; parts[1..] forwarded
the original unredacted content.
Security/correctness:
- Decision zero-value flipped from Allow to a fail-closed Unknown
sentinel (DecisionUnknown = iota). An uninitialised Result never
silently allows traffic.
- FakeManager default changed from Allow to Deny for test fidelity.
- Streaming (SSE) response gap detection: when the response body is
non-empty but yields zero CMF parts (unparseable SSE), return
DecisionError so fail_open governs rather than silently allowing.
- Dockerfile: cosign verify-blob of the FFI .a asset at build time
(sha256 + signature verification). Runtime ABI assertion already
exists in the Go bindings.
Nits:
- Stale "not yet implemented" comment removed (manager_cpex.go:269).
- IBM/... → contextforge-org/... import path comment fixed.
- realm-export.json: _WARNING field flagging demo-only credentials.
- 30-agent.yaml: model pinned from :latest to ollama/llama3.2:8b.
- README + cpex-plugin.md: clarify authbridge-cpex is a build variant
(not a second sidecar); document OPA dual presence.
Verified: go test ./plugins/cpex/ passes (33 tests); go vet clean;
full hr-cpex demo 9/9 scenarios pass on kind cluster.
Signed-off-by: Frederico Araujo <frederico.araujo@ibm.com>
0 commit comments