This website requires JavaScript.
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