staging → main: auto-promote 03d5f80 - #2430
Merged
Merged
Conversation
External molecule-mcp runtimes register with hardcoded agent_card.name
= molecule-mcp-{id[:8]} and skills=[]. That made every external
workspace look identical on the canvas and gave peer agents calling
list_peers no signal beyond name — they had to guess capabilities.
Three new env vars let the operator declare identity + capabilities
without code changes:
* MOLECULE_AGENT_NAME — display name on canvas (default unchanged)
* MOLECULE_AGENT_DESCRIPTION — one-line description (default empty)
* MOLECULE_AGENT_SKILLS — comma-separated skill names
Comma-separated skills get expanded to {"name": "..."} objects — the
minimum shape that satisfies both shared_runtime.summarize_peers
(reads s["name"]) AND canvas SkillsTab.tsx (id falls back to name).
Strict-superset behaviour: when no env vars are set, agent_card
matches the previous hardcoded value exactly. No regression for
operators who haven't migrated.
Why this matters end-to-end:
* Canvas Skills tab now shows each declared skill as a chip
* Peer agents calling list_peers see {name, skills} per peer and
can route delegations to the right specialist
* Same applies to the canvas Details tab + workspace card hover
Tests cover: defaults match prior behaviour; name override; CSV →
skill objects; whitespace stripping + empty entries dropped;
description omitted when unset (keeps wire payload minimal);
whitespace-only name falls back to default; end-to-end through
_platform_register's payload.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(mcp_cli): agent_card from env vars (capability discovery)
github-actions
Bot
requested a review
from hongmingwang-moleculeai
as a code owner
May 1, 2026 02:33
HongmingWang-Rabbit
pushed a commit
that referenced
this pull request
Jun 12, 2026
…+ local-provision port-squatter flake - reduced-motion.test.ts: the connection-status pulse dot moved from SidePanel.tsx into the extracted WorkspacePanelTabs.tsx; retarget the motion-safe:animate-pulse assertion to where the guarded indicator now lives (was the only red in CI / Canvas -> gates CI / all-required). - e2e-staging-saas.yml: add bp directives to the 4 new concierge jobs the Tier-2g lint flagged — bp-required: pending #2430 for the three real push-time staging e2e jobs (creates-workspace / platform / user-tasks, aspiring gates sharing the cp#245 de-flake surface), bp-exempt for the PR-time compile-only job. #2187 (the sibling's tracker) is closed/unrelated. - local-provision-e2e.yml (no-flakes RCA): the :8080 kill-step only matched procs *named* platform-server, so a differently-named squatter survived, our bind went FATAL, and the /health loop false-positived against the squatter. Free :8080 from ANY holder (fuser/lsof) and verify our own PID owns the port BEFORE trusting /health, in both the stub and real jobs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated promotion of
staging(03d5f80c) tomain. All required staging gates green at this SHA: CI, E2E Staging Canvas, E2E API Smoke, CodeQL.This PR is auto-generated by
.github/workflows/auto-promote-staging.ymlwhenever every required gate completes green on the same staging SHA. It exists because main's branch protection requires status checks "set by the expected GitHub apps" — directgit pushfrom a workflow can't satisfy that, only PR merges through the queue can.Merge queue lands this; no human action needed unless gates fail. Reverse-direction sync (the merge commit on main → staging) is handled by
auto-sync-main-to-staging.yml.