a336acd23d
Organization settings tab called the control-plane-only GET /cp/orgs, 404ing on self-host. /org/identity now also returns slug + org_id (MOLECULE_ORG_SLUG/ID), and OrgInfoTab falls back to it when /cp/orgs is unavailable — single org, no error; SaaS multi-org path unchanged. Org templates: the image bakes default org templates (molecule-dev, molecule-worker-gemini, ux-ab-lab) at /org-templates, but the ./org-templates:/org-templates:ro mount shadowed them with an empty host dir (same class as the runtime-template shadow). findOrgDir() honors ORG_TEMPLATES_DIR; compose points it at the baked bundle + drops the shadowing mount — local now lists them like production. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>