Files
contentm_agent/.workbuddy/memory/MEMORY.md
T

27 KiB
Raw Blame History

content_marketing_agent · 项目长期记忆

MCN 短视频整合营销工作台(项目 slug mcn-shortvideo-agent)

  • 产品规划四段流水线,次序不可跳:①产品需求(1a 需求/1b 竞品/1c 画像/1d 策略/1e 场景)→ ②产品功能(功能清单+界面布局)→ ③界面交互 → ④原型说明文档。用户 2026-10-08 定:「应该要先完成 1 2步 在进行第3步」。

  • ①段 1a 是汇总型需求(不是 grill 澄清产出),落 docs/pm/mcn-shortvideo-agent/research/1a-需求文档.md;1b 竞品分析在 content-workbench 项目下(docs/pm/content-workbench/research/1b-竞品分析.md + 证据附卷/ 5 份独立分析体),跨项目引用、不重写。

  • 🔴 ③段设计供给口径(2026-10-08 用户定):默认主线是 oil-ui-pro(方法+独立评审),定调与令牌取③段自带样式库 assets/design-systems/(当前 design-system-tiaoyue);不使用 open-design(2026-10-08 起已由另一个会话随③段携带于 references/stage-delivery/assets/open-design/,作可选件、选了才用;源 nexu-io/[email protected],Apache-2.0 本地裁剪版,64 MB / 4177 文件)。

  • ⚠️ 2026-10-08 用户令已改全局技能文档(不再是「通则不改」):product-planning/SKILL.md、references/stage-delivery/SKILL.md、references/stage-delivery/references/execution-runbook.md 三份共 17 处,「③段默认主线」由 open-design 翻转成 oil-ui-pro;open-design 降为可选件(另一会话同期把它随段携带进 assets/open-design/,故口径是「选了才用」而非「装了才有」)。三份各写一条统一读法:凡出现 open-design/... 路径一律按段内相对路径 assets/open-design/... 读。

  • 🔴 逐段管理要点:assets/open-design/ 是第三方件,不许改其文件内容;署名见 assets/open-design/ATTRIBUTION.md。⚠️ 当前缺 Apache-2.0 的 LICENSE 全文与上游 NOTICE(2026-10-08 记账)。

  • 🔴 说人话(humanizer / humanizer-zh)的处置口径(2026-10-08 用户选 C):⛔ 两个技能的内容不整合进 product-planning,保持「按技能名引用」—— 整合会制造第二处定义(本包「单一可信源」纪律专治此病),且这两个技能是全包乃至跨包通用的(用户 10-07 定案「不管是写规则还是写文档都要按说人话的技能执行」),整合等于把它们降格成附件。分工已写进总入口「执行规则」内容准则条:模式清单取 humanizer(含 references/patterns.zh.md,中文产出读它)|评分与门槛取 humanizer-zh 五维表(≥45/50)|冲突以 humanizer-zh 为准|⛔ 取不到来源时明写「无判据来源,本项未判」,不许凭感觉放行。两技能早已入库(777f7fe,9 个文件),技能仓提交 8b655ab。

  • ⚠️ 全局技能包被多会话并发写:2026-10-08 02:2x 实测「本会话」与「另一个会话」同时在改 stage-delivery/SKILL.md / execution-runbook.md / layouts-tooling.md ⇒ 改前先看 mtime,改后必复跑 check_naming.py(该脚本只读、不写盘)。

  • 🔴 ③段供给关系 = 单一可信源(2026-10-08 用户令「按照建议处理」,A 方案已落地):references/stage-delivery/SKILL.md 的 ## 供给 块是唯一定义处 —— 6 行表:方法主线|定调与令牌|版式骨架|工艺数值判据|独立评审协议|多方向比选。③段其余章节、references/execution-runbook.md、references/layouts-tooling.md、总入口 product-planning/SKILL.md,提到供给一律引 §供给·<行名>(行名取表左列),⛔ 不许复述「谁是默认/路径在哪/装了才有」。改供给只改那一块,改完跑闸门。边界:各档内部篇目(如可选档 craft/xxx.md)属执行细节,留在 runbook 各步里,不算复述。起因:此前这一个事实被复述约 40 处,改一次动三份文件 17 处仍漏 13 处。

  • ⚠️ 闸门 check_naming.py 必须带 --ws:python scripts/check_naming.py --ws "E:/ProgramData/AIProject/contentm_agent" ⇒ 期望 通过 2060 | 失败 0 | 提示 25;⛔ 别给 --root .(那是「技能根」,给了会把工作区当技能包查、满屏 FAIL)。

  • 🔴 MCN 原型的两个硬口径(2026-10-08 修,别再踩): 1)外壳高度链三件套:html,body{height:100%;overflow:hidden} 只写这条 ⇒ .app 跟着内容长高、.view 自己不滚、滚动落回 <body>(body.scrollTop 有值而 window.scrollY 恒 0),而 body 是 hidden ⇒ 整页「滚不动」而不是「不滚」,折叠线以下的内容永远拿不到。必须同时写 .app{height:100vh;grid-template-rows:minmax(0,1fr)} + .main{min-height:0;overflow:hidden} + .view{flex:1 1 auto;min-height:0;overflow:auto}。 2)判据核滚动必须逐个容器核:只复位/只核对 window.scrollY 会给出假绿(原型自检曾在 500×844 报「一屏装得下 7 行」,真值不到 1 行)。要核 window / html / body / .view 四个量。 ⇒ 连带教训:改门禁后那条变异注入点也要重指 —— M9 原来注入 window.scrollTo,外壳修完后 window 根本滚不动,那条变异变成「抓不到东西的假变异」,已改成注入 .view.scrollTop。

  • 🔴 MCN 原型密度真边界(2026-10-08 重测):≥901px 宽达标(1440/1280/1024 一屏 8 行、1000/960/920/901 七行),≤900px 不达标(900 三行、768 两行、641 一行、500×844 零行;P2 在 500×844 也掉到 5 行)。边界=两栏带 .band 的收线 max-width:900px。旧文档写的「边界 768px」是假数产物,已整表替换。

  • 🔴 MCN 原型「外部参考版」照搬结论:3c-GPT参考版.md 那版 P1 用满宽表格顺排,照搬后账号矩阵首行顶 724px ⇒ 一屏只 2 行(契约 ≥6),把行内第二行小字拿掉仍只 4 行 ⇒ 满宽表格与「一屏 ≥6 行」不可兼得,要兼得得把每格压成一个短值(动②段定的次级信息档位)。已登记、未动。

  • 🔴 学参照物=量到细节,⛔ 不是「知道有这个名字」(2026-10-08 用户点破:「MCN 工作台里面每个组件的样式 高度 ICON 都是需要学习的,比如功能入口,感觉没有学到细节」)。 教训实例:功能入口卡 .data-card —— 名字是从参照物笔记里照抄的,但图标(22px 单色)/ 内衬 16/18 / 标题 17px / 网格 200px / hover 位移全丢了,只抄了个「白底 + 标题 + 描述」。 ⇒ 定成纪律:学任何组件都要回源站量(style.css 的行号 + app.js 的生成函数),逐项记「参照物原值 / 我方现值 / 学没学 / 为什么」,「刻意不学」的也要写理由(⛔ 不许漏掉混过去)。 参照物位置:E:/ProgramData/AIProject/mcn-short-video/project/短视频脚本创作/V1.0/mcn-work-shop/public/(只读)。 量到的组件原值存在两处:ui/布局排版参考-mcn-work-shop.md §六(摘要)+ ui/3d-审查报告.md §十一(全量对照)。三条刻意不学:它的冷灰蓝品牌色 / 8 色相图标 / 圆角 12px 体系。

  • 🔴 第 5 个门禁 ui/_tools/check_js.py(2026-10-08 上线):抠 <script> 段跑 node --check + 多行扫描 script 区内每个 <!-- … --> 块里的反引号。 起因:「模板字面量里的 HTML 注释带反引号」这个坑踩了 4 次,每次都是页面在浏览器里才炸(白屏 / xxx is not defined / Unexpected identifier),而 node --check 整份 html 报不出来。 ⚠️ 必须多行扫 —— 反引号常在注释的续行上,单行 grep 抓不到(我自己就漏过一次)。已做变异对照(注入反引号 ⇒ FAIL 2 项、退出码 1)。 ⚠️ 另一条硬教训:几何一改(加图标、改内衬、改网格最小宽),逐视口密度表必须整表重跑 —— 第六轮只量了 1440(697px/6 行 ✅)就往下走,回头发现 640 从 5 行掉到 3 行(卡片变高 + minmax 180→200 让三张卡折成两行)。

  • 🔴 顶栏口径(2026-10-08 第四轮定案):顶栏只放两项 —— 左「MCN 短视频整合营销工作台」(产品名)+ 右「随手记」。⛔ 不许再往里加东西。 依据:②段 2b §286 只把「随手记」定为全局可达(原文「随手记出现在任意页面一次点击内,F2 是 P0,不能埋在两层下」)⇒ 它必须挂全局外壳。其余一律不许挂顶栏。 ⛔ 已删的六样,逐样来源(详细排查在 3d-审查报告.md §十):收起侧栏(G-11)与面包屑来自本项目参照物笔记 ui/布局排版参考-mcn-work-shop.md(⚠️ 它不是规则文件,是素材);演示·账号(G-07)/演示·状态(G-09)是我造的原型件(规则只说「状态由路由 + 演示开关驱动」,路由那条已完整覆盖);顶栏全局检索(G-10)与②段 P1 的页内板块重复;假设 2 项是我自己挂在顶栏的第二处 → 改挂到「假设」徽章上(徽章可点,G-08 仍活)。 🔴 两条纪律:①别把「参照物产品的习惯」当需求搬进外壳(本轮 6 项里一半是这么来的);②撤销一个交互 ID 必须同时删掉它的 DOM,否则判据「页面上每个 data-act 都在清单里」报红。 ⚠️ 连带口径:顶栏内衬 8px ⇒ 49px、任何宽度不折行;页面身份靠页头 h1(不再有面包屑);六态由路由进入(#/p/p4/empty)。

  • 🔴 导航口径(2026-10-08 第四次改定;层级与命名部分):左侧栏 只有一层=八个功能项,与②段八页一一对应;短名一律 2 个字(总览 / 选题 / 资产 / 创作 / 发布 / 画像 / 复盘 / 对账 —— 2 字是硬上限,见下面那条形态条目);页头仍写②段页面全名。形态(64px 药丸浮栏、项 56×78、图标 24 + 名字常驻、中性填充当前态)以本文件下面那条「③段侧栏=64px 药丸浮栏」为准 —— ⛔ 不要在这里复述一遍,那是两处口径打架的老毛病。 自检判据:#nav .nav-item 恰 8 个、#nav 直接子元素全是 .nav-item(第二层 0 个)、八项逐个点过都落到自己那页、八页一次点击可达。 ⛔ 历史弯路两条,别再走回去:①上一版写成「只有一层=四个大板块」(把「一层」读成「只剩板块、把页面藏起来」);②再上一版把八个页项塞进侧栏但带 240px 宽文字列表。 ⚠️ 形态一改,自检判据的选择器与变异注入点必须跟着改(本轮 .nav-flat→.nav-item;M2/M8 注入点重指),否则判据会静默失效变恒绿 —— 这类假绿已经踩过 4 次(M7/M10 上一轮、M2/M8 本轮)。

  • 🔴 左右布局:每页都有一处两栏(.grid-main-side,宽比 1.35fr : .9fr,照 3c-GPT参考版 的 .grid.cols2):左=上下文/列表,右=产出/动作/详情;主数据块仍满宽。≤900px 落单列(与 .band 同步)。

  • ⚠️ 改原型时的两条硬坑(都踩过):① 在 JS 模板字符串里写 HTML 注释,注释里不许出现反引号 —— 会把模板字面量提前闭合,而 node --check 仍通过(`x` 后接 .y 被解析成成员访问)⇒ 页面静默白屏;② HTML 注释必须写 -->,写成 */ 会把后面整段吞成注释。改完先跑 node --check 再跑自检。

  • ⚠️ 功能入口卡的高度会转嫁给密度契约:它紧贴「数据统计」下面,卡越高,下面那张「一屏 ≥6 行」的列表首行顶越低。当前靠三处收高(卡内衬 12/16、≤1000px 隐描述、≤1024 顶栏内衬 8px)把边界维持在 901px。

  • 🔴 产品规划技能包已立「单一可信源」门禁(2026-10-08):check_naming.py 里的 AUTHORITY 表登记「会变的事实 → 唯一定义处」,除定义处外任何地方出现复述即 FAIL。当前 9 条:②③边界(权威=②段 §②—③ 交接口)|停线规则(全包禁写,权威=总入口 §执行规则)|可选档骨架名单(权威=layouts-tooling.md 开头)|说人话门槛|对比度数值|契约十二字段展开(权威=runbook §2.1)|②③定案原话|1b 定案原话|grill A/B 节火力点。改这些事实只改权威处,然后跑闸门。

  • 🔴 DEAD_PATHS 检查:strategy/、ux/ 这类已废目录形态若出现在正文的产出/只读/必读位置 ⇒ FAIL(已废路径曾 4 处残留且无门禁报)。含废止标记(旧/已废/已改名/曾/移进/改为…)的行豁免。

  • ⚠️ 反面教训:check_naming.py 曾因用 stale 变量(if old in t 该用 tt,前面还跑了一个只赋值的空循环)导致「旧名提示」恒不触发(假绿)。改门禁后必须做变异对照:注一条假病进去,确认它真的报红,再还原。

  • 真缺口:open-design craft/ 的 13 份工艺数值判据(反 AI 味/无障碍/表单校验/动效纪律)在没装 open-design 的工作区无供给来源 ⇒ 明说,⛔ 不编。

  • 产物落点:执行期间一律落 执行会话/目标-<标题前缀>-<sha1(title)[:6]>/(域门禁+文档合同要求);正式归档 docs/pm/mcn-shortvideo-agent/{research,prd}/ 由主会话收口后统一搬。

  • 🔴 工作区已 git 化(2026-10-08 08:1x):远端 [email protected]:admin/contentm_agent.git(Gitea,SSH deploy key 有写权限),本地分支 main,首次提交 df56c2c(1773 文件 / 205 MiB pack)、第二次 eee042c(10-08 22:xx,③段第八轮收口,48 文件),均已推送。.gitignore 排运行时噪音(collab 日志/脚本 .bak*/supervise.pid/.workbuddy/tmp//tmp/_*.txt/**/ui/_scratch//__pycache__//tmp/_bh_shots/·_figma_preview/·_gpt_dl//.workbuddy/.load-pending),参考资料 231M 抽帧素材全量入库(⛔ 不打折)。提交者身份是局部配置的 WorkBuddy <[email protected]>(全局 git config 未动),可推翻。

  • 🔴 全局技能仓(E:/ProgramData/.workbuddy/skills)是独立仓:远端 [email protected]:admin/workbuddy_skills.git,分支 master(⛔ 无 upstream 配置 ⇒ 必须 git push origin master 显式推,且 git status -sb 不显示 ahead,别拿它判断同步与否),提交者身份是全局 maogeigei <[email protected]>(与工作区仓的局部 WorkBuddy 不同,属正常,⛔ 别"统一")。⚠️ 该仓被多会话并发写、推进以分钟计:2026-10-08 我推 44d42b0 后数分钟内,另一会话又推了 5 个提交(撤销「项目会话」更名 + 141 处说人话替换 / 机制对外改叫「项目机制」 / 把 9 个此前未纳管的技能目录入库 e03465c / 修 draw-ui·oil-motion 的子模块指针),HEAD 已到 237a09a。⇒ 本仓任何结论都带时效,用前先 git log -1 校准;那 9 个目录(AI HOT/draw-ui/dsh-* ×6/oil-motion/skills-security-check)已入库,不再是"未纳管"。

  • 🔴 并发覆盖实录与 B 方案补落(2026-10-08):我第八轮在 stage-delivery/SKILL.md 供给块的三处(能力边界 / 九档 / 证据缺口)被另一会话那轮重写覆盖(供给块整体换成另一种表结构),§5.5.2 标题也被换回旧写法,还留下一段重复的「实证」。用户选 B 方案后由其转告「另一会话已完成」,核实现场不符(HEAD 与 mtime 都没动、远端无新提交)⇒ 本会话于 22:4x 补落(提交 46bee95):四处锚点全部回填 + 清掉重复实证行。⛔ 判"改动是否还在"一律 git show HEAD:<文件> | grep,⛔ 别看 --stat 行数。⚠️ 教训:同批改动里我自己顺手列了那 8 个骨架名,撞上「名单只许在 layouts-tooling 开头写一次」的复述禁令 ⇒ 写"不复述"时别把名单抄进来。

  • 🔴🔴 全局技能包当前版本不是最新调整版(2026-10-08 22:5x 查明,用户追问后坐实):1d7d31a 提交信息写「说人话新稿按合并落地」,实际是整文件覆盖 product-planning 下 7 个文件 —— 新稿编写时点早于被覆盖文件的修改时点,不做三方合并 ⇒ 必丢中间调整。硬指标:「单一可信源」类声明 5 处 → 1 处(丢的是 stage-delivery/SKILL.md 的 ## 供给(唯一权威处 · 改供给只改这一块) 整节标题 + 六行供给表、layouts-tooling.md 开头的名单权威声明、stage-requirements/SKILL.md 的②—③交接口声明)。🔴 供给口径被翻转:用户定案是「默认主线 = oil-ui-pro,open-design 只是可选的随段携带件」,当前文件却写「open-design = 本段默认主线」。⇒ 凡在本包上干活,先确认基线是不是最新调整版(拿 git diff --stat <上次收口提交> HEAD 与「唯一权威处」计数比);闸门 12 条 FAIL 的真根因就是这几处权威声明被删,修序必须是「先恢复权威声明、再清复述」。✅ 2026-10-08 23:0x 已整包回退到 44d42b0(技能仓提交 8fc9a92),闸门回 2060 | 0 | 27,「唯一权威处」2 文件 / ## 供给 块与六行表 / runbook 两条勾选项 / 3c 四处一致均已回来;那批「说人话」改写另存于工作区 归档/技能包-说人话改写-被覆盖存档-20261008/(对照 diff + 全文 + 用法说明),将来只取措辞、⛔ 不取结构改动。✅ 技能仓根已立 改包纪律.md(技能仓提交 0011050):四条硬纪律(⛔ 不许整文件覆盖 / 落地前比对时点 / 改完必跑闸门 / 收到覆盖性提交先做结构体检)+ 出事后的标准修法,谁来这个仓干活先读它。

  • 🔴 闸门 12 条 FAIL 的归因(已坐实):由提交 1d7d31a(10-08 22:22,作者 maogeigei)一步引入 —— 验证法(可复现):git archive <版本> product-planning 抽出来各跑一次闸门,44d42b0 ⇒ 全过、1d7d31a ⇒ 失败 12;且 git diff --stat 44d42b0..HEAD -- product-planning/scripts/check_naming.py 为空(判据零改动,排除"判据变严翻旧账")。该提交改了 product-planning 下 7 个文件,性质像回退:把「②—③ 交接口(唯一权威处 · 改边界只改这一块)」的权威声明整段删掉、删掉「为什么立这一块」的立法理由段 ⇒ 权威处声明一弱化,复述就重新长回来。⛔ 修法顺序:先恢复权威处声明,再清复述,反了会反复。⛔ 别默认是"自己上次的债"。

  • 🔴 本工作区现名 contentm_agent(2026-10-08 定,旧名 content_marketing_agent,再早是 agent-product)。机制登记已全部改成现名:collabd.config.json 的 workspace + collabctl.py 的 WORKSPACES/KEEPALIVE_TASKS(源 + 3 个区副本共 4 份,改一处要改 4 份)+ ai1net 的 peer_workspaces。旧空壳目录改名 content_marketing_agent.RETIRED-20261008 保留(零删除)。⚠️ ai1net 改了 peer ⇒ 看板要重启才生效(配置模块级只读一次)。

  • 🔴 本区协作机制当前是「停」态(2026-10-08 用户令):开关 off、旧保活任务已注销(定义备份在 tmp/_oldtask_backup.xml)⇒ 目标完成后不再每 5 分钟空转。要再起 ⇒ collabctl.py on --ws E:/ProgramData/AIProject/contentm_agent。

  • ⚠️ collabctl.py 的 off --ws 曾越区(kill_all() 全机扫描不认 --ws,一次杀掉他区+看板共 5 个进程)⇒ 2026-10-08 已修:ONLY_WS 时只杀本区心跳 pid 并提前 return,4 份同步。⛔ 改这文件记住源 + 3 区副本都要改。

机制侧(本工作区)

  • 全局技能根 E:/ProgramData/.workbuddy/skills/;本工作区技能目录 .workbuddy/skills/ 目前只有 aigc-idea-impression。

  • 本机裸 bash 会落到 WSL(路径被吃)⇒ 一律用显式路径 E:/ProgramData/.workbuddy/binaries/PortableGit/versions/1.2.0/usr/bin/bash.exe。

  • 派活排期名 [执行]-[<goal.topics>]-<具体>;本区当前目标(2026-10-08 23:29 切)=「梳理板块与操作路线,经 GPT 规划后重做②段文档并重生成界面」,类别 产品规划(旧目标「生成产品界面」已归档)。🔴 换目标必须带 --kpi —— 不带 ⇒ 旧验收判据原样留下 ⇒ 新目标一声明就被判「全过」、机制不派活(本次已踩到并当场补掉)。🔴 换目标还要换 tmp/supervise-inbox/NEXT.md —— 那是执行会话据以开工的队列,不换 ⇒ 新派出的会话会去做旧目标的活(旧队列已归档为 NEXT-旧目标-重写竞品分析-归档20261008.md)。

  • 🔴 取证通道=「只连不起」(2026-10-08 用户令「为什么要重新开浏览器,先检查之前是否开过浏览能否复用」):本机 9223 上常驻一个独立浏览器实例,动手前先 netstat -ano | grep ":9223" 探;在跑就直接连,⛔ 不另起。规则已写进 skills/browser-harness/SKILL.md 的「🔴 本机(用户明令)」段。_tools/cap.py 已照此改造:走 CDP Emulation.setDeviceMetricsOverride 定视口(声明式,不再是 --window-size +偏移量),只连 9223;顺带解除 500px 宽度下限,390×844 现已可测。⛔ 别新建自己起 Chrome 的脚本(本轮建过 _tools/measure.py,写完即删)。

  • 🔴 ③段功能入口卡(.data-card)=三段纵向(2026-10-08 第七轮定,照参照物 mcn-work-shop 首页逐值量):图标 22px 独占一行 → 标题 --fs-18/600(行高写死 1.35)→ 描述 --fs-14(行高写死 1.35);gap:6px(--mg-6)、padding:16px、--sh-L1 阴影;网格 minmax(200px,1fr)。实测卡高 111.19px(参照物同宽 113px)。⛔ 三个刻意不学:圆角 12px、translateY(-2px) 位移、一个功能一个色。.sect-nav 没有小标(参照物也没有)。

  • 🔴 密度表的读法(2026-10-08 更正):P1 账号矩阵的绿/红分界是「≥820 绿;768 / 700 红;640 绿(手机外壳);560 / 500 红」。⚠️ 旧文档曾把 768 记成 7 行 ✅ —— 那是错的,真值 5 行 ❌;错因是旧通道 --window-size 的视口歧义(768 恰好卡在卡片「3 列/2 列」阈值 632px 上,只差 7px)。

  • 🔴 改一个组件的高度之前,先跑「改前基线」:把改动回退成一份副本(如 _scratch/base.html),同一套判据跑满逐视口表 ⇒ 才能分清哪条红是自己造成的。⚠️「改完只量主视口」这个毛病已犯两次(第六轮 640、本轮 1440),两次都是逐视口表兜住的。

  • 🔴 浏览器:一个页面只开一个标签(2026-10-08 用户令「后续调试网页 一个页面开一个标签就行了不要反复开」)。定义处=E://ProgramData//.workbuddy//skills//browser-harness//SKILL.md「🔴 本机(用户明令)」段(⛔ 不复述细则,只引一处)。⚠️ 起因:本会话调试原型时反复 new_tab 且忘了关,共享实例里堆出同一个页面的一串标签,用户亲眼看到。

  • 🔴 ③段侧栏=64px 药丸浮栏(不是「纯图标栏」)(2026-10-08 第七轮回源站实测更正)。真值:栏 64px/内衬 3px/圆角 100px/淡底+1px 淡描边的药丸浮栏(⛔ 无右边线);项 56×78 药丸(圆角 54/内衬 16/段间距 6),图标 24 在上、2 字短名 12px/500 在下,两者都常驻;当前项=中性填充 ink 6% + 满墨(⛔ 不用品牌紫底);非当前项 --ink-faint;项间无 gap;hover 只换色。名字一律 2 字(内容宽 56−32=24px);悬停提示的内容是该页说明、⛔ 不是名字。⛔ 三处不学:填充字形图标(我方用 mcn-work-shop 那套描边图标)/真浮层(仍占一列)/逐项对齐的 162px 说明列(我方是单条浮层)。⚠️ 改前那版「纯图标栏、名字只走提示」是照 library.json 的计数猜的 —— 包里既没有导航几何、design-system.html 里 app-sidebar 也是 0 处。教训:计数不是几何,包里没有的事实就回源站量。

  • 🔴 ③段密度分界(2026-10-08 第八轮 · A 方案后):P1 账号矩阵绿 = 1440/1280/1024/1000/960/920/901/900/840/820/768/700/640/560;红 = 只剩 500×844。做法:≤1000 功能入口卡最小宽 200→160、≤820 统计条最小宽 132→96(auto-fit 只在真装不下时才缩 ⇒ 宽屏 10 个视口一格未动)+ 移动档标签条藏掉 16px 横向滚动轨。⚠️ 这两档阈值已写进 DESIGN.md §1.1 ⑨ 断点表(原表 901–1024 与 901–1000 区间重叠,已校正成六档不重叠)。

  • 🔴 ③段导航规则已改(2026-10-08 第八轮):layouts-tooling.md §5.5.2 判据订正 —— 从「栏宽必须 240–280px」改成「每一项的名字必须常驻可读(字号 ≥12px 不截断;64px 栏的名字上限 2 个汉字)」,判的是实质不是手段;新增 §4.9「导航栏」一档(两套合规形态:64px 药丸栏 / 240–280px 宽栏;含当前项只改颜色、窄屏整段换形态、⛔ 横滚条不许画滚动轨、图标一处出口、⛔ 不许照组件清单计数反推形态)。⇒ 我们现在的「64px 药丸浮栏 + 2 字常驻短名」从"判据判不过"变成"合规"。

  • 🔴 ③段两条元规则(2026-10-08 第八轮新增,layouts-tooling.md §5.6):① 参照物原值与我方令牌刻度冲突时必须走三步(量到数值 → 差异列表 → 逐条「学/不学+理由+代价」),⛔ 不许默默"就近落位",「刻意不学」⛔ 不得用于掩盖规则违反;② 自造物料(参照物笔记、临时对照表)⛔ 不得作为判据来源 —— 证据栏只许写「技能原文的文件:小节」「源站/源文件实测读数」「用户原话」。

  • 🔴 ③段 Gate-3 新增强制两条(2026-10-08 第八轮):① 「看过」必须有落盘记录(oil-ui-pro 10 分制评分写进 3d),⛔ 不许用「自检 N 项全绿」顶替;② 人工项必须给机检实现,否则写死「本条无机检」,🔴 ⛔ 不许在没有取值手段的条目上打 ✅。⚠️ 起因:3d §九 曾把「§5.5 五条逐条过完」记成 ✅ 自检机核,而那五条当时零覆盖。

  • ⚠️ 全局技能包 check_naming.py 曾带 3 条既有 FAIL(2026-10-08 第八轮修):①「停线规则」的 AUTHORITY authority 写成 None(=连权威处也不许写,与本条 why 自相矛盾;且 SKILL.md 里根本没有这条规则)⇒ 已改 SKILL.md 并把规则补进「执行规则」;②③ stage-proto-doc 与 usage-scenario 两处仍写①段已废的 strategy/ 路径 ⇒ 已改 research/1d-产品策略.md / research/1e-使用场景.md。复跑:通过 2060 / 失败 0 / 提示 27。⛔ 改全局技能包前后都要跑这个闸门。