docs: record Go backend completeness review

This commit is contained in:
2026-08-14 07:26:22 +08:00
parent eacb4c67de
commit 8affa4b25a

View File

@@ -0,0 +1,44 @@
# Task: Review Go backend for missing modules
## Identity
- Task ID: 20260814-architecture-gap-review-3c8d51ae
- Mode: Feature
- Branch: main
- Worktree: /Users/brother7/Documents/AI/NianAIGC
- Base commit: eacb4c67def1af1de1f76669a00e4170afbb5392
- Owner: dsh
- Status: Ready for Integration
## Scope
- Read-only completeness review of the merged Go backend against ADR-003 and the current Next.js implementation: HTTP route surface, deep modules, provider engines, account lifecycle, ops scripts, and deployment artifacts.
## Intent And Constraints
- No application, database, test, or deployment file was changed.
- Facts were verified against the checked-in route-surface contract, source inventories, and binary strings; no claims based on task-record prose alone.
## Outcome
- Route surface: complete parity. The checked-in contract has 66 method/path entries; Next.js exports 64 route handlers plus the two static file roots (`/uploads`, `/generated-results`), and the Go `route_surface.go` registers all 66. Zero routes missing in Go, zero unexpected extras.
- Deep modules: all ADR-003 modules exist in Go — identity (legacy `zhinian_session` HMAC/chunking, password lifecycle, authorization), administration (accounts, organizations, status/archive/delete, legacy subject), assets (local FS + OSS adapters, bounded remote import), jobs/providers/orchestration (embedded WorkerLoop, retries, artifacts, Seedance settlement, signed Webhooks), billing/usage (integer-fen quote/wallet/ledger/catalog, super-admin quota exemption), templates/prompt/settings/logging, postgres (fail-closed, verified-CA TLS, readiness, claim/wallet functions, grants including `platform_account_migrations`), localstore, httpapi/publicapi (OpenAPI output), health/ready.
- Provider engines: image `jimeng`/`evolink`/`bailian` (wan2.7-image-pro) and video `seedance`/`bailian` are all wired in Go; the current Next capability surface is only `image.generate` and `video.generate`, so Go matches it exactly. `inpaint`/`upscale` are legacy asset-source labels, not active capabilities.
## Verification
- Programmatic diff of `contracts/http/route-surface.v1.json` (66 entries) against Next route exports (64) and Go `route_surface.go` (66): contract minus Go is empty; Go minus Next is only the two static file routes.
- Grep audits: provider engines, OSS, webhook HMAC, captcha proxy, WorkerLoop packages, admin account lifecycle, super-admin quota exemption.
- Binary string scan of `backend/zhinian-api` confirms bailian image/video endpoints, seedance settlement, and OSS requirements are compiled in.
## Follow-ups
- Ops tooling gaps (small, cutover-relevant, not runtime modules):
1. Go has no super-admin bootstrap tool (Next has `scripts/bootstrap-admin.mjs`); the Go binary exposes no CLI subcommands.
2. Go has no legacy-account import tool (Next has `scripts/import-legacy-accounts.mjs`); the DB privilege grants for `platform_account_migrations` already exist in Go's postgres layer.
3. The ACK migration Job still runs `node scripts/migrate-postgres.mjs`; Go has no migration runner. Acceptable while the Job keeps shipping Node, but a Go runner is worth deciding before cutover.
- Deployment artifacts for the Go workload (Go image, ACK manifests, Ingress routing) are intentionally deferred to the cutover workstream, not missing.
## Promotion Candidates
- None; this review recommends no canonical changes.