Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements the remaining
B3a-3(W4second half) deliverables inpackages/cage-conformance/andpublish-client-sdk.yml, and enforces partner brand anonymity across all five code and test trees (Generic in Code, Specific in Prose):Endpoint Conformance Profiles (
verify --endpoint <url> --profile <profile>):run_endpoint_verification()andPARTIES_BY_PROFILEinrunner.pysupportingprovider-01-v0.2(POST /cage/validate,GET /legal-baseline/{region},GET /evidence-chain/{thread_id}) andactuator-01-v1(GET /v1/keys/receipt-manifest,POST /v1/actuate, plus cryptographic verification of returnedExecutionReceipts against the live manifest viadiagnose_receipt()).--endpoint,--profile,--bearer-env, and--timeoutintocli.py, enforcing--endpoint+--profilepairing and mutually exclusive--directionvs.--endpointselection.provider_01request/response test vectors (ALLOW,REFUSE,ESCALATE, missing-decision, and missing-authority_record_idnegative vectors) invectors/provider_01_v02.json.parties.json,packages/cage-conformance/README.md, anddocs/architecture/CONFORMANCE_VERIFIER_SPEC.md.conformance-v*Release Workflow:.github/workflows/publish-client-sdk.ymlto trigger on bothsdk-v*andconformance-v*tags, selectingpackages/cage-conformancewhenconformance-v*is pushed or selected viaworkflow_dispatch, runningscripts/check_conformance_sync.py+tests/test_cage_conformance.py, and publishing sdist/wheel +SHA256SUMSto GitHub Releases.Partner Anonymization & 5-Directory Gate G8 Enforcement:
scripts/verify_provider_01_wire_and_hostile.pyandtests/integrations/provider_01/test_provider_01_step2_qualification.py(along withvectors/provider_01_v02.json) and updates all path citations indocs/POAM.md.src/gateway/,src/integrations/,packages/cage-conformance/,scripts/, andtests/(Provider01NormativeProvider,PROVIDER_01_REFUSE,Provider07*,PROVIDER_07_*,Provider08*,consequence:token:,CAGE_CONSEQUENCE_CONSUMPTION_TTL_SECONDS,provider-01-v0.2).scripts/check_vendor_brands.py(Gate G8) to scan all five directories (src/gateway/,packages/cage-conformance/src/,src/integrations/,scripts/, andtests/) across file/directory paths, Python AST symbol/identifier names (ClassDef,FunctionDef,AsyncFunctionDef,Name,Attribute,arg), and string/bytes constants (ast.Constant), codifying the Layer 3 external wire-protocol constant boundary inLAYER3_WIRE_PROTOCOL_PROVENANCE(22provenance-verified wire literals, each checked against its cited.md/.jsonpartner spec or vector artifact on disk, with unused entries failing Gate G8) andAGENTS.md.Verification
uv run pytest tests/test_layer_boundary_gates.py tests/integrations/provider_01/test_provider_01.py tests/integrations/provider_01/test_provider_01_step2_qualification.py tests/integrations/provider_02/test_verification.py tests/integrations/provider_07/test_provider_07_adapter.py tests/test_defer_queue.py tests/test_governance_middleware.py tests/test_normative_provider_conformance.py tests/test_pii_sanitizer.py tests/test_actuator_01_adapter.py tests/test_actuator_01_envelope.py tests/test_actuator_01_receipt_verification.py tests/test_actuator_01_signatures.py tests/test_partner_harness.py tests/test_cage_conformance.py -q(450 passed)python scripts/check_vendor_brands.py --verbose(Gate G8 PASSED: No forbidden vendor brands in 895 Python files or 1086 paths (22 provenance-verified wire literals))python scripts/check_conformance_sync.py(3 proof modules byte-identical, no src/ or proof/ imports)python scripts/check_doc_references.py(All documentation references, file paths, and symbols are valid)uv run bandit -r src/ scripts/ -c pyproject.toml -ll -ii(0 issues identified across 118,669 lines)