Skip to content

chore(contract): bump OpenAPI spec pin to community v9.6.1#195

Open
saurabhjain1592 wants to merge 1 commit into
mainfrom
chore/spec-pin-v961
Open

chore(contract): bump OpenAPI spec pin to community v9.6.1#195
saurabhjain1592 wants to merge 1 commit into
mainfrom
chore/spec-pin-v961

Conversation

@saurabhjain1592

Copy link
Copy Markdown
Member

Summary

Dedicated spec-pin bump: refresh tests/fixtures/wire-shape-baseline.json from community spec revision f910aa3d (v7.4.x era) to ac1b7cd8 (v9.6.1, current origin/main of getaxonflow/axonflow docs/api).

Regenerated via scripts/wire_shape/refresh.py against a detached checkout of the community repo at the target SHA. Baseline + pin only — no changes to src/, pom.xml, or CHANGELOG.md.

Refs getaxonflow/axonflow-enterprise#2861.

What dropped (now satisfied by the v9.6.1 spec)

  • MCPCheckInputResponse — entire drift entry gone. The spec now declares the Decision Mode PEP fields redacted, redacted_statement, redaction_evaluated the SDK shipped in v8.5.x.
  • intra_file_duplicates now empty — the orchestrator-api.yaml PolicyMatch double-declaration was fixed upstream.
  • Stale drift entries removed as satisfied: AuditSearchRequest (spec now declares decision_id/offset/override_id/policy_name — the v9.6.1 session/audit-search work), DynamicPolicy, ExecutionSummary, MarkStepCompletedRequest, UsageBreakdown, UsageSummary, WorkflowStepInfo (whole entries), plus sdk_only shrinkage in AuditLogEntry (metadata/model/policy_violations), Budget, CancelPlanResponse, ClientRequest (media), ClientResponse (budget_info/media_analysis), CreateStaticPolicyRequest, CreateWorkflowResponse, ExecutionSnapshot, PlanResponse, ResumePlanResponse, UpdateStaticPolicyRequest, UsageRecord.

What was added (new in the v9.6.1 spec, recorded mechanically)

  • Decision Mode types now registered (spec declares them, SDK has matching classes): DecideRequest, DecideResponse, DecisionCallerIdentity, DecisionTarget, ObligationFulfillmentregistered_types 79 → 83.
  • New cross-spec divergence fingerprint: ConformityAssessment (agent-api vs orchestrator-api declare different shapes — a spec-side issue, not SDK drift).
  • HealthResponse cross-spec fingerprint updated: agent-api now also declares plugin_compatibility.
  • New drift entry DecideResponse.sdk_only = ["error"] and ResumePlanResponse.spec_only += ["step_result"] — see drift notes below.

What was kept (acknowledged, with note)

  • MCPCheckOutputResponse.sdk_only = ["redaction_evaluated"] — kept with an in-baseline _note: the platform emits redaction_evaluated on check-output since enterprise #2865/#2866 (2026-07-09); the spec declaration rides the v9.7.0 community sync. Flip this entry out on the next pin bump.

Real drift observed (reported, not "fixed" here per pin-bump scope)

  • DecideResponse declares an error wire field (@JsonProperty("error") in src/main/java/com/getaxonflow/sdk/types/DecideResponse.java) that agent-api.yaml v9.6.1 does not declare. The engine returns it on failure paths; spec under-declares. Candidate for the v9.7.0 spec sync alongside check-output redaction_evaluated.
  • Remaining per_type_drift entries (37 types) are the long-standing QF-14 burn-down set, now smaller and re-verified against v9.6.1.

Validation

  • AXONFLOW_OPENAPI_SPECS_DIR=<v9.6.1 docs/api> python3 scripts/wire_shape/validate.py → ✅ 83 class/schema pairs validated, 0 issues.
  • mvn test (JDK 17) → 1312 tests, 0 failures, 0 errors, 0 skipped.

spec-pin-bump label applied per the wire-shape-contract SHA-bump guard.

Refresh tests/fixtures/wire-shape-baseline.json from the community
spec revision f910aa3d (v7.4.x era) to ac1b7cd8 (v9.6.1, current
origin/main of getaxonflow/axonflow).

Regenerated via scripts/wire_shape/refresh.py against a detached
checkout of docs/api at the target SHA. Validator green (83
class/schema pairs), mvn test fully green (1312 tests, 0 failures).

Highlights:
- MCPCheckInputResponse drift entry drops entirely: the v9.6.1 spec
  now declares redacted, redacted_statement and redaction_evaluated
  (Decision Mode PEP contract).
- MCPCheckOutputResponse keeps an acknowledged sdk_only
  redaction_evaluated with a note: the platform emits it since
  enterprise #2865/#2866; the spec declaration rides the v9.7.0
  community sync.
- intra_file_duplicates now empty (orchestrator-api.yaml PolicyMatch
  duplicate fixed upstream).
- Decision Mode types now registered: DecideRequest, DecideResponse,
  DecisionCallerIdentity, DecisionTarget, ObligationFulfillment
  (registered_types 79 -> 83).
- Many stale drift entries drop as satisfied by the newer spec;
  new spec-side additions recorded mechanically.

No SDK source changes. Baseline + pin only.

Refs: getaxonflow/axonflow-enterprise#2861
Signed-off-by: Saurabh Jain <saurabh.jain@getaxonflow.com>
@saurabhjain1592 saurabhjain1592 added the spec-pin-bump Authorizes a wire-shape baseline openapi_specs_sha bump (otherwise CI blocks SHA changes) label Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

spec-pin-bump Authorizes a wire-shape baseline openapi_specs_sha bump (otherwise CI blocks SHA changes)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant