Commit Graph

  • 6c73174829 fix(exam): match app's per-page ceil so shapes don't drift up on long papers master CC Worker 2026-06-08 20:11:28 +00:00
  • 5434a5bf21 fix(exam): emit auto-map canvas coords in the frontend 780-wide page space CC Worker 2026-06-08 19:18:09 +00:00
  • 44ccba2151 fix(exam): guarantee auto-map child rows reference an inserted question CC Worker 2026-06-08 18:45:09 +00:00
  • e83873e822 fix(exam): dedupe all AI auto-map rows by id before insert CC Worker 2026-06-08 18:02:51 +00:00
  • 150b915282 [verified] fix exam auto-map duplicate continued parts kcar 2026-06-08 18:44:30 +01:00
  • 76e11b0b06 feat(docling): B1-2 AQA label normalization + missing-.1 inference + MCQ gap (salvaged) kcar 2026-06-08 05:03:05 +01:00
  • 52d1ece212 [verified] generalize B1 response regions and marks gap fill kcar 2026-06-08 04:49:21 +01:00
  • 69d9c46abe feat(docling): B1 image-only OCR eval harness (overwatch-cleaned) CC Worker 2026-06-08 03:10:10 +00:00
  • 34fc7edd68 [verified] add exam-board signed URL endpoint CC Worker 2026-06-08 01:45:56 +00:00
  • c69451fba2 [verified] add upload size and MIME guards kcar 2026-06-08 02:15:05 +01:00
  • e98fed661f [verified] fix files list owner scoping kcar 2026-06-08 02:08:38 +01:00
  • a6753d092f fix(reset): fold --user-subset cleanup into scope=all and scope=exam-corpus CC Worker 2026-06-08 00:26:24 +00:00
  • 7f7e843563 [verified] add user subset reset scope kcar 2026-06-08 01:22:14 +01:00
  • 7819e6e346 fix(seed): unseed user-subset storage objects kcar 2026-06-08 01:10:55 +01:00
  • 5da108df13 docs(reset): clarify exam-corpus scope kcar 2026-06-08 00:57:57 +01:00
  • 25d02aedeb fix(reset): default-deny destructive reset against prod target CC Worker 2026-06-07 23:49:53 +00:00
  • cdc105ae54 feat(seed): expand corpus to 1178 papers + download-only/unseed/granular reset feature/exam-seeding-overhaul CC Worker 2026-06-07 23:33:20 +00:00
  • 5750413f43 feat(seed): implement exam-corpus loader + filled 505-paper manifest CC Worker 2026-06-07 22:58:03 +00:00
  • d8cf3bbc62 feat(seed): wire exam-corpus mode into the init entrypoint (gated) CC Worker 2026-06-07 22:26:58 +00:00
  • 9aabc12062 feat(seed): provision taxonomy buckets (infra) + exam-corpus loader skeleton CC Worker 2026-06-07 22:22:48 +00:00
  • e6be762f0c fix(timetable): enrollment_requests uses requested_at, not created_at CC Worker 2026-06-07 20:34:39 +00:00
  • a01a25cc2e fix(exam): response_model=None on auto-map route (Union[dict,JSONResponse]) CC Worker 2026-06-07 19:52:05 +00:00
  • 2ac892c291 Merge S5-2 auto-map endpoint + upsert mapper CC Worker 2026-06-07 19:50:30 +00:00
  • 2678d0be42 [verified] add exam template auto-map endpoint kcar 2026-06-07 20:48:08 +01:00
  • 4dd6f0f674 Merge S5-5 centralized part-box synthesis (template.py) CC Worker 2026-06-07 19:39:51 +00:00
  • 621d283ceb S5-5: centralized part-box synthesis (band-y x content-margins) Kevin Carter 2026-06-07 20:38:25 +01:00
  • 2ebbfc1cf4 Merge S5-6 schema layout/provenance surface (API) CC Worker 2026-06-07 19:21:35 +00:00
  • 71ddceb19e Merge S5-4 regions.py onto docling package (S5-1) CC Worker 2026-06-07 19:10:48 +00:00
  • 43f0a9104c [verified] round-trip S5 exam layout fields kcar 2026-06-07 20:05:47 +01:00
  • 5938613893 [verified] add docling auto-map package wrapper kcar 2026-06-07 20:03:06 +01:00
  • 0b1496fff5 feat(docling): detect response regions with OpenCV kcar 2026-06-07 19:57:22 +01:00
  • 9cc986a3f1 fix(exam): allow any institute teacher to fetch template source PDF fix/source-pdf-visibility CC Worker 2026-06-07 09:55:03 +00:00
  • 6daa905ecd Merge remote-tracking branch 'origin/agent/s4-8-2-template-versioning-api' CC Worker 2026-06-07 00:12:05 +00:00
  • 28aafaa60f feat(exam): add metadata patch for templates agent/s4-8-2-template-versioning-api kcar 2026-06-07 00:33:01 +01:00
  • 115ecd2351 test(exam): mock service-role files read in source-pdf download test (S4-8.1) agent/s4-8-1-template-pdf-source CC Worker 2026-06-06 22:56:45 +00:00
  • a37bcaa935 fix(exam): source-pdf download reads files row via service role (S4-8.1 merge-gate fix 2) CC Worker 2026-06-06 22:54:24 +00:00
  • c0775f3be1 fix(exam): source-PDF upload uses shared cc.users bucket (S4-8.1 merge-gate fix) CC Worker 2026-06-06 22:51:51 +00:00
  • c58df6715c feat(exam): template source PDF at create + GET /templates/{id}/source-pdf (S4-8.1) CC Worker 2026-06-06 22:29:32 +00:00
  • 9c1aee28e2 feat(exam): persist S4-9 region kinds + Part geometry; keep metadata out of graph feat/exam-region-kinds CC Worker 2026-06-06 21:14:20 +00:00
  • 93972a62f7 fix: revert explicit apikey header (caused Kong duplicate-apikey 401) fix/apikey-duplicate CC Worker 2026-06-06 19:30:36 +00:00
  • f3da9f3b59 fix: explicit apikey header + resilient dev-stack seed-count baselines fix/green-suite-and-deploy CC Worker 2026-06-06 19:25:39 +00:00
  • 49f84655f7 merge: exam-marker FastAPI backend (S4-5/6/7) CC Worker 2026-06-06 19:16:52 +00:00
  • e269e67f27 fix(exam): block destructive template PUT once marks recorded (review #1) feat/exam-marker-api-router CC Worker 2026-06-06 19:15:35 +00:00
  • 77bb0766ff feat(exam): Neo4j projection on template save + neo4j-sync (S4-7) CC Worker 2026-06-06 19:02:18 +00:00
  • 98be55ab57 fix(storage): de-double braces in storage.py (set-of-dict crash) CC Worker 2026-06-06 18:46:50 +00:00
  • 62234dbbcb fix(exam): blank total only for absent AND unmarked; flip status on mark CC Worker 2026-06-06 18:43:09 +00:00
  • a1d297ac30 test(exam): replace StorageAdmin with fake class in scan tests CC Worker 2026-06-06 18:41:23 +00:00
  • 5ad9c01cde feat(exam): batches, scans, marks, results, CSV (S4-6) CC Worker 2026-06-06 18:40:10 +00:00
  • 96f9fb2446 test(exam): accept 401 or 403 for unauthenticated request CC Worker 2026-06-06 17:50:55 +00:00
  • f52c3267ca feat(exam): /api/exam template CRUD router (as-user RLS, E1 fix) CC Worker 2026-06-06 17:49:58 +00:00
  • 6ce6272a1e merge: feat/exam-marker-exam-paper-seed (exam-marker foundation) CC Worker 2026-06-06 17:01:49 +00:00
  • b8cb9083ec merge: feat/exam-marker-cohort-seed (exam-marker foundation) CC Worker 2026-06-06 17:01:49 +00:00
  • 8427063bd1 merge: feat/exam-marker-neo4j-graph (exam-marker foundation) CC Worker 2026-06-06 17:01:49 +00:00
  • 5f822eaf87 feat(seed): AQA-PHYS-8463 spec + paper for exam-marker test CC Worker 2026-06-06 16:19:10 +00:00
  • c690caa26d feat(exams): cc.public.exams Neo4j graph init + node schemas CC Worker 2026-06-06 16:14:56 +00:00
  • 0ce654c6c6 feat(seed): markable cohort for exam-marker (9P/Ph1) CC Worker 2026-06-06 15:00:00 +00:00
  • 4b296cff74 fix: include school_id in bootstrap profile select query CC Worker 2026-06-03 07:26:30 +00:00
  • 3711b52ea4 Merge fix/r6-timetable-endpoint: R6-D timetable endpoint + R6-E classes fix CC Worker 2026-06-03 01:15:00 +00:00
  • d3465eca7b R6-D: add GET /database/timetable/timetables endpoint CC Worker 2026-06-03 01:14:55 +00:00
  • 9de949d212 R6-E2: return empty collections when user has no school - _require_institute returns Optional[str] instead of raising 400 - list_classes / my_teaching_classes / my_student_classes / list_school_students now return empty arrays when school_id is missing CC Worker 2026-06-02 23:36:05 +00:00
  • f203f376e9 fix(supabase): remove duplicate apikey header in _create_base_client kcar 2026-06-02 21:37:10 +00:00
  • 52f5ef4ca2 feat: add init service to dev compose, remove redundant build sections Kevin Carter 2026-05-29 21:07:25 +01:00
  • ead4452277 feat: add P0 seed scripts for timetable, planned lessons, file cabinets, and curriculum Kevin Carter 2026-05-29 20:49:19 +01:00
  • e66c8ec291 t4: consolidate seed scripts, remove demo modes, standardize passwords kcar 2026-05-29 19:51:32 +01:00
  • abc90fa1b6 test: align Supabase user client header expectation kcar 2026-05-28 19:19:05 +01:00
  • 39ad1818ae Merge branch agent/p0-correctness-security kcar 2026-05-28 19:17:22 +01:00
  • 1738af0e3d Merge branch agent/tlsync-token-t_a69128a1 (TLSync JWT token endpoint) kcar 2026-05-28 18:04:25 +01:00
  • 7808a0ae56 Add TLSync token endpoint kcar 2026-05-28 15:10:59 +01:00
  • 47409c499e Merge branch agent/me-bootstrap kcar 2026-05-28 17:52:27 +01:00
  • 88a3193e01 Keep platform bootstrap permissions additive kcar 2026-05-28 15:10:54 +01:00
  • 4f6634e088 Implement Supabase-first me bootstrap kcar 2026-05-28 14:14:35 +01:00
  • 54760083b5 fix: tighten API P0 auth and route handling kcar 2026-05-28 12:42:42 +01:00
  • 550d405935 Merge branch agent/phase-a-dev-runtime kcar 2026-05-28 12:37:09 +01:00
  • df40ddc286 fix: keep health errors non-sensitive kcar 2026-05-28 11:43:59 +01:00
  • 310e273aa5 feat: expose API runtime identity in health kcar 2026-05-28 11:32:04 +01:00
  • 7fede4d082 fix: run API dev stack in dev mode kcar 2026-05-28 10:15:33 +01:00
  • b452c9f593 test: add dev stack integration checks kcar 2026-05-27 23:24:28 +01:00
  • 647f41e421 chore: consolidate api dev compose kcar 2026-05-27 22:55:01 +01:00
  • 9b49e92722 chore: add .gitignore for Python API project kcar 2026-05-27 21:56:21 +01:00
  • 3beb8069d3 docs: add .env.example with all API environment variables kcar 2026-05-27 21:55:26 +01:00
  • d5bda761d6 fix: enable per-user RLS via SupabaseAnonClient.for_user() and StorageUser(access_token=) kcar 2026-05-27 21:51:58 +01:00
  • ef75f08392 fix(redis): connect during health checks kcar 2026-05-27 16:46:39 +01:00
  • 0d828315bb fix(graph-tree): class_code column, SubjectClass expansion handler kcar 2026-05-27 13:30:53 +01:00
  • b71995f4fb fix(graph-tree): switch class/timetable data source to Supabase kcar 2026-05-27 12:58:47 +01:00
  • bf3df05632 fix(nav): fix AcademicWeek Cypher bug, add TeacherTimetable tree handlers, timetable-term view kcar 2026-05-27 12:12:46 +01:00
  • b42b409bb2 fix(nav): AcademicWeek children + days support in graph tree API kcar 2026-05-27 10:54:23 +01:00
  • caeee6c9e4 fix: correct profiles.user_type constraint and admin_profiles column names in reset/seed kcar 2026-05-27 06:27:23 +01:00
  • 0596ee5e2c feat(seed): Greenfield full timetable seed with classes and student enrollment kcar 2026-05-27 05:59:06 +01:00
  • 9c32887407 fix: use PUT (not PATCH) for Supabase admin user_metadata update kcar 2026-05-27 04:23:59 +01:00
  • 035ea17844 fix: prevent platform admin from being auto-enrolled in default school kcar 2026-05-27 04:16:22 +01:00
  • 52532ce00f feat(phase-c): lesson plans library backend — CRUD, delivery linking, AI suggest kcar 2026-05-27 03:59:26 +01:00
  • abf8d05ca1 feat(phase-b): Supabase-first timetable, classes, enrollment, and student views kcar 2026-05-27 02:55:44 +01:00
  • 7c75481245 feat(phase-b): rewrite demo_users with initialize_demo_users() for clean restart kcar 2026-05-26 02:19:44 +01:00
  • e42cd09dea feat(phase-b): GAIS Supabase loader + school search/register endpoints kcar 2026-05-26 01:51:45 +01:00
  • fe3d7a12c8 feat(phase-b): school/timetable API routers + graph nav tree kcar 2026-05-26 01:24:44 +01:00
  • 84f7fa9de1 fix: cache Neo4j driver failure state to avoid 60s retry on every request kcar 2026-05-21 17:26:21 +00:00
  • 7ca21ef538 feat: implement export endpoint for transcription sessions (Phase 3E) Kevin Carter 2026-05-20 22:25:36 +00:00
  • 36ae76143f Phase 3B: Implement pluggable LLM client for summary generation Kevin Carter 2026-05-20 22:20:19 +00:00
  • fd8d2a537d feat(cis): implement /database/timetables/current-period endpoint with Neo4j query Kevin Carter 2026-05-20 22:06:46 +00:00
  • b47c7c252d feat(transcription): add Supabase schema and API endpoints for CIS kcar 2026-05-20 21:03:00 +00:00