|
Some checks failed
qa-review / approved (pull_request) Waiting to run
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 15s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 30s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 22s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 35s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 20s
CI / Detect changes (pull_request) Successful in 49s
E2E API Smoke Test / detect-changes (pull_request) Successful in 50s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 49s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 40s
security-review / approved (pull_request) Failing after 41s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 1m33s
gate-check-v3 / gate-check (pull_request) Successful in 1m4s
sop-checklist / all-items-acked (pull_request) Successful in 25s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 1m30s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 10s
sop-tier-check / tier-check (pull_request) Successful in 25s
Lint workflow YAML (Gitea-1.22.6-hostile shapes) / Lint workflow YAML for Gitea-1.22.6-hostile shapes (pull_request) Successful in 1m50s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 11s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 7s
lint-continue-on-error-tracking / lint-continue-on-error-tracking (pull_request) Successful in 2m51s
Lint pre-flip continue-on-error / Verify continue-on-error flips have run-log proof (pull_request) Successful in 2m48s
lint-required-context-exists-in-bp / lint-required-context-exists-in-bp (pull_request) Failing after 2m50s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 1m46s
CI / Python Lint & Test (pull_request) Successful in 7m36s
CI / Canvas (Next.js) (pull_request) Successful in 19m17s
CI / Canvas Deploy Reminder (pull_request) Successful in 14s
CI / Platform (Go) (pull_request) Failing after 31m20s
CI / all-required (pull_request) Failing after 41m2s
Hermes and OpenClaw were reported "fleet-verified / cascade-complete" off proxy signals (registry registration + heartbeat; model round-trip 200) while a freshly-provisioned workspace asked "can you see your peers" on canvas actually FAILS (Hermes: 401 on the molecule MCP list_peers call; OpenClaw: native sessions_list fallback, no platform peers). Tasks #142/#159 were even marked "completed" under this proxy-verification flaw. This adds a dedicated staging-E2E gate that codifies the LITERAL user-facing path so it can never silently regress: - New e2e-peer-visibility.yml + tests/e2e/test_peer_visibility_mcp_staging.sh. - Provisions a brand-new throwaway org via the real CP provisioning path + one sibling workspace per runtime under test (hermes, openclaw, claude-code) under a shared parent. - For each runtime, drives the byte-for-byte JSON-RPC tools/call name=list_peers envelope to POST /workspaces/:id/mcp using that workspace's OWN bearer token, through the real WorkspaceAuth + MCPRateLimiter chain. NOT a proxy: not GET /registry/:id/peers, not /health, not the heartbeat table. - Asserts HTTP 200 + JSON-RPC result (not error) + the returned peer set literally contains the other provisioned sibling IDs (not empty, not a native-sessions fallback). - Scoped teardown only of the e2e-pv-<run_id> org this run created (script EXIT trap + workflow always() net + sweep-stale-e2e-orgs as the final 'e2e-' prefix net) — never a cluster-wide cleanup. Honest gate, NO continue-on-error: it is RED on today's broken behavior by design and goes green only when the in-flight Hermes-401 + OpenClaw-MCP-wiring root-cause fixes actually land. Landed NON-required (not in branch_protections) so it does not wedge unrelated merges while red; flip-to-required checklist tracked in molecule-core#1296. Gitea-1.22.6 / act_runner hardening honored: mirrored actions/checkout SHA (the one e2e-staging-canvas.yml uses successfully), per-SHA concurrency, workflow-level GITHUB_SERVER_URL, no cross-repo uses. Passes lint-workflow-yaml, lint-continue-on-error-tracking, lint-required-no-paths locally. Refs: molecule-core#1296 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| lib | ||
| _extract_token.py | ||
| _lib.sh | ||
| lint_cleanup_traps.sh | ||
| STAGING_SAAS_E2E.md | ||
| test_2307_peer_visibility_staging.sh | ||
| test_a2a_e2e.sh | ||
| test_activity_e2e.sh | ||
| test_api.sh | ||
| test_chat_attachments_e2e.sh | ||
| test_chat_attachments_multiruntime_e2e.sh | ||
| test_chat_upload_e2e.sh | ||
| test_claude_code_e2e.sh | ||
| test_comprehensive_e2e.sh | ||
| test_dev_mode.sh | ||
| test_harness_rc_normalization.sh | ||
| test_mcp_stdio_staging.sh | ||
| test_model_slug.sh | ||
| test_notify_attachments_e2e.sh | ||
| test_peer_visibility_mcp_staging.sh | ||
| test_poll_mode_chat_upload_e2e.sh | ||
| test_poll_mode_e2e.sh | ||
| test_priority_runtimes_e2e.sh | ||
| test_saas_tenant.sh | ||
| test_secrets_dispatch.sh | ||
| test_staging_external_runtime.sh | ||
| test_staging_full_saas.sh | ||
| test_workspace_abilities_e2e.sh | ||