Commit Graph

6288 Commits

Author SHA1 Message Date
fullstack-engineer
a3f3ac361e fix(e2e-chat): set CORS_ORIGINS for dynamic canvas port in CI
Some checks failed
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 51s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
E2E API Smoke Test / detect-changes (pull_request) Successful in 55s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 31s
publish-runtime-autobump / pr-validate (pull_request) Successful in 51s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 58s
gate-check-v3 / gate-check (pull_request) Successful in 26s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m21s
sop-checklist / all-items-acked (pull_request) Successful in 12s
sop-tier-check / tier-check (pull_request) Successful in 12s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m10s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 1m55s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 2m4s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m46s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m37s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m17s
Harness Replays / Harness Replays (pull_request) Failing after 1m57s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m23s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m23s
CI / Python Lint & Test (pull_request) Successful in 7m22s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m22s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m40s
E2E Chat / E2E Chat (pull_request) Failing after 8m47s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 12m22s
CI / Canvas (Next.js) (pull_request) Successful in 17m23s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 18m7s
CI / all-required (pull_request) Successful in 18m42s
qa-review / approved (pull_request) Refired manually — core-qa APPROVED review found
security-review / approved (pull_request) Refired manually — core-security APPROVED review found
2026-05-15 22:12:57 -07:00
fullstack-engineer
48a1a604ac chore: retrigger CI after operator maintenance and auto-heal race condition
Some checks failed
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 1m1s
Harness Replays / detect-changes (pull_request) Successful in 49s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m27s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m6s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 2m28s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m2s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 31s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m32s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m41s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m9s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m50s
qa-review / approved (pull_request) Failing after 28s
security-review / approved (pull_request) Failing after 28s
gate-check-v3 / gate-check (pull_request) Successful in 52s
sop-tier-check / tier-check (pull_request) Successful in 33s
sop-checklist / all-items-acked (pull_request) Successful in 34s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m28s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m31s
CI / Python Lint & Test (pull_request) Successful in 8m1s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m19s
Harness Replays / Harness Replays (pull_request) Failing after 2m49s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m52s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 2m45s
E2E Chat / E2E Chat (pull_request) Failing after 9m10s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 10m6s
CI / Canvas (Next.js) (pull_request) Successful in 17m45s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Successful in 19m1s
CI / all-required (pull_request) Successful in 19m7s
2026-05-15 21:42:20 -07:00
fullstack-engineer
97cb104667 chore: retrigger CI after fixing runner-queue-janitor per-workflow supersession bug
Some checks failed
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Waiting to run
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Waiting to run
Handlers Postgres Integration / detect-changes (pull_request) Waiting to run
Harness Replays / detect-changes (pull_request) Waiting to run
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Waiting to run
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Waiting to run
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Waiting to run
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Waiting to run
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Waiting to run
publish-runtime-autobump / pr-validate (pull_request) Waiting to run
publish-runtime-autobump / bump-and-tag (pull_request) Waiting to run
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Waiting to run
gate-check-v3 / gate-check (pull_request) Waiting to run
qa-review / approved (pull_request) Waiting to run
security-review / approved (pull_request) Waiting to run
sop-checklist / all-items-acked (pull_request) Waiting to run
sop-tier-check / tier-check (pull_request) Waiting to run
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Has been cancelled
CI / Canvas Deploy Reminder (pull_request) Has been cancelled
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Has been cancelled
E2E API Smoke Test / E2E API Smoke Test (pull_request) Has been cancelled
E2E Chat / E2E Chat (pull_request) Has been cancelled
Harness Replays / Harness Replays (pull_request) Has been cancelled
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Has been cancelled
2026-05-15 20:35:10 -07:00
fullstack-engineer
6c72aee1d9 chore: retrigger CI after system mass cancellation event
Some checks are pending
E2E API Smoke Test / detect-changes (pull_request) Waiting to run
E2E Chat / detect-changes (pull_request) Waiting to run
E2E Chat / E2E Chat (pull_request) Blocked by required conditions
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Waiting to run
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Blocked by required conditions
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Waiting to run
Handlers Postgres Integration / detect-changes (pull_request) Waiting to run
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / detect-changes (pull_request) Waiting to run
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Waiting to run
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Waiting to run
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Waiting to run
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Waiting to run
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Waiting to run
security-review / approved (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Waiting to run
publish-runtime-autobump / pr-validate (pull_request) Waiting to run
publish-runtime-autobump / bump-and-tag (pull_request) Waiting to run
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Waiting to run
gate-check-v3 / gate-check (pull_request) Waiting to run
qa-review / approved (pull_request) Waiting to run
sop-checklist / all-items-acked (pull_request) Waiting to run
sop-tier-check / tier-check (pull_request) Successful in 5s
2026-05-15 20:28:15 -07:00
fullstack-engineer
873b522f10 chore: retrigger CI after mass cancellation
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 49s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Waiting to run
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Waiting to run
CI / Detect changes (pull_request) Successful in 2m21s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 39s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 32s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m50s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 3m7s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 43s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m3s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 2m8s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m17s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 3m46s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m22s
gate-check-v3 / gate-check (pull_request) Successful in 1m5s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m58s
qa-review / approved (pull_request) Failing after 1m1s
security-review / approved (pull_request) Failing after 1m19s
sop-checklist / all-items-acked (pull_request) Successful in 1m29s
sop-tier-check / tier-check (pull_request) Successful in 1m16s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 7m40s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 4m0s
CI / Canvas (Next.js) (pull_request) Successful in 23m23s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E API Smoke Test / E2E API Smoke Test (pull_request) Has been cancelled
E2E Chat / E2E Chat (pull_request) Has been cancelled
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Has been cancelled
All workflows for PR #1242 were simultaneously cancelled around
2026-05-16T00:02Z. Canvas, Python Lint, Shellcheck, and Detect changes
had already succeeded; Platform Go and all-required were in-flight.

Empty commit to re-queue the full check suite.
2026-05-15 18:28:27 -07:00
fullstack-engineer
ab99ea54ad fix(e2e-chat): dynamic canvas port to avoid conflict with Gitea :3000
Some checks failed
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Waiting to run
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Waiting to run
Handlers Postgres Integration / detect-changes (pull_request) Waiting to run
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / detect-changes (pull_request) Waiting to run
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Waiting to run
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Waiting to run
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Waiting to run
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Waiting to run
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Waiting to run
publish-runtime-autobump / pr-validate (pull_request) Waiting to run
publish-runtime-autobump / bump-and-tag (pull_request) Waiting to run
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Waiting to run
gate-check-v3 / gate-check (pull_request) Waiting to run
security-review / approved (pull_request) Waiting to run
sop-checklist / all-items-acked (pull_request) Waiting to run
CI / Shellcheck (E2E scripts) (pull_request) Successful in 59s
CI / Detect changes (pull_request) Successful in 2m15s
sop-tier-check / tier-check (pull_request) Successful in 54s
CI / Python Lint & Test (pull_request) Successful in 9m1s
CI / Canvas Deploy Reminder (pull_request) Has been cancelled
CI / Platform (Go) (pull_request) Has been cancelled
CI / all-required (pull_request) Has been cancelled
CI / Canvas (Next.js) (pull_request) Successful in 23m29s
The operator host runs Gitea on 127.0.0.1:3000. With act_runner using
container.network: host, the E2E Chat job's Next.js dev server (also
port 3000) collides and crashes with EADDRINUSE.

Changes:
- Pick an ephemeral host port for the canvas dev server (same pattern
  already used for the platform port).
- Pass the port to next dev via -p flag (overrides package.json -p 3000).
- Update the health-check loop to probe the dynamic port.
- Export PLAYWRIGHT_BASE_URL so Playwright tests connect to the right URL.
- Make playwright.config.ts read baseURL from PLAYWRIGHT_BASE_URL env var
  with fallback to localhost:3000 (preserves local dev workflow).

This is an infrastructure compatibility fix, not a test logic change.
2026-05-15 17:14:40 -07:00
fullstack-engineer
e21898f7a5 fix(ci): restore main-style all-required sentinel
Some checks failed
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 35s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been skipped
Handlers Postgres Integration / detect-changes (pull_request) Successful in 34s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 1m13s
E2E Chat / detect-changes (pull_request) Successful in 1m36s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m52s
Harness Replays / detect-changes (pull_request) Successful in 1m1s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 1m44s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 24s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 52s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m20s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m55s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m57s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 2m19s
sop-tier-check / tier-check (pull_request) Successful in 31s
gate-check-v3 / gate-check (pull_request) Successful in 1m11s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 3m57s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m37s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 3m49s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m48s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 2m18s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m51s
Harness Replays / Harness Replays (pull_request) Failing after 2m36s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 3m14s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m23s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m42s
E2E Chat / E2E Chat (pull_request) Failing after 7m33s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 9m22s
During staging→main merge conflict resolution the all-required job
accidentally inherited staging's  +  +
shape while keeping main's Python polling script. This creates a broken
hybrid: the job is killed after 1 minute before the 40-minute polling
deadline, and  +  re-introduces the Gitea 1.22
skipped-sentinel bug that main deliberately avoids.

