admin
c9e8f0fbb0
session-mechanism:init_workspace 两处本机适配回补(副本场景起不来)
背景:这两处 2026-10-09 已在某台机器的工作副本上验证通过,但没随仓发布;
2026-10-12 那台机器按「以仓库为准」覆盖本地后,修复丢失。现按仓规补回仓库版。
一、副本场景 SK 回落技能源
原:SK = Path(__file__).resolve().parent ⇒ 副本(<工作区>/.workbuddy/collab/)下
没有 hooks/ ⇒ ⑤ 自检加载 hooks/_env.py 直接 FileNotFoundError,整段自检作废。
现:加 _resolve_skill_dir(),先判 <sk>/hooks/_env.py 在不在;不在就依次到
CODEBUDDY_CONFIG_DIR 与 ~/.workbuddy 下的 skills/session-mechanism/scripts 找,
取第一个命中;两处都没有 ⇒ 原样返回,让报错照常暴露(不静默跳过)。
只拼相对片段,不写盘符字面量(与「脚本是脚本、配置是配置」相容)。
二、collabd --where 归属判据认反斜杠
原:_ws_ok = ("COLLABD_CONFIG" in 输出) or (ws_s in 输出) ⇒ 恒为 False:
① 输出里没有 COLLABD_CONFIG 字样(它写「配置来源」);
② 输出全反斜杠,而 ws_s 是正斜杠形态。
结果这条自检永远打印 ⛔(即便工作区其实认得)。
现:改「两端都认」—— 正斜杠原样 / 反斜杠形态 / 反斜杠形态经 normcase 归一后
出现在同样归一的输出里,任一命中即通过。
验证(本机实跑,改动前后各一次)
· 副本场景 e2e:改前 ⑤ 打印「⚠️ 自检跑不了:FileNotFoundError」;
改后 ⑤ 全量跑通,`collabd --where` 认这个工作区 = ✅(rc=0)。
· 对照脚本:改前 SK=副本目录、hooks/_env.py 不存在、加载 FileNotFoundError;
改后 SK=技能源、加载 OK。判据 旧=False / 新=True。
· scripts/selftest.py:改前 110/0、改后 110/0(无回归)。
· install.py --manifest:77 份文件,语法失败 0。
2026-10-12 10:26:05 +08:00
..
2026-10-05 14:13:24 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-06 23:44:16 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-05 14:13:24 +08:00
2026-10-12 09:50:10 +08:00
2026-10-11 21:49:28 +08:00
2026-10-05 14:13:24 +08:00
2026-10-11 21:49:28 +08:00
2026-10-05 14:13:24 +08:00
2026-10-12 10:26:05 +08:00
2026-10-05 14:13:24 +08:00
2026-10-11 21:49:28 +08:00
2026-10-05 14:13:24 +08:00
2026-10-12 09:50:10 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-11 21:49:28 +08:00
2026-10-05 14:13:24 +08:00
2026-10-11 21:49:28 +08:00