refactor20260927(P2-05): 完成 config 与 utils 的职责拆分 - #81
Merged
Merged
Conversation
…ssions/ tool/ session/ config/ config/vocab/ network/ utils/(纯改名)[mechanical] 对应 src_layout_map.tsv 的 P2-05 move 行:permissions.hpp 与 agent_loop_shell_guard.hpp(→ shell_write_guard) 进 src/permissions/;utils 的 file_operations / tool_errors / tool_args_parser 头进 tool/;token_tracker 进 session/;models_dev_catalog + model_capabilities、provider/builtin_model_catalog 进 config/;pointer_appearance、 theme_id 进 config/vocab/;path_validator 进 permissions/;headless/headless_mode → permissions/interaction_mode; upgrade/http → network/;upgrade/version → utils/semver(消除与生成的 version.hpp 重名)。7 个镜像测试同步。 内容零改动,全部 R100;include 改写在下一提交。
…nical] 由 `normalize_includes.py --scope src` / `--scope tests` 生成:src 60 文件 / 76 行(裸名 permissions.hpp 16、 utils/tool_errors 9、token_tracker 6、builtin_model_catalog 7、models_dev_catalog 6、tool_args_parser 6、 pointer_appearance 6、headless_mode 5、path_validator 3、file_operations 3、shell_guard 1、theme_id 2、 version / http 各 2 …),tests 52 文件 / 56 行(裸名 permissions.hpp 38 …)。 工具判不了的 4 行(semver.cpp 与 upgrade 两个文件里的 `version.hpp` 与生成头重名、interaction_mode.cpp 对自身旧名 headless_mode.hpp 的裸名 include)在下一提交手工改。
- utils/semver.cpp、upgrade/executable_version.cpp、upgrade/manifest.hpp 原来裸名 include 的 `version.hpp` 指的是 upgrade 的语义版本头(SemVersion),不是 CMake 生成的 `generated/version.hpp`;改名为 semver 后 工具只能解析到生成头(或报歧义),这里改成 `semver.hpp` / `utils/semver.hpp`。R9 的 `version.hpp` 重名 与 R8 的三处歧义随之消失。 - permissions/interaction_mode.cpp 对自身旧头 headless_mode.hpp 的裸名 include 改为 interaction_mode.hpp。
…续映射到它的新位置 P2-05 实测:headless/headless_mode.cpp 搬成 permissions/interaction_mode.cpp 后,它对自身旧头 `headless_mode.hpp` 的裸名 include 仍留下 —— 按包含者旧目录回查到 src/headless/headless_mode.hpp, 但那个文件也已经搬走。现在回查到的邻居再正向映射一次(最终路径与 P2 过渡目录都试);同目录但 改了名的邻居保持裸名风格改成新名(`interaction_mode.hpp`),不再被「同目录裸名一律保留」跳过。 验证:test_guards.py 新增 test_moved_file_bare_include_of_its_own_renamed_header;工具自测 74 项通过; P2-05 分支树与 master 树 --check src / tests 均 0 diff。
五组状态逻辑全部归回所属模块,安全写与工具报错文案上移。 保留状态文件事务、现有错误提示和动态工具名;同步测试归属、映射与验证记录。 验证:Windows 全新目录构建 CLI/Desktop/单测/五个冒烟目标通过; 151 项定向测试、74 项重构工具测试、前端 test/build 与静态护栏通过。 完整用例清单无删除,新增两项回归;短路径完整复跑及四平台验收待记录。
shaohaozhi286
changed the base branch from
refactor20260927/P2-04
to
master
September 27, 2026 18:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
完成 config / utils 的职责拆分:模型探测、搜索地区、桌面活跃工作区、桌面首页工作区、TUI 命令用量五组业务逻辑全部归回所属模块;底层保留通用文件事务。安全写、MCP 拦截和工具错误文案归到 tool,原有工具别名提示及拦截语义保持。旧路径不留转发头。
对应 OpenSpec
refactor20260927-restructure-src-layers的 P2-05,已同步 PR #80 合入后的 master。纯搬迁、机械 include 改写与实现提交分别保留,不 squash。验证:
验证源码固定为
4a3366e68b48cfd9dd1b9d2653925d9ef01f0e0c,后续 master 同步与验收补录未改变代码。详细记录:openspec/changes/refactor20260927-restructure-src-layers/verification/P2-05-config-and-utils.md。