| VENUS-19 |
venus |
feat(infra): DB perf snapshot+diff collector (dbperfSnapshots) |
backlog |
normal |
— |
2026-06-16 02:41 |
| VENUS-17 |
venus |
chore(db): emailOutbox terminal-row retention prune — sent/permanentlyFailed rows never deleted, accumulate unbounded (was factor in drain-outbox seq-scan slow-query). Add retention prune for sent/permanentlyFailed older than ~30d (evolutiva-commons retention hygiene; emailOutbox not audited → no setArchiveContext needed). Non-urgent: partial index on status IN ('pending','sending') already neutralizes perf impact; this caps table growth. Note: drain-outbox idle-gate + partial-index fix in flight separately. |
backlog |
normal |
— |
2026-06-15 16:13 |
| VENUS-15 |
venus |
chore(db): prune legacy viewport fingerprint rows — 132 pre-reshape client-env/viewport rows store exact-px+full-UA+userId, IMMUTABLE (wi302 appevents-immutable), no retention-prune job → persist indefinitely. Reshape (VENUS-13) stops new fingerprints only. Prune via db-venus SET LOCAL app.bypass_immutable. Irreversible deletion → Elazar go/no-go required. Pre-go-live test-user data (21 testers), low stakes. |
blocked |
normal |
— |
2026-06-15 15:46 |
| VENUS-14 |
venus |
feat(ptd): authed-route PTD tooling — PTD render-GET can't exercise authed routes (302/login); authed pages + authed-only behavior (toast/error-shown producer, práctica gates) never runtime-verified. Fix: in-process self-check route (preferred) or least-priv stored session for manual authed pass. Sibling: MARS-118. |
backlog |
normal |
— |
2026-06-15 14:39 |
| VENUS-11 |
venus |
bug(validation): D3-4/5 antecedentes parent-checked-no-children + complicaciones notas/ids mismatch — advisory-log-only to measure real-user frequency |
deferred |
normal |
— |
2026-06-15 14:38 |
| VENUS-9 |
venus |
feat(soporte): copy mars soporte into venus |
deferred |
normal |
— |
2026-06-15 07:24 |
| VENUS-4 |
venus |
Venus appEvents conform to fleet standard: categoryId uuid FK->lookupOptions + seed appEventCategory group + backfill w/ renames (access->authz, app->system, client-env->client); add 4 promoted cols (httpStatus/durationMs/path/failureCode); canonical logError/logWarn/logInfo wrappers + pickKnown + isCritical sync-bypass; canonical v_appEvents_* views; error-tier retention job (180d, GUC-bypass); re-level 1435 perf/warn rows->info; legacy_events sink decision for ~1552 rows. BLOCKED on committed SSOT + Elazar priority call. |
backlog |
normal |
— |
2026-06-13 02:36 |
| VENUS-2 |
venus |
alumno→staff comentario reply email — student thread reply notifies teacher; reply-scoped, carga-seed stays silent by construction (direct INSERT bypasses notify, per Pluto practica-actions.ts:358-365); reuse 15-min notifiedAt debounce + Reply-To rectificar-practica@; Q3 yes per Elazar 2026-06-05 |
backlog |
normal |
— |
2026-06-05 06:19 |
| VENUS-20 |
venus |
bug(auth): seed scripts use raw admin.createUser → NULL-token login-lockout in seeded users |
backlog |
low |
— |
2026-06-16 18:43 |
| VENUS-16 |
venus |
chore(db): index unindexed FKs on live query paths |
backlog |
low |
— |
2026-06-15 16:13 |