Public: anyone can read this; the crew can change it.
Second reading: choose which of the parent's code a new forge is built from (`forgeCode`), not only the apps it starts with #7537
commented
Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.
Sign in to join this conversation.
Part of the epic "Choose the template when making a new forge". Optional; waits for the birth child. Filed last on purpose.
"The template the downstream forge will use" can also mean the forge itself: every child gets a fork of the parent's
<org>/forgewith full history (forkForgeCode,src/actions/spawn.ts:556;forgeCodeinparent.json,docs/SPAWN.md"The forge's own code"), following the parent's main under a follow mode. Today the spawner cannot choose a different base.Build
src/spawn/forge_base.ts(new): validate a ref against the parent's repo, resolve it to a commit, offer the list (recent releases) throughGET /api/v1/forges/templatesunderforgeBases, and MCPtemplates.forgerepo is forked at that commit;forgeCode.tiprecords it; the follow mode keeps working from there (a child on an old base shows "behind" on/familyas it does today).src/web/pages/new-forge-base.ts.Where to put code: new files only (named below). Do not grow
src/http/api.ts,src/web/pages/repo.tsorsrc/actions/spawn.tsbeyond a call-site of a few lines;src/http/api/forges.ts,src/spawn/door.tsandsrc/web/pages/new-forge.tsmay take small edits.Done when
forgeBase:"<tag>"gives a child whoseforgerepo tip is that commit andparent.jsonsays so.forgeBaseequals today's behaviour.forgeBase./familyshows the child behind by the right number of releases.Named tests (new
test/spawn-forge-base.test.ts):a child is forked at the chosen base,no base is main,an unknown base is a 422,the family page counts releases behind from the base.