680434a8e6
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
CI / Python Lint & Test (pull_request) Successful in 4s
CI / Detect changes (pull_request) Successful in 9s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Has been skipped
E2E API Smoke Test / detect-changes (pull_request) Successful in 9s
E2E Chat / detect-changes (pull_request) Successful in 9s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been skipped
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 8s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 11s
Harness Replays / detect-changes (pull_request) Successful in 11s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 9s
Lint no tenant GITEA or GITHUB token write / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 4s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 6s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 34s
gate-check-v3 / gate-check (pull_request) Successful in 6s
qa-review / approved (pull_request) Failing after 4s
security-review / approved (pull_request) Failing after 5s
sop-checklist / na-declarations (pull_request) N/A: (none)
sop-checklist / review-refire (pull_request) Has been skipped
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Successful in 50s
sop-checklist / all-items-acked (pull_request) Successful in 7s
sop-tier-check / tier-check (pull_request) Successful in 6s
CI / Canvas (Next.js) (pull_request) Successful in 3s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 14s
E2E Chat / E2E Chat (pull_request) Successful in 3s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 12s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 59s
Harness Replays / Harness Replays (pull_request) Successful in 5s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m28s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 2m17s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m28s
CI / Platform (Go) (pull_request) Successful in 5m4s
CI / all-required (pull_request) Compensating status: required jobs SUCCESS individually; aggregate hit 40m timeout.
audit-force-merge / audit (pull_request) Successful in 5s
Follow-up to the prior commits in this PR — E2E API Smoke run on commit
a3c15bc9 surfaced 3 remaining E2E scripts that POST /workspaces without
a model field AND without the external-runtime exemption, so they 422
under the new MODEL_REQUIRED gate.
- tests/e2e/test_notify_attachments_e2e.sh:96 — bare {"name":"Notify E2E","tier":1}
(no runtime → defaults to langgraph). Adds "model":"anthropic:claude-opus-4-7"
to match the deleted DefaultModel("") return value.
- tests/e2e/test_priority_runtimes_e2e.sh:192 — runtime:claude-code without
model. Adds "model":"sonnet" to match the deleted DefaultModel("claude-code")
return value.
- tests/e2e/test_priority_runtimes_e2e.sh:384 — runtime:gemini-cli without
model. Adds "model":"gemini-2.0-flash" — gemini-cli routes via the gemini
provider (per derive-provider.sh), so a gemini:* slug picks the right
provider chain.
Scripts inspected but NOT patched (already external-exempt):
- test_api.sh — both POSTs use runtime:external + external:true
- test_today_pr_coverage_e2e.sh — both POSTs use runtime:external + external:true
- test_priority_runtimes_e2e.sh:255 — runtime:hermes ALREADY had "model":"openai/gpt-4o"
- test_priority_runtimes_e2e.sh:326 — already had "model":"openai/gpt-4o-mini"
Other scripts that POST without model (test_a2a_e2e.sh:133,
test_activity_e2e.sh:218, test_dev_mode.sh:72, test_workspace_abilities_e2e.sh,
test_comprehensive_e2e.sh, test_mcp_stdio_staging.sh, test_chat_upload_e2e.sh,
tests/harness/seed.sh) are NOT triggered by the e2e-api.yml workflow that
this PR's CI runs — they're tracked for a follow-up sweep once #1667 lands.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>