SOP-27 follow-up: JTP-scoping/duplication/attribution/metrics bugs across /alumnos /practicas /informes /comisiones
SOP-27 follow-up (Elazar-directed), db-mars-cc diagnosis via proxy-mars-cc-w dual-viewer captures (Paula+Eugenia) cross-checked vs DB: (1) NO JTP SCOPING - /alumnos, /practicas, comision detail, informes show the teacher the WHOLE comision (39 students/329 practicas) not their own students; Eugenia(0 assigned) sees byte-identical /alumnos as Paula. (2) DUPLICATION BUG - comision detail renders every student TWICE, viewer-independent; Eugenia /practicas shows 349 rows vs 329 real (20 phantom, all in sin-calificar bucket). (3) THREE UNLABELED CONFLICTING ATTRIBUTION RULES - roster slot (studentAssignments.assignedTeacherUserId) vs live pick (practicas.jtpUserId) vs apparent who-graded in informes por-JTP table (Eugenia named JTP on 15 live practicas is MISSING from her own report row; Gonzalo, ayudante never JTP-picked, shows 78) - db-mars-cc's who-graded read is INFERENCE not verified against practicaReviews. (4) MISLEADING METRICS - Aprobacion% = approved/total INCLUDING ungraded (Carlos 36.1% vs ~100% of graded); roster-ayudante column stale vs live near-null; /practicas pendientes banner 40 vs 10 listed (display cap?); two informes cells DIFFERED between Paula/Eugenia captures minutes apart on the same comision (Robledo aprobacion 80%/60%, latencia 14d/14h; Noelia 6/8 alumnos) - possible cache/non-determinism bug. ELAZAR-MANDATED: coder must independently re-verify every point by reading actual page queries/components (do not assume db-mars-cc's findings are 100% right), reproduce the duplication, confirm/refute the who-graded inference, loop in audit-mars-ca to help verify. db-mars-cc's raw numbers are solid; UI-mechanism inferences are inferences only. Already fixed (narrow, archived): Harumi Miyauchi + Lazarte Luana roster JTP repointed Eugenia->Paula.
Sub-tickets — 2/2 done
Questions
Activity
-
coder-mars-cc + audit-mars-ca independent verification: (1) no-scoping CONFIRMED, deliberate whole-comision fallback by design (alumnos.ts:122-133, practica.ts:305+, comision detail unfiltered, informes accessible_comisiones=membership) - fix is a product decision. (2) duplication CONFIRMED as UI double-render only (vComisionStudentsByJtp UNION dual-assigns render under both docentes; 349 vs 329 = backlog top-10 sections re-listing flat-table rows, by design), NOT phantom DB rows. (3) 3-axis attribution CONFIRMED, who-graded inference CORRECT per reporting.ts:213-386 (pending=jtpUserId pick, graded=latest practicaReviews.reviewedBy per MARS-136/Elazar Q1=B, alumnos-col=roster slot) - one unlabeled table mixing 3 semantics. (4) Aprobacion% CONFIRMED misleading: per-comision/per-JTP tables (reporting.ts:155-158,346-349) divide by total-incl-ungraded, contradicting the summary tiles which already use %-of-calificadas correctly - internal self-contradiction, dispatching fix now (no product-decision needed). Cross-viewer differing cells: coder found deterministic cause (per-JTP rows aggregate across viewer's own comision-membership set, not a shared value) pending db-mars-cc confirm. Scoping default (1) + informes table semantics (2) escalated to Elazar.
-
All 4 findings resolved: children 473/474 already closed; Aprobación% fixed (296c65c/cce4297); attribution-axis labeling shipped ff5a5ec v2.32.10 (/informes per-JTP tooltips+legend); 40-vs-10 pendientes banner verified by-design (BACKLOG_TOP_N=10 + deep-link). coder-mars-cc re-verified independently per Elazar mandate.
-
FINISHED: audit PASS:ff5a5ec confirmed on re-review.