{"module":"results","surface":"alpha","status":"ok","basePath":"/alpha/results/v1","docs":{"architecture":"https://platform3-andymontgomery-9773s-projects.vercel.app/results/alpha/architecture","dataDictionary":"https://platform3-andymontgomery-9773s-projects.vercel.app/results/alpha/data_dictionary","customerWebsite":"https://platform3-andymontgomery-9773s-projects.vercel.app/results/alpha/customer_website"},"allowedValues":{"subject_id":["math","reading","language","science","vocabulary","writing"],"result_record_subject_id":["math","reading","language","science","vocabulary","writing","social_studies"]},"subjectContract":{"publicQueryParameters":"Use the canonical lowercase Alpha subject ids exactly: math, reading, language, science, vocabulary, writing. Public Results reads reject source/display aliases such as Mathematics, Math, ELA, Vocab, and FastMath.","outcomeIngress":"Result-record, raw outcome, and component-XP writes accept math, reading, language, science, vocabulary, writing, social_studies; social_studies is preserved for app outcomes/XP but does not enter reports or HMG. Policy: alpha.policy.results_subject_boundaries.v2026-07-17.issue-1052.","writeCanonicalization":"Write/import boundaries may fold source labels to canonical subject_id before storage; public report filters remain on the independent exact-six registry.","sourceAdapters":"Raw TimeBack, NWEA, and Results next-task decision imports normalize producer subject labels server-side and quarantine unknown source subjects instead of creating new public ids."},"commitments":{"tenantRouting":"tenant_id/tenantId comes from the signed JWT, not URL or headers.","reportReadyViews":"MAP and closed-loop reports are returned as surface-owned rows; clients do not ship norms tables or dedupe logic.","testResults":"alpha.test_result_component exposes test -> section -> part -> question_response rows. Apps do not parse result_record.canonical_response JSON or join class/course/org/event tables to understand a student's test result.","missedItemKcAttribution":"GET /missed-item-kc-attribution joins incorrect question_response evidence to Content-owned active alpha.content_kc_tag mappings at read time. Missing links are explicit and never expanded to every KC in the gate.","aiGradingAudit":"alpha.ai_grading_audit exposes which AI grader/model/prompt produced or revised overall and question-level feedback, including human override rows with supersession pointers. Apps do not bury grading feedback only in free text or canonical_response JSON.","studentKnowledge":"student_kc_state exposes initial_mastery, current_retention, durable_mastery, and fluency_state separately; clients never blend them.","itemCalibration":"alpha.item_calibration preserves feature-based pre-use difficulty and promotes valid empirical difficulty at 200 responses; clients never compute or overwrite the effective estimate.","nextTask":"GET /alpha/results/v1/next-task returns the typed task ref selected by Results; apps render it and never rank tasks themselves. An exact cached student/subject/date row wins; on an exact-date miss Results derives the decision under alpha.policy.next_task from Results state, the Analytics school calendar, and governed Curriculum placement/frontier reads. Known students and subjects receive a routable task or typed no_task; 404 is reserved for unknown student or subject. The policy_config payload declares AP staged acquisition, spacing, latency adjustment, interleaving, and review:new mix rules. When a cached row mirrors Content usage_scope/content_usage_scope, only practice_eligible rows are routable; held_out_canary and secure_form are excluded by Content/Curriculum before caching.","progress":"Results exposes course and grade-level progress as the student-facing answer. Analytics supplies typed rollup evidence; clients do not join modules or compute percent complete.","assessmentFinalization":"POST /alpha/results/v1/assessment-finalizations/finalize freezes a placement/test-out evidence set, applies Results/Curriculum policy server-side, materializes the durable outcome, and exposes the same finalization reference to student and guide readers.","gradeAdvancement":"GET /students/{studentId}/grades-mastered returns grades_mastered_sytd as the default mastery-pure answer and map_baseline_grade_delta_not_grades_mastered only as explicitly named placement context. /advancement and advancement_value are deprecated aliases to grades_mastered_sytd.","pointInTime":"asOfDate filters effective-dated KC state, track state, report card, gate pass, working grade, and named grade-advancement rows.","auditEvidence":"Ordinary transcript and MAP-sitting reads omit source/deletion evidence. includeSourceEvidence=true and map-sittings sittingScope=all require the exact results:audit scope in addition to ordinary read authority; roles and results:* do not substitute, and audit authority never widens tenant/student visibility."},"endpoints":["POST /dev/mint?tenantId=demo","POST /alpha/results/v1/pp100/attempts","GET /alpha/results/v1/pp100/attempts/{attemptId}","POST /alpha/results/v1/pp100/attempts/{attemptId}/responses","GET /alpha/results/v1/result-records","GET /alpha/results/v1/result-records/{resultRecordId}","GET /alpha/results/v1/assessment-finalizations","GET /alpha/results/v1/students/{studentId}/assessment-finalizations","GET /alpha/results/v1/test-result-components","GET /alpha/results/v1/missed-item-kc-attribution?resultRecordId={resultRecordId}","GET /alpha/results/v1/ai-grading-audit","GET /alpha/results/v1/students/{studentId}/results","GET /alpha/results/v1/students/{studentId}/test-result-components","GET /alpha/results/v1/students/{studentId}/ai-grading-audit","GET /alpha/results/v1/students/{studentId}/kc-state","GET /alpha/results/v1/students/{studentId}/track-state","GET /alpha/results/v1/next-task","GET /alpha/results/v1/students/{studentId}/xp-ledger","GET /alpha/results/v1/content-effectiveness","GET /alpha/results/v1/item-calibrations","GET /alpha/results/v1/source-adapters","GET /alpha/results/v1/policy-config","GET /alpha/results/v1/academic-records","GET /alpha/results/v1/course-transcripts","GET /alpha/results/v1/course-grades","GET /alpha/results/v1/transcript-results","GET /alpha/results/v1/students/{studentId}/map-scores","GET /alpha/results/v1/students/{studentId}/current-map","GET /alpha/results/v1/students/{studentId}/map-sittings","GET /alpha/results/v1/students/{studentId}/map-goal-strands","GET /alpha/results/v1/students/{studentId}/growth-windows","GET /alpha/results/v1/map-percentile-translations","GET /alpha/results/v1/map-r90-norm-points","GET /alpha/results/v1/students/{studentId}/working-grade","GET /alpha/results/v1/students/{studentId}/course-progress","GET /alpha/results/v1/students/{studentId}/grade-level-progress","GET /alpha/results/v1/students/{studentId}/grades-mastered","GET /alpha/results/v1/students/{studentId}/advancement","GET /alpha/results/v1/students/{studentId}/report-card","GET /alpha/results/v1/students/{studentId}/gate-passes","GET /alpha/results/v1/students/{studentId}/highest-mastered-grade","POST /alpha/results/v1/assessment-finalizations/finalize","POST /alpha/results/v1/component-xp-awards","POST /alpha/results/v1/imports","GET /alpha/results/v1/imports/{importId}","POST /alpha/results/v1/result-records","PATCH /alpha/results/v1/result-records/{resultRecordId}","GET /alpha/results/v1/reports/map-quadrants","GET /alpha/results/v1/reports/retake-audit","GET /alpha/results/v1/reports/growth-over-time","GET /alpha/results/v1/reports/norms-isolation","GET /alpha/results/v1/reports/growth-breakdown","GET /alpha/results/v1/reports/group-growth-x","GET /alpha/results/v1/reports/student-progress-animation","GET /alpha/results/v1/reports/closed-loop-reconciliation","GET /alpha/results/v1/reports/answer-key"]}