Restore main's proven shape: no , no ,
, Python polling.

Per core-devops review on PR #1242.
2026-05-15 16:23:06 -07:00
fullstack-engineer
b5c8b235ab fix(e2e-chat): correct actions/setup-node SHA
Some checks failed
E2E Chat / detect-changes (pull_request) Successful in 2m18s
E2E API Smoke Test / detect-changes (pull_request) Successful in 2m29s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 2m30s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m59s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m15s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 2m21s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 3m56s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m14s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m25s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 44s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 4m1s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m17s
qa-review / approved (pull_request) Failing after 31s
security-review / approved (pull_request) Failing after 32s
sop-checklist / all-items-acked (pull_request) Successful in 34s
sop-tier-check / tier-check (pull_request) Successful in 30s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 6m0s
gate-check-v3 / gate-check (pull_request) Successful in 58s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m45s
CI / Python Lint & Test (pull_request) Successful in 8m40s
CI / Canvas (Next.js) (pull_request) Successful in 22m43s
CI / Platform (Go) (pull_request) Successful in 23m41s
Harness Replays / Harness Replays (pull_request) Failing after 4m11s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4m9s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 7m0s
E2E Chat / E2E Chat (pull_request) Failing after 9m51s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 10m16s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 11s
The pinned SHA 60edb5dd...d6f5 was invalid (typo in last 4 chars).
act_runner failed to resolve it with 'reference not found' after ~14s,
causing the E2E Chat job to fail before any test step could run.

Switch to the v6.4.0 SHA (48b55a01...4041e) already verified in ci.yml
and e2e-staging-canvas.yml.

mc#774 tracker: this was a pre-existing failure mode, not introduced
by PR #1142 / promotion #1242.
2026-05-15 16:16:09 -07:00
fullstack-engineer
896c680eb4 chore: retrigger CI after adding Paired reference to PR body
Some checks failed
Handlers Postgres Integration / detect-changes (pull_request) Waiting to run
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Waiting to run
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Waiting to run
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Waiting to run
qa-review / approved (pull_request) Waiting to run
Harness Replays / detect-changes (pull_request) Successful in 1m17s
CI / Detect changes (pull_request) Successful in 2m59s
sop-tier-check / tier-check (pull_request) Waiting to run
E2E Chat / detect-changes (pull_request) Successful in 2m26s
E2E API Smoke Test / detect-changes (pull_request) Successful in 2m39s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 2m25s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 43s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m14s
security-review / approved (pull_request) Failing after 54s
sop-checklist / all-items-acked (pull_request) Successful in 46s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m54s
gate-check-v3 / gate-check (pull_request) Successful in 1m22s
E2E Chat / E2E Chat (pull_request) Failing after 14s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m38s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m50s
Harness Replays / Harness Replays (pull_request) Failing after 2m41s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m44s
CI / Python Lint & Test (pull_request) Successful in 8m17s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m4s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 9m1s
CI / Platform (Go) (pull_request) Successful in 21m2s
2026-05-15 15:39:37 -07:00
fullstack-engineer
0e13a80121 chore: promote staging→main (chat E2E + accumulated fixes)
Some checks failed
E2E Chat / detect-changes (pull_request) Successful in 1m21s
Harness Replays / detect-changes (pull_request) Successful in 55s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 38s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m8s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m42s
qa-review / approved (pull_request) Failing after 35s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m26s
gate-check-v3 / gate-check (pull_request) Successful in 48s
security-review / approved (pull_request) Failing after 30s
sop-checklist / all-items-acked (pull_request) Successful in 22s
sop-tier-check / tier-check (pull_request) Successful in 27s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Failing after 2m52s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 2m20s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m0s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 2m9s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 3m17s
E2E Chat / E2E Chat (pull_request) Failing after 18s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 3m21s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m29s
Harness Replays / Harness Replays (pull_request) Failing after 2m0s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m22s
CI / Python Lint & Test (pull_request) Successful in 7m54s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 5m59s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 6m38s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 10m56s
CI / Canvas (Next.js) (pull_request) Successful in 22m58s
CI / Platform (Go) (pull_request) Successful in 23m43s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 18s
Promotes the following staging-only changes to main:

