Skip to content

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-006 audit 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.md
  • go-platform/docs/architecture/legacy-api-map.md
  • go-platform/docs/agents/service-agent-execution-queue.json
  • go-platform/docs/agents/service-agent-closeout-ledger.json
  • go-platform/docs/agents/service-tasks/classroom-service.md
  • go-platform/docs/agents/agent-handoff-format.md
  • go-platform/docs/api/classroom-service.md
  • go-platform/docs/qa/service-agent-goal-completion-audit.md
  • go-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.md
  • go-platform/docs/agents/service-agent-closeout-ledger.json
  • go-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/summary and /v1/classrooms* routes.
  • Existing audited storage uses local classrooms and classroom_members rows 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/notify remain legacy-proxied.
  • Native route: no public classroom native route is accepted in this handoff.
  • Gateway state: make test-classroom-route-guard enforces classroom/admin classroom prefixes stay legacy across gateway route examples.
  • Rollback: keep deploy/gateway/routes.json as 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.

Go-platform documentation is generated from repository Markdown.