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
Note: Scope proposed during PR #22 review; item selection and sequencing are for the workstream leads to decide, not settled here.
Context
PR #22 (reference adapters) now proves emission conformance: the reference adapters, driven through their real production entry points, emit schema-valid, signed ACS v0.1.0 Core traffic and honor the decisions the suite tests, validated against the canonical schemas by an independent oracle. Three concrete Guardian bugs found by direct probing (version forward-compat, malformed-ClientHello acceptance, non-object/batch JSON-RPC crash) were also fixed.
This is not the same as a full ACS-Core deployment conformance claim, which spans the adapter, the Guardian, the framework wiring, and production configuration together. This issue tracks that larger program so the emission work can ship with an honestly-scoped claim and the rest is visible, not silently implied.
Candidate scope (unordered — for lead prioritization)
Normative-requirement ledger. A machine-readable ledger over every MUST/REQUIRED in docs/spec/conformance.md and the sections it cites (~58 occurrences, some conditional), each row:
CI fails when an applicable MUST has no falsifying test. Resolve the normative inconsistency the review flagged: conformance.md lists all five dispositions and Wrapped MCP as Core, while the suite/README treat some as conditional / "Core minus full Wrapped MCP" (see the Wrapped MCP item, and PR Slim ACS-Core: relax MODIFY, system/ping, and wrapped MCP to SHOULD #21 which relaxes MODIFY/ping/MCP).
Handshake & negotiation semantics. Beyond the three fixed bugs: PROVENANCE_REQUIRED, unknown-field handling, startup proceed/refuse, session-refusal. Adapters currently consume only on_decision_failure; prove they honor timeout_config (incl. per-method), methods_evaluated, selected_transport, negotiated signature algorithms, skew_window_ms, accepted profiles. Reconcile the stdio advertisement in acs_common with HTTP-only transport.
Two-sided live payload validation. Guardian must validate request envelopes for handshake/ping and hook payloads against method-specific schemas on the live path (not just locally). Prove: malformed ClientHello/ping/every hook payload rejected on the wire; valid unknown fields ignored; unsupported batches → -32600; adapters validate the full ServerHello + response-envelope schema, not only signature/binding; contradictory responses follow the failure posture.
Complete decision semantics. Negotiated timeouts applied; invalid MODIFY composition (wholesale+structured, overlapping paths) fails closed; live redaction / modified_content application; DEFER suspends until resolution or resolution_timeout_ms (not immediate deny/ask); cascading-DEFER bounds; ASK approver auth, recursive-ASK rejection, approver-incapable substitution, session-scoped Intent extension; side-effect-negative DENY tests on every platform.
Hook completeness (black-box). Real-framework tests attempting shell/process exec, file read/write/delete, network egress, MCP calls, subagent spawn, memory/knowledge access — assert the Guardian receives the hook BEFORE execution and DENY leaves a canary untouched. Cursor stays manual until a GUI/product-level harness exists.
Wrapped MCP: implement or formally remove from Core. Either implement + test full protocols/MCP/* (intact wrapping, version negotiation, decision application, error mapping, request/result correlation), or change the normative Core definition so generic steps/toolCallRequest/Result collapsing is explicitly conformant. Spec-owner decision — being taken to the ACS leads.
Profiles (do not implement until intending to claim)
ACS-Provenance — strict schemas + deterministic provenance on every data-bearing field
ACS-Crypto — ML-DSA-65 + verification/negotiation
ACS-Audit — every ContextEntry carries request_hash
Deployment attestation
A preflight that verifies a running deployment: signing enabled / no ACS_DEV_MODE; ACS_DISABLED unset; HTTPS for non-loopback; secret-file perms + rotation; durable audit sink + fail-open alerts; approved framework/adapter versions + config hashes; no unexpected skips without recorded evidence.
Context
PR #22 (reference adapters) now proves emission conformance: the reference adapters, driven through their real production entry points, emit schema-valid, signed ACS v0.1.0 Core traffic and honor the decisions the suite tests, validated against the canonical schemas by an independent oracle. Three concrete Guardian bugs found by direct probing (version forward-compat, malformed-ClientHello acceptance, non-object/batch JSON-RPC crash) were also fixed.
This is not the same as a full ACS-Core deployment conformance claim, which spans the adapter, the Guardian, the framework wiring, and production configuration together. This issue tracks that larger program so the emission work can ship with an honestly-scoped claim and the rest is visible, not silently implied.
Candidate scope (unordered — for lead prioritization)
Normative-requirement ledger. A machine-readable ledger over every MUST/REQUIRED in
docs/spec/conformance.mdand the sections it cites (~58 occurrences, some conditional), each row:CI fails when an applicable MUST has no falsifying test. Resolve the normative inconsistency the review flagged:
conformance.mdlists all five dispositions and Wrapped MCP as Core, while the suite/README treat some as conditional / "Core minus full Wrapped MCP" (see the Wrapped MCP item, and PR Slim ACS-Core: relax MODIFY, system/ping, and wrapped MCP to SHOULD #21 which relaxes MODIFY/ping/MCP).Handshake & negotiation semantics. Beyond the three fixed bugs: PROVENANCE_REQUIRED, unknown-field handling, startup proceed/refuse, session-refusal. Adapters currently consume only
on_decision_failure; prove they honortimeout_config(incl. per-method),methods_evaluated,selected_transport, negotiated signature algorithms,skew_window_ms, accepted profiles. Reconcile the stdio advertisement inacs_commonwith HTTP-only transport.Two-sided live payload validation. Guardian must validate request envelopes for handshake/ping and hook payloads against method-specific schemas on the live path (not just locally). Prove: malformed ClientHello/ping/every hook payload rejected on the wire; valid unknown fields ignored; unsupported batches → -32600; adapters validate the full ServerHello + response-envelope schema, not only signature/binding; contradictory responses follow the failure posture.
Complete decision semantics. Negotiated timeouts applied; invalid MODIFY composition (wholesale+structured, overlapping paths) fails closed; live redaction / modified_content application; DEFER suspends until resolution or resolution_timeout_ms (not immediate deny/ask); cascading-DEFER bounds; ASK approver auth, recursive-ASK rejection, approver-incapable substitution, session-scoped Intent extension; side-effect-negative DENY tests on every platform.
Hook completeness (black-box). Real-framework tests attempting shell/process exec, file read/write/delete, network egress, MCP calls, subagent spawn, memory/knowledge access — assert the Guardian receives the hook BEFORE execution and DENY leaves a canary untouched. Cursor stays manual until a GUI/product-level harness exists.
Wrapped MCP: implement or formally remove from Core. Either implement + test full
protocols/MCP/*(intact wrapping, version negotiation, decision application, error mapping, request/result correlation), or change the normative Core definition so genericsteps/toolCallRequest/Resultcollapsing is explicitly conformant. Spec-owner decision — being taken to the ACS leads.Profiles (do not implement until intending to claim)
agbom/snapshot, Guardian acceptance, audit-chain inclusion, CycloneDX/SPDX/SWIDagbom/changedon every mutationDeployment attestation
A preflight that verifies a running deployment: signing enabled / no ACS_DEV_MODE; ACS_DISABLED unset; HTTPS for non-loopback; secret-file perms + rotation; durable audit sink + fail-open alerts; approved framework/adapter versions + config hashes; no unexpected skips without recorded evidence.