QualityBugs
42 days

Bug Center

Live triage by severity, plus the AI Drift Monitor — does the generated code obey the architecture rules (R1–R6)?

Triage Board

0 open · 2 known/accepted across 4 severities.

Blocker0

No bugs.

Critical0

No bugs.

Major0

No bugs.

Minor2
  • BUG-4Known / accepted

    Realtime out-of-scope for single-image build (no live push)

    Realtime

    Live push / Realtime is out-of-scope for the single-image staging build, so views do not auto-refresh. Known and accepted for this build; live push needs the multi-container Supabase stack (Realtime + Kong).

  • BUG-5Known / accepted

    Email delivers on staging (Mailpit); production relay still to swap

    Auth / email delivery

    Email now DELIVERS on staging with no external creds via a self-hosted Mailpit catcher (SMTP :1025 / inbox :8025) — verified: POST /recover → 200 and the reset mail landed in the inbox. Remaining for real-inbox PRODUCTION delivery: swap Mailpit for a transactional provider (Resend/Postmark key) — a one-env-block change on a proven seam. Known/accepted for this build.

AI Drift Monitor

Architecture-conformance checks (R1–R6). Flagged = generated code deviated from the plan, or the rule is not yet auto-enforced. 1 flagged / 6 checks.

Clean

R1 — No mock internal data

Internal datasets must render real signals or graceful empty/unknown states; no fabricated rows. Cockpit data files use undefined/pending values rather than invented numbers.

apps/dev-admin/src/data/*.ts

Clean

R2 — RPC via parseRpcResult

Every RPC call routes through the canonical error contract (parseRpcResult); no ad-hoc { data, error } destructuring at call sites.

packages/supabase/src/parse-rpc-result.ts

Clean

R3 — Realtime only via useRealtimeSubscription

Realtime is consumed through the single useRealtimeSubscription hook inside "use client" components; no direct channel subscriptions scattered across the tree.

packages/supabase/src/use-realtime-subscription.ts

Clean

R4 — Internal packages export TS source

Workspace packages export extensionless TypeScript source (no pre-built dist); apps import @uploz/* directly under strict TS.

packages/*/index.ts

Clean

R5 — Schema changes via SQL migrations only

Database changes live in numbered SQL migrations (0001–0095 + 0150, 94 total); Prisma is types-only, no prisma migrate as a source of truth.

supabase/migrations/*.sql

Flagged

R6 — Strict TS w/ noUncheckedIndexedAccess

Strict TypeScript with noUncheckedIndexedAccess across the monorepo; no implicit any or unchecked index access. Automated lint guard is pending in tools/drift-check.

tools/drift-check (pending)

Note: these are static derivations from the repo conventions. The live, per-commit lint feed comes from tools/drift-check (built separately) and will replace this list once wired in.