③段第八轮收口:功能入口卡按参照物对齐 + 导航按 tiaoyue 源站重建 + 密度 A 方案

原型(执行会话/目标-…-d85687/ui/mcn-workbench.html)
- 功能入口卡改三段纵向(图标/标题/描述各一行),68 → 111.19px,对齐 mcn-work-shop
  参考卡(同视口 1249×1277 实测 133px),补 --sh-L1 投影;主因是排布不是字号
- 左侧导航重建:由「纯图标 + 悬停提示」改为 64px 药丸浮栏,图标 24 在上、名字常驻在下
  (名字一律 2 字,说明走 data-tip);真值取自 tiaoyue 源站实测
  (栏 64/内衬 3/圆角 100/项 56×78/字 12px-500-行高 16)
- 密度 A 方案:≤1000 卡最小宽 200→160、≤820 统计条最小宽 132→96
  (两处 auto-fit 只在真装不下时才缩)⇒ 768/700/560 三处转绿,其余 10 个视口未动
- 移动档隐藏导航条横向滚动轨(16px 轨道曾吃掉 52px 条高的三成,还白吃 16px 主区)

取证通道
- _tools/cap.py 改为「只连不起」:只连 9223 常驻实例,视口走 Emulation.setDeviceMetricsOverride,
  不再自起 headless Chrome(顺带解除 500px 视口下限,390×844 可测)
- _tools/check_js.py 新增第 5 道门禁(node --check + 模板内注释反引号扫描)

文档
- 复盘-为什么第一版做得很差.md(新建):13 轮时间轴/四类反作用/三重归因/已修与仍欠
- 3d-审查报告.md:更正 §九 那条假 ✓(把「§5.5 五条逐条过完」记成机核,实际零覆盖,
  正是「五道闸门全绿却难看」的开关),补 §十二 功能入口卡高差、§十三 tiaoyue 导航逐条对照
- 3b-实测记录.md/DESIGN.md/3c-GPT 参考版与会诊/布局排版参考 ×2

机制与记忆
- .workbuddy/collab/collabctl.py:off --ws 不再全机扫描(原先一次杀掉他区+看板共 5 个进程)
- .workbuddy/memory/:本轮纪律与实测真值
- .gitignore:补排运行时噪音(ui/_scratch/__pycache__/浏览器取证临时目录/*.bak-*/一次性脚本)

闸门:语法全过/骨架八页 39 板块/变异对照 15-15/逐视口 14 绿(500×844 唯一红,缺口待拍板)/命名 2060-0-27
This commit is contained in:
WorkBuddy committed 2026-10-08 22:21:42 +08:00
1 parent df56c2c137
commit eee042c855
48 files changed
+8222 -1752

No files matched your search

+11 -4
View File
@@ -67,7 +67,7 @@ HB_FRESH_S = 90 # 🔴 心跳新鲜阈值(与 `collabd.supervise_aliv
WORKSPACES = [
"E:/ProgramData/AIProject/ai1net-dsh-server",
"E:/ProgramData/AIProject/vibe-product",
"E:/ProgramData/AIProject/content_marketing_agent",
"E:/ProgramData/AIProject/contentm_agent",
]
# 看板:全局只一条(⛔ 不是每区一条)
@@ -84,7 +84,7 @@ BOARD_PORT = 20099
KEEPALIVE_TASKS = { # 新形态:计划任务 → pythonw collabd.py --supervise
"E:/ProgramData/AIProject/ai1net-dsh-server": "collabd-keepalive-ai1net-dsh-server",
"E:/ProgramData/AIProject/vibe-product": "collabd-keepalive-vibe-product",
"E:/ProgramData/AIProject/content_marketing_agent": "collabd-keepalive-content_marketing_agent",
"E:/ProgramData/AIProject/contentm_agent": "collabd-keepalive-contentm_agent",
}
BOARD_TASK = "dsh-board-keepalive"
@@ -319,6 +319,11 @@ def kill_all():
if pid and _pid_alive(pid) and pid not in protect:
if _kill_pid(pid):
n += 1
if ONLY_WS:
# 🔴 收敛模式(`--ws`):只杀本区心跳里记的那个 pid,⛔ 不做全机扫描。
# 2026-10-08 实测事故:全机扫描会连别的区与看板的进程一起杀
# (`off --ws contentm_agent` 一次杀掉 5 个进程,其中 3 个属他区/看板)。
return n
for nm, pid, cl in list_procs():
try:
ipid = int(pid)
@@ -516,8 +521,10 @@ def cmd_off():
set_switch(ws, "off")
_p(" 开关 off:%s" % ws)
disable_tasks()
_p(" 计划任务已禁用:%d 个(新 %d + 旧 %d + 看板 1)"
% (len(SCHED_TASKS) + len(KEEPALIVE_TASKS) + 1, len(KEEPALIVE_TASKS), len(SCHED_TASKS)))
_nb = 0 if ONLY_WS else 1
_p(" 计划任务已禁用:新 %d + 旧 %d + 看板 %d(%s)"
% (len(KEEPALIVE_TASKS), len(SCHED_TASKS), _nb,
"收敛到单区 ⇒ ⛔ 不碰看板" if ONLY_WS else "全区"))
n = kill_all()
_p(" 已杀进程:%d 个" % n)
_p("✅ 全停完成(可反复跑,幂等)")