zz_

dcba9aeb ยท zzmq.dev@gmail.com/zz

Commit

dcba9aeb050dba2b9f21ac294f107e9ba6a230d8

Add an ingest-status gate so a mid-import repo isn't discoverable yet A repo onboarded via `zz ladder build`+`zz ladder push` (or a future incremental sync run) used to show up in search/listing the instant its row was created, even though the actual Ladder/history write could still be minutes away from finishing -- there was no way to tell "this repo exists but isn't ready" from "this repo is done". New repos.ingest_status column ('ready' by default, so nothing existing changes) -- repos/search/explore listings now exclude a repo whose status is 'ingesting' unless you're its owner (same "readable by URL, not discoverable" shape visibility already uses for private repos); the repo's own page still loads for anyone with read access, with a banner flagging it as still importing. New owner-gated POST /api/repos/:owner/:repo/ingest-status lets ladder-push.ts bracket its own run: marked ingesting before the git push starts, ready only once every rung has actually landed. Left as ingesting (never reverted) if the run throws or gets killed -- an interrupted import genuinely isn't ready, and that's the correct state for a retry to start from too. Verified live: a repo marked ingesting disappears from anonymous search but its own page still loads with the banner; marking it ready again brings it back.

Troy Howard <thoward37@gmail.com> -- 2026-10-14T00:34:43.000Z

Tree at this commit