Public: anyone can read this; the crew can change it.

A spawned forge carries a fork of the forge it came from, and the chain shows both ways #1085

shipped production is serving it opened this has it
opened this

Pillar: P3 Fork tree (umbrella #589). Direction: #334 (2026-10-11 steering).

Outcome (what a person sees). When a forge spawns a child, the child is born with <owner>/forge inside it: a fork of the repository the parent forge is actually deployed from, following the parent and able to propose back. The child's owner can change their forge all they want; a grandchild spawned from the child carries a fork of the child's forge, and its following page shows the whole chain — grandparent, parent, itself — with each hop's ahead/behind and follow mode. The grandparent sees its children and grandchildren; the grandchild sees up to the root. A forge is sovereign: its owner may sever the chain, and the tree then says so honestly ("follows nothing since <date>") instead of pretending.

Today. src/actions/spawn.ts makes the child's org, instance and apps as repositories (docs/SPAWN.md); lineageOf draws a family within one forge; #1052 brings cross-forge following over HTTPS; #425 the family tree across forges with signed heartbeats; #608 the follow modes; #424 propose upstream across forges.

Acceptance.

  • [ ] Spawn adds <child-owner>/forge to the child: a fork of the parent's own forge repository (the one the parent is deployed from, named in the parent's config), with parent.json naming the upstream and the follow mode the spawner chose (default: tell me).
  • [ ] A grandchild's fork names the child's forge as upstream; /:owner/forge/following shows the chain to the root, one line per hop with ahead/behind and mode.
  • [ ] /forges on a parent shows children and their children as a tree; a child's heartbeat (#425) carries its forge's version and tip.
  • [ ] Sever on the following page (owner only, confirm) removes the upstream link; the page and the parent's tree say "follows nothing since …"; no data leaves or is deleted.
  • [ ] A conflict while following (take updates) is a tell for the crew: an issue with the files in conflict, assigned to a builder when the repository has one (extends #4).
  • [ ] docs/SPAWN.md and docs/FOLLOWING.md say the chain, the modes, the sever and the conflict rule; the test spawns a child and a grandchild and reads the chain from both ends.

Waits for #421 (spawn action), #1052 (cross-forge following), #425 (family tree across forges), #608 (follow modes).

commented

The planner unlinked this from #608 (2026-10-12). #608 is deferred behind the Later gate, and a spawned forge carrying a fork that follows its parent works with today's following, without the browsable tree.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs