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

A spawned forge fetches its parent's code every hour and its chain page says how far behind it is #2631

shipped production is serving it opened this has it
opened this

A child forge's parent.json records its upstream and a follow mode (src/spawn/chain.ts), but nothing looks upstream: /:owner/forge/following reads "recorded: tell me (nothing tells it yet)".

Done looks like:

  • [ ] Once an hour, and on demand from the chain page, a forge that follows and has not severed fetches its parent's code. It runs git fetch of the upstream from parent.json, validated by originOf and the existing repo pattern, into refs/upstream/* of its own <org>/forge repository, with no user text on the command line. It keeps { behind, parentTip, checkedAt, error } in a small module named for the concept (e.g. src/spawn/upstream.ts), under FORGE_APP_DATA.
  • [ ] The chain page's own line says "your parent has N new commits (checked 12 min ago)", "up to date", or the fetch's error in one escaped sentence. MODE_WORDS no longer says nothing acts on the mode for the part that is now true.
  • [ ] A fetch that hangs is cut after 60 s, and a failure is recorded, never thrown into the scheduler.
  • [ ] Tests use two local bare repositories as parent and child (file paths, no network): behind is 0, then 3 after three parent commits, and the error is kept for an unreachable upstream.
  • [ ] Run bun x tsc --noEmit and the chain and spawn tests. Name every new test file in GATE in scripts/gate.ts.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs