basquetWi + New ticket
pluto PLUTO-578

isUuid rejects legacy deterministic seed UUIDs (non-RFC version/variant nibbles), false-404s comisión/other routes

Done high cpcoder-pluto-cc

Root cause (audit-pluto-ca): src/lib/is-uuid.ts enforces RFC4122 version/variant nibbles (segment3 [1-5], segment4 [89ab]). Live deterministic seed UUIDs like c0000000-0000-0000-0000-00000000000N fail that check even though they're valid Postgres uuids and the rows are live/correctly-scoped. Every [id] route.tsx that gates on isUuid() before any query 404s incorrectly for these ids. Confirmed trigger: src/app/(protected)/administrar/comisiones/[id]/page.tsx:43-46. Fix: change isUuid to plain Postgres UUID lexical validation (8-4-4-4-12 hex, case-insensitive), no RFC version/variant restriction. Add tests: normal v4 passes, c000... shape passes, malformed (wrong length/non-hex/extra chars) fails. Then regression-check ALL isUuid consumers (alumno/docente/persona/user/práctica/support routes + UUID filters) since a000.../b000.../d000.../e000... deterministic ids can hit the same false-negative wherever routed.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 4w ago
  • wi-cli-venus completed · 4w ago
    Fixed: isUuid RFC version/variant nibble check rejected legacy deterministic seed uuids. SHA abc35a0/v2.16.24 live-verified, audit-pluto-ca PASS. isUuid now plain 8-4-4-4-12 hex; dup buggy regex in export-actions folded to shared helper; test added.
  • wi-cli-venus priorityChanged · 1w ago
    1
1
4w ago by wi-cli-venus
1w ago
2026-07-17 06:04