chore(contract): bump OpenAPI spec pin to community v9.6.1#245
Open
saurabhjain1592 wants to merge 3 commits into
Open
chore(contract): bump OpenAPI spec pin to community v9.6.1#245saurabhjain1592 wants to merge 3 commits into
saurabhjain1592 wants to merge 3 commits into
Conversation
Refresh tests/fixtures/wire-shape-baseline.json from the community mirror at ac1b7cd879cd4143b1205fa697b9686e2f8f6024 (v9.6.1); previous pin was 8c8d6c9c506aa25fcd8a887f6fc71f71b5d6bc30 (v7.4.3-era). Dropped (spec caught up, entries burn down automatically): - MCPCheckInputResponse redacted/redacted_statement/redaction_evaluated (declared in v9.6.1) - AuditSearchRequest decision_id/offset/override_id/policy_name - AuditLogEntry metadata/model/policy_violations - Budget, CancelPlanResponse, CreateStaticPolicyRequest, CreateWorkflowResponse, DynamicPolicy, ExecutionSnapshot, ExecutionSummary, MarkStepCompletedRequest, PlanResponse, UpdateStaticPolicyRequest, UsageBreakdown, UsageRecord, UsageSummary, WorkflowStepInfo superset entries - intra-file PolicyMatch duplicate in orchestrator-api.yaml (fixed upstream) Kept with notes: - MCPCheckOutputResponse.redaction_evaluated: platform emits it since enterprise #2865/#2866; spec declaration rides the v9.7.0 community sync — flip on next pin bump. - DecideResponse.error: platform sets it on the malformed-request deny path; not yet spec-declared. New (from the v9.6.1 spec surface): - registered_types +6 (DecideRequest/DecideResponse/ DecisionCallerIdentity/DecisionTarget/ObligationFulfillment, 82->88) - ConformityAssessment cross-spec divergence (agent vs orchestrator) - ResumePlanResponse real drift: spec declares next_step/ next_step_name/step_result which the resumePlan transformer does not populate — tracked in-baseline for a dedicated SDK fix PR. Baseline + pin only; no SDK source changes. Refs getaxonflow/axonflow-enterprise#2861 Signed-off-by: Saurabh Jain <saurabh.jain@getaxonflow.com>
* fix(planning): resumePlan surfaces step-mode HITL fields The orchestrator's confirm/step-mode resume path emits step_result, next_step, next_step_name, total_steps and workflow_id (plus message on terminal paths), and the v9.6.1 community OpenAPI spec declares all of them on ResumePlanResponse. The TypeScript resumePlan transformer dropped every one of them, and the ResumePlanResponse type doc wrongly marked the camelCase slots as deprecated/never-populated. - src/client.ts: map workflow_id, step_result, next_step, next_step_name and total_steps onto the result (existing mappings preserved). - src/types/planning.ts: un-deprecate workflowId, message, stepResult, nextStep, nextStepName and totalSteps with accurate wire-path docs (step-mode HITL vs terminal resume). message is a real wire field (terminal-path outcome summary), not a workflowId alias. - tests: new resumePlan unit tests covering the step-gating payload, the terminal completed path, the rejected path, and the error path. - wire-shape baseline regenerated against the same pin (community ac1b7cd8, unchanged): the ResumePlanResponse drift entry and its note drop; acknowledged _note keys on DecideResponse and MCPCheckOutputResponse re-added (refresh.js strips them). - CHANGELOG: Fixed bullet under the un-cut 8.5.1 section; version unchanged. Refs getaxonflow/axonflow-enterprise#2861 Signed-off-by: Saurabh Jain <dev@getaxonflow.com> * test(runtime-e2e): resumePlan confirm-mode loop against a live agent Adds runtime-e2e/resume_plan_step_fields/: generatePlan(executionMode: 'confirm') → executePlan (WCP gates step 0) → resumePlan per gated step → terminal resume, against a real Enterprise agent. Asserts every non-terminal resume carries workflow_id/step_result/next_step/ next_step_name/total_steps and the terminal resume carries workflow_id + message with no step-gating fields. Verified green against the live local Enterprise stack (RESULT: PASS, 12/12 checks). Refs getaxonflow/axonflow-enterprise#2861 Signed-off-by: Saurabh Jain <dev@getaxonflow.com> --------- Signed-off-by: Saurabh Jain <dev@getaxonflow.com> Co-authored-by: Saurabh Jain <dev@getaxonflow.com>
…es it) Signed-off-by: Saurabh Jain <saurabh.jain@getaxonflow.com>
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.
What
Dedicated spec-pin bump for the wire-shape contract baseline.
openapi_specs_shamoves from8c8d6c9c506aa25fcd8a887f6fc71f71b5d6bc30(v7.4.3-era) toac1b7cd879cd4143b1205fa697b9686e2f8f6024(community v9.6.1, current origin/main of getaxonflow/axonflow). Baseline regenerated via the documented procedure:node scripts/wire-shape/refresh.js <specs_dir>against a detached checkout of the community repo at the target SHA.Baseline + pin only — no SDK source changes. Carries the
spec-pin-bumplabel per the wire-shape workflow's SHA-bump guard.Baseline delta
Dropped (v9.6.1 spec caught up — superset acknowledgments burn down)
MCPCheckInputResponseredacted/redacted_statement/redaction_evaluated— declared in v9.6.1.AuditSearchRequestdecision_id/offset/override_id/policy_name— declared (v9.6.1 audit-search work).AuditLogEntrymetadata/model/policy_violations(residual:data_residency,transfer_basis).Budget,CancelPlanResponse,CreateStaticPolicyRequest,CreateWorkflowResponse,DynamicPolicy,ExecutionSnapshot,ExecutionSummary,MarkStepCompletedRequest,PlanResponse,UpdateStaticPolicyRequest,UsageBreakdown,UsageRecord,UsageSummary,WorkflowStepInfo.orchestrator-api.yamlintra-filePolicyMatchduplicate — fixed upstream.Kept, with acknowledgment notes
MCPCheckOutputResponse.redaction_evaluated— platform emits it since enterprise #2865/#2866 (2026-07-09); the spec declaration rides the v9.7.0 community sync. Flip (drop the entry) on the next pin bump.DecideResponse.error— platform sets it on the malformed-request deny path; not yet spec-declared.New at this pin
DecideRequest,DecideResponse,DecisionCallerIdentity,DecisionTarget,ObligationFulfillment(Decision Mode surface).ConformityAssessmentcross-spec divergence (agent-api vs orchestrator-api shapes differ) — spec-side, baselined per gate procedure.HealthResponse(agent-api) gainedplugin_compatibilityin its cross-spec fingerprint.Real drift found (tracked in-baseline, NOT fixed here)
ResumePlanResponse: v9.6.1 declaresnext_step/next_step_name/step_resulton the wire, but the SDK'sresumePlantransformer does not populate them — its camelCasenextStep/nextStepName/stepResultslots are documented-deprecated, never-populated fields. Needs a dedicated SDK fix PR to map the spec-declared fields (out of scope for a pin-only PR).Validation
AXONFLOW_OPENAPI_SPECS_DIR=<v9.6.1 checkout>/docs/api node scripts/wire-shape/validate.js— PASS (88 pairs validated).node scripts/transformer-coverage/check.js --baseline .lint_baselines/transformer_coverage.json— PASS (2 findings, all baselined).npm ci && npm test— 32/32 suites, 967 passed, 13 skipped (env-gated), 0 failed.Refs getaxonflow/axonflow-enterprise#2861