molecule-core/.gitea/workflows
Molecule AI Fullstack Engineer bea89ce4e9
Some checks failed
Secret scan / Scan diff for credential-shaped strings (pull_request) Failing after 14s
sop-tier-check / tier-check (pull_request) Failing after 7s
audit-force-merge / audit (pull_request) Failing after 5s
fix(a2a): handle string-form errors in delegate_task
The A2A proxy can return three error shapes:
  {"error": "plain string"}
  {"error": {"message": "...", "code": ...}}
  {"error": {"message": {"nested": "object"}}}   ← value at .message is a string

builtin_tools/a2a_tools.py:72 called data["error"].get("message")
without guarding against error being a string, which raised:
  AttributeError: 'str' object has no attribute 'get'

This broke every delegation attempt through the legacy a2a_tools path
(the LangChain-wrapped version used by adapter templates). The
SSOT parser a2a_response.py already handled string errors; the
legacy inline sniffer in a2a_tools.py did not.

Fix: branch on isinstance(err, dict/str/other) before calling .get().

Also update both publish-workflow files to remove the dead
`staging` branch trigger — trunk-based migration (PR #109,
2026-05-08) removed the staging branch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 11:39:32 +00:00
..
audit-force-merge.yml ci(audit-force-merge): fan §SOP-6 force-merge audit to molecule-core 2026-05-08 20:09:35 -07:00
publish-runtime.yml feat(ci): port publish-runtime.yml to .gitea/workflows/ (issue #206) 2026-05-10 01:26:13 +00:00
publish-workspace-server-image.yml fix(a2a): handle string-form errors in delegate_task 2026-05-10 11:39:32 +00:00
secret-scan.yml ci(secret-scan): port from .github/ to .gitea/ — fix unsatisfiable required check 2026-05-08 20:13:06 -07:00
sop-tier-check.yml ci(sop-tier-check): AND-composition of required team approvals per tier 2026-05-10 02:45:04 +00:00