From f380e01a4581150cc6bf85b14dfde75672c4c060 Mon Sep 17 00:00:00 2001 From: Saurabh Jain Date: Fri, 10 Jul 2026 01:53:37 +0200 Subject: [PATCH] chore(contract): bump OpenAPI spec pin to community v9.6.1 Refresh tests/fixtures/wire_shape_baseline.json from the community spec revision 0bd92562 (v7.4.x era) to ac1b7cd8 (v9.6.1) via scripts/refresh_wire_shape_baseline.py. - 20 drift entries dropped: the v9.6.1 spec now declares them, headlined by the MCPCheckInputResponse redacted/redacted_statement/ redaction_evaluated trio (#2563/#2571). - MCPCheckOutputResponse redaction_evaluated kept: platform now emits it (#2865/#2866) but the spec declaration rides the v9.7.0 community sync; flip on the next pin bump. - AuditLogEntry reclassified spec-bug-pending -> acknowledged-sdk- superset: metadata/model/policy_violations now spec-declared; only the cross-border data_residency/transfer_basis fields remain. - New acknowledged entry DecideResponse.error: emitted by the agent's decide error envelope, not yet declared by agent-api.yaml. - New pinned cross-spec duplicate: ConformityAssessment (agent vs orchestrator declarations diverge in v9.6.1). No SDK model changes. Refs getaxonflow/axonflow-enterprise#2861. Signed-off-by: Saurabh Jain --- tests/fixtures/wire_shape_baseline.json | 235 +++++++----------------- 1 file changed, 63 insertions(+), 172 deletions(-) diff --git a/tests/fixtures/wire_shape_baseline.json b/tests/fixtures/wire_shape_baseline.json index 7d592a2..db81d23 100644 --- a/tests/fixtures/wire_shape_baseline.json +++ b/tests/fixtures/wire_shape_baseline.json @@ -46,6 +46,56 @@ "window_start" ] }, + "ConformityAssessment": { + "agent-api.yaml": [ + "approved_at", + "approved_by", + "checks", + "completed_at", + "created_at", + "description", + "findings", + "id", + "name", + "org_id", + "overall_score", + "recommendations", + "rejected_by", + "rejection_reason", + "risk_category", + "started_at", + "status", + "type", + "updated_at" + ], + "orchestrator-api.yaml": [ + "approved_at", + "approved_by", + "assessment_date", + "assessors", + "created_at", + "created_by", + "evidence", + "findings", + "id", + "org_id", + "recommendations", + "rejected_at", + "rejected_by", + "rejection_reason", + "requirements", + "risk_category", + "risk_mitigation", + "status", + "submitted_at", + "submitted_by", + "system_id", + "system_name", + "updated_at", + "valid_until", + "version" + ] + }, "CreatePolicyRequest": { "orchestrator-api.yaml": [ "action", @@ -94,6 +144,7 @@ "HealthResponse": { "agent-api.yaml": [ "capabilities", + "plugin_compatibility", "sdk_compatibility", "service", "status", @@ -177,94 +228,31 @@ ] } }, - "openapi_specs_sha": "0bd9256237ebbffb9c0101126da71f2c940a1695", + "openapi_specs_sha": "ac1b7cd879cd4143b1205fa697b9686e2f8f6024", "per_model_drift": { "AuditLogEntry": { - "note": "spec-bug-pending: #1745 \u2014 agent-api.yaml AuditLogEntry omits metadata/model/policy_violations the agent emits on every audit-log read.", + "note": "acknowledged-sdk-superset: tracked in #1745. The v9.6.1 spec now declares metadata/model/policy_violations (former spec-bug portion resolved); the remaining `data_residency`/`transfer_basis` are the Indonesia UU PDP cross-border audit fields the platform records on audit rows (v8.3.0+, #2508) that agent-api.yaml AuditLogEntry doesn't yet declare.", "sdk_only": [ "data_residency", - "metadata", - "model", - "policy_violations", "transfer_basis" ], "spec_only": [] }, - "AuditSearchRequest": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK accepts decision_id/offset/override_id/policy_name as query params; agent-api.yaml AuditSearchRequest doesn't yet declare them.", - "sdk_only": [ - "decision_id", - "offset", - "override_id", - "policy_name" - ], - "spec_only": [] - }, - "Budget": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `enabled`; platform emits it but spec doesn't yet declare it.", + "DecideResponse": { + "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `error`; the agent's decide error envelope (sendDecideError) emits it alongside verdict=deny on malformed requests so PEP code parses a single envelope, but agent-api.yaml DecideResponse doesn't yet declare it.", "sdk_only": [ - "enabled" - ], - "spec_only": [] - }, - "CancelPlanResponse": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `message`; platform emits it but spec doesn't yet declare it.", - "sdk_only": [ - "message" - ], - "spec_only": [] - }, - "ClientRequest": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `media` on the request; the platform's multimodal governance code path consumes it but the request schema in the spec doesn't yet declare it.", - "sdk_only": [ - "media" - ], - "spec_only": [] - }, - "ClientResponse": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `budget_info` (Issue #1082) and `media_analysis` on the response; the platform emits both but the spec doesn't yet declare them.", - "sdk_only": [ - "budget_info", - "media_analysis" - ], - "spec_only": [] - }, - "CreateStaticPolicyRequest": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK accepts `organization_id` for org-tier policies (Enterprise); spec doesn't yet declare it on the request schema.", - "sdk_only": [ - "organization_id" - ], - "spec_only": [] - }, - "CreateWorkflowResponse": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `created_at`/`source`; platform emits both but spec doesn't yet declare them.", - "sdk_only": [ - "created_at", - "source" + "error" ], "spec_only": [] }, "DecisionExplanation": { - "note": "acknowledged-sdk-superset: context + context_truncated are surfaced by the SDK ahead of the OpenAPI spec (platform #2509 / epic #2508); the spec will declare them in the v8.5.0 sync.", + "note": "acknowledged-sdk-superset: context + context_truncated are surfaced by the SDK ahead of the OpenAPI spec (platform #2509 / epic #2508); still not declared by agent-api.yaml DecisionExplanation as of the v9.6.1 pin \u2014 re-check on the next spec sync.", "sdk_only": [ "context", "context_truncated" ], "spec_only": [] }, - "DynamicPolicy": { - "note": "spec-bug-pending: #1745 \u2014 policy-api.yaml DynamicPolicy omits 7 fields (category, created_at, organization_id, priority, tier, type, updated_at) every policy-CRUD caller needs.", - "sdk_only": [ - "category", - "created_at", - "organization_id", - "priority", - "tier", - "type", - "updated_at" - ], - "spec_only": [] - }, "DynamicPolicyMatch": { "note": "deprecated-pending-removal: `reason` is marked DEPRECATED + 'Removed in v7' on its Field() docstring; the canonical wire field is `message` (already present, matches spec).", "sdk_only": [ @@ -272,23 +260,6 @@ ], "spec_only": [] }, - "ExecutionSnapshot": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `approval_required`/`approved_at`/`approved_by`; platform emits these in HITL flows but spec doesn't yet declare them.", - "sdk_only": [ - "approval_required", - "approved_at", - "approved_by" - ], - "spec_only": [] - }, - "ExecutionSummary": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `input_summary`/`output_summary`; platform emits both but spec doesn't yet declare them.", - "sdk_only": [ - "input_summary", - "output_summary" - ], - "spec_only": [] - }, "ExfiltrationCheckInfo": { "note": "deprecated-pending-removal: `within_limits` is marked DEPRECATED + 'Removed in v7' on its Field() docstring; the canonical wire fields are `exceeded` + `limit_type` (already present, match spec).", "sdk_only": [ @@ -303,46 +274,13 @@ ], "spec_only": [] }, - "MCPCheckInputResponse": { - "note": "acknowledged-sdk-superset: tracked in #2563/#2571 \u2014 SDK declares `redacted`/`redacted_statement`/`redaction_evaluated`; the agent emits them on every evaluated check-input allow path (engine-fulfillable redact_pii obligations, ADR-056). Verified live against an enterprise agent.", - "sdk_only": [ - "redacted", - "redacted_statement", - "redaction_evaluated" - ], - "spec_only": [] - }, "MCPCheckOutputResponse": { - "note": "acknowledged-sdk-superset: tracked in #2563/#2571 \u2014 SDK declares `redaction_evaluated` for response-phase obligation fail-closed parity with check-input (ADR-056); platform predates the field on check-output, so it defaults False.", + "note": "acknowledged-sdk-superset: tracked in #2563/#2571 \u2014 SDK declares `redaction_evaluated` for response-phase obligation fail-closed parity with check-input (ADR-056); the platform now emits it on check-output (#2865/#2866, 2026-07-09) but the spec declaration lands with the v9.7.0 community sync \u2014 flip this entry on the next pin bump.", "sdk_only": [ "redaction_evaluated" ], "spec_only": [] }, - "MarkStepCompletedRequest": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK accepts `metadata` on step-completed; platform reads it but spec doesn't yet declare it.", - "sdk_only": [ - "metadata" - ], - "spec_only": [] - }, - "PlanResponse": { - "note": "spec-bug-pending: #1745 \u2014 orchestrator-api.yaml PlanResponse omits complexity/domain/parallel/status returned from every generate_plan call.", - "sdk_only": [ - "complexity", - "domain", - "parallel", - "status" - ], - "spec_only": [] - }, - "PolicyEvaluationInfo": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `code_artifact` on the policy_info block; the platform's code-governance path emits it but the spec doesn't yet declare it.", - "sdk_only": [ - "code_artifact" - ], - "spec_only": [] - }, "PolicyOverride": { "note": "deprecated-pending-removal: `active` is marked DEPRECATED + 'Removed in v7' on its Field() docstring; the canonical wire field is `enabled_override` (already present, matches spec).", "sdk_only": [ @@ -358,58 +296,6 @@ "previous_values" ], "spec_only": [] - }, - "ResumePlanResponse": { - "note": "spec-bug-pending: #1745 \u2014 orchestrator-api.yaml ResumePlanResponse omits 7 fields returned on every WCP step approval/resume.", - "sdk_only": [ - "approved", - "message", - "next_step", - "next_step_name", - "step_result", - "total_steps", - "workflow_id" - ], - "spec_only": [] - }, - "UpdateStaticPolicyRequest": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK accepts `category` on update; platform applies it but spec doesn't yet declare it.", - "sdk_only": [ - "category" - ], - "spec_only": [] - }, - "UsageBreakdown": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `period`/`period_end`/`period_start`; platform emits these on usage rollups but spec doesn't yet declare them.", - "sdk_only": [ - "period", - "period_end", - "period_start" - ], - "spec_only": [] - }, - "UsageRecord": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `timestamp`; platform emits it but spec doesn't yet declare it.", - "sdk_only": [ - "timestamp" - ], - "spec_only": [] - }, - "UsageSummary": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `period`; platform emits it but spec doesn't yet declare it.", - "sdk_only": [ - "period" - ], - "spec_only": [] - }, - "WorkflowStepInfo": { - "note": "acknowledged-sdk-superset: tracked in #1745. SDK declares `approved_by`/`completed_at`/`decision_reason` for per-step audit context; platform emits these but spec doesn't yet declare them.", - "sdk_only": [ - "approved_by", - "completed_at", - "decision_reason" - ], - "spec_only": [] } }, "registered_models": [ @@ -430,7 +316,11 @@ "CreateStaticPolicyRequest", "CreateWorkflowRequest", "CreateWorkflowResponse", + "DecideRequest", + "DecideResponse", + "DecisionCallerIdentity", "DecisionExplanation", + "DecisionTarget", "DynamicPolicy", "DynamicPolicyInfo", "DynamicPolicyMatch", @@ -450,6 +340,7 @@ "MediaGovernanceConfig", "MediaGovernanceStatus", "ModelPricing", + "ObligationFulfillment", "PaginationMeta", "PendingApproval", "PendingApprovalsResponse",