Files
Genarrative/docs
suzmii 28373aabe3 docs(agc): 记录非 Windows cfg 块的静态审计盲区与结论
dev 运维文档「Rust 编译告警门禁」段末尾追加四条事实说明:

①盲区:本机与 CI 只编 Windows,`#[cfg(target_os = "linux"/"macos")]`、`#[cfg(unix)]` 等非 Windows 块内的名字解析不会被编译器检查,`--all-targets` 的 test harness 实例告警又不按废弃代码处理,因此“删了 glob/再导出、只有非 Windows 块还在用”在 Windows 口径下不可见(实例:command_exec.rs 的 linux cfg 块在批次一删掉 crate 根 `use command_sandbox::*;` 后四个裸名只在 Linux 目标下 E0425)。

②覆盖面与结论:全 crate 463 个非 Windows cfg 属性 / 68 文件 / 355 个最外层块;块内 364 个裸 crate 引用、98 个符号;提供方自带 cfg 的仅 6 行且全部消解;四类危险计数(悬空 / not(test) 越用 / windows-only use 被非 Windows 使用点依赖 / 跨平台谓词缺口)全为 0 → 本例是孤例,无待修项。

③兜底条件(若成立才做):若将来出现 Linux / macOS 交付面,CI 应增加对应目标的 `cargo check --all-targets` 作业;当前不新增作业。

④门禁现状:AGC 壳用 `#![cfg_attr(not(test), deny(warnings))]`(src/main.rs),其余 crate 用 `[lints.rust] warnings = "deny"`。

检查:`npm run check:encoding` rc=0(5408 文件)、`git diff --check` rc=0。

注:本次不 push,等用户一并确认后再推。
2026-10-06 17:50:49 +08:00
..

文档总览

本目录只把当前实现依据、公开契约和仍在维护的专题合同作为入口。代码、当前文档与项目记忆冲突时,以当前代码和最新专题文档为准;未列入下表的材料不作为实现依据。

必读入口

  1. Agent 工作入口与执行准则
  2. 规范驱动开发工作流
  3. 文档生命周期与现状索引
  4. 当前产品与工程约束
  5. server-rs 与 SpacetimeDB 数据契约
  6. 本地开发验证与生产运维
  7. 项目记忆入口

文档治理

当前产品与平台

  • 当前产品与工程约束:现役入口、账号钱包、UI 和后端分层。
  • 平台入口与玩法链路:平台壳、图片画布、游戏分发与在线游玩合同;网站游戏评分与评价已实现并通过本地验证,待用户验收,未部署。
  • 网站游戏评分与评价里程碑:唯一评价、编辑预填、4000 字符、公共分页与平均分/人数的验收边界与本地证据。
  • 创作者主页与关注粉丝合同:前后端已实现并通过工程验证,用户已确认提交交付,未部署。第四项默认进入自己主页,他人的关注/粉丝列表统一只读并支持主页跳转。
  • 创作者主页与关注粉丝工程设计:分层落点、关系表/DTO、授权、关系列表分页、组件状态、深链与验证边界;游戏列表沿用最多 48 项限制,不做额外分页改造。
  • 后台游戏评价管理合同:查找、分页、隐藏/恢复/删除、必填原因、统计与个人状态联动;已实现并通过本地验证,待用户验收,未部署。
  • 后台游戏评价管理里程碑与实施计划:单里程碑范围、接口/schema 边界及验收要求;本地证据已回写主规范。
  • 游戏广场评分展示合同、里程碑与实施计划:已实现并通过本地定向验证,待用户验收,未部署;公开列表/详情携带真实摘要,卡片显示一位小数均分与人数,复用有效评价统计。
  • 游戏买断制泥点付费与播放鉴权合同与里程碑:已实现,本机真实栈 E2E 由人工验收脚本 check:game-distribution-purchase-e2e 覆盖(最近一次人工运行 76 PASS / 0 FAIL / 1 WARN),该脚本不在 CI 自动门禁内;待用户验收,未部署;作者可选买断制泥点付费,购买后永久可玩,后台审核可见价格且审核员不限次试用;网页与 AGC 两个发布入口一致支持定价并共用 packages/shared 组件 PlatformGamePricingField,AGC 定价的前端用例与 Rust 预填单测已覆盖,AGC 真实栈发布未覆盖。
  • 游戏游玩次数计数:点「开始游戏」前端上报一次游玩,api-server 纯内存聚合(5s flush、30min 去重、IP+game 限流、关停不强制 flush),批量 procedure 自增现有 game_distribution_game.play_count,不 bump updated_at。
  • 外部 OpenAPI 与 API Key 接入方案
  • 外部 MCP 语义工具说明与参数设计:15 个新增语义工具与全部原工具并存,复用现有 External API;包含工具说明、action、参数、幂等和兼容合同。
  • External v1 OpenAPI:公开 HTTP 契约唯一机器可读来源。
  • External v1 游戏场景生成路由:external v1 结构化场景生成专用路由与 AGC 美术包背景阶段迁移合同。

