molecule-ai-workspace-runtime/molecule_runtime
rabbitblood 6ead3b433e fix(a2a): include exception class + error code in [A2A_ERROR] (#51)
When an exception's str() is empty (bare TimeoutError(), BrokenPipeError(),
some httpx transport errors) `f"{_A2A_ERROR_PREFIX}{e}"` produced
`"[A2A_ERROR] "` with a trailing space and zero diagnostic context,
masking the real cause of peer-delegation failures in activity_logs.

Observed on main monorepo: 22+ occurrences in 75 min across 7 leads
during the MiniMax M2.7 trial rate-limit episode — zero breadcrumbs
to route the debug from.

Fix:
- Exception branch: fall back to `type(e).__name__` when str(e) is empty
- Error branch: include JSON-RPC `error.code` alongside message when present

Tests: test_a2a_error_observability.py covers both the bare-exception
path (must surface class name) and the message-passthrough path (must
preserve existing useful messages).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 11:22:57 -07:00
..
adapters Merge branch 'main' of https://github.com/Molecule-AI/molecule-ai-workspace-runtime into fix/507-mcp-server-path-absolute-imports 2026-04-21 06:37:38 -07:00
builtin_tools test+fix(builtin_tools/validation): add test coverage + fix ".." bypass in regex 2026-04-21 00:55:08 +00:00
plugins_registry fix(plugins_registry/builtins): strip API keys from plugin setup.sh env 2026-04-20 22:52:13 +00:00
policies feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
scripts fix(precommit): skip during rebase/cherry-pick/merge/revert — unblocks DIRTY PR rebase 2026-04-24 04:34:55 -07:00
skill_loader feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
__init__.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
a2a_cli.py fix(a2a_cli): validate WORKSPACE_ID in discover() before X-Workspace-ID header 2026-04-21 01:35:37 +00:00
a2a_client.py fix(a2a): include exception class + error code in [A2A_ERROR] (#51) 2026-04-24 11:22:57 -07:00
a2a_executor.py feat: migrate a2a-sdk 1.x (KI-009) (#39) 2026-04-24 01:54:33 +00:00
a2a_mcp_server.py fix(builtin_tools/audit): fail-secure RBAC — read-only default when config unavailable 2026-04-20 22:47:38 +00:00
a2a_tools.py fix(builtin_tools/validation): complete WORKSPACE_ID validation in a2a_tools.py 2026-04-21 00:55:08 +00:00
agent.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
claude_sdk_executor.py feat: migrate a2a-sdk 1.x (KI-009) (#39) 2026-04-24 01:54:33 +00:00
cli_executor.py feat: migrate a2a-sdk 1.x (KI-009) (#39) 2026-04-24 01:54:33 +00:00
config.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
consolidation.py fix(builtin_tools/validation): cover remaining WORKSPACE_ID URL usages 2026-04-21 00:55:08 +00:00
coordinator.py fix(builtin_tools/validation): cover remaining WORKSPACE_ID URL usages 2026-04-21 00:55:08 +00:00
credential_helper.py feat: ship GitHub credential-helper inline in runtime (fixes #1933 class) 2026-04-24 00:41:32 -07:00
events.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
executor_helpers.py fix(heartbeat): increment/decrement active_tasks + push on clear (#1372, #1408) 2026-04-21 06:37:12 -07:00
heartbeat.py fix(heartbeat): refresh on-disk auth token on 401 + retry once (#1877) 2026-04-23 13:26:36 -07:00
initial_prompt.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
llm_auth.py fix(llm_auth): tighten base-URL hostname match + strip whitespace + no token in logs 2026-04-23 10:46:07 -07:00
main.py fix: enable v0_3 compat in JSON-RPC dispatcher — platform sends old method names 2026-04-24 02:37:07 -07:00
molecule_ai_status.py fix(builtin_tools/validation): cover remaining WORKSPACE_ID URL usages 2026-04-21 00:55:08 +00:00
platform_auth.py fix(heartbeat): refresh on-disk auth token on 401 + retry once (#1877) 2026-04-23 13:26:36 -07:00
plugins.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
precommit_hook.py feat: pre-commit hook to block internal paths in public monorepo (A) 2026-04-24 00:48:47 -07:00
preflight.py fix: gate session resume on file existence (closes #488) 2026-04-16 11:12:03 -07:00
prompt.py fix: switch top-level from adapters import to absolute imports (#1) 2026-04-16 07:53:03 -07:00
transcript_auth.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00
watcher.py feat: initial release of molecule-ai-workspace-runtime 0.1.0 2026-04-16 04:26:06 -07:00