zz_

85fc543a ยท zzmq.dev@gmail.com/zz

Commit

85fc543a0f7d009f8a4c69aa9b330adf9ebfaaff

Add "track this repo" + role-sorted profile list New repo_tracking table (migration 0011) -- a personal bookmark, not an RBAC grant, so tracking a public repo you don't own grants no permissions, same as starring on GitHub. accountsDb.ts's new listMyRepos merges owned (role: owner) + role-granted (real role) + tracked-only (role: viewer) repos, deduped by slug, sorted by role rank descending -- the one place this merge logic lives, backing both the profile page now and GET /api/me/repos next (Phase 3). Repo page gets a Track/Untrack button (any logged-in non-owner) next to the settings gear; /profile now calls listMyRepos instead of its own owned+shared merge. Tracking is personal: verified live with a second test identity that a tracked repo shows on that account's own profile but not on its public one, and untrack correctly clears it. Exported repoMeta.ts's RBAC_RANK so accountsDb.ts can sort by it without duplicating the rank table.

Troy Howard <thoward37@gmail.com> -- 2026-10-13T06:42:30.000Z

Tree at this commit