AI 游戏创作与 Agent Runtime

图片画布与媒体

钱包与会员计费

  • 双余额泥点与会员补差升级实施计划:每日免费 / 月度 / 永久三池并列投影、按开通日自然月计期、年付 12 期与补差升级的规则细则、里程碑与验收判据;已落地(会员购买与升级的 C 端 UI 未做)。
  • 泥点三池与会员计费后端设计:后端 DB schema、账本与幂等、领域数据结构与 HTTP 契约;会员档位改为枚举、目录表以枚举为主键,含破坏性迁移计划、遗留清理清单与落地状态;已落地。
  • 会员与泥点前端改造:共享充值弹层改为「会员与泥点」双 Tab(套餐卡 / 周期切换 / 补差升级 / 六档充值 / 套餐对比 / 确认页),金额只读后端目录与报价接口;Web 平台入口、图片编辑器与 AGC 桌面壳三处共用;含已确认决策与验收判据。
  • 泥点三池以单一总额为权威:存储层保留 wallet_balance 单一权威总额,对外并列三池;永久泥点暂为推导余数,另记独立存储的 TODO。
  • 会员账期按开通日自然月:北京时间开通日锚点、自然月推进与月末夹取、年付 12 期的期数表达与取整口径。
  • 会员订单复用充值订单与补差升级幂等锚点:会员订单复用 profile_recharge_order、MembershipUpgradeGrant 账本幂等、后端只读报价与退款人工复核边界。
  • 会员档位以枚举为权威:档位身份改为 Rust 枚举、目录表 profile_membership_plan 以枚举为主键、删除两处 tier 列与旧档位枚举、并发用哨兵值 128 表示不设上限。
  • 模型权限与并发上限的强制边界:并发上限只在认领事务按账号过滤队列 job、只算 running;模型权限只约束 AGC LLM 模型、缺省 Basic 由后台人工标 Full;raw gpt-image-2 等直连同步生成暂不计入并发。

后端、运维与测试

已核准专题补充

以下文档已有源码、测试或运行时证据,现纳入 current 集合:

维护规则

  • 当前文档只保留稳定合同、公开契约和仍在推进的专题;一次性计划、实施记录和已关闭实验完成后删除或融合,不再长期堆积。
  • 文档现行/历史/待复核状态以文档生命周期与现状索引为准;未列入当前入口的文档不能直接作为实现依据。
  • docs/project-memory/shared-memory/ 只保存长期有效的概览、决策、流程和踩坑;plans/、todos/ 仅保存仍开放且有明确下一门禁的事项。
  • 修改 /api/external/v1 必须同步 OpenAPI 和契约测试;修改 SpacetimeDB schema 必须同步 migration、表目录、绑定和 schema 检查。
  • 当前入口、公开契约和数据对象只以现役代码、路由树、shared-contracts 与 SpacetimeDB schema / bindings 为准;未登记对象不得作为兼容目标恢复。
  • 新增 Markdown 使用 【标签名】中文标题-YYYY-MM-DD.md 命名;不要把个人配置、密钥、Token、日志或构建产物写入文档。