Skip to content

Handoff: SVC-023-support-moderation-source-contract admin-service support moderation source contract

Scope

  • Service/area: admin-service
  • Task pack: docs/agents/service-tasks/admin-service.md
  • Goal: accept the bounded SVC-023 source-map and support/moderation contract slice, preserving admin-service as an operations/read-model coordinator while keeping support ticket storage, recipient discovery, notification delivery, audit storage, IAM, profile, wallet, and payment ownership outside admin-service.
  • Non-goals: mutating support ticket implementation, public /api/support* cutover, broad /api/admin* route promotion, notification recipient discovery, ticket persistence, moderation workflow parity, 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/admin-service.md
  • go-platform/docs/agents/agent-handoff-format.md
  • go-platform/docs/api/admin-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/admin/feature-maintenance.service.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/admin/operations.controller.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/admin/admin-dashboard.controller.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/admin/inbox.controller.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/support/support.service.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/modules/support/support.controller.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/src/common/feature-maintenance.guard.ts
  • /Users/velikho/Desktop/WORKING/HOCTAPAZ/node-platform/apps/api/prisma/schema.prisma
  • Legacy source was read-only evidence only; no support ticket storage or recipient-discovery cutover is claimed.

Files Changed

  • go-platform/docs/agents/handoffs/SVC-023-support-moderation-source-contract.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 admin-service routes are limited to native/internal feature maintenance, source-map/source-snapshot, audit log, explicit-recipient admin broadcast, and explicit-recipient support notification routes.
  • Existing audited support.queues source-map entry points to notification-service owner projection GET /v1/admin/support/notification-summary and states support storage is not admin-service state.
  • Existing audited support notification code requires caller-supplied ticketId, clientRequestId, and concrete recipientIds; it writes a local audit log and best-effort emits notification intent, but does not store tickets, discover users, or write notification rows directly.

Tests And Verification

  • Command: env GOCACHE=/tmp/hoctapaz-svc023-go-cache GOTOOLCHAIN=go1.25.11 go test ./services/admin-service/... -count=1
  • Result: passed.
  • Evidence: admin-service packages passed for feature maintenance, source map/snapshots, audit log, notification broadcast, and support notification behavior.
  • Command: make test-feature-maintenance-routes test-admin-audit-routes
  • Result: passed.
  • Evidence: non-default route rehearsals remained exact and guarded while broad admin routes stayed legacy.
  • Command: make test-audit-admin-compat-routes
  • Result: passed.
  • Evidence: audit-service admin compatibility rehearsal stayed separate from admin-service default route promotion.
  • Command: make test-service-agent-execution-queue test-service-agent-closeout-ledger
  • Result: passed.
  • Evidence: queue and closeout ledger checks accepted the bounded contract state without marking the service complete.
  • Command: git diff --check -- docs/agents/service-agent-execution-queue.json docs/agents/service-tasks/admin-service.md services/admin-service deploy/gateway scripts/test Makefile docs/qa contracts/openapi/services/admin-service.yaml services/admin-service/api/openapi.yaml docs/api/admin-service.md
  • Result: passed.
  • Evidence: no whitespace errors were reported for the inspected admin-service slice.

Route State

  • Legacy route: default deploy/gateway/routes.json keeps broad /api/admin*, /api/support*, fallback, and other public routes legacy-proxied.
  • Native route: non-default feature maintenance and admin/audit compatibility examples remain exact route rehearsals only; support notification routes are internal/native and not public cutovers.
  • Gateway state: feature-maintenance, admin-audit, and audit-admin-compat route guards enforce auth/role/default legacy boundaries.
  • Rollback: keep the default gateway table; do not promote support/admin routes until owner APIs, recipient resolution, 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

  • Dependency SVC-022 has accepted bounded evidence only and remains not complete.
  • Public /api/support*, support ticket persistence, recipient discovery, and default admin route promotion remain gated.
  • Mutating support/moderation workflows must not start until support owner API and recipient-resolution contracts are explicit.
  • No live browser/runtime smoke was run for this handoff.

Next Step

  • Name the support ticket owner API and recipient-resolution source before any mutating support/moderation implementation, then add focused service tests and route/browser proof for the exact public route under rehearsal.

Go-platform documentation is generated from repository Markdown.