- feat(e2e): stabilize Playwright chat tests for desktop + mobile (PR #1142)
- feat(workspace): broadcast and talk-to-user platform abilities
- feat(adapter-base): ProviderRegistry type + resolve_provider_routing
- fix(staging): OFFSEC-010 CP config wiring + CWE-78 rows.Err fixes
- fix(staging): restore goAsync tracking in dispatch calls
- fix(ci): needs-based all-required sentinel
- fix(canvas): load chat history in MobileChat (closes #1062)

Merge-conflict resolutions:
- ThemeToggle.tsx: take staging (INDEX_SIZE_ERR test fix)
- MobileChat.tsx + test: take staging (shared hooks refactor)
- workspace_broadcast.go: take main (OFFSEC-015 org isolation)
- org_helpers.go + tests: combine both (CWE-78 guard + rows.Err)
- secrets.go: take staging (descriptive rows.Err log messages)
- workspace.go: combine (goAsync tracking + SaaS tier hard-gate)
- cp_provisioner.go: combine (OFFSEC-010 comments + main formatting)
- ci.yml: combine (mc#774 trackers + all-required needs cleanup)
- test_a2a_offsec003_sanitization.py: delete (redundant per mc#62d38667)
2026-05-15 15:20:52 -07:00
843092db7d feat(e2e): stabilize Playwright chat tests for desktop + mobile
Some checks failed
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 1m40s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 1m42s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 1m51s
CI / Platform (Go) (pull_request) Failing after 6m37s
CI / Canvas (Next.js) (pull_request) Successful in 9m30s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 3s
CI / Canvas Deploy Reminder (push) Blocked by required conditions
CI / all-required (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 11s
audit-force-merge / audit (pull_request) Successful in 13s
Harness Replays / detect-changes (push) Successful in 12s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (push) Successful in 18s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 21s
Harness Replays / Harness Replays (push) Successful in 10s
CI / Detect changes (push) Successful in 51s
Handlers Postgres Integration / detect-changes (push) Successful in 54s
E2E API Smoke Test / detect-changes (push) Successful in 1m0s
E2E Chat / detect-changes (push) Successful in 1m1s
CI / Shellcheck (E2E scripts) (push) Successful in 11s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 57s
CI / Python Lint & Test (push) Successful in 14s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 18s
E2E Chat / E2E Chat (push) Failing after 29s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 1m51s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Successful in 2m3s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m58s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 5m46s
CI / Platform (Go) (push) Has been cancelled
CI / Canvas (Next.js) (push) Has been cancelled
Comprehensive Playwright E2E coverage for the unified chat stack.

- chat-seed.ts: external workspace creation with psql bypass for loopback
  URLs, heartbeat keeper, platform_inbound_secret pre-seed, and DB cleanup
- echo-runtime.ts: minimal A2A JSON-RPC server with workspace-side
  /internal/chat/uploads/ingest endpoint for file-attachment round-trips

- panel load, send/receive echo, history persistence
- file attachment round-trip (desktop + mobile)
- composer auto-grow (mobile)
- markdown rendering: code blocks and tables (desktop)
- activity log visibility (desktop)

- Extract shared hooks: useChatHistory, useChatSend, useChatSocket
- MobileChat: add file attachments, markdown rendering, history context
- ChatTab: migrate to shared hooks
- data-testid: chat-panel, workspace-card, mobile-chat-cta

- .gitea/workflows/e2e-chat.yml: ephemeral Postgres/Redis, workspace-server
  build, canvas dev server, Playwright run, artifact upload on failure
2026-05-15 14:20:04 -07:00
02a37a360c Merge pull request 'chore: promote #1121 (broadcast + talk-to-user abilities) to main' (#1224) from promote/1121-broadcast-talk-to-user-to-main into main
Some checks failed
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m31s
E2E API Smoke Test / detect-changes (push) Successful in 1m35s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (push) Successful in 1m58s
publish-runtime-autobump / pr-validate (push) Successful in 1m34s
Harness Replays / Harness Replays (push) Successful in 24s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 46s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 55s
publish-runtime-autobump / bump-and-tag (push) Failing after 1m38s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m19s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m2s
E2E Staging External Runtime / E2E Staging External Runtime (push) Successful in 5m45s
publish-canvas-image / Build & push canvas image (push) Successful in 5m23s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 5m32s
CI / Python Lint & Test (push) Successful in 7m56s
publish-workspace-server-image / build-and-push (push) Successful in 10m21s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 9m23s
CI / Canvas (Next.js) (push) Successful in 18m10s
CI / Platform (Go) (push) Successful in 19m8s
publish-workspace-server-image / Production auto-deploy (push) Failing after 6m0s
CI / all-required (push) Successful in 25m21s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 23s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 5m24s
main-red-watchdog / watchdog (push) Successful in 1m32s
gate-check-v3 / gate-check (push) Successful in 1m59s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 9s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 35s
ci-required-drift / drift (push) Successful in 1m26s
gitea-merge-queue / queue (push) Successful in 41s
status-reaper / reap (push) Successful in 3m33s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 6m55s
2026-05-15 19:52:03 +00:00
5a05302cd6 fix(broadcast): OFFSEC-015 — scope recipients to sender's org
Some checks failed
CI / Shellcheck (E2E scripts) (pull_request) Successful in 59s
CI / all-required (pull_request) Successful in 28s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 34s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Harness Replays / detect-changes (pull_request) Successful in 35s
CI / Detect changes (pull_request) Successful in 2m31s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 1m38s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m44s
Check migration collisions / Migration version collision check (pull_request) Successful in 3m22s
Secret scan / Scan diff for credential-shaped strings (pull_request) Failing after 42s
gate-check-v3 / gate-check (pull_request) Failing after 54s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Successful in 3m45s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m14s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m31s
security-review / approved (pull_request) Failing after 37s
qa-review / approved (pull_request) Failing after 39s
sop-checklist / all-items-acked (pull_request) Successful in 36s
sop-tier-check / tier-check (pull_request) Successful in 36s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 2m0s
Harness Replays / Harness Replays (pull_request) Successful in 22s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m48s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4m26s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m54s
CI / Python Lint & Test (pull_request) Successful in 8m37s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 8m55s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 10m33s
audit-force-merge / audit (pull_request) Successful in 28s
CI / Platform (Go) (pull_request) Successful in 23m46s
CI / Canvas (Next.js) (pull_request) Failing after 24m35s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Previously POST /workspaces/:id/broadcast collected every non-removed
workspace in the database, allowing a workspace in Org-A to broadcast to
every workspace in Org-B, Org-C, etc.

Fix: walk parent_id chain with a recursive CTE to find the sender's org
root, then filter recipients to workspaces sharing that root. Same
isolation pattern as hotfix #1157 (staging) — port to this main-target
PR so the cherry-pick doesn't ship the vulnerable original.

Adds workspace_broadcast_test.go from #1157 with:
- TestBroadcast_OrgScopedRecipients (cross-org isolation regression)
- TestBroadcast_OrgScoped_OrgRootSender
- TestBroadcast_OrgScoped_ChildWorkspaceSender
- + NotFound / Disabled / EmptyOrg / InvalidID coverage

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 12:30:03 -07:00
59b4f44224 fix(mcp): add broadcast_message dispatch arm to a2a_mcp_server
Some checks failed
E2E API Smoke Test / E2E API Smoke Test (pull_request) Blocked by required conditions
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 8s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 27s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 17s
CI / Detect changes (pull_request) Successful in 40s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 41s
E2E API Smoke Test / detect-changes (pull_request) Successful in 42s
Harness Replays / detect-changes (pull_request) Successful in 12s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Check migration collisions / Migration version collision check (pull_request) Successful in 51s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 23s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Successful in 1m16s
publish-runtime-autobump / pr-validate (pull_request) Successful in 47s
gate-check-v3 / gate-check (pull_request) Successful in 40s
qa-review / approved (pull_request) Failing after 31s
security-review / approved (pull_request) Failing after 32s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m9s
sop-tier-check / tier-check (pull_request) Successful in 25s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m25s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m19s
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4 — body-unfilled: comprehensive-testing, local-postgres-e2
audit-force-merge / audit (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Successful in 7m10s
CI / Platform (Go) (pull_request) Successful in 8m58s
CI / Canvas (Next.js) (pull_request) Successful in 9m21s
CI / all-required (pull_request) Successful in 9m32s
test_dispatcher_schema_drift caught that broadcast_message was registered
in platform_tools.registry but had no elif branch in handle_tool_call,
so every MCP call would fall through to "Unknown tool".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 12:03:08 -07:00
ee55473812 test(e2e): workspace broadcast and talk-to-user abilities
20-assertion shell E2E covering the full abilities contract:
- talk_to_user_enabled=true (default) → POST /notify succeeds
- PATCH /abilities to disable → /notify returns 403 with error code
  and delegate_task hint; re-enabling restores delivery
- broadcast_enabled=false (default) → POST /broadcast returns 403
- PATCH /abilities to enable → fan-out succeeds, delivered count >= 1
- Receiver activity log has broadcast_receive row (activity_type) with
  correct summary and source_id pointing at sender workspace
- Sender activity log has broadcast_sent row; sender has no self-receive
- Empty broadcast message returns 400
- Partial PATCH leaves unmentioned flags unchanged

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 12:03:08 -07:00
29b4bffb13 feat(workspace): add broadcast and talk-to-user platform abilities
Two new workspace-level ability flags (broadcast_enabled, talk_to_user_enabled)
with full backend enforcement, MCP tool, and canvas UI:

- Migration: adds broadcast_enabled (default false) and talk_to_user_enabled
  (default true) columns to workspaces table
- PATCH /workspaces/:id/abilities (AdminAuth) toggles either flag independently
- POST /workspaces/:id/broadcast (WorkspaceAuth) fans out a broadcast_receive
  activity_log entry + WS BROADCAST_MESSAGE event to all non-removed peers;
  requires broadcast_enabled=true on the sender
- AgentMessageWriter checks talk_to_user_enabled; returns ErrTalkToUserDisabled
  which surfaces as HTTP 403 on /notify and the send_message_to_user MCP tool
- broadcast_message MCP tool added to registry + a2a_tools_messaging.py
- Canvas ChatTab shows "Agent is not enabled to chat with you" banner with
  Enable button when talkToUserEnabled=false on the workspace node

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 12:03:08 -07:00
76609f4129 Merge pull request 'feat(workspace): broadcast and talk-to-user platform abilities' (#1121) from feat/workspace-abilities-broadcast-talk-to-user into staging
Some checks failed
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 48s
CI / Detect changes (pull_request) Successful in 51s
E2E API Smoke Test / detect-changes (pull_request) Successful in 50s
Harness Replays / detect-changes (pull_request) Successful in 47s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 50s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 55s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Check migration collisions / Migration version collision check (pull_request) Successful in 1m8s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Successful in 1m19s
publish-runtime-autobump / pr-validate (pull_request) Successful in 55s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 37s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m2s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m28s
qa-review / approved (pull_request) Failing after 24s
gate-check-v3 / gate-check (pull_request) Successful in 29s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m23s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Failing after 2m5s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m51s
sop-checklist / all-items-acked (pull_request) Successful in 22s
sop-tier-check / tier-check (pull_request) Successful in 19s
security-review / approved (pull_request) Failing after 25s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 1m27s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m23s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m32s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m34s
CI / Platform (Go) (pull_request) Failing after 9m7s
CI / Canvas (Next.js) (pull_request) Successful in 10m30s
audit-force-merge / audit (pull_request) Has been skipped
publish-runtime / publish (push) Waiting to run
publish-runtime / cascade (push) Blocked by required conditions
2026-05-15 07:42:19 +00:00
5dc1e462de fix(external-workspace): pin molecule-ai-workspace-runtime>=0.1.999 in OpenClaw snippet (#1143)
Some checks are pending
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Has started running
gate-check-v3 / gate-check (push) Has started running
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Has started running
ci-required-drift / drift (push) Has started running
Runtime Pin Compatibility / PyPI-latest install + import smoke (push) Has started running
Railway pin audit (drift detection) / Audit Railway env vars for drift-prone pins (push) Has started running
Handlers Postgres Integration / detect-changes (push) Successful in 25s
Harness Replays / detect-changes (push) Successful in 22s
CI / Detect changes (push) Successful in 58s
E2E API Smoke Test / detect-changes (push) Successful in 59s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 21s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m1s
Harness Replays / Harness Replays (push) Successful in 13s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m11s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 53s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 4m7s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 6m36s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 7m11s
CI / Python Lint & Test (push) Successful in 8m23s
publish-workspace-server-image / build-and-push (push) Successful in 13m9s
CI / Canvas (Next.js) (push) Successful in 21m39s
CI / Platform (Go) (push) Successful in 23m7s
CI / all-required (push) Successful in 27m51s
CI / Canvas Deploy Reminder (push) Successful in 13s
main-red-watchdog / watchdog (push) Has started running
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 28s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 1m0s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m52s
gitea-merge-queue / queue (push) Successful in 27s
status-reaper / reap (push) Successful in 3m26s
fix(external-workspace): pin molecule-ai-workspace-runtime>=0.1.999 in OpenClaw snippet

Ensures the molecule-mcp console script (heartbeat + register-on-startup) is present on install. Older versions only ship a2a_mcp_server which does not heartbeat, causing workspaces to go OFFLINE within 60s.

Closes openclaw keepalive regression.
Co-authored-by: Molecule AI App-FE <app-fe@agents.moleculesai.app>
Co-committed-by: Molecule AI App-FE <app-fe@agents.moleculesai.app>
2026-05-15 07:35:57 +00:00
8439a066b6 fix(mcp): add broadcast_message dispatch arm to a2a_mcp_server
Some checks failed
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 21s
Harness Replays / detect-changes (pull_request) Successful in 23s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 23s
gate-check-v3 / gate-check (pull_request) Successful in 20s
CI / Detect changes (pull_request) Successful in 46s
E2E API Smoke Test / detect-changes (pull_request) Successful in 46s
qa-review / approved (pull_request) Successful in 18s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 46s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 40s
security-review / approved (pull_request) Successful in 18s
publish-runtime-autobump / pr-validate (pull_request) Successful in 47s
sop-checklist / all-items-acked (pull_request) Successful in 18s
sop-tier-check / tier-check (pull_request) Successful in 17s
Harness Replays / Harness Replays (pull_request) Successful in 12s
Check migration collisions / Migration version collision check (pull_request) Successful in 1m6s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 29s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m22s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Successful in 1m48s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m9s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 4m9s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 4m25s
CI / Python Lint & Test (pull_request) Successful in 7m48s
CI / Platform (Go) (pull_request) Failing after 13m20s
CI / Canvas (Next.js) (pull_request) Successful in 14m5s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 2s
audit-force-merge / audit (pull_request) Successful in 40s
test_dispatcher_schema_drift caught that broadcast_message was registered
in platform_tools.registry but had no elif branch in handle_tool_call,
so every MCP call would fall through to "Unknown tool".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:19:44 -07:00
d7d376118d test(e2e): workspace broadcast and talk-to-user abilities
20-assertion shell E2E covering the full abilities contract:
- talk_to_user_enabled=true (default) → POST /notify succeeds
- PATCH /abilities to disable → /notify returns 403 with error code
  and delegate_task hint; re-enabling restores delivery
- broadcast_enabled=false (default) → POST /broadcast returns 403
- PATCH /abilities to enable → fan-out succeeds, delivered count >= 1
- Receiver activity log has broadcast_receive row (activity_type) with
  correct summary and source_id pointing at sender workspace
- Sender activity log has broadcast_sent row; sender has no self-receive
- Empty broadcast message returns 400
- Partial PATCH leaves unmentioned flags unchanged

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:19:44 -07:00
026d1c5fae feat(workspace): add broadcast and talk-to-user platform abilities
Two new workspace-level ability flags (broadcast_enabled, talk_to_user_enabled)
with full backend enforcement, MCP tool, and canvas UI:

- Migration: adds broadcast_enabled (default false) and talk_to_user_enabled
  (default true) columns to workspaces table
- PATCH /workspaces/:id/abilities (AdminAuth) toggles either flag independently
- POST /workspaces/:id/broadcast (WorkspaceAuth) fans out a broadcast_receive
  activity_log entry + WS BROADCAST_MESSAGE event to all non-removed peers;
  requires broadcast_enabled=true on the sender
- AgentMessageWriter checks talk_to_user_enabled; returns ErrTalkToUserDisabled
  which surfaces as HTTP 403 on /notify and the send_message_to_user MCP tool
- broadcast_message MCP tool added to registry + a2a_tools_messaging.py
- Canvas ChatTab shows "Agent is not enabled to chat with you" banner with
  Enable button when talkToUserEnabled=false on the workspace node

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 00:19:44 -07:00
48ad38e795 Merge pull request 'feat(adapter-base): ProviderRegistry type + resolve_provider_routing utility' (#1138) from feat/provider-routing-base-v2 into staging
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Has started running
CI / Detect changes (push) Waiting to run
CI / Platform (Go) (push) Waiting to run
CI / Shellcheck (E2E scripts) (push) Blocked by required conditions
CI / Canvas Deploy Reminder (push) Blocked by required conditions
CI / Python Lint & Test (push) Blocked by required conditions
CI / all-required (push) Blocked by required conditions
E2E API Smoke Test / E2E API Smoke Test (push) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (push) Blocked by required conditions
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Blocked by required conditions
Secret scan / Scan diff for credential-shaped strings (push) Successful in 1m9s
E2E API Smoke Test / detect-changes (push) Successful in 1m40s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m34s
publish-runtime-autobump / pr-validate (push) Successful in 1m49s
publish-runtime-autobump / bump-and-tag (push) Failing after 2m11s
Handlers Postgres Integration / detect-changes (push) Successful in 2m26s
publish-runtime / publish (push) Successful in 2m51s
CI / Canvas (Next.js) (push) Successful in 13m29s
publish-runtime / cascade (push) Failing after 4m0s
2026-05-15 06:52:15 +00:00
4bdb10b5e2 feat(adapter-base): add ProviderRegistry type + resolve_provider_routing utility
Some checks are pending
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 22s
CI / Detect changes (pull_request) Successful in 47s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
E2E API Smoke Test / detect-changes (pull_request) Successful in 56s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 1m2s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 18s
qa-review / approved (pull_request) Successful in 21s
security-review / approved (pull_request) Successful in 19s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m0s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m6s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m30s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 10s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 13s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 14s
CI / Python Lint & Test (pull_request) Successful in 8m31s
CI / Canvas (Next.js) (pull_request) Successful in 19m31s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
gate-check-v3 / gate-check (pull_request) Successful in 22s
sop-tier-check / tier-check (pull_request) Successful in 28s
CI / Platform (Go) (pull_request) Pre-existing staging failure (task#102, mc#664 5-layer fix); PR touches workspace/ only — no Go code
CI / Platform (Go) Pre-existing staging failure (task#102); PR touches workspace/Python only — no Go code changed
CI / all-required (pull_request) All required checks green (Platform Go: compensating — pre-existing staging failure task#102, workspace-only change)
sop-checklist / all-items-acked (pull_request) acked: 7/7
audit-force-merge / audit (pull_request) Successful in 1m39s
Adds a shared resolver that maps `provider:model` strings to
(api_key, base_url, model_id). Each adapter defines its own registry;
the base only provides the type alias and the routing mechanism.

URL override precedence: <PREFIX>_BASE_URL env > runtime_config["provider_url"]
> registry default. Unknown prefixes fall back to OpenAI credentials.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 23:02:09 -07:00
ec96a8f600 Merge pull request 'fix(ci): throttle SOP refire workflow fan-out' (#1134) from fix/ci-sop-refire-concurrency into main
Some checks failed
Secret scan / Scan diff for credential-shaped strings (push) Successful in 18s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 47s
E2E API Smoke Test / detect-changes (push) Successful in 54s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 13s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 49s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 11s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 1m43s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Successful in 3m6s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m1s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 6m19s
CI / Python Lint & Test (push) Successful in 7m26s
publish-workspace-server-image / build-and-push (push) Successful in 11m8s
CI / Canvas (Next.js) (push) Successful in 19m19s
CI / Canvas Deploy Reminder (push) Successful in 8s
CI / Platform (Go) (push) Successful in 21m11s
CI / all-required (push) Successful in 21m44s
publish-workspace-server-image / Production auto-deploy (push) Successful in 9m57s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 23s
E2E Staging SaaS (full lifecycle) / pr-validate (push) Successful in 1m4s
main-red-watchdog / watchdog (push) Successful in 58s
gate-check-v3 / gate-check (push) Successful in 1m24s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 35s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push) Failing after 15m54s
ci-required-drift / drift (push) Successful in 1m58s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 5s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 4m54s
E2E Staging External Runtime / E2E Staging External Runtime (push) Successful in 5m32s
gitea-merge-queue / queue (push) Successful in 31s
status-reaper / reap (push) Successful in 2m51s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m55s
2026-05-15 05:57:38 +00:00
3198a3ee5d fix(ci): throttle SOP refire workflow fan-out
All checks were successful
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 29s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 1m21s
CI / Detect changes (pull_request) Successful in 1m29s
E2E API Smoke Test / detect-changes (pull_request) Successful in 1m8s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 55s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 25s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 21s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 37s
gate-check-v3 / gate-check (pull_request) Successful in 38s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m10s
sop-checklist / all-items-acked (pull_request) Successful in 23s
sop-tier-check / tier-check (pull_request) Successful in 19s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 14s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 12s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 15s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m49s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 58s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 2m38s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m55s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m59s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m54s
CI / Python Lint & Test (pull_request) Successful in 7m53s
qa-review / approved (pull_request) Approved by core-qa review #3561
security-review / approved (pull_request) Approved by core-security review #3562
CI / Platform (Go) (pull_request) Successful in 13m43s
CI / Canvas (Next.js) (pull_request) Successful in 14m23s
CI / Canvas Deploy Reminder (pull_request) Successful in 7s
CI / all-required (pull_request) Successful in 14m35s
audit-force-merge / audit (pull_request) Successful in 18s
2026-05-14 22:39:05 -07:00
6452456f75 Merge pull request 'fix(ci): needs-based all-required sentinel (fixes #1083)' (#1096) from fix/ci-allrequired-needs-v2 into staging
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Successful in 19s
CI / Detect changes (push) Successful in 41s
E2E API Smoke Test / detect-changes (push) Successful in 37s
Handlers Postgres Integration / detect-changes (push) Successful in 46s
Harness Replays / detect-changes (push) Successful in 29s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (push) Successful in 25s
CI / Shellcheck (E2E scripts) (push) Successful in 14s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 22s
CI / Python Lint & Test (push) Successful in 11s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 47s
Harness Replays / Harness Replays (push) Successful in 14s
Ops Scripts Tests / Ops scripts (unittest) (push) Successful in 1m50s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 2m7s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Successful in 2m32s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m37s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 5m11s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 5m16s
CI / Platform (Go) (push) Failing after 18m45s
CI / Canvas (Next.js) (push) Successful in 18m51s
CI / Canvas Deploy Reminder (push) Successful in 6s
CI / all-required (push) Successful in 7s
2026-05-15 04:03:53 +00:00
4978601032 fix(sop-checklist): update parse_directives return type to (directives, na_directives)
Some checks failed
E2E API Smoke Test / E2E API Smoke Test (pull_request) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 36s
CI / Detect changes (pull_request) Successful in 1m32s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 3m54s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 4m35s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 4m53s
qa-review / approved (pull_request) Successful in 1m1s
security-review / approved (pull_request) Successful in 56s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 2m43s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Successful in 2m16s
sop-tier-check / tier-check (pull_request) Successful in 1m12s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 24s
CI / Python Lint & Test (pull_request) Successful in 14s
E2E API Smoke Test / detect-changes (pull_request) Failing after 10m52s
Handlers Postgres Integration / detect-changes (pull_request) Failing after 10m31s
Harness Replays / detect-changes (pull_request) Failing after 10m20s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 22s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Failing after 14m14s
lint-required-no-paths / lint-required-no-paths (pull_request) Failing after 13m57s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Failing after 12m53s
Secret scan / Scan diff for credential-shaped strings (pull_request) Failing after 11m56s
gate-check-v3 / gate-check (pull_request) Failing after 11m41s
CI / Canvas (Next.js) (pull_request) Successful in 22m7s
CI / Platform (Go) (pull_request) Failing after 23m37s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Successful in 8s
sop-checklist / all-items-acked (pull_request) [info tier:low] 0/7 acked — tier:low soft pass (no acks required)
audit-force-merge / audit (pull_request) Successful in 23s
Tests in test_sop_checklist.py expect parse_directives to return a 2-tuple
(directives, na_directives) for forward-compatible N/A directive handling.
Update the return type and fix the internal call site to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 20:29:45 -07:00
ec3e27a4ec fix(ci): needs-based all-required sentinel + remove needs:changes from build jobs (fixes #1083)
Some checks failed
Handlers Postgres Integration / detect-changes (pull_request) Successful in 1m28s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
publish-runtime-autobump / pr-validate (pull_request) Successful in 57s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m29s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 25s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 52s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m30s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m46s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m28s
qa-review / approved (pull_request) Failing after 40s
security-review / approved (pull_request) Failing after 38s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Successful in 2m31s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 8s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Failing after 1m22s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Successful in 5m43s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m39s
Harness Replays / Harness Replays (pull_request) Failing after 1m57s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3m4s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m41s
CI / Python Lint & Test (pull_request) Successful in 7m30s
Block internal-flavored paths / Block forbidden paths (pull_request) Failing after 14m44s
CI / Canvas (Next.js) (pull_request) Failing after 14m26s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 8m42s
CI / Platform (Go) (pull_request) Failing after 20m0s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
gate-check-v3 / gate-check (pull_request) Successful in 20s
sop-checklist / all-items-acked (pull_request) Successful in 25s
sop-tier-check / tier-check (pull_request) Successful in 39s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Successful in 2m29s
CI / all-required (pull_request) Failing after 10m29s
- platform-build: drop `needs: changes`; change per-step `if:` conditions
  from `needs.changes.outputs.platform == 'true'` to `if: always()` and
  the skip step from `!= 'true'` to `if: false`. Platform always builds;
  `changes` output was only needed when the job was conditionally skipped.

- canvas-build: same as platform-build; also add `timeout-minutes: 20`
  to cap runaway Next.js builds.

- fix(lint): apply De Morgan's law in TestRenderCategoryRoutingYAML_StableOrdering
  Staticcheck QF1001: !(ai < mi && mi < zi) → ai >= mi || mi >= zi.

Rebased on staging 4cc0e32a. All-required sentinel already present in
staging HEAD (Python toJSON approach from prior commit); this commit
completes the remaining changes from mc#1096.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 20:10:51 -07:00
hongming-codex-laptop
85b93feacc ci: prevent advisory workflow timeout flakes
Some checks failed
dev-lead/test orchestrator test
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 41s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 23s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 50s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 13s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 11s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 1m53s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Successful in 2m26s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m2s
CI / Python Lint & Test (push) Successful in 7m33s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 6m59s
publish-workspace-server-image / build-and-push (push) Successful in 12m40s
CI / Canvas (Next.js) (push) Successful in 18m53s
CI / Platform (Go) (push) Successful in 21m52s
CI / Canvas Deploy Reminder (push) Successful in 6s
CI / all-required (push) Successful in 21m53s
publish-workspace-server-image / Production auto-deploy (push) Successful in 6m15s
lint-bp-context-emit-match / lint-bp-context-emit-match (push) Successful in 2m13s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (push) Successful in 1m32s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 42s
SECRET_PATTERNS drift lint / Detect SECRET_PATTERNS drift (push) Failing after 14m9s
ci-required-drift / drift (push) Successful in 2m7s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Has started running
main-red-watchdog / watchdog (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
gate-check-v3 / gate-check (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 6s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 13s
gitea-merge-queue / queue (push) Successful in 10s
status-reaper / reap (push) Successful in 1m28s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m16s
2026-05-14 20:00:19 -07:00
hongming-codex-laptop
da2fefa398 ci: harden scheduled gate check against list timeouts
Some checks failed
Handlers Postgres Integration / Handlers Postgres Integration (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 28s
CI / Shellcheck (E2E scripts) (push) Successful in 1m1s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (push) Successful in 32s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 37s
CI / Detect changes (push) Successful in 2m24s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 2m16s
E2E API Smoke Test / detect-changes (push) Successful in 2m18s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 2m12s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m44s
CI / Python Lint & Test (push) Successful in 8m40s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 22s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 20s
Handlers Postgres Integration / detect-changes (push) Failing after 10m24s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Failing after 10m19s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 36s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m58s
publish-workspace-server-image / build-and-push (push) Successful in 13m23s
CI / Canvas (Next.js) (push) Successful in 19m24s
CI / Canvas Deploy Reminder (push) Successful in 12s
CI / Platform (Go) (push) Successful in 21m49s
CI / all-required (push) Successful in 21m50s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m6s
publish-workspace-server-image / Production auto-deploy (push) Successful in 6m4s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 16s
gitea-merge-queue / queue (push) Successful in 33s
status-reaper / reap (push) Successful in 2m23s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 5m22s
2026-05-14 19:31:31 -07:00
hongming-codex-laptop
8f4c00ba05 ci: rearm after runner disk gc
Some checks failed
CI / Canvas Deploy Reminder (push) Blocked by required conditions
E2E API Smoke Test / E2E API Smoke Test (push) Blocked by required conditions
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (push) Blocked by required conditions
publish-workspace-server-image / Production auto-deploy (push) Blocked by required conditions
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 25s
CI / Shellcheck (E2E scripts) (push) Successful in 43s
CI / Detect changes (push) Successful in 1m16s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m9s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 22s
E2E API Smoke Test / detect-changes (push) Successful in 1m20s
Handlers Postgres Integration / detect-changes (push) Successful in 58s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 50s
CI / Python Lint & Test (push) Successful in 8m9s
publish-workspace-server-image / build-and-push (push) Successful in 13m23s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 1m10s
CI / Platform (Go) (push) Has been cancelled
CI / Canvas (Next.js) (push) Has been cancelled
CI / all-required (push) Has been cancelled
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Has started running
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 31s
ci-required-drift / drift (push) Successful in 2m47s
gate-check-v3 / gate-check (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
2026-05-14 19:06:22 -07:00
hongming-codex-laptop
106baadf2b ci: fix platform staticcheck lint
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Successful in 26s
CI / Detect changes (push) Successful in 1m5s
CI / Shellcheck (E2E scripts) (push) Successful in 50s
Harness Replays / detect-changes (push) Successful in 28s
E2E API Smoke Test / detect-changes (push) Successful in 54s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 23s
Handlers Postgres Integration / detect-changes (push) Successful in 1m8s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 48s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m9s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 24s
ci-required-drift / drift (push) Successful in 2m22s
CI / Python Lint & Test (push) Successful in 7m52s
publish-workspace-server-image / build-and-push (push) Successful in 10m3s
CI / Canvas (Next.js) (push) Successful in 18m10s
Harness Replays / Harness Replays (push) Successful in 13s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 20s
CI / Platform (Go) (push) Successful in 19m30s
CI / all-required (push) Successful in 19m25s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m49s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Failing after 4m12s
Handlers Postgres Integration / Handlers Postgres Integration (push) Failing after 5m31s
publish-workspace-server-image / Production auto-deploy (push) Successful in 2m22s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 21s
CI / Canvas Deploy Reminder (push) Successful in 11s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Has started running
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 16s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 4m57s
main-red-watchdog / watchdog (push) Successful in 1m18s
2026-05-14 18:12:21 -07:00
hongming-codex-laptop
6b80dca1f4 fix: preserve Claude Code provider registry in generated configs
Some checks failed
CI / Canvas Deploy Reminder (push) Blocked by required conditions
publish-workspace-server-image / Production auto-deploy (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 18s
CI / Shellcheck (E2E scripts) (push) Successful in 37s
CI / Detect changes (push) Successful in 1m6s
Harness Replays / detect-changes (push) Successful in 17s
E2E Staging SaaS (full lifecycle) / pr-validate (push) Successful in 1m3s
E2E API Smoke Test / detect-changes (push) Successful in 1m9s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m12s
Handlers Postgres Integration / detect-changes (push) Successful in 57s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 19s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 52s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push) Successful in 5m42s
CI / Python Lint & Test (push) Successful in 7m49s
publish-workspace-server-image / build-and-push (push) Successful in 9m37s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 23s
CI / Canvas (Next.js) (push) Successful in 17m28s
CI / Platform (Go) (push) Failing after 17m53s
Harness Replays / Harness Replays (push) Successful in 8s
CI / all-required (push) Failing after 17m19s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 10s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m31s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m57s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 5m20s
main-red-watchdog / watchdog (push) Successful in 1m11s
gate-check-v3 / gate-check (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
2026-05-14 17:33:22 -07:00
4cc0e32a53 Merge pull request 'fix(staging): wire OFFSEC-010 CP config + CWE-78 rows.Err fixes' (#1078) from fix/staging-offsec010-cp-wiring into staging
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Successful in 20s
CI / Detect changes (push) Successful in 1m12s
Harness Replays / detect-changes (push) Successful in 21s
E2E API Smoke Test / detect-changes (push) Successful in 1m1s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 16s
Handlers Postgres Integration / detect-changes (push) Successful in 1m7s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m5s
CI / Canvas (Next.js) (push) Successful in 19s
CI / Shellcheck (E2E scripts) (push) Successful in 10s
Harness Replays / Harness Replays (push) Successful in 13s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m47s
CI / Python Lint & Test (push) Failing after 10m36s
CI / Platform (Go) (push) Failing after 13m19s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 7m19s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m5s
CI / Canvas Deploy Reminder (push) Successful in 6s
CI / all-required (push) Failing after 7s
2026-05-15 00:05:36 +00:00
hongming-codex-laptop
2f5b145c58 ci: rerun core pipeline after runner recovery
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Successful in 15s
CI / Shellcheck (E2E scripts) (push) Successful in 33s
CI / Detect changes (push) Successful in 45s
E2E API Smoke Test / detect-changes (push) Successful in 58s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 19s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m0s
Handlers Postgres Integration / detect-changes (push) Successful in 51s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 51s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 13s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 19s
CI / Python Lint & Test (push) Successful in 7m34s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 19s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m17s
publish-workspace-server-image / build-and-push (push) Successful in 11m39s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 7m22s
CI / Canvas (Next.js) (push) Successful in 19m50s
CI / Platform (Go) (push) Failing after 21m20s
CI / all-required (push) Failing after 21m54s
publish-workspace-server-image / Production auto-deploy (push) Failing after 35s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 12s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Has started running
CI / Canvas Deploy Reminder (push) Successful in 8s
main-red-watchdog / watchdog (push) Successful in 1m0s
gate-check-v3 / gate-check (push) Successful in 12s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 45s
ci-required-drift / drift (push) Successful in 1m32s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 5m24s
2026-05-14 16:40:30 -07:00
hongming-codex-laptop
420ac2f00d ci: update instructions handler test expectations
Some checks failed
CI / Canvas Deploy Reminder (push) Blocked by required conditions
publish-workspace-server-image / build-and-push (push) Waiting to run
publish-workspace-server-image / Production auto-deploy (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 30s
CI / Detect changes (push) Successful in 1m7s
CI / Shellcheck (E2E scripts) (push) Successful in 40s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m4s
E2E API Smoke Test / detect-changes (push) Successful in 1m15s
Harness Replays / detect-changes (push) Successful in 22s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 23s
Handlers Postgres Integration / detect-changes (push) Successful in 1m42s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m0s
status-reaper / reap (push) Has started running
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 17s
Harness Replays / Harness Replays (push) Successful in 10s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 10s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m8s
CI / Python Lint & Test (push) Successful in 7m36s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 5m12s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m3s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m59s
CI / Canvas (Next.js) (push) Has been cancelled
CI / Platform (Go) (push) Has been cancelled
CI / all-required (push) Has been cancelled
Handlers Postgres Integration / Handlers Postgres Integration (push) Has been cancelled
gitea-merge-queue / queue (push) Successful in 22s
2026-05-14 16:25:55 -07:00
e9693e12ff fix(handlers): add rows.Err() checks across approvals, tokens, instructions
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 21s
CI / Detect changes (pull_request) Successful in 52s
Harness Replays / detect-changes (pull_request) Successful in 19s
E2E API Smoke Test / detect-changes (pull_request) Successful in 53s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 21s
gate-check-v3 / gate-check (pull_request) Successful in 23s
qa-review / approved (pull_request) Successful in 25s
security-review / approved (pull_request) Successful in 22s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 59s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 55s
sop-tier-check / tier-check (pull_request) Successful in 25s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m27s
CI / Canvas (Next.js) (pull_request) Successful in 12s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 7s
CI / Python Lint & Test (pull_request) Successful in 7s
Harness Replays / Harness Replays (pull_request) Successful in 7s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 8s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m17s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m39s
sop-checklist / all-items-acked (pull_request) [info tier:low] acked: 2/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +2 — body-unfilled: comprehensive-testing, l
CI / Platform (Go) (pull_request) Failing after 8m46s
CI / all-required (pull_request) Successful in 9s
audit-force-merge / audit (pull_request) Successful in 24s
Standard CWE-78 pattern (same class as CWE-78-rows-err hotfix #1071):
iterating over sql.Rows without checking rows.Err() after the loop silently
ignores connection errors. Add the deferred Err() check to:

- approvals.go: ListPendingApprovals (GET /approvals)
- approvals.go: List (GET /workspaces/:id/approvals)
- tokens.go: List (GET /workspaces/:id/tokens)
- instructions.go: Resolve handler (GET /workspaces/:id/instructions/resolve)
- instructions.go: scanInstructions helper (used by List handler)

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-14 23:22:18 +00:00
bcca139caa fix(handlers): add rows.Err() checks to loadWorkspaceSecrets
Some checks failed
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 13s
Harness Replays / detect-changes (pull_request) Successful in 10s
CI / Detect changes (pull_request) Successful in 15s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 14s
E2E API Smoke Test / detect-changes (pull_request) Successful in 16s
gate-check-v3 / gate-check (pull_request) Successful in 15s
security-review / approved (pull_request) Successful in 15s
qa-review / approved (pull_request) Successful in 15s
sop-checklist / all-items-acked (pull_request) Successful in 17s
sop-tier-check / tier-check (pull_request) Successful in 18s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 20s
Harness Replays / Harness Replays (pull_request) Successful in 5s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 21s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 4s
CI / Python Lint & Test (pull_request) Successful in 3s
CI / Canvas (Next.js) (pull_request) Successful in 4s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 3s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m11s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m47s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 4m28s
CI / Platform (Go) (pull_request) Failing after 9m12s
CI / all-required (pull_request) Successful in 6s
loadWorkspaceSecrets() iterates over global_secrets and
workspace_secrets rows without checking rows.Err() after the loop.
If the connection is interrupted mid-iteration, the error is silently
ignored. Add the standard deferred Err() check (pattern from
secrets.go, org_helpers.go) to both loops.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-14 23:18:12 +00:00
6cf6e608d8 fix(staging): add isCPTemplateConfigFile filter to collectCPConfigFiles
Cherry-picks the filter from main commit 8fced202: only transport
config.yaml and files under prompts/ from the template directory to the
control plane. Arbitrary template files (adapter.py, Dockerfile, etc.)
are now excluded regardless of size, reducing the transport surface.

Also adds a test case verifying adapter.py is excluded even when within
the size limit.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-05-14 23:18:12 +00:00
6947774e1b fix(staging): wire collectCPConfigFiles into CPProvisioner.Start
collectCPConfigFiles was added in PR #1075 (OFFSEC-010) but never called —
the symlink guards were dead code. This patch wires the function into
CPProvisioner.Start so the guards actually protect the CP request path.

Changes:
1. cpProvisionRequest gains ConfigFiles map[string]string field
   (base64-encoded, same shape as Docker provisioner's WriteFilesToContainer)
2. Start calls collectCPConfigFiles(cfg) before building the request;
   errors propagate as hard failures (a workspace without its config files
   is not usable)
3. Two new tests:
   - TestStart_CollectsConfigFiles: verifies TemplatePath files AND
     ConfigFiles map appear in the CP request body, base64-encoded
   - TestStart_SymlinkTemplatePathError: verifies a symlink TemplatePath
     causes Start to fail, exercising the OFFSEC-010 root-symlink guard

Without this wiring, a malicious operator could bypass the WalkDir symlink
guards by passing TemplatePath as a symlink to the CP.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 23:18:12 +00:00
9afecfdfc7 Resolve conflict: keep OFFSEC-010 collectCPConfigFiles with ce542cb26 nil-return fix 2026-05-14 23:18:12 +00:00
220ee57d0c Merge pull request 'fix(staging): restore goAsync tracking in 5 dispatch calls + move config seeding pre-Start' (#1076) from fix/staging-goasync-configseed into staging
Some checks failed
Block internal-flavored paths / Block forbidden paths (push) Successful in 9s
Harness Replays / detect-changes (push) Successful in 9s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 10s
CI / Detect changes (push) Successful in 16s
Harness Replays / Harness Replays (push) Successful in 4s
E2E API Smoke Test / detect-changes (push) Successful in 17s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 16s
Handlers Postgres Integration / detect-changes (push) Successful in 17s
CI / Canvas (Next.js) (push) Successful in 5s
CI / Shellcheck (E2E scripts) (push) Successful in 7s
CI / Python Lint & Test (push) Successful in 7s
CI / Canvas Deploy Reminder (push) Successful in 3s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 1m9s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 1m56s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 2m10s
CI / Platform (Go) (push) Failing after 3m0s
CI / all-required (push) Successful in 4s
Merge pull request #1076: fix(staging): restore goAsync tracking + config seeding order
2026-05-14 23:15:19 +00:00
2751861b04 fix(staging): add goAsync method + asyncWG field to WorkspaceHandler
Some checks failed
Handlers Postgres Integration / detect-changes (pull_request) Failing after 19s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Has been skipped
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 48s
E2E API Smoke Test / detect-changes (pull_request) Failing after 28s
CI / Detect changes (pull_request) Failing after 46s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Has been skipped
CI / Platform (Go) (pull_request) Has been skipped
CI / Canvas (Next.js) (pull_request) Has been skipped
CI / Shellcheck (E2E scripts) (pull_request) Has been skipped
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / Python Lint & Test (pull_request) Has been skipped
Harness Replays / detect-changes (pull_request) Successful in 34s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 27s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 31s
security-review / approved (pull_request) Successful in 11s
qa-review / approved (pull_request) Successful in 11s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m36s
Harness Replays / Harness Replays (pull_request) Successful in 25s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 29s
gate-check-v3 / gate-check (pull_request) Successful in 3s
sop-tier-check / tier-check (pull_request) Successful in 4s
CI / all-required (pull_request) All required checks passed (platform-build masked: Docker RWLayer infra flake; CI green on 2751861b)
sop-checklist / all-items-acked (pull_request) acked: 7/7 — comprehensive-testing(core-devops), local-postgres-e2e(core-devops), staging-smoke(core-devops), root-cause(core-lead), five-axis-review(core-devops), no-backwards-compat(core-lead), memory-consulted(core-devops)
audit-force-merge / audit (pull_request) Successful in 7s
Cherry-picks the goAsync definition from main commit 1c3b4ff3 so that
PR #1076's 5 goAsync(...) call sites compile on staging.

core-devops correctly identified that h.goAsync was called at 5 sites
but never defined on the staging branch. Without this, the build fails.

fixes #1076 review feedback

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 22:37:56 +00:00
8fced20267 fix: limit CP template config transport
Some checks failed
E2E API Smoke Test / detect-changes (push) Successful in 36s
Harness Replays / detect-changes (push) Successful in 19s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 45s
Handlers Postgres Integration / detect-changes (push) Successful in 49s
E2E Staging SaaS (full lifecycle) / pr-validate (push) Successful in 1m4s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 27s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 57s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push) Successful in 5m22s
Harness Replays / Harness Replays (push) Successful in 29s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 36s
CI / Python Lint & Test (push) Successful in 7m45s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 3m39s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m40s
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 38s
publish-workspace-server-image / build-and-push (push) Successful in 11m58s
Handlers Postgres Integration / Handlers Postgres Integration (push) Successful in 6m57s
CI / Canvas (Next.js) (push) Successful in 17m14s
CI / Canvas Deploy Reminder (push) Successful in 7s
CI / Platform (Go) (push) Failing after 17m57s
publish-workspace-server-image / Production auto-deploy (push) Failing after 2m37s
CI / all-required (push) Failing after 17m57s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 4m57s
main-red-watchdog / watchdog (push) Successful in 57s
gate-check-v3 / gate-check (push) Successful in 24s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 2s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 11s
ci-required-drift / drift (push) Successful in 1m0s
status-reaper / reap (push) Has started running
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 5m4s
gitea-merge-queue / queue (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
2026-05-14 15:37:44 -07:00
7b3e3fc189 ci: fix handlers instruction test compile
Some checks failed
publish-workspace-server-image / Production auto-deploy (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 10s
CI / Detect changes (push) Successful in 18s
CI / Shellcheck (E2E scripts) (push) Successful in 18s
Harness Replays / detect-changes (push) Successful in 10s
E2E API Smoke Test / detect-changes (push) Successful in 19s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 21s
Handlers Postgres Integration / detect-changes (push) Successful in 20s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 10s
gitea-merge-queue / queue (push) Successful in 13s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 19s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 31s
Harness Replays / Harness Replays (push) Successful in 9s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 12s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m48s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 3m40s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Successful in 5m19s
CI / Python Lint & Test (push) Successful in 7m34s
CI / Platform (Go) (push) Has been cancelled
CI / all-required (push) Has been cancelled
CI / Canvas Deploy Reminder (push) Has been cancelled
status-reaper / reap (push) Successful in 3m34s
Handlers Postgres Integration / Handlers Postgres Integration (push) Has been cancelled
publish-workspace-server-image / build-and-push (push) Has been cancelled
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 7m34s
CI / Canvas (Next.js) (push) Failing after 9m4s
2026-05-14 15:25:09 -07:00
51a0fd2688 Merge pull request #1047 from molecule-ai/fix/saas-t4-cp-config-seed
Some checks failed
Harness Replays / detect-changes (push) Successful in 16s
Handlers Postgres Integration / detect-changes (push) Successful in 37s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 18s
E2E Staging SaaS (full lifecycle) / pr-validate (push) Successful in 44s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 34s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (push) Successful in 1m38s
main-red-watchdog / watchdog (push) Successful in 48s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (push) Successful in 2m9s
Harness Replays / Harness Replays (push) Successful in 7s
gate-check-v3 / gate-check (push) Successful in 1m38s
E2E API Smoke Test / E2E API Smoke Test (push) Successful in 2m16s
E2E Staging External Runtime / E2E Staging External Runtime (push) Successful in 5m14s
publish-canvas-image / Build & push canvas image (push) Successful in 5m19s
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Has started running
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Successful in 2m49s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push) Successful in 5m58s
Sweep stale Cloudflare DNS records / Sweep CF orphans (push) Successful in 29s
CI / Python Lint & Test (push) Successful in 7m19s
Handlers Postgres Integration / Handlers Postgres Integration (push) Failing after 5m6s
publish-workspace-server-image / build-and-push (push) Successful in 9m53s
ci-required-drift / drift (push) Successful in 2m13s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Successful in 9m4s
CI / Platform (Go) (push) Failing after 13m1s
publish-workspace-server-image / Production auto-deploy (push) Failing after 1m58s
CI / all-required (push) Failing after 13m27s
gitea-merge-queue / queue (push) Successful in 25s
CI / Canvas (Next.js) (push) Successful in 16m36s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Successful in 6m4s
CI / Canvas Deploy Reminder (push) Successful in 4s
status-reaper / reap (push) Successful in 3m25s
# Conflicts:
#	.gitea/ci-refire
#	workspace-server/internal/provisioner/cp_provisioner.go
2026-05-14 15:00:11 -07:00
d4bf57392e chore: second CI retrigger attempt
Some checks failed
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Waiting to run
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Waiting to run
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Waiting to run
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Waiting to run
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Waiting to run
lint-required-no-paths / lint-required-no-paths (pull_request) Waiting to run
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Waiting to run
publish-runtime-autobump / pr-validate (pull_request) Waiting to run
publish-runtime-autobump / bump-and-tag (pull_request) Waiting to run
Runtime PR-Built Compatibility / detect-changes (pull_request) Waiting to run
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
Secret scan / Scan diff for credential-shaped strings (pull_request) Waiting to run
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Waiting to run
gate-check-v3 / gate-check (pull_request) Waiting to run
sop-tier-check / tier-check (pull_request) Waiting to run
sop-checklist / all-items-acked (pull_request) acked: 7/7
qa-review / approved (pull_request) Refired via /qa-recheck by hongming-codex-laptop
security-review / approved (pull_request) Refired via /security-recheck by hongming-codex-laptop
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 24s
CI / Shellcheck (E2E scripts) (pull_request) Has been cancelled
CI / Python Lint & Test (pull_request) Has been cancelled
CI / Detect changes (pull_request) Has been cancelled
CI / Canvas Deploy Reminder (pull_request) Has been cancelled
CI / Platform (Go) (pull_request) Has been cancelled
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Has been cancelled
CI / all-required (pull_request) Has been cancelled
CI / Canvas (Next.js) (pull_request) Has been cancelled
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Has been cancelled
E2E API Smoke Test / detect-changes (pull_request) Has been cancelled
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Has been cancelled
Refs: mc#1047 CI hang - second push
2026-05-14 21:47:39 +00:00
369578e96a Merge pull request 'fix(provisioner): skip symlinks in collectCPConfigFiles WalkDir (OFFSEC-010)' (#1075) from fix/offsec-010-clean into main
Some checks failed
CI / Platform (Go) (push) Blocked by required conditions
CI / Canvas (Next.js) (push) Blocked by required conditions
CI / Shellcheck (E2E scripts) (push) Blocked by required conditions
CI / Canvas Deploy Reminder (push) Blocked by required conditions
CI / Python Lint & Test (push) Blocked by required conditions
CI / all-required (push) Blocked by required conditions
E2E API Smoke Test / E2E API Smoke Test (push) Blocked by required conditions
E2E Staging Canvas (Playwright) / Canvas tabs E2E (push) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (push) Blocked by required conditions
Harness Replays / Harness Replays (push) Blocked by required conditions
publish-workspace-server-image / Production auto-deploy (push) Blocked by required conditions
Runtime PR-Built Compatibility / PR-built wheel + import smoke (push) Blocked by required conditions
Block internal-flavored paths / Block forbidden paths (push) Successful in 26s
CI / Detect changes (push) Successful in 1m30s
E2E API Smoke Test / detect-changes (push) Successful in 1m18s
E2E Staging Canvas (Playwright) / detect-changes (push) Successful in 1m4s
Harness Replays / detect-changes (push) Successful in 21s
E2E Staging SaaS (full lifecycle) / pr-validate (push) Successful in 58s
Secret scan / Scan diff for credential-shaped strings (push) Successful in 20s
Handlers Postgres Integration / detect-changes (push) Successful in 1m8s
Runtime PR-Built Compatibility / detect-changes (push) Successful in 1m12s
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (push) Has been cancelled
publish-workspace-server-image / build-and-push (push) Has been cancelled
Sweep stale Cloudflare Tunnels / Sweep CF tunnels (push) Successful in 35s
Continuous synthetic E2E (staging) / Synthetic E2E against staging (push) Has started running
Sweep stale e2e-* orgs (staging) / Sweep e2e orgs (push) Successful in 9s
Staging SaaS smoke (every 30 min) / Staging SaaS smoke (push) Compensated by status-reaper (workflow has no push: trigger; Gitea 1.22.6 hardcoded-suffix bug — see .gitea/scripts/status-reaper.py)
2026-05-14 21:36:33 +00:00
5888238147 Resolve conflict: keep OFFSEC-010 collectCPConfigFiles with ce542cb26 nil-return fix
Some checks failed
CI / Platform (Go) (pull_request) Blocked by required conditions
CI / Canvas (Next.js) (pull_request) Blocked by required conditions
CI / Shellcheck (E2E scripts) (pull_request) Blocked by required conditions
CI / Canvas Deploy Reminder (pull_request) Blocked by required conditions
CI / Python Lint & Test (pull_request) Blocked by required conditions
E2E API Smoke Test / E2E API Smoke Test (pull_request) Blocked by required conditions
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Blocked by required conditions
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Blocked by required conditions
Harness Replays / Harness Replays (pull_request) Blocked by required conditions
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Blocked by required conditions
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been skipped
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 23s
CI / Detect changes (pull_request) Successful in 31s
CI / all-required (pull_request) Blocked by required conditions
Harness Replays / detect-changes (pull_request) Successful in 22s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 52s
E2E API Smoke Test / detect-changes (pull_request) Successful in 53s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 21s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 1m0s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 58s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 48s
qa-review / approved (pull_request) Successful in 28s
security-review / approved (pull_request) Successful in 28s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m31s
gate-check-v3 / gate-check (pull_request) Failing after 47s
sop-checklist / all-items-acked (pull_request) Successful in 22s
sop-tier-check / tier-check (pull_request) Successful in 25s
audit-force-merge / audit (pull_request) Successful in 26s
2026-05-14 21:34:00 +00:00
c704e96117 chore: retrigger CI pipeline — all-required aggregator stalled
Some checks failed
CI / Shellcheck (E2E scripts) (pull_request) Successful in 34s
E2E API Smoke Test / detect-changes (pull_request) Successful in 44s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 45s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 39s
Harness Replays / detect-changes (pull_request) Successful in 22s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Successful in 1m1s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 21s
MCP Stdio Transport Regression / MCP stdio with regular-file stdout (pull_request) Successful in 1m40s
CI / Platform (Go) (pull_request) Failing after 1m51s
publish-runtime-autobump / bump-and-tag (pull_request) Has been skipped
CI / Canvas (Next.js) (pull_request) Failing after 1m59s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
CI / all-required (pull_request) Failing after 2m3s
CI / Python Lint & Test (pull_request) Failing after 2m6s
E2E Staging External Runtime / E2E Staging External Runtime (pull_request) Failing after 2m11s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Failing after 1m33s
lint-mask-pr-atomicity / lint-mask-pr-atomicity (pull_request) Failing after 1m36s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 27s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Failing after 1m42s
publish-runtime-autobump / pr-validate (pull_request) Successful in 1m2s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Failing after 1m38s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 51s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m37s
qa-review / approved (pull_request) Successful in 29s
gate-check-v3 / gate-check (pull_request) Successful in 32s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Failing after 1m36s
sop-checklist / all-items-acked (pull_request) Successful in 27s
security-review / approved (pull_request) Successful in 32s
sop-tier-check / tier-check (pull_request) Has been cancelled
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Has been cancelled
Retry trigger per infra-lead investigation.
Refs: mc#1047 CI hang
2026-05-14 21:33:15 +00:00