Commit Graph

280 Commits

Author SHA1 Message Date
Molecule AI Community Manager
9ef87a4f1e docs(devrel): add Phase 30 hero video — 3 aspect ratio cuts
Primary (16:9), social (9:16), and LinkedIn (1:1) cuts.
47.95s, 30fps H.264, dark zinc theme, burn-in captions, VO track.

Assembled from:
- marketing/assets/phase30-fleet-diagram.png
- marketing/audio/phase30-video-vo.mp3

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 11:04:27 +00:00
molecule-ai[bot]
c886b528a4
fix(incidents): redact credential prefix/suffix in INCIDENT_LOG.md (GH #1333) (#1359)
Reduces credential surface in INCIDENT_LOG.md from partial-informative
(kvv-lHt-QFSyZwxeo...KVw, github_pat_11BPRRWQI0m...hsIJLIL) to
fully-redacted (sk-cp-lHt...KVw, github_pat_11...hsIJLIL) format.

ADMIN_TOKEN was already in truncated form (HlgeMb8...ShARE=).

Addresses GH #1333.

Co-authored-by: Molecule AI Core-DevOps <core-devops@agents.moleculesai.app>
2026-04-21 10:32:23 +00:00
Molecule AI Community Manager
8adf972dd9 docs(tutorials): add Self-Hosted AI Agents deployment guide
Covers Docker, Fly Machines, and bare metal deployment models with
use cases, configuration examples, and a comparison table. Captures
keywords from SEO brief #1126: self-hosted AI agents platform, remote
AI agent deployment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:26:41 +00:00
Molecule AI Community Manager
dbf53aa901 docs(marketing): add Discord adapter Day 2 Reddit/HN campaign copy
Adds Reddit (r/LocalLLaMA) and Hacker News post bodies for Discord adapter
Day 2 community campaign. Blog URL left as placeholder — fill before posting.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 10:26:14 +00:00
molecule-ai[bot]
274a0b6727
docs(blog): add org-scoped API keys enterprise key management post
Adds the org-scoped API keys blog post (extracted from orphaned PR #1342).
Already live on Molecule-AI/docs main at content/blog/2026-04-20-org-api-keys.
Molecule AI is open source. Org-scoped API keys shipped in PRs #1105, #1107, #1109, and #1110.
2026-04-21 08:26:50 +00:00
molecule-ai[bot]
3bef6af241 fix: apply #1124 env-var defaults + scrub F1088 credentials from INCIDENT_LOG.md (#1347)
- PLATFORM_URL: replace unreachable http://platform:8080 mesh-only default
  with Docker-aware detection (host.docker.internal in containers,
  localhost for local dev) across all workspace Python modules and the
  git-token-helper shell script.
- WORKSPACE_ID: add fail-fast validation in main.py (SystemExit if empty)
  consistent with coordinator.py / a2a_cli.py patterns already in place.
- INCIDENT_LOG.md: replace all 3 F1088 credential types with
  ***REDACTED*** (sk-cp- 2x, github_pat_ 2x, ADMIN_TOKEN base64 3x).

Fixes #1124, #1333.

Co-authored-by: Molecule AI Dev Lead <dev-lead@agents.moleculesai.app>
2026-04-21 08:11:44 +00:00
molecule-ai[bot]
e07e22ad57 fix(orchestrator): fail-fast if WORKSPACE_ID env var is unset/empty (#1124) (#1336)
* fix(orchestrator): fail-fast if WORKSPACE_ID env var is unset/empty

Issue #1124: orchestrator GET /workspaces/{WORKSPACE_ID} returned 404
because 5 Python modules defaulted WORKSPACE_ID to "" instead of
validating the injected value. Empty string produced URLs like
/workspaces//heartbeat — route not found.

Fix: raise RuntimeError at module load if WORKSPACE_ID is unset
or empty, rather than silently producing broken API calls downstream.

Files changed (all same pattern):
- workspace/a2a_cli.py
- workspace/a2a_client.py
- workspace/coordinator.py
- workspace/consolidation.py
- workspace/molecule_ai_status.py

The platform (provisioner.go:375) correctly injects WORKSPACE_ID at
container provision time. This fix ensures the orchestrator surfaces
the misconfiguration immediately instead of failing silently at runtime.

Closes #1124.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(incidents): rebuild INCIDENT_LOG — linter reset, all sections restored

Rebuilt after linter reset. Sections restored:
- Security Audit Cycle 6 (abc58b47)
- F1100 workspace_restart.go path traversal (resolved via 0bd2bf2)
- F1088 credential exposure (closed)
- F1097 org_id context fix (resolved)
- PR #1226 err.Error() leaks (stale)
- QA Round 18 orgs-page regression (fixed on main, staging pending)
- Issue #1124 fix PR #1336 filed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Core Platform Lead <core-platform-lead@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 07:42:00 +00:00
molecule-ai[bot]
5a219436f4 docs(incidents): update INCIDENT_LOG — all findings re-verified post-restart (#1326)
- F1088: Close reminder added (admin token rotation still recommended)
- CI stall: RESOLVED — staging CI progressing normally (run #24708961892 success)
- PR #1246: Superseded by PR #1247 (732f65e, merged to main — sed fix done)
- CWE-78 branch: Superseded by dc21821 (staging) and 169120d (main) — proper fixes merged
- CWE-918 SSRF: e431fc4 merged to main
- F1085 regression branch: Still a regression (behind staging, removes redactSecrets)
- Issue #1124: Root cause confirmed — 5 Python modules default WORKSPACE_ID to ""; fail-fast fix documented

Co-authored-by: Molecule AI Core Platform Lead <core-platform-lead@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 07:21:30 +00:00
molecule-ai[bot]
3dc5e83d6b fix(docs): correct https://wss:// mixed protocol typo in remote-workspaces-faq.md
Line 98 had 'curl -s https://wss://[your-org].moleculesai.app/health' —
mixed protocol prefix. Changed to 'curl -s https://' (HTTPS health check endpoint).

Spotted in PR #1276 review.
2026-04-21 06:37:25 +00:00
molecule-ai[bot]
cde02594bc Merge pull request #1306 from Molecule-AI/content/blog/phase30-launch-content
docs(marketing): Phase 30 launch — content blog posts, DevRel assets, and execution suite
2026-04-21 06:23:06 +00:00
molecule-ai[bot]
c40b237c32 docs(marketing): Phase 30 launch — content blog posts, DevRel assets, and execution suite
Rebuilt from original PR #1276. All Phase 30 launch content restored:
- 5 blog posts (Remote Workspaces, Chrome DevTools MCP, Container vs Remote, Secure by Design)
- 4 guides (Remote Workspaces, FAQ, same-origin canvas, quickstart audio)
- Community copy: Discord/Slack announcements, HN launch guide
- Social copy: Phase 30 (4 X versions + LinkedIn), Chrome DevTools MCP
- Sales: landing copy, battlecards, one-pager, objection handlers
- Press release draft
- Demos: AGENTS.md auto-gen, Cloudflare Artifacts
- Audio: TTS announce, VO scripts, demo narrations
- Fleet diagram, asset inventory, video production package
- Roadmap brief, email drip sequence, post-push checklist

Closes GH#1126
2026-04-21 06:22:27 +00:00
molecule-ai[bot]
6331c5bfe8 docs(blog): Discord adapter launch — Your AI Agents Just Joined Discord 2026-04-21 06:11:39 +00:00
molecule-ai[bot]
966030037c seo: add Phase 30 Remote Workspaces keyword briefs (GH#1126) 2026-04-21 05:54:12 +00:00
molecule-ai[bot]
dc0c806db3 marketing: approve Chrome DevTools MCP social copy — post Day 1 today 2026-04-21 05:48:22 +00:00
molecule-ai[bot]
59e7486ef1 docs(api-ref): add workspace file copy API reference (#1281)
Documents TemplatesHandler.copyFilesToContainer (container_files.go):
- Endpoint overview: PUT /workspaces/:id/files/*path
- Parameter descriptions for all four function parameters
- CWE-22 path traversal protection (PRs #1267/1270/1271)
- Defense-in-depth: validateRelPath at handler + archive boundary
- Full error code table (400/404/500)
- curl example with success and path-traversal rejection cases

Also covers: writeViaEphemeral routing, findContainer fallback,
allowed roots allow-list, and related links to platform-api.md.

Co-authored-by: Molecule AI Technical Writer <technical-writer@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 05:37:55 +00:00
molecule-ai[bot]
f3279c130c docs(marketing): update Phase 30 brief — Action 5 complete, docs/index.md update noted 2026-04-21 03:52:33 +00:00
molecule-ai[bot]
79f8147ea8 docs: add Remote Agents feature + Phase 30 blog links to docs index 2026-04-21 03:51:52 +00:00
molecule-ai[bot]
ea3ddbd3ca docs(tutorials): add Self-Hosted AI Agents guide — Docker, Fly Machines, bare metal 2026-04-21 03:50:36 +00:00
Hongming Wang
1f35128ebb Merge pull request #1262 from Molecule-AI/fix/sweeper-emit-provision-failed
fix(sweeper): emit WORKSPACE_PROVISION_FAILED so canvas updates UI
2026-04-20 20:39:20 -07:00
molecule-ai[bot]
7158f8f01c docs(blog): Skills Over Bundled Tools explainer (addresses issue #706) 2026-04-21 03:36:41 +00:00
molecule-ai[bot]
6fe3255eb5 docs(blog): Skills Over Bundled Tools explainer (addresses issue #706) 2026-04-21 03:34:29 +00:00
molecule-ai[bot]
9e69a03fae docs(marketing): add Phase 30 Remote Workspaces social copy 2026-04-21 03:21:24 +00:00
molecule-ai[bot]
9c611d6129 docs: update docs/quickstart.md — Phase 30 remote agent registration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 03:14:01 +00:00
molecule-ai[bot]
9052d2d2ad docs: update docs/agent-runtime/workspace-runtime.md — Phase 30 remote agent registration
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 03:14:00 +00:00
molecule-ai[bot]
98401b7eda docs(tutorials): add Register a Remote Agent on Molecule AI tutorial 2026-04-21 03:09:56 +00:00
molecule-ai[bot]
3c87417478 docs(marketing): add social copy for chrome-devtools-mcp and fly-deploy-anywhere campaigns (#1180)
* docs(marketing): add social copy for chrome-devtools-mcp and fly-deploy-anywhere campaigns

Two campaign social copy packages:
- chrome-devtools-mcp-seo: 5 X posts + 1 LinkedIn post + campaign notes
  P0 keywords: AI agent browser control, MCP browser automation, browser automation
  AI agents, MCP governance layer
- fly-deploy-anywhere: 5 X posts + 1 LinkedIn post + campaign notes
  Primary hook: ADMIN_TOKEN rotation without downtime

Coordination: chrome-devtools-mcp Day 1, fly-deploy-anywhere Day 3–5.
Social Media Brand to publish pending Marketing Lead approval.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* marketing(audio): add audit trail observability TTS clip

audio/audit-trail-observability.mp3: 734KB, 197 words (~74s at 160wpm).
Script: two-layer audit observability — Canvas Audit Trail + org API key attribution.
Companion post: docs PR #53 (2026-04-21-audit-trail-api-logs).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(marketing): social copy campaigns + TTS audio

- chrome-devtools-mcp-seo social copy (5 X posts + LinkedIn)
- fly-deploy-anywhere social copy (5 X posts + LinkedIn)
- TTS: chrome-devtools, phase30, audit-trail audio

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* marketing: add Chrome DevTools MCP backlinks outreach draft

Community outreach templates for r/programming, r/MachineLearning,
r/webdev, LinkedIn, MCP GitHub, HN. Priority target list and
guidelines. Action 6 from Marketing Lead brief.

---------

Co-authored-by: Molecule AI Content Marketer <content-marketer@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: molecule-ai[bot] <276602405+molecule-ai[bot]@users.noreply.github.com>
2026-04-21 02:55:53 +00:00
molecule-ai[bot]
3a20099573 docs: fix agent terminology in mcp-server-setup.md and fly-machines-provisioner.md (#1176)
- mcp-server-setup.md: move 'Claude Code, Cursor, etc.' to a follow-on
  sentence instead of parenthetical, fixing awkward 'agent (Claude Code,...)' pattern
- fly-machines-provisioner.md: replace 'as a Fly Machine' with 'on Fly Machines',
  add clarification that the platform manages the workspace and Fly manages the machine

Co-authored-by: Molecule AI Documentation Specialist <documentation-specialist@agents.moleculesai.app>
2026-04-21 02:50:57 +00:00
molecule-ai[bot]
649f766a35 docs(marketing): add Phase 30 Remote Workspaces SEO brief (issue #1126) 2026-04-21 02:49:54 +00:00
Hongming Wang
8059fee128 fix(tenant-guard): allowlist /registry/register + /registry/heartbeat (#1236)
* fix(security): call redactSecrets before seeding workspace memories (F1085)

seedInitialMemories() in workspace_provision.go was inserting template/config
memories directly into agent_memories without scrubbing credential patterns.
A workspace provisioned from a template containing API keys, tokens, or other
secrets would store them in plain text — the same class of issue as #838.

Fix: call redactSecrets(workspaceID, content) on the truncated memory content
before the INSERT. The truncation (maxMemoryContentLength = 100 KiB, CWE-400)
is preserved — redaction runs after truncation so the size limit still applies.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test(workspace_provision): add seedInitialMemories coverage for #1208

Cover the truncate-at-100k boundary (PR #1167, CWE-400) and the
redactSecrets call (F1085 / #1132), both identified as untested in #1208.

- TestSeedInitialMemories_TruncatesOversizedContent: boundary at exactly
  100k, 1 byte over, far over, and well under. Verifies INSERT receives
  exactly maxMemoryContentLength bytes.
- TestSeedInitialMemories_RedactsSecrets: verifies redactSecrets runs
  before INSERT, regression test for F1085.
- TestSeedInitialMemories_InvalidScopeSkipped: invalid scope is silently
  skipped, no INSERT called.
- TestSeedInitialMemories_EmptyMemoriesNil: nil slice is handled without
  DB calls.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(marketing): Discord adapter launch visual assets (#1209)

Squash-merge: Discord adapter launch visual assets (3 PNGs) + social copy. Acceptance: assets on staging.

* fix(ci): golangci-lint errcheck failures on staging

Suppress errcheck warnings for calls where the return value is safely
ignored:
  - resp.Body.Close() (artifacts/client.go): deferred cleanup — failure
    to close a response body is non-critical; the defer itself is what
    matters for connection reuse.
  - rows.Close() (bundle/exporter.go): deferred cleanup in a loop where
    rows.Err() already handles query errors.
  - filepath.Walk (bundle/exporter.go): top-level walk call; errors in
    sub-directory traversal are handled by the inner callback (which
    returns nil for err != nil).
  - broadcaster.RecordAndBroadcast (bundle/importer.go): fire-and-forget
    event broadcast; errors are logged internally by the broadcaster.
  - db.DB.ExecContext (bundle/importer.go): best-effort runtime column
    update; non-critical auxiliary data that the provisioner re-extracts
    if needed.

Fixes: #1143

* test(artifacts): suppress w.Write return values to satisfy errcheck

All httptest.ResponseWriter.Write calls in client_test.go now discard
the byte count and error return with _, _ = prefix. The Write method
is safe to discard in test handlers — httptest.ResponseWriter.Write
never returns an error for in-memory buffers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(CI): move changes job off self-hosted runner + add workflow concurrency

Cherry-pick from staging PR #1194 for main. Two changes to relieve
macOS arm64 runner saturation:

1. `changes` job: runs on ubuntu-latest instead of
   [self-hosted, macos, arm64]. This job does a plain `git diff`
   with zero macOS dependencies — moving it off the runner frees
   a slot immediately on every workflow trigger.

2. Add workflow-level concurrency:
   concurrency: group: ci-${{ github.ref }}; cancel-in-progress: true

   Prevents multiple stale in-flight CI runs from queuing on the
   same ref when new commits arrive.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(security): call redactSecrets before seeding workspace memories (F1085) (#1203)

seedInitialMemories() in workspace_provision.go was inserting template/config
memories directly into agent_memories without scrubbing credential patterns.
A workspace provisioned from a template containing API keys, tokens, or other
secrets would store them in plain text — the same class of issue as #838.

Fix: call redactSecrets(workspaceID, content) on the truncated memory content
before the INSERT. The truncation (maxMemoryContentLength = 100 KiB, CWE-400)
is preserved — redaction runs after truncation so the size limit still applies.

Co-authored-by: Molecule AI Core-BE <core-be@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* tick: 2026-04-21 ~03:40Z — CI stalled 59+ min, GH_TOKEN 4th rotation, PR reviews done

* fix(tenant-guard): allowlist /registry/register + /registry/heartbeat

Final layer of today's stuck-provisioning saga. With the private-IP
platform_url fix and the intra-VPC :8080 SG rule in place, workspace
EC2s finally reached the tenant on the right port — only to have every
POST bounced with a synthetic 404 by TenantGuard.

TenantGuard is the SaaS hook that rejects cross-tenant routing. It
demands X-Molecule-Org-Id on every request, but CP's workspace user-
data doesn't export MOLECULE_ORG_ID (only WORKSPACE_ID, PLATFORM_URL,
RUNTIME, PORT), so the runtime can't attach the header. Net effect:
every workspace's first heartbeat to /registry/heartbeat was a silent
404, and the workspace sat in 'provisioning' until the platform
sweeper timed it out.

Allowlist the two workspace-boot paths:
  - /registry/register  — one-shot at runtime startup
  - /registry/heartbeat — every 30s

Both are still gated by wsauth.HasAnyLiveToken (workspaces with a
token on file must present it; legacy tokenless workspaces are
grandfathered). And the tenant SG already scopes :8080 to the VPC
CIDR, so only intra-VPC callers can reach these paths in the first
place. The allowlist bypasses cross-org routing, not auth.

Follow-up: passing MOLECULE_ORG_ID into the workspace env would let
the runtime attach the header and drop this allowlist entry. Tracked
separately; not urgent since the multi-layer auth above is already
adequate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Core-BE <core-be@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Molecule AI Infra-SRE <infra-sre@agents.moleculesai.app>
Co-authored-by: molecule-ai[bot] <276602405+molecule-ai[bot]@users.noreply.github.com>
Co-authored-by: Molecule AI Core-DevOps <core-devops@agents.moleculesai.app>
Co-authored-by: Molecule AI Core-UIUX <core-uiux@agents.moleculesai.app>
Co-authored-by: Hongming Wang <hongmingwang.rabbit@users.noreply.github.com>
2026-04-21 02:47:27 +00:00
molecule-ai[bot]
74b40d6e7f docs(marketing): add Cloudflare Artifacts social copy draft 2026-04-21 02:18:26 +00:00
molecule-ai[bot]
6b25669807 docs(marketing): Cloudflare Artifacts blog + DevRel demos for #1174 #1173 #1172 2026-04-21 02:09:45 +00:00
molecule-ai[bot]
fd5bf93832 docs: add Cloudflare Artifacts blog to index 2026-04-21 01:57:19 +00:00
molecule-ai[bot]
caf15c1255 docs(blog): add Cloudflare Artifacts + Molecule AI integration post 2026-04-21 01:57:03 +00:00
molecule-ai[bot]
7faaf1934b docs(marketing): add Discord adapter coordination + org-API-keys announcement copy 2026-04-21 01:37:22 +00:00
molecule-ai[bot]
7343967b7f docs(marketing): add Discord adapter coordination + org-API-keys announcement copy 2026-04-21 01:37:21 +00:00
molecule-ai[bot]
2c14f63508 docs(blog): fix Getting Started section — browser MCP is custom server not built-in 2026-04-21 01:37:02 +00:00
molecule-ai[bot]
d3bf4e145e docs(marketing): add Discord adapter launch visual assets + branding 2026-04-21 01:14:25 +00:00
9cc48a99fb docs: add Phase 30 launch plan, SEO keywords, and Cognee research
- Phase 30 launch plan (chrome-devtools-mcp-seo-brief.md, blog post)
- SEO keyword brief (keywords.md with P0/P1 locked keywords)
- Cognee workspace isolation eval + architecture deep-dive

Co-Authored-By: PM <pm@agents.moleculesai.app>
2026-04-21 01:00:56 +00:00
Molecule AI Community Manager
b8305fddd3 docs(marketing): add posting guide for Discord adapter announcement
Document where to post (Reddit r/LocalLlama, r/ML, dev.to), required
credentials, and current status. All committed to staging.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:38:07 +00:00
Molecule AI Community Manager
fcf6883aa1 docs(marketing): add Discord adapter announcement draft (issue #1183)
Announcement copy for PR #656 — Discord adapter shipped.
Platforms: Discord, Reddit r/LocalLLama, dev.to.
Coordination note: thread #1182 timing TBD — flag for Social Media Brand.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
e30625628f docs: update social-channels.md — Discord adapter shipped (PR #656)
- Mark discord as  Implemented (was: Planned)
- Add Discord Setup section with webhook config, Canvas steps, API example
- Document slash command inbound + webhook outbound architecture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
128e5ade79 docs(marketing): add SVG visual assets for both campaign social copies
Chrome DevTools MCP:
- mcp-bridge-diagram.svg: AI Agent → MCP → CDP → Chrome architecture
- comparison-table-card.svg: 3-approach comparison with cost/cred isolation

Fly.io Deploy Anywhere:
- backend-comparison-card.svg: 3 backend comparison with env vars

Social copy docs updated to reference generated assets.
Social Media Brand can use SVGs directly or screenshot for PNG export.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
b68952d8eb docs(marketing): add social copy for Fly.io deploy-anywhere blog post
Draft X thread (5 posts) + LinkedIn post + visual recs for the
2026-04-17 published post. Ready for Social Media Brand review.
Coordination note: avoid same-day publish as Chrome DevTools MCP post.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
feafb4ae8b docs(marketing): update brief with final status and PMM feedback log
All actions 1-5 complete. Action 6 outreach targets prepped.
Status updated: Marketing Lead review required before outreach.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
08057cf59b docs(marketing): add backlink outreach target list for Chrome DevTools MCP campaign
Action 6 prep — outreach target list (Tier 1-3), email template,
priority order, monitoring plan. HOLD flagged prominently: do not
outreach until post is live on main + reviewed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
07464b7b6d docs(marketing): add social copy draft for Chrome DevTools MCP blog post
Action 2 (social copy) drafted for Social Media Brand review:
- X/Twitter 5-post thread with hook → demo → use cases → CTA
- LinkedIn single post with competitive framing
- Visual asset recommendations (4 types)
- Publishing schedule + UTM tags

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
9b4b357c8d docs(marketing): add analytics tracking blueprint for Chrome DevTools MCP blog post
Actions 3-5 complete:
- Internal linking audit done: MCP spec, CDP docs, cross-links added
- Sitemap: no sitemap.xml in repo (auto-generated by build)
- Analytics blueprint: GA4 events, PostHog funnels, UTM params, ranking signals

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
6486ca182f docs: add internal links for Chrome DevTools MCP blog post
Internal linking (Action 3):
- Chrome DevTools MCP post: added MCP spec + CDP docs as external links
- Chrome DevTools MCP post: cross-linked to fly-machines-provisioner tutorial + deploy-anywhere post
- docs/index.md: added blog section with both posts
- deploy-anywhere post: added "See also" cross-link to new browser post

No sitemap.xml found — likely auto-generated by site build.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
daf7c46917 docs(blog): revise Chrome DevTools MCP post with PMM feedback
PMM feedback applied:
- Stronger outcome-first headline: "Give Your AI Agent a Real Browser"
- MCP defined within first 100 words for non-MCP-literate readers
- Infrastructure comparison table added (custom, SaaS, Molecule AI)
- "Zero-config" claim now proven with concrete workspace YAML config
- LangChain/CrewAI differentiation added to comparison section
- n8n contrast added to use cases: agents reason, workflows are manually wired
- Meta description and tags updated

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
Molecule AI Community Manager
6033e392f0 docs(marketing): add Chrome DevTools MCP SEO blog post
- Brief: keywords, audience, outline, SEO requirements (Content Marketer authored)
- Blog post: "How to Add Browser Automation to AI Agents with MCP"
  - CDP + MCP bridge explanation
  - Full Python code example (end-to-end competitor research agent)
  - Chrome remote debugging setup guide
  - Minimal MCP-to-CDP server implementation
  - Real-world use cases (4 production scenarios)
  - CTAs linking to Molecule AI docs + GitHub

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 00:37:17 +00:00
molecule-ai[bot]
96fc93228c docs(blog): Phase 30 Remote Workspaces — fleet visibility + per-workspace bearer tokens (#1157)
Squash-merge: Phase 30 Remote Workspaces blog. Acceptance: published on molecule-core.
2026-04-21 00:23:30 +00:00
Hongming Wang
00a0fc91fe docs: strip internal roadmap/followups from public org-api-keys docs
The monorepo docs/ tree is ecosystem + user-facing. Internal
roadmap ("what we'll build next", priorities, effort estimates)
doesn't belong there — customers reading our docs don't need our
backlog in their face, and we shouldn't signal "feature X is
coming" contractually when it's just a P2 item in internal
tracking.

Removes:
  - docs/architecture/org-api-keys-followups.md (the whole
    prioritized roadmap). Moved to the internal repo at
    runbooks/org-api-keys-followups.md where it belongs.
  - "Follow-up roadmap" section in docs/architecture/org-api-
    keys.md, replaced with a shorter "Known limitations" section
    that names the current constraints (full-admin only, no
    expiry, no user_id in session-minted audit) without
    speculating on when they change.
  - "What's coming" section in docs/guides/org-api-keys.md,
    replaced with "Current limits" that names the same
    constraints from the user's POV.

Public docs now describe the feature as it exists TODAY. Internal
tracking of what comes next lives in Molecule-AI/internal (private).
2026-04-20 14:31:46 -07:00
Hongming Wang
3d7244ab94 feat(auth): org tokens reach /workspaces/:id/* subroutes + docs
Extends WorkspaceAuth to accept org API tokens as a valid
credential for any workspace sub-route in the org. Previously a
user minting an org token could hit admin-surface endpoints
(/workspaces, /org/import, etc.) but couldn't reach per-workspace
routes like /workspaces/:id/channels — those were gated by
WorkspaceAuth which only knew about workspace-scoped tokens.

Scope matches the explicit product spec: one org API key can
manipulate every workspace in the org. AI agents given a key can
read/write channels, tokens, schedules, secrets, tasks across all
workspaces.

## WorkspaceAuth tier order

  1. ADMIN_TOKEN exact match (break-glass / bootstrap)
  2. Org API token (Validate against org_api_tokens)           NEW
  3. Workspace-scoped token (ValidateToken with :id binding)
  4. Same-origin canvas referer

Org token tier sits above the per-workspace check so a presenter
of an org key doesn't hit the narrower ValidateToken failure path
first. Checked with isSameOriginCanvas path unchanged.

## End-to-end verified

Minted test token via ADMIN_TOKEN, then with that org token:
  - GET /workspaces             → 200 (list all)
  - GET /workspaces/<id>        → 200 (detail, admin-only route)
  - GET /workspaces/<id>/channels → 200 (workspace sub-route)
  - GET /workspaces/<id>/tokens   → 200 (workspace tokens list)
  - GET /workspaces/<bad-uuid>    → 404 workspace not found
                                    (routing still scoped correctly)

## Documentation

  - docs/architecture/org-api-keys.md — design, data model, threat
    model, security properties
  - docs/architecture/org-api-keys-followups.md — 10 tracked
    follow-ups prioritized (role scoping P1, per-workspace binding
    P1, expiry P2, usage metrics P2, WorkOS user_id capture P2,
    rotation webhooks P3, mint-rate limit P3, audit log P2, CLI
    P3, migrate ADMIN_TOKEN to the same table P4)
  - docs/guides/org-api-keys.md — end-user guide (mint via UI,
    use in curl/Python/TS/AI agents, session-vs-key comparison)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:11:45 -07:00
Hongming Wang
97dbe1c987 feat(canary): rollback-latest script + release-pipeline doc (Phase 4)
Closes the canary loop with the escape hatch and a single place to
read about the whole flow.

scripts/rollback-latest.sh <sha>
  uses crane to retag :latest ← :staging-<sha> for BOTH the platform
  and tenant images. Pre-checks the target tag exists and verifies
  the :latest digest after the move so a bad ops typo doesn't
  silently promote the wrong thing. Prod tenants auto-update to the
  rolled-back digest within their 5-min cycle. Exit codes: 0 = both
  retagged, 1 = registry/tag error, 2 = usage error.

docs/architecture/canary-release.md
  The one-page map of the pipeline: how PR → main → staging-<sha> →
  canary smoke → :latest promotion works end-to-end, how to add a
  canary tenant, how to roll back, and what this gate explicitly does
  NOT catch (prod-only data, config drift, cross-tenant bugs).

No code changes in the CP or workspace-server — this PR is shell
+ docs only, so it's safe to land independently of the other Phase
{1,1.5,2,3} PRs still in review.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 03:37:42 -07:00
Hongming Wang
ca5a5f1a7f docs: 2026-04-19 SaaS prod migration notes
Captures the 10-PR staging→main cutover: what shipped, the three new
Railway prod env vars (PROVISION_SHARED_SECRET / EC2_VPC_ID /
CP_BASE_URL), and the sharp edge for existing tenants — their
containers pre-date PR #53 so they still need MOLECULE_CP_SHARED_SECRET
added manually (or a re-provision) before the new CPProvisioner's
outbound bearer works.

Also includes a post-deploy verification checklist and rollback plan.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 02:29:31 -07:00
Hongming Wang
df632aeab5 docs(opencode): RFC 2119 — 'should not' → 'must not' for SAFE-T1201 warning (closes #861)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 12:04:49 -07:00
Hongming Wang
aaa6a4db83 fix(docs): update architecture + API reference paths for workspace-server rename
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 01:25:21 -07:00
Hongming Wang
dad3b5bd9d fix(docs): update cd commands for workspace-server/ and workspace/ renames
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 01:24:09 -07:00
Hongming Wang
73183d8c21 chore: final cleanup — remove internal tooling, gitignore local config
Removed:
- docs/.vitepress/ + package.json — docs site config belongs in Molecule-AI/docs
- scripts/bridge/ — internal Claude Code bridge server
- scripts/claude-code-bridge.py — internal agent bridge
- scripts/dedup_settings_hooks.py, verify_settings_hooks.py — internal maintenance

Gitignored:
- .mcp.json → .mcp.json.example (local MCP config, users create their own)
- test-results/ — ephemeral build artifacts

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:52:30 -07:00
Hongming Wang
99571efb62 chore: move internal docs to Molecule-AI/internal (private)
Moved to private repo so the public monorepo only contains docs
useful for contributors and users:

Removed (now in Molecule-AI/internal):
- edit-history/ — 15 daily dev session logs
- retrospectives/ — session postmortems with ops details
- marketing/ — competitor analysis, SEO strategy, landing briefs
- product/ — PRD, SaaS strategy, growth research
- runbooks/ — SaaS ops (secrets rotation, GDPR, admin auth)
- security/ — internal security advisories
- research/ — competitive framework analysis
- ecosystem-watch.md — competitive landscape tracking
- demo/, spikes/ — internal prototypes
- known-issues.md, remote-workspaces-readiness.md

Also removed duplicate docs/architecture.md (superseded by
docs/architecture/overview.md).

Remaining public docs: architecture, API reference, adapters,
agent-runtime, plugins, guides, tutorials, development, frontend,
integrations, glossary, quickstart.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:47:41 -07:00
Hongming Wang
0d3c57cced chore: gitignore CLAUDE.md, extract content to proper docs
CLAUDE.md was a 44KB catch-all mixing architecture docs (useful for
everyone) with agent operating instructions (internal). Split:

- docs/architecture/overview.md — system architecture, component
  descriptions, 13 key patterns (import cycles, health detection,
  communication rules, WebSocket flow, lifecycle, etc.)
- docs/api-reference.md — full REST API route table + database schema
- CLAUDE.md → gitignored (stays local for agent tooling)

All internal PR/issue references stripped from the new docs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:43:33 -07:00
Hongming Wang
39074cc4ae chore: final open-source cleanup — binary, stale paths, private refs
- Remove compiled workspace-server/server binary from git
- Fix .gitignore, .gitattributes, .githooks/pre-commit for renamed dirs
- Fix CI workflow path filters (workspace-template → workspace)
- Replace real EC2 IP and personal slug in test_saas_tenant.sh
- Scrub molecule-controlplane references in docs
- Fix stale workspace-template/ paths in provisioner, handlers, tests
- Clean tracked Python cache files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:38:55 -07:00
Hongming Wang
d8026347e5 chore: open-source restructure — rename dirs, remove internal files, scrub secrets
Renames:
- platform/ → workspace-server/ (Go module path stays as "platform" for
  external dep compat — will update after plugin module republish)
- workspace-template/ → workspace/

Removed (moved to separate repos or deleted):
- PLAN.md — internal roadmap (move to private project board)
- HANDOFF.md, AGENTS.md — one-time internal session docs
- .claude/ — gitignored entirely (local agent config)
- infra/cloudflare-worker/ → Molecule-AI/molecule-tenant-proxy
- org-templates/molecule-dev/ → standalone template repo
- .mcp-eval/ → molecule-mcp-server repo
- test-results/ — ephemeral, gitignored

Security scrubbing:
- Cloudflare account/zone/KV IDs → placeholders
- Real EC2 IPs → <EC2_IP> in all docs
- CF token prefix, Neon project ID, Fly app names → redacted
- Langfuse dev credentials → parameterized
- Personal runner username/machine name → generic

Community files:
- CONTRIBUTING.md — build, test, branch conventions
- CODE_OF_CONDUCT.md — Contributor Covenant 2.1

All Dockerfiles, CI workflows, docker-compose, railway.toml, render.yaml,
README, CLAUDE.md updated for new directory names.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:24:44 -07:00
Hongming Wang
bc96b9ff69 chore: move platform/docs/adr/ to root docs/adr/ — single docs location
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:12:47 -07:00
Hongming Wang
295c4d930a chore: open-source preparation — scrub secrets, add community files
Security:
- Replace hardcoded Cloudflare account/zone/KV IDs in wrangler.toml
  with placeholders; add wrangler.toml to .gitignore, ship .example
- Replace real EC2 IPs in docs with <EC2_IP> placeholders
- Redact partial CF API token prefix in retrospective
- Parameterize Langfuse dev credentials in docker-compose.infra.yml
- Replace Neon project ID in runbook with <neon-project-id>

Community:
- Add CONTRIBUTING.md (build, test, branch conventions, CI info)
- Add CODE_OF_CONDUCT.md (Contributor Covenant 2.1)

Cleanup:
- Replace personal runner username/machine name in CI + PLAN.md
- Replace personal tenant URL in MCP setup guide
- Replace personal author field in bundle-system doc
- Replace personal login in webhook test fixture
- Rewrite cryptominer incident reference as generic security remediation
- Remove private repo commit hashes from PLAN.md

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-18 00:10:56 -07:00
Hongming Wang
bfdb0e3b69 docs: Cloudflare Tunnel migration report + track Worker source
- Full session retrospective: tunnel E2E verified on prod + staging subdomains
- Worker source tracked in infra/cloudflare-worker/ (was only in /tmp)
- Worker changes: reserved slug passthrough + multi-level subdomain bypass
- Known issues, follow-ups, cost impact, key learnings documented

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 23:58:55 -07:00
Hongming Wang
3e30f4e5fd Merge pull request #915 from Molecule-AI/feat/issue-852-hermes-runtime
feat(plugins): extend runtime declarations to hermes — 5 SKILL.md plugins
2026-04-17 21:44:55 -07:00
Hongming Wang
b0eed5135f fix: resolve PLAN.md merge conflict — keep both Phase 34 and Phase 36
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 21:41:32 -07:00
Hongming Wang
afe537c9b0 Merge pull request #927 from Molecule-AI/chore/eco-watch-2026-04-18
chore(eco-watch): 2026-04-18 daily sweep — chrome-devtools-mcp + craft-agents-oss + BLOCK MemPalace
2026-04-17 21:40:29 -07:00
Hongming Wang
907d4cc154 Merge pull request #880 from Molecule-AI/docs/safe-mcp-advisory-2026-04-17
docs(security): SAFE-MCP internal advisory 2026-04-17
2026-04-17 21:40:26 -07:00
Hongming Wang
581ccefe89 Merge pull request #922 from Molecule-AI/infra/issue-894-anthropic-api-key-docs
docs(infra): document ANTHROPIC_API_KEY as required global secret (closes #894)
2026-04-17 21:40:23 -07:00
Hongming Wang
a873ae0eae docs: staging environment design + Phase 36 plan
Full staging environment that mirrors production. Every infra change
ships to staging first before promotion. Gates Phase 33 (Tunnel) and
Phase 35 (security hardening).

Components: Railway staging env, Neon branch, staging DNS, tagged
Docker images, promotion workflow, automated smoke tests.

Also marks Phase 33 as migrating from Worker to Cloudflare Tunnel
(issue #933), prerequisite: staging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 20:37:11 -07:00
Molecule AI Research Lead
8930488690 chore(eco-watch): resolve merge conflict — keep BLOCKED MemPalace + run b entries
Remote had the pre-fraud-audit MemPalace WATCH entry. Resolved by keeping
HEAD: BLOCKED/FRAUD verdict (SA audit 2026-04-18) plus the two new run-b
entries (chrome-devtools-mcp, craft-agents-oss).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 03:14:23 +00:00
Molecule AI Research Lead
f0a1bff27f chore(eco-watch): add chrome-devtools-mcp + craft-agents-oss — 2026-04-18 run b
Two new entries from daily sweep (TR GitHub trending + CI social feeds):

- chrome-devtools-mcp (ChromeDevTools/chrome-devtools-mcp, 35.9k★): Official
  Google Chrome DevTools MCP server — 29 tools for browser control, network
  inspection, Lighthouse audits. Strong MCP adoption signal from Google.
  GH #926 filed: add as bundled MCP server option in workspace templates.

- craft-agents-oss (lukilabs/craft-agents-oss, 4.3k★): Electron desktop app
  on Claude Agent SDK — multi-session inbox, 3-tier permissions, MCP support.
  Single-user desktop vs. Molecule's multi-tenant org-graph. UX reference for
  approval queue / permission tier UI.

CI sweep clean (no additional findings). RevoClaw near-miss logged (outside
24h window, no public repo yet).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 03:12:59 +00:00
Hongming Wang
da0be04a19 docs: session retrospective + Phase 35 hardening plan
Full retrospective of the 2026-04-16/17 SaaS buildout session:
- What was done (infra migration, 40+ PRs, 5 issues, 4 docs, 1 new repo)
- What should NOT have been changed (wildcard DNS churn, AdminAuth shortcut)
- Security concerns (8 items, 2 CRITICAL)
- Workflow gaps (registration, boot time, CI)
- Tests needed (automated + manual + security)

Phase 35 in PLAN.md covers production hardening follow-ups.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 20:08:39 -07:00
638427e01b docs(infra): document ANTHROPIC_API_KEY as required global secret (closes #894)
- Add comment to .env.example explaining ANTHROPIC_API_KEY must be set
  as a *global* secret (not just workspace-level) so SDK-direct workspaces
  (e.g. molecule-hitl, hermes) receive it without 401 errors
- Add ANTHROPIC_API_KEY to saas-secrets.md secret map with context on
  why global propagation matters
- Add full rotation procedure section (generate → PUT /settings/secrets
  → verify restart → revoke old key) with blast-radius note

Closes #894

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 03:03:37 +00:00
Molecule AI Research Lead
ab11c20730 chore(eco-watch): BLOCK MemPalace — coordinated fraud (SA audit 2026-04-18)
SA forensic audit found: 89% bot-farmed stars (42k of 47.6k), malware
domain mempalace.tech, deleted PyPI maintainer (supply-chain risk),
unpatched ChromaDB RCE (#6717), non-existent PyPI package (squattable),
unsafe HuggingFace pickle loading, and crypto pump-and-dump association.
Verdict changed from WATCH to BLOCKED/FRAUD. GH #912 plugin proposal
is closed per audit verdict.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 01:48:03 +00:00
Molecule AI Research Lead
806ef6403c chore(eco-watch): add MemPalace + update Google ADK — 2026-04-18 run a
- MemPalace (milla-jovovich/mempalace, 47.6k★, MIT, Python): local-first agent
  memory using Method of Loci; 29 MCP tools; 96.6% R@5 on LongMemEval; native
  Claude Code .claude-plugin integration. Verdict: WATCH
- Google ADK: update to v1.31.0 (Apr 17 2026) — multi-language parity
  (Python/TS/Java/Go), native A2A (full protocol, Linux Foundation standard).
  Platform gaps confirmed open (no scheduling, no cross-agent HITL).
  Verdict: WATCH maintained with enhanced escalation triggers.
2026-04-18 01:47:20 +00:00
Molecule AI Frontend Engineer
6f522fb20a docs(plugins): record hermes compat for 5 SKILL.md plugins (issue #852)
Documents agentskills.io v0.8.0 raw-drop hermes compatibility and
the before/after runtimes table for the five SKILL.md-only plugins.
Includes links to the companion draft PRs in each plugin repo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 01:25:31 +00:00
Molecule AI Research Lead
8ed2df7187 chore(eco-watch): add MemPalace + update Google ADK — 2026-04-18 run a
- MemPalace (milla-jovovich/mempalace, 47.6k★, MIT, Python): local-first agent
  memory using Method of Loci; 29 MCP tools; 96.6% R@5 on LongMemEval; native
  Claude Code .claude-plugin integration. Verdict: WATCH
- Google ADK: update to v1.31.0 (Apr 17 2026) — multi-language parity
  (Python/TS/Java/Go), native A2A (full protocol, Linux Foundation standard).
  Platform gaps confirmed open (no scheduling, no cross-agent HITL).
  Verdict: WATCH maintained with enhanced escalation triggers.
2026-04-18 01:15:44 +00:00
Molecule AI Research Lead
9ec8963953 chore(eco-watch): smolagents WATCH → BUILD (threshold override, PM auth)
26,688★ below 30k criterion — BUILD authorized: HF corporate backing,
Tool.from_langchain zero-cost integration (~145 LOC), ~60-day trajectory
to 30k. Dev Lead issue #804 filed (~4 engineer-days, DinD hard constraint,
security review required).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 00:16:39 +00:00
Molecule AI Research Lead
a9ac1e4287 chore(eco-watch): update smolagents WATCH verdict + add Managed Agents — 2026-04-17 run i
smolagents (GH #792 closed): WATCH — 2/3 criteria pass. A2A shim ~120-160 LOC
(fastapi-agents pattern validated), Apache-2.0 no lock-in, but 26.5k★ < 30k
threshold. Re-evaluate at 30k★ (~4-6 weeks) or HF default designation.
DinD gotcha documented: use local/e2b executor_type inside workspace containers.

Anthropic Managed Agents (GH #742 closed): WATCH-FOR-GA — beta API unstable,
RBAC passthrough requires async sidecar (architecturally non-trivial), cost
neutral at ~2 active hrs/day, session checkpointing ≠ Temporal replacement.
Re-evaluate at GA + multiagent research-preview exit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 00:16:39 +00:00
Molecule AI Research Lead
1f4902e490 chore(eco-watch): add smolagents — 2026-04-17
Hugging Face's code-first agent framework (26.5k★, Apache-2.0). CodeAgent
pattern (Python-native tool calls), LiteLLM model-agnostic, E2B/Docker
sandboxing, Hub tool registry. Filed GH #792 to evaluate
molecule-ai-workspace-template-smolagents adapter.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-18 00:16:39 +00:00
e41a75606d docs(security): SAFE-MCP internal advisory 2026-04-17 (distilled from PR #808 audit)
Adds a concise action advisory for engineering leads summarising the 9 open
findings from the full SAFE-MCP audit, with immediate remediation steps for
NEW-003 (unpinned npm packages in .mcp.json — HIGH), a Phase 35 scoping
recommendation for plugin supply-chain hardening (VULN-003, VULN-004), and
medium-term GLOBAL memory scope controls (VULN-002, VULN-005).

Pairs with: monorepo PR #808, docs PR #18

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 23:39:00 +00:00
rabbitblood
6485c34c61 chore: move spike/ → docs/spikes/ — keep explorations out of repo root
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 16:09:12 -07:00
molecule-ai[bot]
a0425903c7 fix(opencode): update URL example in opencode.md + add WORKSPACE_ID env var
The inline JSON example still showed the bare ${MOLECULE_MCP_URL} without
the /workspaces/${WORKSPACE_ID}/mcp path. Updated to match opencode.json fix
in previous commit (bf80f15). Added WORKSPACE_ID to the env section.
2026-04-17 22:06:37 +00:00
Hongming Wang
7094290850 docs: Partner API Keys architecture + Phase 34 plan
Adds programmatic org management for partner platforms, CI/CD, and
automation. Partners authenticate with mol_pk_* API keys (SHA-256
hashed, scoped, rate-limited, revocable) alongside existing WorkOS
browser auth.

- Full architecture doc with schema, scopes, middleware integration,
  security considerations, and use cases
- Phase 34 in PLAN.md (4 sub-phases)
- CLAUDE.md cross-reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 14:07:50 -07:00
molecule-ai[bot]
f485cc3296 docs(opencode): integration guide — token scoping, tools, SAFE-T1401 note (closes #814) 2026-04-17 19:26:36 +00:00
molecule-ai[bot]
89d89e1459 docs: tenant image upgrade strategies
docs: tenant image upgrade strategies
2026-04-17 19:16:30 +00:00
Hongming Wang
20750cf128 docs: tenant image upgrade strategies (Options A/B/C)
Documents three upgrade strategies for keeping tenant EC2 instances
current with platform-tenant:latest:
- Option A: Rolling restart via CP admin endpoint (coordinated)
- Option B: Sidecar auto-updater cron (implemented, 5 min interval)
- Option C: Blue-green via Worker (zero downtime, future)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 11:59:15 -07:00
Molecule AI Security Auditor
857dd941d5 docs(security): SAFE-MCP audit report 2026-04-17 (issue #747)
Adds docs/security/safe-mcp-audit-2026-04-17.md — full SAFE-MCP ATT&CK
audit of @molecule-ai/mcp-server against 4 high-priority techniques:

SAFE-T1102 (Supply chain):
  - NEW-003 HIGH: Unpinned npm MCP packages in .mcp.json (npx -y)
  - VULN-003 HIGH: No manifest signing on GitHub plugin install
  - VULN-004 HIGH: Floating plugin refs, no version pinning enforced

SAFE-T1201 (Prompt injection):
  - VULN-002 HIGH: GLOBAL memory poisoning — delimiter spoofing gap
    (partial mitigation via #767 globalMemoryDelimiter confirmed)
  - VULN-006 MEDIUM: No tool output sanitization in MCP server

SAFE-T1301 (Excessive permissions):
  - NEW-002 MEDIUM: Default subprocess sandbox allows language=shell/bash

SAFE-T1401 (Secret exfiltration):
  - NEW-001 MEDIUM: builtin_tools missing auth_headers() on A2A calls
  - VULN-005 MEDIUM: GLOBAL memories readable by all workspaces

Confirmed fix: VULN-001 (X-Workspace-ID system-caller forge, #761) CLOSED.

Closes #747.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 18:54:08 +00:00
molecule-ai[bot]
a41a2ba663 Merge pull request #786 from Molecule-AI/docs/wildcard-dns-proxy
docs: wildcard DNS + Cloudflare Worker proxy architecture (Phase 33)
2026-04-17 17:21:13 +00:00
Hongming Wang
8c02d2d878 docs(wildcard-dns): address CEO review — KV cache, WebSocket, proxy trust
Addresses all 4 review points from PR #786:
1. Worker resilience: 3-tier cache (in-memory → KV → CP API) with stale
   fallback so CP outages are invisible to tenants
2. WebSocket proxying: documented upgradeHeader handling, fallback to
   keep Caddy for WS-only if Workers WS is unreliable
3. SG automation: note to auto-update Cloudflare IP ranges, don't hardcode
4. Trusted proxy: X-Forwarded-For / CF-Connecting-IP trust chain documented

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 10:17:43 -07:00
molecule-ai[bot]
4bb3f284fb chore(eco-watch): add BeeAI ACP + Claw Code — 2026-04-17
* chore(eco-watch): add BeeAI ACP + Claw Code — 2026-04-17

BeeAI ACP (i-am-bee/acp, IBM) — REST/OpenAPI agent comm protocol, direct
A2A alternative; Copilot CLI ACP support already in preview. GH #777 filed
for TR comparison vs A2A.
Claw Code (ultraworkers/claw-code) — 100k+★ Rust+Python clean-room rewrite
of Claude Code architecture; architectural reference + competitive signal for
molecule-ai-workspace-template-claude-code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(eco-watch): mark BeeAI ACP as archived — A2A won consolidation

IBM archived i-am-bee/acp on Aug 27, 2025; contributed to AAIF/A2A
working group. No bridge or shim needed — Molecule's A2A bet vindicated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Research Lead <research-lead@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 17:07:25 +00:00
Hongming Wang
d36b612bbf docs: wildcard DNS + Cloudflare Worker proxy architecture
Adds Phase 33 plan and architecture doc for replacing per-tenant DNS
records with a wildcard DNS + Cloudflare Worker proxy pattern.

Eliminates: DNS propagation delays, NXDOMAIN caching, per-instance
Let's Encrypt, Caddy on EC2. Same pattern used by Vercel, Railway,
Fly.io, WordPress, n8n.

4-phase migration: deploy Worker → stop creating DNS records →
remove Caddy from EC2 → cleanup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 10:02:32 -07:00
eb22afa363 docs(glossary): add GitHub Awesome Copilot disambiguation section
Adds a dedicated section mapping the four overlapping terms (Skills,
Plugins, Agents, Hooks) plus Instructions and Agentic Workflows between
awesome-copilot and Molecule vocabulary.  Closes #734.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 16:27:41 +00:00
molecule-ai[bot]
b48f1fd7cf Merge pull request #758 from Molecule-AI/docs/issue-747-safe-mcp-audit
docs(security): SAFE-MCP threat model audit (#747)
2026-04-17 16:21:39 +00:00
molecule-ai[bot]
2a71293ae4 Merge pull request #764 from Molecule-AI/chore/eco-watch-2026-04-17-f
chore(eco-watch): add mcp-agent — 2026-04-17
2026-04-17 16:21:35 +00:00
Molecule AI Research Lead
3e2f2376f3 chore(eco-watch): add mcp-agent — 2026-04-17
lastmile-ai/mcp-agent (7.4k★, Apache-2.0) implements Anthropic's Building
Effective Agents patterns + OpenAI Swarm as composable MCP workflow primitives.
Direct workspace-template overlap; companion mcp-eval useful for #747 audit.
GH #762 filed for TR evaluation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 16:09:37 +00:00
molecule-ai[bot]
9693403b46 docs(security): add SAFE-MCP audit for issue #747 2026-04-17 15:59:40 +00:00
molecule-ai[bot]
fc1e67f875 Merge pull request #748 from Molecule-AI/chore/eco-watch-2026-04-17-e
chore(eco-watch): add Mastra + SAFE-MCP — 2026-04-17
2026-04-17 15:57:59 +00:00
Hongming Wang
81157a0102 Merge pull request #735 from Molecule-AI/chore/eco-watch-2026-04-17-d
chore(eco-watch): add goose/AAIF + github/awesome-copilot — 2026-04-17
2026-04-17 08:47:16 -07:00
Molecule AI Research Lead
a0a5681b37 chore(eco-watch): add Mastra + SAFE-MCP — 2026-04-17
Mastra (22k★, TypeScript, YC, v1.0 Jan 2026) — TypeScript-native agent
framework with built-in evals + MCP client; potential workspace-template
adapter candidate (GH #746 dispatched to TR).
SAFE-MCP (LF + OpenID Foundation, Apr 2026) — ATT&CK-style MCP threat
taxonomy; GH #747 filed to audit molecule-mcp-server's 87 tools + plugin
install pathway against the 80+ documented techniques.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 15:40:59 +00:00
Molecule AI Research Lead
152246126f chore(eco-watch): add goose/AAIF + github/awesome-copilot — 2026-04-17
goose donated to Linux Foundation AAIF (alongside MCP + AGENTS.md) — AGENTS.md
standard could become workspace-template interop requirement (GH #733).
awesome-copilot (30k★) is a direct terminology-collision risk: Skills/Plugins/
Agents/Hooks all overlap with Molecule vocab at different meanings (GH #734).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 15:15:59 +00:00
Molecule AI Research Lead
a872bd8414 chore(eco-watch): add opencode + pydantic-ai — 2026-04-17
- anomalyco/opencode (145k★, v1.4.7): largest open-source coding agent;
  provider-agnostic (Claude/OpenAI/Google/local); build+plan dual-mode;
  no A2A/multi-agent → conversion path for users who need org layer.
  Filed GH #720 (workspace template adapter eval). MEDIUM threat.

- pydantic/pydantic-ai (~16.4k★): Python framework with native A2A + MCP
  + HITL + durable execution; FastAPI-style DX; potential first-class
  Molecule A2A peer with zero shim. Filed GH #721 (adapter eval). LOW threat.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 13:19:19 +00:00
molecule-ai[bot]
ac04b60b36 docs(platform-api): Breaking Changes section for PR #701 auth + validation
Updates docs/api-protocol/platform-api.md:
- Add ## Breaking Changes section with full before/after table for PR #701
  (PATCH wsAuth, templates AdminAuth, UUID validation, field length/char limits)
- PATCH /workspaces/:id row: add WorkspaceAuth note + validation details
- GET /templates: add AdminAuth note
- GET /org/templates: add row with AdminAuth note
- Migration steps for E2E scripts and automation callers

Source PR: #701 (SHA 3f5dea79) — fix(security): input validation, route auth, UUID safety

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:44:11 +00:00
Molecule AI Research Lead
37504db043 chore(eco-watch): add cognee — hybrid vector+graph agent memory engine
topoteretes/cognee (v1.0.1.dev1, 16.1k★, Apache-2.0): hybrid vector+graph
knowledge engine with remember/recall/forget/improve API. Ships native Hermes
Agent support and MCP plugin — directly overlaps with Molecule's agent_memories
and workspace-template-hermes. Evaluation tracked in GH #717.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:41:52 +00:00
Molecule AI Research Lead
80c82ea0eb chore(eco-watch): add Cloudflare Agents — edge agent runtime with auto-hibernation
cloudflare/agents (v0.11.2, 4.8k★): TypeScript framework on CF Workers/Durable
Objects with persistent state, cron scheduling, MCP (server+client), HITL
workflows, and auto-hibernation (zero idle cost). Near-complete overlap with
Molecule workspace lifecycle primitives; no A2A or org hierarchy.

Auto-hibernation pattern → filed as GH #711 (auto-pause idle workspaces).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 12:11:06 +00:00
molecule-ai[bot]
350288f186 Merge pull request #695 from Molecule-AI/chore/eco-watch-2026-04-17-c
chore(eco-watch): add Anthropic Agent Skills + Microsoft APM — 2026-04-17
2026-04-17 11:21:21 +00:00
Molecule AI Research Lead
786c7566cd chore(eco-watch): add Anthropic Agent Skills + Microsoft APM — 2026-04-17
Two new ecosystem entries from daily trending survey:

- anthropics/skills (119k★, GitHub trending #1): cross-platform Agent Skills
  open standard (SKILL.md format); Molecule already natively compliant per
  GH #677 spike; 26+ adopters (Cursor, Codex, Copilot, Gemini CLI); feeds #676

- microsoft/apm (1.8k★, v0.8.11): Agent Package Manager for apm.yml manifests
  managing plugins/skills/MCP servers; overlaps with Molecule plugin system;
  content-security (apm audit) worth borrowing for #675; tracked in GH #694

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 11:12:46 +00:00
dcbc5f3e54 fix(gate-1): merge eco-watch pass-2 + pass-3 entries (AI Hedge Fund + Strix)
Both chore/eco-watch-2026-04-17-b and chore/eco-watch-2026-04-17-c added
entries at the end of ecosystem-watch.md. Kept both entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 07:29:55 +00:00
Molecule AI Research Lead
56782bc85c chore(eco-watch): add Strix (usestrix/strix) — AI security agent graph
24.1k-star Apache-2.0 security testing platform using a graph-of-agents
architecture; +202 stars Apr 17 2026. Demand signal for domain-specific
multi-agent orchestration and audit-trail patterns adjacent to GH #594.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 07:17:11 +00:00
Molecule AI Research Lead
c5621bafe3 chore(eco-watch): 2026-04-17 daily survey — AI Hedge Fund
New LOW entry: virattt/ai-hedge-fund (55.7k, +763 today) — 19-agent
financial-analysis reference implementation. High-visibility demand signal
for domain-specific multi-agent orchestration in finance. Not a competing
platform but a compelling org-template opportunity (19 specialist agents
coordinated by a PM workspace via A2A).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 06:43:34 +00:00
molecule-ai[bot]
ea26e89064 Merge pull request #635 from Molecule-AI/chore/eco-watch-2026-04-17-clean
Merge gate passed. Docs-only — ecosystem-watch.md entries only, no code/schema/auth. UNSTABLE = known App token scope gap.
2026-04-17 06:21:03 +00:00
Molecule AI Research Lead
172eaabf1f chore(eco-watch): 2026-04-17 daily survey — OpenAI Codex Agent, Qwen3.6, EvoMap Evolver
Three new entries from today's survey (MA + TR + CI parallel scan):

- OpenAI Codex Agent [HIGH] — relaunched Apr 17 as full autonomous agent
  product: parallel subagents, cross-session memory, self-wake scheduling,
  macOS computer control. Distinct threat from openai-agents-sdk. Direct
  overlap with workspace lifecycle + agent_memories + workspace_schedules.

- Qwen3.6-35B-A3B [MEDIUM] — open-weight MoE model (35B/3B active) for
  agentic coding; HN #1 story today (984 pts); commoditizes model layer for
  self-hosted orchestrators; erodes cost moat for cloud-locked competitors.

- EvoMap Evolver [LOW] — A2A-native GEP self-evolution engine; worker nodes
  use A2A_HUB_URL protocol compatible with our A2A stack; SKILL.md + Skill
  Store align with agentskills.io; EvolutionEvent JSONL audit ledger is
  reference design for governance canvas (#582). Integration opportunity.

GH issues filed:
- #594: molecule-audit-ledger (HMAC-SHA256, ~7 dev-days, SOC2/EU AI Act)
- #595: Cloudflare Artifacts demo before May public beta (2-week window)
- #596: add Molecule AI as compound-engineering-plugin target (2-4h upstream PR)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 05:18:11 +00:00
Hongming Wang
62bd20b01b docs(ecosystem): update MAF entry with v1.0 GA + AG-UI findings
MAF v1.0 shipped April 7 with multi-agent orchestration, native A2A+MCP,
AG-UI SSE protocol for streaming events to frontends. AG-UI is a direct
competitor to our WebSocket canvas. Added actionable gaps: AG-UI endpoint,
tool governance registry, cost transparency.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 21:53:49 -07:00
Molecule AI Research Lead
1811719286 chore(eco-watch): 2026-04-17 daily survey — dimos, Cloudflare Workers AI
Two new LOW-tier entries:
- dimos (dimensionalOS/dimos, 2.9k, v0.0.11, MIT) — agentic OS for
  robotics; MCP as primary agent interface; module/blueprint architecture
  with typed stream passing; spatio-temporal RAG memory; hardware:
  Unitree/AgileX/DJI/MAVLink. Watch for A2A support.
- Cloudflare Workers AI (Agents Week 2026) — unified inference layer:
  70+ models, 14+ providers, auto-failover, streaming resilience, 330
  global PoPs. Part of Cloudflare full-stack agent platform (+ Durable
  Objects + Artifacts + Agents SDK + AI Search). Separate from previously
  tracked Cloudflare Artifacts entry. Escalate to MEDIUM if Agents SDK
  integrates all four primitives into one-click multi-agent deployment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:55:34 +00:00
Molecule AI Research Lead
f4c58ac991 docs(eco-watch): enrich Compound Engineering Plugin entry with CI analysis
- Correct mechanism: .claude-plugin/ is canonical source (already our format)
- Document actual 11 current targets; molecule-ai NOT present
- Add ~2-4h upstream PR estimate to add molecule-ai.ts target
- Note time-sensitivity: file PR before Cursor (12th) slot lands
- Clarify threat-vs-opportunity: pure opportunity (our format already matches)
- Add action item and signals to watch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:25:41 +00:00
Molecule AI Research Lead
84bb285553 fix(eco-watch): correct CrewAI A2A spec version — v0.3.0, not v0.8/v0.9
TR research (2026-04-17) confirmed v0.8/v0.9 do not exist in the A2A spec
history. Both Molecule AI (a2a-sdk==0.3.25) and CrewAI (protocol_version
default "0.3.0") are on spec v0.3.0 — zero-shim interop confirmed today.

Real future risk: A2A v1.0.0 (Mar 12 2026) — breaking changes in wire
format, agent card schema, OAuth flow. Neither side has migrated; shared
upgrade clock. Schedule coordinated migration before either upgrades.

Updates:
- YAML notable_changes: replace "v0.8/v0.9" with "v0.3.0, matches
  a2a-sdk==0.3.25, zero-shim interop confirmed, v1.0.0 shared clock"
- Narrative: add A2A interop confirmed section + updated signals

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:23:23 +00:00
Molecule AI Research Lead
9b166dd839 chore(eco-watch): 2026-04-17 daily survey — Compound plugin, EDDI, Cloudflare Artifacts
Adds 3 entries from daily GitHub trending + HN sweep:

- Compound Engineering Plugin (EveryInc, 14.5k, MIT, v2.66.1 Apr 16)
  Multi-runtime plugin converter: one source → 12 runtimes simultaneously
  (Claude Code, Cursor, OpenClaw, Codex, Gemini CLI, Kiro, Windsurf, etc.)
  Competes with our agentskills.io multi-runtime adapter distribution pattern.

- EDDI (labsai, 296, Apache 2.0, v6.0.1, Show HN Apr 17)
  Config-driven multi-agent orchestration; A2A + cron + Ed25519 agent identity
  + HMAC-SHA256 immutable audit ledger + GDPR/HIPAA; reference for compliance-
  guardrails audit trail design (#staged-issue-C).

- Cloudflare Artifacts (private beta Apr 16, infrastructure watch)
  Git-for-agents versioned workspace storage on Durable Objects; ArtifactFS
  driver OSS; escalation trigger: Cloudflare Agents SDK integration.

Also skipped: dimos (robotics, proprietary CLA), 40 non-agent trending repos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:15:47 +00:00
Molecule AI Research Lead
39eb9de4ca docs(eco-watch): enrich Cognee entry with TR integration eval (2026-04-17)
- Fix license MIT → Apache 2.0
- Add 6-stage cognify pipeline detail and 14 retrieval modes
- Document augment-not-replace integration path (async write, explicit semantic read)
- Add latency profile: cognify async-only; GRAPH_COMPLETION 200-500ms; KV stays primary
- Add zero-new-containers MVP deployment note
- Add ~3d build estimate for molecule-cognee plugin, sequenced after #573+#574

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:00:40 +00:00
Molecule AI Research Lead
40671d23a7 chore(eco-watch): update CrewAI entry with Enterprise deep-dive findings (2026-04-17)
Competitive Intelligence completed a full CrewAI Enterprise deep-dive:

- Crew Studio confirmed as a real node-and-edge drag-and-drop canvas (not
  just forms), ships in both SaaS and AMP Factory self-hosted — but paradigm
  is workflow design, not persistent-identity governance. Counter-positioning
  for #582 must be explicit: governance canvas, not just visual canvas.
- AMP Factory self-host is stronger than previously assessed: on-prem or
  private VPC, Kubernetes, full Studio included, FedRAMP High certified.
- A2A support is first-class at v0.8/v0.9 (both client and server modes) —
  Molecule AI orgs can recruit CrewAI agents as workers via standard A2A today.
  Integration opportunity, not just threat.
- Differentiator gaps: CrewAI has 20+ native connectors, agent training,
  checkpoint/fork, FedRAMP High; Molecule AI has persistent identity, org
  hierarchy, governance canvas (#582 pending).

threat_level remains high. FedRAMP gap flagged for enterprise sales tracking.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:00:40 +00:00
Molecule AI Research Lead
1bcbd614a7 chore(eco-watch): add GitHub MCP Server and Skillshare entries (2026-04-17)
Second eco-watch scan of the day (Go trending + HN :38 run).

**GitHub MCP Server** (github/github-mcp-server, 28.9k, v1.0.0 Apr 16):
GitHub's official MCP Server — 60+ tools (repos, issues, PRs, Actions,
code security). Same "adopt as workspace plugin source" pattern as
Chrome DevTools MCP. Dynamic toolset discovery (beta) is a reference
design for our plugins available endpoint. Added LOW threat.

**Skillshare** (runkids/skillshare, 1.5k, v0.19.2 Apr 14):
Go binary syncing SKILL.md + agent configs across 50+ AI tools via
symlinks. Direct overlap with our plugins/ distribution model and
SKILL.md format. Notable: ships a prompt-injection/exfiltration scanner
on install — we have no equivalent gate in our plugin install path.
Added LOW threat; scanner pattern is an actionable gap.

Both added to YAML snapshot (LOW tier) and Entries narrative.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:00:40 +00:00
Molecule AI Research Lead
7ab115fa86 chore(eco-watch): add Cognee and Archestra entries (2026-04-17)
Daily ecosystem survey — two new projects not previously tracked:

**Cognee** (topoteretes/cognee, 15.8k, v1.0.1.dev1 Apr 15):
Hybrid graph+vector knowledge engine for agent memory. Ships a claude-code
plugin for session memory and native Hermes Agent integration. The
four-operation API (remember/recall/forget/improve) and cross-agent
tenant-isolated knowledge graph are directly relevant to closing our
agent_memories gap. Added as LOW threat; watch for a first-class MCP
server release.

**Archestra** (archestra-ai/archestra, 3.6k, platform-v1.2.15 Apr 16):
Enterprise MCP registry + dual-LLM security gateway. Kubernetes-native,
AGPL-3.0. Governs which teams can access which MCP servers, plus a
security sub-agent that intercepts tool responses to block prompt
injection. Complementary to (not competitive with) Molecule AI today;
dual-LLM gateway pattern worth borrowing for A2A proxy hardening.
Added as LOW threat.

Both added to YAML snapshot (LOW tier) and Entries narrative.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 02:00:40 +00:00
Hongming Wang
dbe7bcd3a4 Merge pull request #577 from Molecule-AI/docs/blog-deploy-anywhere-561
docs(blog): deploy anywhere — Fly Machines + control plane provisioners
2026-04-16 18:47:38 -07:00
Hongming Wang
54e1129692 Merge pull request #578 from Molecule-AI/docs/devrel-feat-525
docs(devrel): Fly Machines provisioner tutorial (feat #501, closes #525)
2026-04-16 18:47:17 -07:00
Hongming Wang
e7307a76c0 Merge pull request #555 from Molecule-AI/docs/devrel-feat-hermes-multimodel
docs(devrel): Hermes multi-provider dispatch tutorial (Phase 2a/2b/2c)
2026-04-16 18:47:14 -07:00
Hongming Wang
59f5c1a3c7 Merge pull request #569 from Molecule-AI/docs/devrel-feat-550
docs(devrel): Google ADK runtime tutorial (feat #550)
2026-04-16 18:17:33 -07:00
molecule-ai[bot]
38b72e149d docs(competitors): downgrade Paperclip threat HIGH → MEDIUM (#581)
Deep-dive #571 (Competitive Intelligence, 2026-04-17) confirmed Paperclip
has no A2A protocol, no visual canvas, and no org-chart UI on roadmap.
Blocker dependencies are a single-process task-graph DAG, not inter-agent
coordination. Execution policies are budget ceilings only. The sole
capability gap vs Molecule AI is per-workspace budget limits (tracked #541).
Brand/framing threat ("zero-human companies") but not a technical substitute.

- docs/ecosystem-watch.md: threat_level high → medium, notable_changes
  updated with deep-dive conclusion
- docs/marketing/competitors.md: move Paperclip row from HIGH to MEDIUM
  table; update Watchlist escalation levels; add recently-changed entry

Closes #571

Co-authored-by: Molecule AI Research Lead <research-lead@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 00:45:53 +00:00
molecule-ai[bot]
7d4954a3b2 docs(devrel): Fly Machines provisioner tutorial (feat #501, closes #525) 2026-04-17 00:40:46 +00:00
molecule-ai[bot]
cc2ab40531 docs(eco-watch): add structured competitor snapshot for PMM cron (#559)
* chore(eco-watch): 2026-04-16 daily survey — OpenAI Sandbox Agents, Tencent AI-Infra-Guard, VoltAgent

Adds three new ecosystem-watch entries:

- OpenAI Agents SDK v0.14 Sandbox Agents (released April 15 2026): SandboxAgent
  with persistent isolated workspaces, snapshot/resume, and sandbox memory across
  7 hosted backends. Directly competes with our workspace lifecycle model.

- Tencent AI-Infra-Guard: MCP server scanning, skills scanning, and agent audit
  platform (3.5k stars, Tencent Zhuque Lab). Enterprise security audits will
  touch our plugin manifests and MCP server surface.

- VoltAgent: TypeScript agent framework + VoltOps Console (8.2k stars, 668 releases).
  Closest Canvas analogue in the TS ecosystem; supervisor/sub-agent coordination
  mirrors our PM delegation chain.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(eco-watch): add structured competitor snapshot for PMM cron (#537)

Add a machine-readable `## Competitor Snapshot` YAML block to
docs/ecosystem-watch.md so the PMM cron has stable, diff-able fields
(name, slug, date, version, stars, threat_level, notable_changes,
source_url) to parse and detect competitor moves each tick.

Also bootstrap docs/marketing/competitors.md — the PMM cron output
file that was missing, causing every cron run to be a silent no-op.

34 competitors across three threat tiers (HIGH/MEDIUM/LOW). Data
verified by Technical Researcher (version check), Market Analyst
(threat matrix), and Competitive Intelligence (source URLs + notable
changes) as of 2026-04-17.

Key findings incorporated from analyst run:
- Paperclip v2026.416.0 shipped Apr 16 (HIGH — newest escalation)
- Hermes v0.10.0 Tool Gateway launched Apr 16
- Google ADK updated to v1.30.0 (was v1.29.0 in narrative)
- OpenHands actually at v1.6.0 (file showed stale v0.39.0)
- Microsoft Agent Framework upgraded to HIGH (1.0 GA, enterprise dist.)
- Flowise downgraded to LOW (Workday acquisition narrows market)
- Dify corrected to v1.13.3 stable (v1.14.0 was RC-only)

Closes #537

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Molecule AI Research Lead <research-lead@agents.moleculesai.app>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-17 00:38:39 +00:00
molecule-ai[bot]
ed81fb6857 docs(blog): deploy anywhere — Fly Machines + control plane provisioners
Closes #561
2026-04-17 00:38:06 +00:00
molecule-ai[bot]
8eb6cd313f docs(devrel): Google ADK runtime tutorial (feat #550) 2026-04-17 00:30:49 +00:00
molecule-ai[bot]
b3e68e1738 fix(devrel): correct capability table — tool_use/vision/streaming are Phase 2d (not yet shipped) 2026-04-17 00:21:02 +00:00
molecule-ai[bot]
30c8185ce0 docs(devrel): Hermes multi-provider dispatch tutorial (Phase 2a/2b/2c, issue #513) 2026-04-17 00:12:52 +00:00
Hongming Wang
b4d214692f Merge pull request #543 from Molecule-AI/chore/eco-watch-2026-04-16
chore(docs): eco-watch 2026-04-16 — Paperclip, Google ADK, Chrome DevTools MCP
2026-04-16 14:04:51 -07:00
Hongming Wang
fbe48ba4f0 Merge pull request #538 from Molecule-AI/devrel/gemini-cli-demo
devrel: gemini-cli runtime adapter demo (closes #534)
2026-04-16 14:04:47 -07:00
molecule-ai[bot]
fcee2a1863 docs: brand discoverability audit — Molecule AI SERP pollution (2026-04-16) 2026-04-16 20:46:46 +00:00
molecule-ai[bot]
def46729e8 Merge pull request #531 from Molecule-AI/docs/devrel-feat-480
docs(devrel): Lark / Feishu channel adapter tutorial (feat #480)
2026-04-16 20:46:19 +00:00
Hongming Wang
4cb74b91ed Merge pull request #509 from Molecule-AI/docs/devrel-feat-379
docs(devrel): gemini-cli runtime tutorial (feat #379)
2026-04-16 13:46:13 -07:00
Molecule AI Research Lead
b46f1fe2da docs(ecosystem-watch): add Paperclip, Google ADK, Chrome DevTools MCP entries (2026-04-16)
Three new entries from today's eco-watch scan:

- paperclipai/paperclip (~54.8k ): hierarchical CEO/manager/worker multi-agent
  orchestration with budget constraints and audit trails. Highest-star agent-
  orchestration OSS project tracked; direct conceptual competitor to our "AI company"
  thesis. Signals: watch for persistent memory and visual org chart additions.

- google/adk-python (~19k , v1.29.0): Google's official multi-agent SDK. Pairs with
  Gemini CLI (already tracked) to form Google's full agent stack. Evaluation teams will
  weigh ADK + Gemini CLI vs Molecule AI. Spawns issue #542 (google-adk adapter).

- ChromeDevTools/chrome-devtools-mcp (~35.5k ): official ChromeDevTools MCP server,
  23 tools, already the de facto standard for browser tool use across 29 MCP clients.
  Replaces our bespoke Puppeteer/CDP integration with a standard skill install.
  Spawns issue #540 (browser-automation plugin migration).

GH issues filed: #540 (browser-automation), #541 (budget_limit), #542 (google-adk adapter)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 20:45:15 +00:00
molecule-ai[bot]
96960fde89 devrel: gemini-cli demo README walkthrough (issue #534) 2026-04-16 20:43:22 +00:00
molecule-ai[bot]
06bf63078f devrel: Makefile for gemini-cli demo (issue #534) 2026-04-16 20:42:35 +00:00
molecule-ai[bot]
99058f60db devrel: gemini-cli demo script (issue #534) 2026-04-16 20:42:33 +00:00
molecule-ai[bot]
1e3cf704ec docs: add Gemini CLI landing page brief for /runtimes/gemini-cli (issue #514) 2026-04-16 20:34:32 +00:00
molecule-ai[bot]
26916cc86d docs: add Gemini CLI keyword research (issue #514) 2026-04-16 20:33:32 +00:00
molecule-ai[bot]
04eb546341 docs(devrel): Lark/Feishu channel tutorial for PR #480 2026-04-16 20:32:48 +00:00
molecule-ai[bot]
0320b71315 docs(devrel): gemini-cli runtime tutorial for PR #379 2026-04-16 20:22:26 +00:00
Hongming Wang
8451af0683 docs: update remote-workspaces-readiness for Phase 30.1 shipped status
- Mark Phase 30.1 (auth tokens) as shipped
- Update hard-problem A (spoofing) from blocker → resolved
- Cross-reference new guides: external-agent-registration, token-management, mcp-server-setup
- Update last-reviewed date

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 08:49:07 -07:00
Hongming Wang
3892e4dee1 feat(platform): token management API + MCP setup + external agent guide
1. Token Management API (closes production gap):
   - GET /workspaces/:id/tokens — list tokens (prefix + metadata, never plaintext)
   - POST /workspaces/:id/tokens — create new token (plaintext returned once)
   - DELETE /workspaces/:id/tokens/:tokenId — revoke specific token
   - Behind WorkspaceAuth middleware (need existing token to manage tokens)
   - Tests skip gracefully when no DB available

2. MCP Server Setup:
   - Fix .mcp.json to use npx @molecule-ai/mcp-server (was referencing
     non-existent local ./mcp-server/dist/index.js)
   - Add comprehensive tool→API mapping doc (87 tools across 15 categories)

3. External Agent Registration Guide:
   - Step-by-step: create workspace, register, heartbeat, A2A messaging
   - Python (Flask) and Node.js (Express) complete working examples
   - Communication rules, lifecycle, security, troubleshooting

4. Token Management Guide:
   - Bootstrap flow, rotation procedure, security properties

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-16 08:37:42 -07:00