3.2 KiB
3.2 KiB
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。
下一步
- 安装 Microsoft C++ Build Tools 与 Windows SDK 后立即运行
pnpm verify:rust和pnpm tauri build --no-bundle。 - 为长分支实现非权威上下文检查点、来源哈希和 SQLite v3 迁移;历史不得静默截断。
- 在连续上下文门禁关闭后,实现“风险预检 → 玩家确认 → 隐藏判定失败 → 推骰 / 重新 生成”纵向切片。
- 最后在隔离存档上启动 Demo 窗口,验证重启恢复、终局、回溯和双线路隔离,再运行真实 LAPP 最小连接与隐藏判定工具调用。