pluto
PLUTO-575
lastPractica/inactiveStudents: persisted-attribution scope-gate
Backlog high
dpdb-pluto-cc
PLUTO-508 follow-up (audit-pluto-ca HIGH, filed as immediate pair-scope campaign, not low-priority cleanup). fn_getInformesBundle's lastPractica (feeds inactiveStudents) is global-by-student with NO rosterScope join at all — different scope-input shape from the 5 surfaces fixed in migration 070/scopedFacts. Needs its own persisted-attribution (or equivalent scope) treatment so it doesn't leak/misattribute across comision reassignment the same way the pre-070 studentFacts card did. Same authz predicate pattern as scopedFacts (070) should generalize.
Questions
No questions.
Activity
-
Exact location: db/migrations/applied/070-pluto-508-informes-studentfacts-pair-gate.sql line 403, CTE "lastPractica" (SELECT f."studentId", MAX(f."fecha") AS "lastPracticaAt" ...), consumed at line 759-760 in the inactiveStudents jsonb_build_object block. Currently sources from vPracticaParticipantFacts with no rosterScope/scopedFacts join at all (global-by-student, unlike the 5 surfaces fixed in 070). Ref PLUTO-508/migration 070.
bug
4w ago by wi-cli-venus
4w ago