Appearance
Service Agent Dispatch Roster
Status: orchestrator-owned spawn roster for canonical service agents.
Use this roster when spawning one service-owner agent per vertical slice. The machine-readable row set is docs/agents/service-agent-manifest.json. The agent must still read the service task pack, docs/agents/service-agent-proof-ledger.json, and docs/agents/service-agent-closeout-ledger.json, and docs/agents/service-workflow-test-matrix.md; this page fixes the dispatch unit, implementation directory, first verification command, proof boundary, closeout path, and parallelism rule for human operators. Use the row's Dispatch ID as the task-id prefix in worker prompts and handoffs, for example SVC-003-auth-access-scope.
Dispatch Contract
- Spawn at most one worker per implementation directory at a time.
- Legacy source under
/Users/velikho/Desktop/WORKING/HOCTAPAZ/is read-only evidence. - Frontend callers stay behind
api-gatewayor an approved BFF. - Shared files are orchestrator-owned unless the row explicitly delegates them: root
Makefile, Compose, Helm, K8s, VitePress config, generated OpenAPI indexes, and default gateway route tables. - Route rehearsals do not imply default gateway promotion. Default promotion still needs browser/runtime proof and rollback notes.
- Service rows do not become complete until their accepted handoff is recorded in
docs/agents/service-agent-closeout-ledger.json. - Do not spawn
auth-service; auth/login/session/access work routes toiam-service. - Do not spawn a broad product
user-service; it is retirement-only until IAM/Profile cutover evidence is complete.
Canonical Service Owners
| Dispatch ID | Wave | Canonical service | Implementation owner | Task pack | First verification |
|---|---|---|---|---|---|
| SVC-001 | 1 | api-gateway | services/api-gateway | docs/agents/service-tasks/api-gateway.md | GOTOOLCHAIN=go1.25.11 go test ./services/api-gateway/... |
| SVC-002 | 1 | bff-service | services/bff-service | docs/agents/service-tasks/bff-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/bff-service/... |
| SVC-003 | 1 | iam-service | services/iam-service | docs/agents/service-tasks/iam-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/iam-service/... |
| SVC-004 | 1 | profile-service | services/profile-service | docs/agents/service-tasks/profile-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/profile-service/... |
| SVC-005 | 1 | organization-service | services/school-service alias | docs/agents/service-tasks/organization-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/school-service/... |
| SVC-006 | 1 | classroom-service | services/classroom-service | docs/agents/service-tasks/classroom-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/classroom-service/... |
| SVC-007 | 2 | course-service | services/course-service | docs/agents/service-tasks/course-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/course-service/... |
| SVC-008 | 2 | question-service | services/question-bank-service alias | docs/agents/service-tasks/question-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/question-bank-service/... |
| SVC-009 | 2 | exam-service | services/exam-service | docs/agents/service-tasks/exam-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/exam-service/... |
| SVC-010 | 2 | attempt-service | services/attempt-service | docs/agents/service-tasks/attempt-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/attempt-service/... |
| SVC-011 | 2 | file-service | services/document-service alias | docs/agents/service-tasks/file-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/document-service/... |
| SVC-012 | 2 | import-service | services/docx-import-service alias | docs/agents/service-tasks/import-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/docx-import-service/... |
| SVC-013 | 2 | formula-docx-service | source-controlled runtimes/go-formula-docx runtime | docs/agents/service-tasks/formula-docx-service.md | sh scripts/test/go-formula-runtime-coverage.sh |
| SVC-014 | 2 | search-service | services/search-service | docs/agents/service-tasks/search-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/search-service/... -count=1 |
| SVC-015 | 3 | ai-service | services/ai-classifier-service alias | docs/agents/service-tasks/ai-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/ai-classifier-service/... |
| SVC-016 | 3 | billing-service | services/billing-service | docs/agents/service-tasks/billing-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/billing-service/... |
| SVC-017 | 3 | wallet-service | services/wallet-service | docs/agents/service-tasks/wallet-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/wallet-service/... |
| SVC-018 | 3 | usage-service | services/usage-service | docs/agents/service-tasks/usage-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/usage-service/... |
| SVC-019 | 3 | payment-service | services/payment-service | docs/agents/service-tasks/payment-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/payment-service/... |
| SVC-020 | 4 | notification-service | services/notification-service | docs/agents/service-tasks/notification-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/notification-service/... |
| SVC-021 | 4 | audit-service | services/audit-service | docs/agents/service-tasks/audit-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/audit-service/... |
| SVC-022 | 4 | analytics-service | services/analytics-service | docs/agents/service-tasks/analytics-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/analytics-service/... |
| SVC-023 | 4 | admin-service | services/admin-service | docs/agents/service-tasks/admin-service.md | GOTOOLCHAIN=go1.25.11 go test ./services/admin-service/... |
Alias-Only And Retirement Rows
| Row | Dispatch rule |
|---|---|
entitlement-service | Alias concept only. Route to usage-service unless an ADR renames the canonical service. |
RET-USER user-service | Retirement/quarantine only through docs/agents/service-tasks/user-service-retirement.md. Do not assign new product work. |
auth-service | Not a Go-platform service row. Route all identity/access work to iam-service. |
Spawn Prompt Skeleton
txt
You own <canonical-service> for one vertical slice in go-platform.
Task ID: <Dispatch ID>-<short-slice-slug>.
Read first:
- docs/architecture/service-responsibility-matrix.md
- docs/agents/service-agent-dispatch-roster.md
- docs/agents/service-agent-closeout-ledger.json
- docs/agents/service-workflow-test-matrix.md
- <task-pack>
- legacy evidence cited by <task-pack>
Rules:
- Work only in <implementation-owner> and task-pack writable scope.
- Do not edit orchestrator-owned shared files unless explicitly delegated.
- Do not create alias directories or an auth-service/user-service boundary.
- Keep default gateway routes legacy unless this task is a route rehearsal with
browser/runtime proof and rollback notes.
Close out with:
- task ID
- docs and legacy files read
- files changed
- focused tests and first verification command output
- closeout ledger required handoff path
- route/default cutover status
- rollback notes
- next recommended task