molecule-core/docs/architecture
claude-ceo-assistant (Claude Opus 4.7 on Hongming's MacBook) 16868c4ec1
Some checks failed
CodeQL / Analyze (${{ matrix.language }}) (go) (pull_request) Successful in 5s
Check merge_group trigger on required workflows / Required workflows have merge_group trigger (pull_request) Successful in 15s
CodeQL / Analyze (${{ matrix.language }}) (javascript-typescript) (pull_request) Successful in 5s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 17s
CodeQL / Analyze (${{ matrix.language }}) (python) (pull_request) Successful in 6s
CI / Detect changes (pull_request) Successful in 19s
E2E API Smoke Test / detect-changes (pull_request) Successful in 15s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 16s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 17s
Lint curl status-code capture / Scan workflows for curl status-capture pollution (pull_request) Successful in 13s
Harness Replays / detect-changes (pull_request) Successful in 18s
Runtime PR-Built Compatibility / detect-changes (pull_request) Successful in 17s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 15s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 10s
CI / Canvas (Next.js) (pull_request) Successful in 19s
CI / Python Lint & Test (pull_request) Successful in 12s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 17s
Runtime PR-Built Compatibility / PR-built wheel + import smoke (pull_request) Successful in 15s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
Harness Replays / Harness Replays (pull_request) Failing after 2m4s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 2m53s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 5m14s
CI / Platform (Go) (pull_request) Failing after 8m5s
fix(plugins): SaaS (EC2-per-workspace) install/uninstall via EIC SSH
Closes the 🔴 docker-only row in docs/architecture/backends.md. Plugin
install on every SaaS tenant currently 503s with "workspace container
not running" because the handler is hardcoded to Docker exec but SaaS
workspaces live on per-workspace EC2s. Caught on hongming.moleculesai.app
when canvas POST /workspaces/<id>/plugins surfaced the error.

Mirrors the Files API PR #1702 pattern: dispatch on workspaces.instance_id
in deliverToContainer (and Uninstall). When set, push the staged plugin
tarball to the EC2 over the existing withEICTunnel primitive
(template_files_eic.go) and unpack into the runtime's bind-mounted config
dir (/configs for claude-code, /home/ubuntu/.hermes for hermes — see
workspaceFilePathPrefix). chown 1000:1000 to match the docker path's
agent-uid contract; restart via the existing dispatcher.

Direct host write rather than docker-cp via SSH because the runtime's
config dir is already bind-mounted into the workspace container — the
runtime sees the files on next start with no additional plumbing.

Adds InstanceIDLookup (parallel to RuntimeLookup) so unit tests don't
need a DB; production wires it in router.go like templates.go does.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 15:42:51 -07:00
..
architecture.md chore: open-source restructure — rename dirs, remove internal files, scrub secrets 2026-04-18 00:24:44 -07:00
backends.md fix(plugins): SaaS (EC2-per-workspace) install/uninstall via EIC SSH 2026-05-07 15:42:51 -07:00
canary-release.md docs(internal): bulk-sed molecule-core .md docs → Gitea (#37 final molecule-core sweep) 2026-05-07 01:27:50 -07:00
database-schema.md docs(security): document the KMS-rooted custody chain for SECRETS_ENCRYPTION_KEY 2026-04-26 11:29:16 -07:00
event-log.md initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
memory.md initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
molecule-technical-doc.md docs(internal): bulk-sed molecule-core .md docs → Gitea (#37 final molecule-core sweep) 2026-05-07 01:27:50 -07:00
org-api-keys.md docs: strip internal roadmap/followups from public org-api-keys docs 2026-04-20 14:31:46 -07:00
overview.md fix(docs): update architecture + API reference paths for workspace-server rename 2026-04-18 01:25:21 -07:00
partner-api-keys.md docs: Partner API Keys architecture + Phase 34 plan 2026-04-17 14:07:50 -07:00
provisioner.md initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
saas-prod-migration-2026-04-19.md docs: 2026-04-19 SaaS prod migration notes 2026-04-19 02:29:31 -07:00
secrets-key-custody.md docs(internal): bulk-sed molecule-core .md docs → Gitea (#37 final molecule-core sweep) 2026-05-07 01:27:50 -07:00
staging-environment.md docs: staging environment design + Phase 36 plan 2026-04-17 20:37:11 -07:00
technology-choices.md initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00
tenant-image-upgrades.md chore: open-source preparation — scrub secrets, add community files 2026-04-18 00:10:56 -07:00
wildcard-dns-proxy.md chore: final open-source cleanup — binary, stale paths, private refs 2026-04-18 00:38:55 -07:00
workspace-tiers.md initial commit — Molecule AI platform 2026-04-13 11:55:37 -07:00