fix(workspace): default PLATFORM_URL to host.docker.internal in all modules #475

Merged
core-lead merged 3 commits from runtime/335-rebase-platfrom-url into main 2026-05-11 15:17:54 +00:00

3 Commits

Author SHA1 Message Date
61f2e1bdfa Merge branch 'main' into runtime/335-rebase-platfrom-url
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 5s
sop-tier-check / tier-check (pull_request) Successful in 7s
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 11s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 11s
CI / Platform (Go) (pull_request) Successful in 3s
CI / Canvas (Next.js) (pull_request) Successful in 3s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 2s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 3s
audit-force-merge / audit (pull_request) Successful in 5s
CI / Python Lint & Test (pull_request) Failing after 1m17s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 1m48s
2026-05-11 15:16:29 +00:00
d92a4a88bf fix(workspace): resolve PR #475 test failures
Some checks failed
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 14s
Harness Replays / detect-changes (pull_request) Failing after 17s
Harness Replays / Harness Replays (pull_request) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 17s
CI / Detect changes (pull_request) Successful in 40s
sop-tier-check / tier-check (pull_request) Successful in 19s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 41s
E2E API Smoke Test / detect-changes (pull_request) Successful in 41s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 42s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 35s
CI / Platform (Go) (pull_request) Successful in 7s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 7s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 10s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 9s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m18s
CI / Python Lint & Test (pull_request) Failing after 7m13s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 8m45s
CI / Canvas (Next.js) (pull_request) Failing after 8m58s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
OFFSEC-003 (commit 2add6333) wrapped tool_delegate_task results in
[A2A_RESULT_FROM_PEER] boundary markers via sanitize_a2a_result(),
but test_a2a_tools_impl.py was not updated. Fix:

1. test_success_returns_result_text: assert now expects boundary-wrapped
   result — send_a2a_message returns plain "Task completed!" which
   sanitize_a2a_result wraps before returning.

2. test_peer_name_cached_from_peer_names_dict: same — "done" is now
   wrapped.

3. test_peer_name_falls_back_to_id_prefix: same — "ok" is now wrapped.

4. Remove TestDelegateTaskDirect class (3 dead tests for
   a2a_tools.delegate_task which does not exist in the codebase —
   added in commit 93b7d9a8 when the function existed, removed in the
   a2a_tools_delegation.py extraction refactor).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-11 14:42:21 +00:00
023a6a781c fix(workspace): default PLATFORM_URL to host.docker.internal in all modules
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 10s
CI / Detect changes (pull_request) Successful in 24s
E2E API Smoke Test / detect-changes (pull_request) Successful in 26s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 12s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 25s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 27s
sop-tier-check / tier-check (pull_request) Successful in 15s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 26s
CI / Platform (Go) (pull_request) Successful in 9s
CI / Canvas (Next.js) (pull_request) Successful in 8s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 6s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 15s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 8s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 14s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m48s
CI / Python Lint & Test (pull_request) Failing after 7m4s
The legacy if/else in a2a_cli.py and a2a_client.py distinguished
Docker vs non-Docker to choose localhost vs host.docker.internal as
the PLATFORM_URL default. Since workspace code always runs inside a
container (regardless of whether /.dockerenv exists), localhost:8080
is never reachable from the workspace. Collapse the if/else to a
single default of http://host.docker.internal:8080 in both modules.

builtin_tools/temporal_workflow.py had the same issue at two call
sites. Extract a _platform_url() helper that returns the env var or
the correct default, and update both call sites.

Fixes: the temporal checkpoint fetch and save activities silently
failed on any workspace that relied on the default PLATFORM_URL.
2026-05-11 12:43:26 +00:00