forked from molecule-ai/molecule-core
Closes #10. The 2026-05-05 hongming silent-drop incident shipped because the backends.md parity matrix didn't enforce a "go through the dispatcher" rule — three handlers (TeamHandler.Expand, OrgHandler.createWorkspaceTree, workspace_crud.go's stopAndRemove) silently bypassed routing on SaaS for ~6 months across two distinct verbs. This doc pass: - Adds a "How to dispatch" section that's the canonical answer to "where do I call Start / Stop / Has from?". Names the three dispatchers (provisionWorkspaceAuto, StopWorkspaceAuto, HasProvisioner), their fallbacks, and the allowed exceptions. - Updates the matrix lifecycle rows so every dispatched operation points at the dispatcher source, not the per-backend bodies. - Adds Org-import + Team-collapse rows so the bulk paths are visible to anyone scanning for parity gaps. - Lists the source-level pins (4 of them) under Enforcement so future contributors see them as load-bearing tests, not noise. - Adds a "When you add a NEW dispatch site" section so the next verb (Pause / Hibernate / Snapshot) lands as a dispatcher mirror, not as another bespoke handler that drifts from the existing two. - Refreshes Last audit to 2026-05-05. No code change; doc-only. The SoT abstractions described here landed in PRs #2811 + #2824. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| architecture.md | ||
| backends.md | ||
| canary-release.md | ||
| database-schema.md | ||
| event-log.md | ||
| memory.md | ||
| molecule-technical-doc.md | ||
| org-api-keys.md | ||
| overview.md | ||
| partner-api-keys.md | ||
| provisioner.md | ||
| saas-prod-migration-2026-04-19.md | ||
| secrets-key-custody.md | ||
| staging-environment.md | ||
| technology-choices.md | ||
| tenant-image-upgrades.md | ||
| wildcard-dns-proxy.md | ||
| workspace-tiers.md | ||