ADMIN button in header next to SECTOR SCAN opens an overlay with generic CRUD over all game tables (registry off schema.ts): list tables w/ row counts, read rows capped at 200/page, insert/update/delete by PK. Unauthenticated by explicit request (ponytail: add auth later). +8 unit tests, +2 read-only e2e specs.
ADMIN button in header next to SECTOR SCAN opens an overlay with generic CRUD over all game tables (registry off schema.ts): list tables w/ row counts, read rows capped at 200/page, insert/update/delete by PK. Unauthenticated by explicit request (ponytail: add auth later). +8 unit tests, +2 read-only e2e specs.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
ADMIN button in header next to SECTOR SCAN opens an overlay with generic CRUD over all game tables (registry off schema.ts): list tables w/ row counts, read rows capped at 200/page, insert/update/delete by PK. Unauthenticated by explicit request (ponytail: add auth later). +8 unit tests, +2 read-only e2e specs.
- ADMIN button in the mission-control header opens a table picker + row grid with add/edit/delete (components/admin-panel.tsx), deliberately unauthenticated by explicit request - /api/admin/tables and /api/admin/tables/{name}/rows driven off a name→table registry built from lib/db/schema.ts (lib/db/admin.ts) — no per-table code; 404 unknown table, 400 malformed payload, 409 constraint violation - OpenAPI spec updated for all four admin operations + Admin* schemas - unit: lib/db/admin.test.ts (registry, CRUD round-trips, composite PKs, error mapping); e2e: read-only admin.spec.ts