Files
nana-story/docs/status/2026-07-28-m2-wave7-local.md
T

60 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M2 第七波本地开工状态
日期:2026-07-28
## 本地基线
- 从私有 Gitea 安全恢复 `integration/v1@23672e857b`,并通过 `git fsck` 检查对象完整性。
- 下载时使用的临时仓库只读 Token 已在 Gitea 撤销;临时配置、bundle 与内存中的凭据均
已清理。
- `origin` 已恢复为 Gitea SSH 地址,分支仍跟踪 `origin/integration/v1`。当前执行环境的
网络代理会关闭 SSH 2222 端口,因此本轮只提交到本地,不把“已配置公钥”误报为“已成功
推送”。
- 相邻 `lapp-rs` 已固定在 `5ba3c659e1536ec4bee16340faca603940a5cb17`,未修改其源码。
- 本地基线提交为 `37b3397 chore: establish wave 7 local baseline`
## 已完成
### Windows 可重复基线
- 新增 `.gitattributes`,固定文本 LF 与图片、音频二进制属性。
- Node 与 Rust 契约源码哈希在计算前统一 LF,避免 Windows CRLF checkout 产生假漂移。
- 增加 LF / CRLF 哈希等价测试。
- 安装并锁定 Node 24、pnpm 10.29.2、Rust 1.96.0、rustfmt 与 clippy。
- 使用锁文件安装 JavaScript 依赖。
### 当前分支连续上下文
- Store 新增按 `(story_id, node_id)``parent_id` 读取根到当前节点祖先链的接口。
- Memory 与 SQLite 后端均检测缺失父节点和父链循环;读取不依赖 `branch_id`,允许分叉
复用共享祖先,同时不会遍历兄弟分支。
- Runtime 在生成本轮前自动投影当前祖先链,并把已提交的玩家输入、演出节拍、场景和角色
视觉状态传给 Provider;未选择的行动建议不会被误当成历史事实。
- LAPP 普通回合与隐藏判定回合共用同一套缓存友好上下文协议:
`stable_prefix → branch_history → dynamic_tail`
- 动态状态只包含可用于角色扮演的安全投影,包括关系阶段与玩家可见持有物的归属、取得
方式;精确关系数值、隐藏骰点、NPC 私物、未触发世界书和状态 delta 仍不能进入提示。
- Tauri 的线路恢复复用 Store 祖先链接口,不再保留旧的 200 节点读取上限。
## 验证
- `node scripts/verify-contracts.mjs`25 份契约无漂移。
- `pnpm verify:web`TypeScript 检查、5 个测试文件 / 29 项测试及生产构建通过。
- `cargo metadata --no-deps`:通过,相邻 `lapp-rs` 路径依赖可解析。
- `cargo fmt --all -- --check`:通过。
- `git diff --check`:通过。
完整 Rust 测试、Clippy、Tauri 后端测试和 Windows 桌面编译尚未关闭,原因不是项目依赖
解析,而是本机缺少 Microsoft C++ Build Tools 与 Windows SDK`rustc` 当前找不到
`link.exe`
## 下一步
1. 安装 Microsoft C++ Build Tools 与 Windows SDK 后立即运行 `pnpm verify:rust`
`pnpm tauri build --no-bundle`
2. 为长分支实现非权威上下文检查点、来源哈希和 SQLite v3 迁移;历史不得静默截断。
3. 在连续上下文门禁关闭后,实现“风险预检 → 玩家确认 → 隐藏判定失败 → 推骰 / 重新
生成”纵向切片。
4. 最后在隔离存档上启动 Demo 窗口,验证重启恢复、终局、回溯和双线路隔离,再运行真实
LAPP 最小连接与隐藏判定工具调用。