Files
NianAIGC/.project-docs/30-worklog/current-state.md

7.7 KiB

Current State

This file is the integrated default-branch snapshot. Feature tasks record progress in 30-worklog/tasks/{task_id}.md and propose canonical changes for the Integration Gate. Feature tasks must not rewrite this file; it changes only in integration mode.

Integrated Through

  • c44274f (rebased integration of 84d84ba, task 20260812-rds-postgres-adapter-7f2c1a)
  • 79d29bb (cross-platform ACK manifest validation fix)
  • 4485899 (task-scoped Next.js frontend plus Go backend target design and explicit not-implemented progress record)
  • 064e155 (canonical ADR-003, architecture, current-state, history, and commitment promotion)
  • b8db39d (merge of aef5a97 — completed Go backend modules; tasks 20260812-go-migration-foundation-b74c9e21, 20260813-go-identity-vertical-c4e91a72, 20260813-go-auth-me-http-8d6f3a21, 20260813-go-auth-lifecycle-3f9a6c12, 20260813-go-remaining-modules-7d3a9e42)
  • d0fb346 (merge of c1cbd78 — Go backend implementation, contract fixtures, migration 0002, and task-scoped records into main; tasks 20260813-go-remaining-modules-7d3a9e42 and 20260814-go-remaining-integration-5e7c9a1b)
  • f10cdd9 (record of completed task 20260812-architecture-task-breakdown-a83f61c2)
  • ff055c9 (config-driven super-admin bootstrap in the Go backend, task 20260814-go-bootstrap-admin-6e2b7d9c)
  • 4a8f2d5 (Go workload deployment artifacts and split Ingress routing, task 20260814-go-deploy-artifacts-2a5f8e1d)
  • 498c2fa (authenticated Next.js SSR-to-Go identity bridge and ACK Web internal Go URL, task 20260816-fix-authenticated-ssr-6c3f8a21)
  • b14b4fc (pure static Next.js export, browser-to-Go auth, Go-only runtime API ownership, unprivileged Nginx Web, and first-deployment ACK cleanup; task 20260816-static-frontend-go-api-4f8c2a7d)
  • acf368b (diagnosis of the production Go bootstrap failure against an RDS endpoint that refuses PostgreSQL TLS)
  • ed97814 (code-enforced plaintext PostgreSQL for Go and retained Node tooling, removal of the obsolete RDS CA deployment dependency, and protocol regression coverage; task 20260816-disable-postgres-tls-d4a89c12)

Current Focus

The first production deployment is live at https://nianxxaigc.nianxx.cn. After a redeployment, the observed Go API process fails during super-admin bootstrap because its RDS endpoint refuses a TLS negotiation. Repository revision ed97814 retains the static Web + Go-only runtime boundary from b14b4fc and forces every maintained PostgreSQL client to plaintext (sslmode=disable), without requiring an Alibaba Cloud RDS configuration change. The fixed Go image and updated ACK manifest have not yet been verified in the live cluster, and the exact deployed image revisions still require cluster evidence.

Recently Completed

  • 2026-08-12: Replaced the Supabase/PostgREST runtime path with a server-only pg adapter across data, account, and billing stores.
  • 2026-08-12: Added versioned PostgreSQL migrations, strict backend selection, database readiness, and ACK Web/Worker/migration manifests; the original verified-CA transport decision was amended on 2026-08-16.
  • 2026-08-12: Accepted and documented the Next.js frontend plus Go backend target, migration contracts, and acceptance criteria.
  • 2026-08-14: Implemented and merged the Go backend (foundation, identity, administration, assets, billing, usage, jobs/providers/webhooks/worker loop, public and compatibility HTTP surfaces) with language-neutral contract fixtures and migration 0002.
  • 2026-08-14: Reconciled canonical architecture, decision, history, commitment, and positioning memory with the merged Go implementation (task 20260814-go-memory-reconcile-7f2a9c41).
  • 2026-08-14: Added config-driven first-super-administrator bootstrap to the Go backend (task 20260814-go-bootstrap-admin-6e2b7d9c).
  • 2026-08-14: Recorded the first-deployment model: no production cutover, manual schema initialization without the migration Job pod (task 20260814-deploy-model-reconcile-9b4c2e7f).
  • 2026-08-14: Built the Go workload deployment artifacts: backend/Dockerfile, deploy/ack/go-api.yaml, split-path Ingress routing, non-root/read-only-filesystem workload config, and updated manifest assertions (task 20260814-go-deploy-artifacts-2a5f8e1d).
  • 2026-08-16: Implemented authenticated production SSR identity refresh through Go /api/auth/me, forwarding only enumerated zhinian_session chunks, strictly validating the response, preserving the local direct-store path when the internal URL is absent, and keeping the updated ACK Web configuration database-free (task 20260816-fix-authenticated-ssr-6c3f8a21, commit 498c2fa; not yet deployed).
  • 2026-08-16: Replaced production SSR/Middleware/Next Route Handlers with a static export and browser auth Module, made Go the only runtime API owner, replaced the Web runner with unprivileged Nginx, removed deprecated Node Worker/migration manifests, and added static/deployment regressions (task 20260816-static-frontend-go-api-4f8c2a7d, commit b14b4fc; not yet deployed).
  • 2026-08-16: Diagnosed the Go bootstrap failure as a TLS negotiation against an endpoint that refuses TLS, then changed Go and retained Node PostgreSQL clients to enforce plaintext, removed the obsolete CA deployment dependency, and added real wire-protocol regression coverage (task 20260816-disable-postgres-tls-d4a89c12, commit ed97814; live rollout not yet verified).

In Progress

  • Build, publish, and deploy immutable Web and Go images containing ed97814, then verify PostgreSQL readiness/bootstrap and the static Web + Go-only runtime boundary in the live ACK cluster.
  1. Build and smoke Web and Go images from ed97814 in CI or another host with Docker, then publish them under new immutable tags or digests.
  2. Create/verify the zhinian Namespace, run target-cluster server-side dry runs, apply the production Go-owned Secret and six checked-in resource manifests (not secrets.example.yaml), and confirm live Ingress/Service ownership from cluster state.
  3. Confirm Go bootstrap completes without an SSLRequest, then smoke anonymous login, authenticated /create?mode=video, logout, and each admin role; verify Web /healthz, Go /api/health, and Go /api/ready.
  4. Configure OSS or another shared/persistent store before any Go Pod replacement that must preserve current local uploads/generated results.
  5. Continue real RDS/provider/Webhook validation and confirm the public /api/v1 compatibility promise for external consumers.

Open Questions / Blockers

  • Canonical memory does not yet record the live RDS PostgreSQL version, connection budget, exact internal endpoint, database roles, effective VPC / security-group / allowlist controls, or confirmed request-path Service ownership.
  • Real OSS bucket/credential configuration is still needed for shared asset storage.
  • Public /api/v1 support promises for external consumers need explicit confirmation.
  • The static Web Docker image has not been built or container-smoked in this workstation because its Docker daemon is unavailable.

Risky Areas

  • PostgreSQL transport is intentionally unencrypted. The RDS connection must remain on the private network and be constrained by VPC, security-group, and allowlist controls; those live controls still require recorded validation.
  • Database grants and least-privilege roles still require documented validation against the live RDS instance.
  • Go currently stores local uploads/results on emptyDir when OSS is absent; Pod replacement or rolling update loses them, not only horizontal scaling.
  • Real provider, OSS, RDS, and Webhook coverage is not fully documented; do not infer which live workload owns paths without cluster evidence.

Last Updated

2026-08-16