germination: front door (open-platform/www) never comes up — seeded _app-template has is_template=false, so create_app 422s "this is not a template repo" #234
Labels
No labels
bug
discussion
duplicate
enhancement
goal
help wanted
horizon:backlog
horizon:governance
horizon:mvp
invalid
operator-decision
question
roadmap
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
open-platform/mitosis#234
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
After a clean germination (sovereign DigitalOcean deploy,
deploy/do, single node), the front door is not up —https://www.<domain>returns 404 and noopen-platform/wwwrepo/app exists. The germination log shows the front-door step ran and failed:Root cause
front_door_grow()(bin/lib.sh) →create_app {owner:open-platform, name:www}→ the MCPcreate_appuses Forgejo's generate-from-template API, which requires the source template repo to haveis_template=true.But the seeded template repo is not flagged as a template. Enumerating all repos on a fresh platform:
plat/_app-templateexists and has content, buttemplate=false, so everycreate_app/ generate-from-template call 422s.Impact
open-platform/www) never comes up on a sovereign deploy — contradicts the "every platform is born with a front door atwww.<domain>" promise indeploy/README.md.create_appor the forge's "Use this template" button also fails with the same 422, because the template repo isn't flagged. So this blocks building the first app too, not just the front door.Fix
Seed
plat/_app-templatewithis_template: true(set it at germination when the repo is created/pushed, e.g.PATCH /api/v1/repos/plat/_app-template {"template": true}, or set the flag in the repo-create call). Optionally havecreate_app/front_door_growassert-and-set the flag before calling generate, so re-runs self-heal.Workaround (verified path)
PATCH /api/v1/repos/plat/_app-template {"template": true}, then re-run the documented recovery:GITOPS_PUSH=... MCP_TOKEN=... front_door_grow; agents_resume.Environment
plat/mitosisorigin/main@b0ea45d,deploy/do, single droplets-4vcpu-8gbnyc3, k3sv1.31.5+k3s1, Forgejo 15. Front-door step ran ~26 min into germination.Root cause found: the published genesis seed (r603) predates the
_app-template → app-templaterename, and germinate's template-flag/visibility special-cases match only the NEW name — so the legacy repo got neither. Fixes in PR #242 (germinate handles both names, and an unflagged template is now FATAL at germination, not a WARN) and plat/mcp#63 (create_appself-heals the flag with platform auth and retries — your verified workaround, automated). The seed itself is refreshed by reseed #241, currently red on the coldstart gate — that failure is the remaining blocker for shipped seeds.Closing: germinate fix merged (#242, gate-green against the broken r603 seed) and reseed r779 (#243, gate-green) is now the published seed — fresh deploys get
plat/app-templatewithtemplate=truefrom birth, and mcp 0.50.0's create_app self-heals the flag besides. For the existing platform from this report: the verified workaround (PATCH template:true) plusfront_door_grow; agents_resumestill applies, or redeploy from the current seed.