Files
nana-story/docs/status/2026-07-29-m2-wave7-windows.md
T

3.8 KiB
Raw Blame History

M2 第七波 Windows 基线与上下文前置状态

日期:2026-07-29

本机 Windows 基线

  • 已安装 Visual Studio 2022 Build Tools 17.14、MSVC x64 工具链与 Windows 11 SDK 10.0.26100cl.exelink.exerc.exe 均可用。
  • scripts/windows-smoke.ps1 现在会通过 vswhere 选择具备 C++ 工具链的 Visual Studio,并自动载入 x64 开发环境。普通 PowerShell 不再需要先手工运行 VsDevCmd.bat
  • 使用现有应用图标生成 Tauri 的 Windows ICO、macOS ICNS、Linux PNG 及后续移动端 图标集合,关闭了 Windows 资源编译缺少 icon.ico 的阻塞。
  • release 模式的 Windows 桌面程序已构建: target/release/nana-story-app.exe

Task 5 前置契约

模型预算

  • OpenLappChatExecutor 从实际选中的 LAPP 模型读取 context_windowmax_output_tokens
  • 缺少或无效模型元数据时显式标为 Assumed,使用 16,384 / 4,096 的保守 V1 回退; 被应用上限或窗口边界收紧时标为 Capped 并保留原始来源。
  • 预算值只能通过校验构造,始终保证输出预算大于零且小于上下文窗口;上层可读取来源、 fallback 与 cap 诊断。
  • 普通回合、隐藏判定初始调用和所有工具续调用使用同一个模型预算;单回合输出上限为 4,096 tokens。

检查点来源

  • 增加稳定前缀与叙事来源的强类型 SHA-256 指纹。
  • 稳定前缀显式覆盖角色、Persona、剧情模块与绑定世界书的版本来源;持久化读取只接受 规范化的 sha256: 小写十六进制值。
  • 叙事来源只接受连续的根到目标节点路径,覆盖节点 ID、父节点、玩家实际输入、公开场景、 角色视觉状态和完整演出节拍。
  • 状态 delta、精确关系、隐藏判定、NPC 私物、未选择建议和兄弟分支均不能进入来源投影。
  • 上下文检查点设计 已冻结预算、提示布局、SQLite v3、 失效规则和安全边界。

重新生成

  • Regenerate 的叙事历史截止到待替换节点的父节点;模型使用目标节点的安全 post-state 与原判定定性结果生成兄弟节点,不再接收旧演出或骰点细节。
  • 原玩家行动标识、authoritative delta、隐藏判定、终局状态与物化状态原样复用;模型 只能替换演出,也不能让成功 / 失败结果反转。
  • 终局节点允许重生成演出,但普通继续行动仍会被终局保护拦截。
  • 新版本使用独立分支并切为活动线路,旧节点、旧线路和后代保持不可变。
  • Memory 与 SQLite 均在单次原子操作中校验来源线路、节点、delta 和物化状态。

验证

  • Rust workspace171 项测试通过。
    • Runtime83 项。
    • Store44 项。
    • Tauri 后端:17 项。
    • Domain / Engine / Contracts27 项。
  • cargo clippy --workspace --all-targets -- -D warnings:通过。
  • Rust 契约生成器 --check:通过。
  • Web:5 个测试文件 / 29 项测试、TypeScript 检查与生产构建通过。
  • 契约:25 份 Schema 与 TypeScript DTO 无漂移。
  • pnpm tauri build --no-bundle:通过,生成 Windows release 可执行文件。
  • 隔离 Demo 已启动,窗口枚举标题为《听娜娜讲故事》,进程保持响应并创建独立 SQLite 存档。为重建 release 文件现已关闭该进程;隔离存档仍保留。自动截图组件不支持该 Tauri 窗口,因此本报告不宣称视觉验收完成。

尚未关闭

  • 当前执行环境仍会关闭 Gitea SSH 2222 连接,本地提交暂时不能推送。
  • SQLite v3 检查点表、同模型摘要工具、500 节点滚动压缩与实际预算编排仍属于 Task 5 主体。
  • Demo 重启恢复、终局 / 双线路人工操作和真实 LAPP 在线调用仍待后续冒烟。