{"name":"fuyao-server","stage":"migration","serviceChannel":"api","environment":"production","shadowMode":true,"release":{"semanticVersion":"2.0.2","version":"2.0.2","buildCommit":"5504df4e1846160001b591e15d692690fd19c376","gitTag":"v2.0.2"},"transport":{"framework":"nestjs","adapter":"express","orm":"drizzle","database":"postgresql","topology":"dual-service"},"ai":{"strategy":"ai-first","mission":"Make every core platform capability readable and executable through permission-scoped, auditable AI surfaces.","audiences":["internal","external"],"exposureSurfaces":["frontend-assistant","mcp","skill"],"executionModel":{"permissionScoped":true,"auditRequired":true,"idempotencyRequiredForWrites":true,"contextContractsRequired":true},"registryEndpoints":{"capabilityIndexPath":"/system/ai/capabilities","moduleManifestPath":"/system/ai/capabilities/:moduleKey","adminWorkspaceContextPath":"/system/ai/workspace/admin"},"rollout":{"capabilityRegistry":"pilot","actionSurface":"pilot","frontendAssistant":"pilot","mcpSurface":"phase-planned","skillSurface":"phase-planned"}},"integrations":{"runtimePath":"/system/integrations/runtime","opsControlPlanePath":"/system/ops/control-plane"},"contracts":{"responseEnvelope":"ServerResponse","responseFields":["status","msg","data"]},"auth":{"tokenFormat":"signed-hmac-v2","tokenSecretConfigured":true,"acceptsUnsignedTokens":true,"tokenTtlMs":604800000},"statefulness":{"statelessReady":true,"sessionStore":"redis-short-ttl + postgresql-audit","runtimeStateStore":{"redis":{"provider":"redis","configured":true,"required":true,"ready":true,"keyPrefix":"fortcar:staging:fuyao-server","lastPingAt":"2026-05-23T06:59:22.582Z","lastError":null,"issues":[],"intendedUseCases":["short-ttl verification/session state","distributed locks for singleton runtime jobs","rate-limit and abuse counters","idempotency windows before PostgreSQL audit commit","hot read-through caches for rebuildable views"]},"businessRedis":{"key":"redis-runtime","provider":"redis","stage":"runtime-configured","ready":true,"mode":"required","issues":[],"capability":"runtime-cache-and-queue","audit":{"namespace":"fortcar-staging-fuyao-server:migration","key_prefix":"fortcar-staging-fuyao-server","queue_prefix":"fuyao:queue","source":"url","endpoint":{"protocol":"redis","host":"fortcar-staging-cn-hangzhou-fortcar-redis","port":6379,"db":0,"username_configured":false,"tls":false},"credentials":{"password":null,"password_configured":false}}},"queue":{"key":"queue-runtime","provider":"bullmq","stage":"runtime-configured","ready":true,"driver":"bullmq","issues":[],"capability":"delayed-job-runtime","audit":{"driver":"bullmq","prefix":"fortcar:staging:fuyao-server:queue","worker_enabled":true,"worker_concurrency":1,"redis_runtime_mode":"required","redis_configured":true,"supported_actions":["enqueue","start-worker","read-queue-depth","retry-failed-job","pause-queue","resume-queue"],"queues":[]}},"healthPath":"/health/readiness"},"knownStatefulSurfaces":[{"key":"shop.order-export.local-files","owner":"shop","status":"resolved","summary":"ShopOrderExportService streams XLSX responses and stores a copy in object storage."},{"key":"upload.local-shadow-storage","owner":"platform-storage","status":"resolved","summary":"Object storage runtime is configured; uploads and exports use the provider-neutral adapter."},{"key":"integration.messaging.local-audit-log","owner":"platform-messaging","status":"guarded","summary":"Messaging local audit-log fallback is disabled for production/stateless runtime."},{"key":"marketing.module-level-map-stores","owner":"marketing","status":"guarded","summary":"Marketing module-level Map repositories are read-only shadow fixtures; mutation is blocked in production."},{"key":"shop.groupon-lifecycle.worker-interval","owner":"shop","status":"resolved","summary":"Groupon lifecycle scan is scheduled as a queue job on the worker runtime."}],"dataBoundary":{"redis":["short-ttl verification/session state","distributed locks for singleton runtime jobs","rate-limit and abuse counters","idempotency windows before PostgreSQL audit commit","rebuildable hot caches"],"postgresql":["orders/payments/refunds/inventory/member facts","auditable action ledgers and idempotency records","business configuration and tenant boundaries","migration/cutover/reconciliation evidence","file/object metadata and durable side-effect records"]},"blockers":[]},"serverless":{"apiRuntime":"container-serverless-ready","asyncRuntime":"function-slice-planned","blockers":[],"plannedSlices":["payment-callback webhook","media post-processing","ai action post-processing","scheduled audit/archive jobs"]},"readiness":{"databaseConfigured":true,"databaseReady":true,"databaseLifecycle":{"configured":true,"ready":true,"source":"nestjs-runtime","schemaReady":true,"systemBaselineReady":true,"localDemoBaselineHydrated":false,"completedAt":"2026-05-23T04:17:18.295Z"}},"modules":[{"key":"system","type":"platform","summary":"Service profile and runtime metadata."},{"key":"health","type":"platform","summary":"Liveness and readiness endpoints."},{"key":"shadow","type":"migration","summary":"Migration posture and parity-oriented metadata."},{"key":"access","type":"domain","summary":"Authentication, authorization, and session boundaries.","ownerLane":"Owner-A"},{"key":"member","type":"domain","summary":"Members, cards, points, coupons, and loyalty assets.","ownerLane":"Owner-B"},{"key":"catalog","type":"domain","summary":"Goods, services, categories, specifications, and SKUs.","ownerLane":"Owner-C"},{"key":"order","type":"domain","summary":"Orders, refunds, logistics, and fulfillment.","ownerLane":"Owner-D"},{"key":"marketing","type":"domain","summary":"Campaigns including seckill, groupon, and events.","ownerLane":"Owner-E"},{"key":"store","type":"domain","summary":"Store operations and write-off flows.","ownerLane":"Owner-C"},{"key":"appointment","type":"domain","summary":"Appointments and service schedules.","ownerLane":"Owner-D"},{"key":"distribution","type":"domain","summary":"Salesman hierarchy and commission workflows.","ownerLane":"Owner-E"},{"key":"inventory","type":"domain","summary":"Procurement, warehousing, and stock movement.","ownerLane":"Owner-F"},{"key":"payment","type":"domain","summary":"Payment orchestration and callback verification.","ownerLane":"Owner-F"},{"key":"reporting","type":"domain","summary":"Operational reports, exports, and analytics views.","ownerLane":"Owner-F"},{"key":"integration","type":"platform","summary":"Provider-neutral integrations (object storage, sms, map, payment callback).","ownerLane":"Owner-F"}],"timestamp":"2026-05-23T06:59:31.900Z"}