Appearance
Handoff: SVC-006-legacy-lessons-materials-tuition-audit classroom-service legacy lessons/materials/tuition audit
Scope
- Service/area:
classroom-service - Task pack:
docs/agents/service-tasks/classroom-service.md - Goal: accept the bounded
SVC-006audit slice that pins classroom-service to classroom-local class/member state while legacy classroom-adjacent lessons, materials, tuition, exams, catalog, dashboard, and leaderboard routes remain outside this native classroom slice. - Non-goals: public
/api/classrooms*route promotion, purge route exposure, profile/IAM/school boundary changes, lesson/material/tuition implementation, live/browser proof, or changes to legacy source under/Users/velikho/Desktop/WORKING/HOCTAPAZ/.
Docs Read
go-platform/docs/architecture/service-responsibility-matrix.mdgo-platform/docs/architecture/legacy-api-map.mdgo-platform/docs/agents/service-agent-execution-queue.jsongo-platform/docs/agents/service-agent-closeout-ledger.jsongo-platform/docs/agents/service-tasks/classroom-service.mdgo-platform/docs/agents/agent-handoff-format.mdgo-platform/docs/api/classroom-service.mdgo-platform/docs/qa/service-agent-goal-completion-audit.mdgo-platform/docs/qa/service-agent-readiness-smoke.md
Legacy Evidence Read
/Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/classrooms/classroom.service.ts/Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/classrooms/classrooms.controller.ts/Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/classrooms/classroom-workspace.spec.ts/Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/classrooms/**/Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/prisma/schema.prisma- Legacy source was read-only evidence only; no lessons/materials/tuition route parity is claimed.
Files Changed
go-platform/docs/agents/handoffs/SVC-006-legacy-lessons-materials-tuition-audit.mdgo-platform/docs/agents/service-agent-closeout-ledger.jsongo-platform/docs/agents/service-agent-closeout-ledger.md
Behavior Implemented
- none in this handoff.
- Existing audited classroom-service routes remain service-local
/v1/admin/classrooms/summaryand/v1/classrooms*routes. - Existing audited storage uses local
classroomsandclassroom_membersrows with external IDs as text refs; repository queries stay inside classroom-service tables. - Existing audited docs/guards keep classroom-adjacent lesson, material, tuition, exam, catalog, dashboard, and leaderboard routes legacy until their dedicated owner slices exist.
Tests And Verification
- Command:
GOTOOLCHAIN=go1.25.11 go test ./services/classroom-service/... -count=1 - Result: passed.
- Evidence: classroom-service packages passed for current classroom/member behavior.
- Command:
make test-classroom-route-guard - Result: passed.
- Evidence: guard verified default and non-default route tables keep public/admin classroom prefixes legacy-proxied.
Route State
- Legacy route: default
/api/classrooms*,/api/admin/classrooms*, and/api/classrooms/:id/notifyremain legacy-proxied. - Native route: no public classroom native route is accepted in this handoff.
- Gateway state:
make test-classroom-route-guardenforces classroom/admin classroom prefixes stay legacy across gateway route examples. - Rollback: keep
deploy/gateway/routes.jsonas the active route table; do not expose classroom purge or adjacent lessons/materials/tuition routes until owner scope, gateway RBAC, browser/runtime proof, response parity, and rollback evidence are attached.
Data Notes
- Tables touched: none in this handoff run; verification used package tests and route guards.
- Migration run: none.
- Validation report: not applicable because no live data was migrated or backfilled.
Risks / Blockers
- SVC-004 and SVC-005 dependencies remain not complete; SVC-005 now has only bounded accepted evidence.
- Native purge remains an internal-only hazard and must not be exposed publicly without gateway RBAC/live rollback proof.
- Lessons/materials/tuition ownership still needs dedicated slices before public route work.
- No default route promotion, live/browser proof, rollback proof, or populated data validation exists for classroom routes.
Next Step
- Split lesson/material/tuition ownership into dedicated owner-service tasks before adding any native classroom-adjacent public route rehearsal.