Skip to content

feat(types): Plugin Batch 1 / ADR-043 explainability fields on MCP responses (v6.1.0)#141

Merged
saurabhjain1592 merged 3 commits into
mainfrom
feat/cat-b-mcp-explainability-fields
Apr 25, 2026
Merged

feat(types): Plugin Batch 1 / ADR-043 explainability fields on MCP responses (v6.1.0)#141
saurabhjain1592 merged 3 commits into
mainfrom
feat/cat-b-mcp-explainability-fields

Conversation

@saurabhjain1592

Copy link
Copy Markdown
Member

Summary

Minor release — pure Cat B field-additions. Surfaces the 8 Plugin Batch 1 / ADR-042 / ADR-043 fields the agent has emitted since v7.1.0. Pre-existing constructors preserved as source-compat overloads.

Coordinated cycle

Same field set across all 4 SDKs, same release day: TypeScript v6.1.0 / Python v6.8.0 / Go v5.8.0 / Java v6.1.0 (this).

Added

MCPCheckInputResponse gains 5 fields (decisionId, riskLevel, policyMatches: List<ExplainPolicy>, overrideAvailable: Boolean, overrideExistingId). overrideAvailable is boxed so callers can distinguish "unset" from false on older platforms.

MCPCheckOutputResponse gains 3 fields (decisionId, policyMatches, redactedMessage).

ExplainPolicy already shipped — same Jackson record reused on MCP responses.

Source compatibility

Both response types retain their v6.0.0 constructor signatures as overloads that delegate to the new @JsonCreator constructors with null for the new fields. Existing callers compile unchanged. equals() / hashCode() / toString() updated.

Held back

client.explainDecision(decisionId) is feature work — see axonflow-enterprise#1716.

Test plan

  • 1200 tests pass under Java 17
  • validate-version-alignment green at 6.1.0

…sponses (v6.1.0)

Surfaces fields the AxonFlow agent has emitted since v7.1.0 that the
MCP response types didn't declare. Pure Cat B field-additions on
existing methods — all optional, no breaking changes. Pre-existing
constructors preserved as source-compat overloads. Documented in
OpenAPI via platform v7.4.3 (axonflow-enterprise#1714); SDK catches
up here.

Coordinated cycle: TypeScript v6.1.0 / Python v6.8.0 / Go v5.8.0
ship same day with the same field set.

MCPCheckInputResponse gains 5 fields (decisionId, riskLevel,
policyMatches List<ExplainPolicy>, overrideAvailable Boolean,
overrideExistingId). overrideAvailable is boxed so callers can
distinguish "unset" from "false" on older platforms.

MCPCheckOutputResponse gains 3 fields (decisionId, policyMatches,
redactedMessage — text-redaction counterpart to redactedData).

ExplainPolicy already shipped — same Jackson record reused on
MCP responses. Java's @JsonProperty + camelCase getter convention
handles the wire mapping naturally.

Source compatibility preserved on both types: 4-arg constructor
(Input) and 6-arg constructor (Output) kept as overloads that
delegate to the new @JsonCreator constructors with null for the
new fields. equals/hashCode/toString updated to include new fields.

ExplainDecision tool surface (client.explainDecision +
ExplainRule + DecisionExplanation full type surface) is feature
work tracked separately in axonflow-enterprise#1716 — not this
release's scope.

1200 tests pass; validate-version-alignment green.
@saurabhjain1592 saurabhjain1592 added the spec-pin-bump Authorizes a wire-shape baseline openapi_specs_sha bump (otherwise CI blocks SHA changes) label Apr 25, 2026
@saurabhjain1592 saurabhjain1592 merged commit 6886caf into main Apr 25, 2026
12 checks passed
@saurabhjain1592 saurabhjain1592 deleted the feat/cat-b-mcp-explainability-fields branch April 25, 2026 19:54
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