fe22f4cebe20d14562d6d02852588abe05ab2470
用户令(两句,同一轮):
①「会话技能中 能用相对路径的都要用相对路径」
②「把会话的 项目目标看板 改成 项目看板,
项目看板 和 会话技能的任务看板 都重新命名 会话看板、项目看板」
## 一、改名:项目管理界面 → 项目看板
* 目录:boards/项目管理界面/ → boards/项目看板/(会话看板不变)
* 包内引用:路径性(3 行)+ 展示名(6 处,含 argparse description、启动横幅、
错误日志前缀、模块 docstring、页面 <title> 与 .brand)
* HTML 标题:<title>项目管理 · 执行任务</title> → <title>项目看板 · 执行任务</title>
## 二、相对路径(新立第 11 条禁令)
判据=「这个根能不能从『我自己的位置』推出来」:
* 能(本包自己的目录)⇒ 从 __file__ 上跳推导
* 不能(工作区根 / 配置目录 / 文档库根)⇒ 读本包 env/roots.env
* 推不出来 ⇒ 如实报错 + 留痕(⛔ 不许静默扫空)
落点(共 4 处代码级硬编码,全部清掉):
* boards/项目看板/project-board.py:新增 _sm_load_roots();
技能根改 HERE.parent.parent;WS_ROOTS 从 DSH_AIROOT 推导;
推不出根时打警告 + 写 logs/project-board.err.log(原为静默扫出 0 个项目)
* scripts/selftest.py:生产区定位改为扫 DSH_AIROOT 下兄弟区(⛔ 不写死区名);
两处测试假路径去掉盘符
⛔ 文档/注释里的绝对路径保持原样(举例、历史取证照写 —— 那是证据)。
## 验收
* 换机场景实测(技能包拷到 /tmp、不带 env/roots.env):
无任何配置 ⇒ 如实报错;只给 DSH_AIROOT ⇒ 正常扫到 4 个项目
* selftest --filter 看板:PASS 110 / FAIL 0(报告型 1 条不计入)
* 项目看板服务:pid 40776 · HTTP 200 · <title>项目看板 · 执行任务</title>
· /api/projects 出数据 · /healthz ok
* py_compile 三份改动文件全过
Languages
HTML
78.5%
Python
12.9%
CSS
6.9%
JavaScript
1%
TypeScript
0.4%
Other
0.3%