fix(workspace): poll activity_logs for a2a_proxy delegation results (closes #354) #501

Merged
core-lead merged 2 commits from fix/354-delegation-auto-resume-rebase into main 2026-05-11 15:53:06 +00:00

2 Commits

Author SHA1 Message Date
641953055c Merge branch 'main' into fix/354-delegation-auto-resume-rebase
Some checks failed
CI / Python Lint & Test (pull_request) Failing after 6m36s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
CI / Detect changes (pull_request) Successful in 10s
E2E API Smoke Test / detect-changes (pull_request) Successful in 11s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 11s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 12s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 11s
CI / Platform (Go) (pull_request) Successful in 2s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
CI / Canvas (Next.js) (pull_request) Successful in 2s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 3s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
Secret scan / Scan diff for credential-shaped strings (pull_request) Bypass infra#241: Pattern B CI state-propagation broken | verified: PR #501 is workspace-only fix for #354 (activity_logs a2a polling) | retire: when actual CI state-propagation resumes OR within 24h
sop-tier-check / tier-check (pull_request) Bypass infra#241: Pattern B CI state-propagation broken | verified: PR #501 is workspace-only fix for #354 (activity_logs a2a polling) | retire: when actual CI state-propagation resumes OR within 24h
audit-force-merge / audit (pull_request) Successful in 7s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 1m47s
2026-05-11 15:52:22 +00:00
3b1581c6f2 fix(workspace): poll activity_logs for a2a_proxy delegation results (closes #354)
Some checks failed
CI / Python Lint & Test (pull_request) Failing after 6m55s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 12s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 12s
Harness Replays / detect-changes (pull_request) Successful in 13s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 11s
sop-tier-check / tier-check (pull_request) Successful in 13s
Harness Replays / Harness Replays (pull_request) Successful in 5s
CI / Detect changes (pull_request) Successful in 27s
E2E API Smoke Test / detect-changes (pull_request) Successful in 27s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 27s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 26s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 20s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 3s
CI / Platform (Go) (pull_request) Successful in 3s
CI / Canvas (Next.js) (pull_request) Successful in 4s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 5s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 4s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 1m59s
tool_delegate_task fires via POST /workspaces/:id/a2a (proxy path) which
logs to activity_logs but NOT the delegations table. Heartbeat only polled
the delegations table, so results from this path were invisible — the agent
never woke up to consume them.

Add _check_activity_delegations() which polls GET /workspaces/:id/activity?type=a2a_receive,
filters for peer-sourced rows (source_id != "" and != self.workspace_id),
tracks seen IDs in a cursor file, appends results to DELEGATION_RESULTS_FILE,
and sends a self-message to wake the agent. Mirrors the existing
_check_delegations pattern but targets the proxy delivery path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 15:50:38 +00:00