You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Changed
MCP tool failures returned as JSON now share one envelope (#862): {"status": "refused" | "error", "error": <code>, "detail": <text>, ...}. refused means mureo declined before touching the platform; error
means the call could not be evaluated or the operation failed. error is
now always a stable snake_case code, and the text moved to detail.
What an agent can notice:
tracking_preflight_failed: message is now detail, and the payload
gains status: "refused"; findings and how_to_proceed are unchanged.
rollback_plan_get refusals carry status: "refused", error: <code>
(invalid_arguments, state_file_not_found, state_file_unreadable, index_out_of_range, entry_not_reversible) and detail in place of reason, and keep plan: null.
rollback_apply and mureo_batch_begin / mureo_batch_end refusals: error is now a code (invalid_arguments, rollback_refused, batch_refused; rollback_dispatch_failed for a downstream exception)
with the text in detail.
creative_studio_*, analysis_delivery_collapse_* and analysis_anomalies_check errors gain status: "error" and detail;
their error is now invalid_arguments, provider_unavailable (no
usable image provider, or the mureo[creative] extra missing) or provider_failed.
mureo_analytics_run's module failure gains error: "module_failed",
and its detail is the curated exception text.
The journal now records these calls as refused / platform_error
instead of ok, with "<code>: <detail>" as the reason (the auth_error envelope is recorded the same way, in place of its raw
JSON body).
FilesystemStateStore moved to mureo.context.state_store (#863); mureo.core still exports the name. mureo.core no longer imports mureo.context at load time, and the 24 function-local imports in mureo/context/ are top-level again. The remaining function-local
imports inside mureo/context/ belong to a cycle within that package
and are addressed in a later stage.
Fixed
The journal recorded a refused or failed call as ok (#862). A
tracking-preflight refusal, a refused or failed rollback_apply and every
failure returned in the shared envelope were journalled as successes, and a
mutation returning one could be promoted into action_log; both now read
the shared envelope.
rollback_apply crashed on a successful reversal (#862) with a TypeError serializing the dispatched tool's content, and returned a
code-less status: "error" when the dispatched tool answered with an API error: envelope. A success now returns the tool's text(s) as result; the failure is the shared envelope with error: "rollback_dispatch_failed" and the tool's text as detail.