Files
contentm_agent/.workbuddy/memory/2026-10-11.md
T

59 KiB
Raw Blame History

2026-10-11 工作日志

04:03 · 换目标:根据 Easel 分析梳理热点与选题的逻辑关系 + 出产品框图与功能流程图

  • 用户令(逐字):「完成目标:根据Easel分析梳理热点和选题板块功能的逻辑关系,并画出产品框图和功能流程图」。
  • ✅ 上一目标已收口:20a8ac「侧栏改回64px基准形态并刷新按钮改icon」在 10-10 23:41:15 被判「已完成」——三条判据全 过 且依据都挂现跑证据(--nav-w:64px + .nav-item 竖排;七页各 1 枚 .btn-icon 挂标题行右侧;2b §四与 DESIGN.md V5 同步)。落地会话=执行棒 521ae77f(23:12:28 起、23:30:53 收工)+ 检查棒 a6515a81(23:36:23 起、23:42:50 收工)。
  • ✅ 换目标三件套全做:
    • goalctl.py declare --title "<用户原话>" --kpi "<三条>" --switch-goal --yes ⇒ 旧目标整份归档 goals/侧栏改回64px基准形态并刷新按钮改icon__20261011-0403.json(2 314 B),备份 .workbuddy/collab/bak-goalctl-20261011/goal.json;lifecycle 自动复位 已完成 → 进行中(04:03:42)。三条判据=逻辑关系成文档/产品框图落盘/功能流程图落盘(均 未过)。
    • 目录按机制口径算准(goal_dir_name():title[:20] 去空格 + sha1(title)[:6]):标题 39 字 ⇒ 前缀截到 …板块功能,hash 0a758b ⇒ 执行会话/目标-根据Easel分析梳理热点和选题板块功能-0a758b/。
    • 队列换新:旧 NEXT.md → NEXT-旧目标-侧栏64px与刷新按钮-已归档20261011-0403.md;新 NEXT.md 写明落点、输入、三样交付、画图工具与 ⛔ 不许动清单。
  • ✅ 目录与指针:跑 collabd.py --ensure-goal-dir(幂等)⇒ 建目录 + 落状态文档骨架(420 B)+ 自动把 execution_doc 从旧目录对齐到 执行会话/目标-根据Easel分析梳理热点和选题板块功能-0a758b/目标执行状态.md(回读确认)。⚠️ 该命令顺带把本会话登记为主会话 184c4986(它的自带行为、且登记的是本会话,正确)。
  • ✅ 已派执行棒:[执行]-[产品规划]-梳理热点与选题逻辑并出框图流程图,id 2d15c315-cbe1-4c59-9b0f-0f3beef86a67,once 04:09(⛔ 已按教训设在创建时刻 04:05 之后)。
  • 📌 本目标的两份输入(都是只读起点,⛔ 不许改):①素材主源=执行会话/目标-逆向Easel热点雷达与选题链路补齐现版-547748/第1棒_逆向Easel热点雷达与选题链路_2026-10-10.md(15 456 B,结构=一·完整链路/二·与现版 P2 逐项对照/三·落地方案)+ 同目录 取证/ 12 份原件;②现版对照=执行会话/目标-把八条已定口径落进②段两份与原型-fa6e07/ 的 2a/2b。
  • 📌 画图点名用 diagram-design(skills/product-planning/references/stage-requirements/assets/diagram-design/SKILL.md)⇒ 派活单里写死「先读它的 SKILL.md 再画,⛔ 别手搓 SVG、⛔ 别另起一套画法」,并要求图能直接打开看(HTML/SVG),⛔ 不许只交「图的描述文字」。
  • ⛔ 本轮红线(写进派活单与队列):不许改现版原型 ui/mcn-workbench.html 与 2a/2b;页面 7/导航名序/板块 39/流转 20 条/对象 11 个一律保持;用户 2026-10-10 逐字「没让改的 交互不允许乱改」。

04:09–04:20 · 执行棒交工:三样产出全部落盘(会话 3cadf11b)

  • ✅ 域锁:--claim-exec "[执行]-[产品规划]-热点与选题逻辑关系梳理与出图" --domains "…/contentm_agent/执行会话" ⇒ 抢到;收工 --release-exec 已释放(按 OWNER 里 ME 的原文释放,⛔ 不带派活前缀),复核 .locks/ 下零残留(避开了孤儿锁那个老坑)。
  • ✅ 三样产出(落 执行会话/目标-根据Easel分析梳理热点和选题板块功能-0a758b/):
    1. 逻辑关系-热点与选题-2026-10-11.md(12 KB)——四问各一节(谁产出什么/什么触发什么/数据怎么流/边界在哪)+ 7 处断点登记。
    2. 产品框图-热点与选题-2026-10-11.html(15 KB,architecture 图型)。
    3. 功能流程图-热点到选题-2026-10-11.html(13 KB,flowchart 图型)。 另存两张渲染截图(预览-*.png)作可达性证据。
  • 🔴 本棒最有用的一个结论(口径层,值得记住):现版没有叫「热点」的板块。P2 只有 4 块(对标监控概览/对标内容/评论区洞察/选题库)⇒「热点」在本文件里被定义为信号来源(发现侧),落地在三块 + 选题库里「数据异动」这个类型;「选题」=选题库那一块(F2)。两块同在 P2 是用户 2026-10-09 定的归属判据(「找选题和做选题就应该在一起」)。⛔ 全程未给板块改名、未新增板块。
  • 🔴 第二个结论:Easel 的判断层是七维打分(判「做不做」);现版的判断层是选题库的「类型」维度(判「下一步去哪」)。两者不是一回事 —— 拿 Easel 对照时别把打分体系当成缺口的补法。
  • ⚠️ 画图踩法:图型选 architecture(产品框图,3 个 zone 分区)与 flowchart(功能流程图,2 个判断菱形 + 1 条虚线回环);出图后必须跑 diagram-design/scripts/self_check.py <file>(两份都 OK);渲染校验走 browser-harness 的 capture_screenshot,同一个标签页 goto_url 复用(用完 close_tab,list_tabs() 复核归零)。
  • ⚠️ 浏览器起法(照 browser-harness/SKILL.md §1 整段):先 netstat 探 9223 ⇒ 未在跑 ⇒ 本会话后台任务跑 bh_chrome_keepalive.py;用完把后台任务停掉(pending 后台任务会静默压制 idle 钩子)。实测:关掉最后一个标签页 ⇒ Chrome 自行退出(rc=0)⇒ 守卫按新语义停手,9223 释放。
  • ⚠️ 本机易忘:--report 只吃一个 --artifact(源码里 _argv_val 取首次出现)⇒ 多产物时把「能给检查会话当入口」的那份(此处=逻辑关系文档,文末列全三条路径)登记进去。
  • ✅ 上报:--report 3cadf11b… --state done --artifact "执行会话/目标-根据Easel分析梳理热点和选题板块功能-0a758b/逻辑关系-热点与选题-2026-10-11.md" ⇒ OK 已上报 (新) -> done,落点软判据无告警(在目标目录内)。
  • 📌 留给检查棒的两处:① 三条判据是「成文档/框图落盘/流程图落盘」,本棒已给出对应产物,但 目标执行状态.md 仍是 420 B 空骨架 —— 按合同那是检查会话的活(执行棒不写它);② 7 处断点只在文档里登记,⛔ 本轮一条都没动手(改②段属扩范围)。

04:2x · [检查]-[目标检查]-第47棒(457e4a22)· 目标 0a758b 收口

  • 结论:目标已完成,lifecycle 已 进行中 → 已完成(life_by 记本棒名,04:25:01),常驻随之优雅退出(设计行为)。
  • 三路判据:台账 25 条全 done(本目标 1 条 done,产物=逻辑关系文档);taskgraph.json 在本区不存在(未启用,本轮按台账+判据两路);验收三条由实测补齐。
  • 🔴 目标执行状态.md 在执行棒走后仍是 420 B 空骨架 ⇒ 本棒按文档合同补写(判据三节 + 结论 + 旧判据作废清单),再 goalctl.py declare --kpi "…" --yes 回写,并回读确认。同型第三次(fa6e07/20a8ac)。
  • 判据取值规范写法 过|依据;--kpi 按分号切 ⇒ 依据里⛔ 全角 ;(已规避,用 、 与半角逗号)。
  • 实测取证:逻辑关系 md 12 250 B;产品框图 html 15 471 B(SVG 0 0 1040 580,91 图元);功能流程图 html 13 382 B(SVG 0 0 1000 800,66 图元);两张预览 png 分别 107 455 / 111 387 B。三个产物全在目标目录内。
  • ⛔ 本轮未派新棒、未改 2a/2b/原型。
  • 遗留(⛔ 不阻塞):7 处断点属「补内容」不属「改结构」,其中倍数阈值/分类阈值两条零数据源即可落地,改②段前需用户点头。

10:19 · 主会话核实「目标完成了吗」⇒ 已完成,并核过红线

  • ✅ 判定:已完成。goal.json lifecycle = 已完成(04:25:01),三条判据全 过 且依据挂实测值(逻辑关系 md 12 250 B/产品框图 html 15 471 B/功能流程图 html 13 382 B)。
  • ✅ 会话轨迹:执行棒 3cadf11b(04:09:04 起、04:17:47 收工)→ 检查棒 457e4a22(04:21:47 起、04:27:11 收工)⇒ 又是一次「执行棒交产物 + 检查棒补文档回写判据」的完整闭环(第四次同型)。
  • ✅ 六份产物全在目标目录:逻辑关系-热点与选题-2026-10-11.md(12 250 B)|产品框图-热点与选题-2026-10-11.html(15 471 B,SVG 0 0 1040 580/91 图元)|功能流程图-热点到选题-2026-10-11.html(13 382 B,SVG 0 0 1000 800/66 图元)|两张预览 png(107 455/111 387 B)|目标执行状态.md(2 808 B,检查棒补写)。
  • ✅ 红线核查(我独立核的,不采信自我报告):现版原型 fa6e07/ui/mcn-workbench.html = 149 047 B/Oct 10 08:14、2a=08:07、2b=08:11 ⇒ 时间戳全部还是 10-10,一个字没动。检查棒 §三 也独立写了「执行棒零改动」。
  • ✅ 文档实质内容(读完第二、三、四节):四问各一节(谁产出什么/什么触发什么/数据怎么流/边界在哪);7 处断点按「断在哪块 + 缺哪一层」重列;4 条结论里最值钱的两条 —— ①现版「热点」与「选题」不是并列板块,是一条链的两端(热点侧三块+一类型、选题侧一块);②枢纽是「类型」这个维度(Easel 七维打分判「做不做」,现版按类型派活判「下一步去哪」,两者不是一回事)。文档还标了现版比 Easel 强的一处(去重:Easel 的「已收藏」只活在前端内存,现版 F2 已写内容 hash 去重)⇒ 提醒别照抄回去。
  • 📌 7 处断点里第 2、3 序(倍数阈值 mult/分类阈值 zone)零数据源即可落地,但属改②段 ⇒ 扩范围,改前要用户点头(⛔ 本轮只登记)。

16:40 · 用户打回上一轮成果并追加「问 GPT」⇒ 换目标重做

  • 🔴 用户批评(逐字):「画出图就发现问题了。热点与选题产品框图对应 整合营销平台的选题板块。框图中没有细节,热点从哪里来,根据什么分类,怎么体现热度,如何展示这些细节都没有,做出来的产品也是一个架子没有细节」。
  • 🔴 用户追加(逐字):「不光是我说的这些 带着问题问问 gpt在做判断」。
  • ✅ 我核了批评是否成立(不辩护、先坐实):提取上一轮框图与流程图的全部文字节点 —— 框图 38 个、流程图 26 个,清一色是板块名与功能编号(P1/P2/选题库/对标内容/F1 · 四个数 这类),没有任何数据来源、分类维度、热度算法、展示形态 ⇒ 批评完全成立。
  • 🔴 根因(我这边的问题):上一轮判据只写到「有文档/有图」这一层 ⇒ 交出来的自然是一张占位图。⇒ 教训:判据必须落到「照着能做出来」的粒度,否则执行棒按判据最低标准交付。
  • ✅ 换目标三件套:declare --title "征询GPT对选题板块细节的建议并重画框图流程图" --kpi "<三条>" --switch-goal --yes ⇒ 旧目标(0a758b)归档 goals/根据Easel分析梳理热点和选题板块功能的逻辑关系,并画出产品框图和功能流程图__20261011-1641.json(2 115 B);lifecycle 复位「进行中」。新目录=机制口径 执行会话/目标-征询GPT对选题板块细节的建议并重画框图-8a649c/(title 23 字,[:20] 截到 …并重画框图),--ensure-goal-dir 已建目录 + 自动对齐 execution_doc。
  • ✅ 队列换新:旧 NEXT.md → NEXT-旧目标-梳理热点与选题逻辑-已归档20261011-1641.md;新队列写清三步顺序(①问 GPT → ②补细节成文档 → ③重画图)。
  • ✅ 已派执行棒:[执行]-[产品规划]-征询GPT并补全选题板块细节重画框图,id 800d9096-6a0a-415a-bb1d-336eb123de6e,once 16:50(设在创建时刻之后)。
  • 📌 派活单里替它找好了原料(省得又交空架子):547748/取证/ 里就有现成答案 ——
    • skills__shared__hotlist-apis.md:10 个免费无密钥中文热榜 API(60s v2 主源 + xxapi 备选),返回 {title, hot, url},含降级链(60s → xxapi → 间接)与 5-10 分钟刷新率 ⇒ 「热点从哪来」有解。
    • skills__shared__scoring-dimensions.md:七维评分(流量潜力 25%/账号匹配 20%/竞争差异化 15%/变现潜力 15%/时效价值 10%/制作成本 8%/合规风险 7%),每维 1-10、两个反向维度、综合分满分 100、阈值 ≥70 做/50-69 改方向/<50 不做,另附 8 类敏感赛道 ⇒ 「热度/判断怎么体现」有解。
    • TrendsPage.tsx(4 536 B)/IdeasPage.tsx(6 749 B)= Easel 真实界面组件与字段 ⇒ 「怎么展示」有解。
    • 分类口径多半在 skill-trending-topics/skill-trend-rider/skill-ugc-discovery/skill-topic-evaluator/skill-content-matrix 五份里。
  • 🔴 发送边界(我定的,写进派活单):问 GPT 只发产品层面内容(板块结构/四问/现状/要什么判断);⛔ 不发仓库路径、机制细节(goalctl/域锁/台账)、源码。要求先把要发的内容写成 GPT提问稿.md 留痕再发,回复逐字落盘(参照 b49e02 那次 10 562 字符的留痕做法)。
  • ⚠️ 红线状态变化:browser-harness/SKILL.md §6 与上一轮派活单都写着「本项目 3c-GPT 参考版不做、不许向外发本项目内容」——那是上一目标的红线;本轮用户明确要求问 GPT ⇒ 本目标照做(已在派活单里写明这个转折,并同时收紧了发送范围)。

16:40–16:47 · 用户问机制口径:「执行会话是否兼目标跟进/创建程序是否自动建检查会话」⇒ 按技能口径回答 + 现场取证

  • 用户原话:「建立执行会话 是否同时作为目标跟进,创建程序是否会 建立检查会话自动跟进」⇒ 触发词命中「执行会话」⇒ 已按第 0 步先加载 session-mechanism 技能(⛔ 没凭记忆答)。
  • ✅ 答一:执行会话不兼目标跟进。技能 T 表逐字:「使用执行会话完成目标的时候 主会话 才建立一轮执行会话,后续无意外都是 检查进程创建」+「⛔ 主会话到这一步就收手」。⇒ 分工是三方:主会话派活(只建一轮执行会话)|执行会话干一棒、做完 --report 上报(⛔ 不判目标)|检查会话判结果与目标([目标检查])。「目标跟进」=检查会话的活。
  • ✅ 答二:会,由常驻自动建 —— 载体=collabd.py --supervise(每 2 轮判一次),函数 maybe_spawn_check_agent(),多道闸。
  • ✅ 现场取证(我实取 _collabd.log 16:40–16:46,每 20 秒一轮,⛔ 不是照文档背),四条闸分别在说话:
    • 检查会话:目标状态=已完成(非进行中)⇒ 不建(闸①:queue-empty 那条要求 lifecycle 进行中)
    • all_sessions_idle:还有 1 条 working(184c4986)⇒ 不算全结束(闸②)
    • 目标检查:队列空但只静默了 0.7 分钟(<3)⇒ 不建(静默闸)
    • 目标检查:⚠️ 本工作区还有 1 条待执行排期 ⇒ 不建(已有活要干,别重复派活):['[执行]-[产品规划]-征询GPT并补全选题板块细节重画框图'] ← 🔴 它看见了我 16:50 那条棒并据此不重复派活 ✅
  • 🔴🔴 顺带查出一个与文档不一致的实测事实(重要):技能 §「现状地图」写「检查线受总开关管」,但本区总闸 contentm_agent = off(collabctl status 现取)而常驻照样在每 20 秒判闸,且在 04:21 确实自动建过检查会话(会话 457e4a22,收口 0a758b 目标)。⇒ 实现上 off 没拦住判闸(off 挡的应是 collabctl ensure 那条"补齐缺失"的路,不是常驻自身的循环)⇒ 以实测为准,文档该订正。
  • 🔴🔴 另一条对用户有用的实测事实:闸②「所有会话已结束」把主会话也算在内 —— 日志逐字「还有 1 条 working(184c4986)⇒ 不算全结束」,而 184c4986 就是本主会话。⇒ 主会话开着的时候,检查会话不会被自动建;要它自动建,得等主会话收工(04:21 那条正是凌晨主会话不在时才建的)。
  • 📌 附带现象(小瑕疵,不影响功能):检查棒撞号 —— 我 23:33 手派的第 47 棒是会话 a6515a81(23:36:23 起),常驻 04:21 自动建的也叫「第 47 棒」是会话 457e4a22(04:21:47 起)⇒ 两边算棒次的口径不同,名字撞了。功能无碍(两条都跑完),登记备查。

18:53 · 用户令「所有方案都要按全球方案规划」⇒ 立全局口径 + 换目标改造

  • 🔴 用户令(逐字):「所有方案都要按照全球方案规划,不能只看国内,必须包含海外主流社媒和短视频平台(最主流的就行)」。
  • ✅ 先核了缺口(不凭印象):上一目标 8a649c 的细节文档(39 743 B)里平台出现次数 —— 抖音 12/知乎 8/微博 7/小红书 4/B站 4,海外平台 0。现版 2a/2b 更彻底:2a 只有「抖音」1 次、2b 0 次(根本没有平台清单)⇒ 用户这条令补的是个真空白。
  • ✅ 写进长期记忆(最关键的一步):MEMORY 新增 🔴🔴 条「平台范围=全球(2026-10-11 用户令 · 适用所有方案)」,含主会话自决清单(海外 6 = TikTok/YouTube(含 Shorts)/Instagram(含 Reels)/Facebook/X/LinkedIn;国内 6 = 抖音/快手/小红书/视频号/B站/微博;共 12)+ 现状缺口实测值 + 「清单可推翻」的标注。⇒ 目的是让后续任何会话都不会再只做国内。
  • ✅ 换目标三件套:declare --title "按全球口径重做平台矩阵与热点源含海外主流" --kpi "<三条>" --switch-goal --yes ⇒ 旧目标 8a649c 归档;lifecycle 复位「进行中」。新目录=机制口径 执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/(title 刚好 20 字、[:20] 全保留),--ensure-goal-dir 已建目录 + 对齐 execution_doc。
  • ✅ 队列换新:旧 NEXT.md → NEXT-旧目标-征询GPT补细节重画框图-已归档20261011-1853.md。
  • ✅ 已派执行棒:[执行]-[产品规划]-按全球口径重做平台矩阵与海外热点源,id 8d7d02b3-a72d-48a0-9f3c-d2c0644cf537,once 19:02(设在创建时刻之后)。
  • 📌 本目标三样交付(写死在队列与派活单里):①全球 12 平台矩阵(每平台要写内容形态/体量口径/发布方式,⛔ 不许只列名字)②海外主流热点源要现查(国内那路已有 60s+xxapi;海外要找出免费无密钥可程序化取的,方向提示 Google Trends/Reddit/YouTube/X/TikTok Creative Center,每条必须实跑验证过,⛔ 查不到就说查不到、不许编端点)③按全球口径重画框图与流程图(图上要看见 12 平台怎么进链路)。
  • 🔴 本轮不动 2a/2b:把「要不要把 12 平台矩阵同步进 2a/2b」立成待拍板(改动面大:涉及骨架冻结与闸门),执行棒只出方案与建议。
  • 📌 上一目标 8a649c 的完整闭环(供追溯):执行棒 3ddac1cb 16:50:14 起、17:14:10 收工;检查棒 a3bc6ac3(第 48 棒,常驻自动建的)17:19:10 起、17:24:48 收工,17:22:43 判「已完成」。产物六份(GPT 提问稿 4 492 B/GPT 回复 44 524 B/细节文档 39 743 B/框图 25 555 B/流程图 17 152 B/交付说明 2 696 B)。

19:49 · 用户问「方案更新完成了吗」⇒ 已完成,且这一版是真的把口径落进去了

  • ✅ 判定:已完成。lifecycle = 已完成(19:39:10),三条判据全 过。执行棒 346cf532(19:02:01 起、19:30:35 收工)→ 检查棒 7c62e1a4(第 50 棒,又是常驻自动建的)19:35:35 起、19:40:41 收工。(另有第 49 棒 f7777d5f 18:55–19:01,也是常驻建的,处理换目标空档。)
  • ✅ 我核了实质内容(不采信判据自我报告):
    • 全球平台矩阵-2026-10-11.md(9 229 B):海外 6(TikTok/YouTube 含 Shorts/Instagram 含 Reels/Facebook/X/LinkedIn)+ 国内 6(抖音/快手/小红书/视频号/B站/微博),逐个写清内容形态 · 体量口径 · 发布方式;另有 §三「建议增补 5 个」(Threads/Reddit/Pinterest/Snapchat/Kwai)只建议、⛔ 没动既有 12 个(照我在派活单里的要求做的);还有 §五「与 2a/2b 同步的建议」=交给用户裁,⛔ 本轮不动手。
    • 海外热点源-查证-2026-10-11.md(13 986 B):判通过的硬条件=HTTP 200 + 报文能解析出真实条目(不是空壳/验证码页);已验通 9 条(免费、无密钥、可程序化取)/没拿到 6 条(写清卡在哪、实测返回码)。⚠️ 全篇最诚实的一条结论:海外平台站内实时热榜没有免费源(要授权),能用的只有「搜索趋势 + 社区热榜」这两路。
    • 产品框图-热点与选题-全球版-2026-10-11.html(35 223 B,116 个文本节点,上一版只有 77)+ 功能流程图-热点到选题-全球版-2026-10-11.html(22 198 B):图上是四层结构(一·热点源 → 二·平台矩阵 → 三·判断层 → 四·P2 四块+下游),热点源那层细到端点与字段(Google Trends RSS · geo=US/GB/JP · title/ht:approx_traffic/pubDate · 实跑 200 · 10 条/地区|Reddit /r/popular/hot/.rss · 25 条 · ⚠️ .json 端点 403 ⇒ 只走 .rss|YouTube 频道 RSS · videoId/title/published/views|HN topstories + Wikipedia Top + Google News RSS + BBC News + trends24|国内 60s v2 + xxapi 备源),平台那层每个平台带内容形态与发布方式 ⇒ 彻底不是占位图了。
    • 另附 截图校验/(两份 PNG)+ 取证/(13 份原始报文可复核)+ 交付说明.md(8 733 B)。
  • 📌 遗留待拍板(我上一轮已列的):要不要把 12 平台矩阵同步进 2a/2b 与原型 —— 本轮按我定的口径没动产品,⚖️ 权衡是「先定名单再落产品,省一次返工」。

19:52 · 用户问「新老方案都在文件夹里,后续细化界面怎么找得到对应方案」⇒ 数清现场 + 建索引

  • 🔴 问题坐实(我实数的,不是印象):没有单一入口。
    • 2a-产品功能-新版.md 在 4 个目标目录里各有版本:20a8ac(10-10 23:14,61 683 B)/fa6e07(10-10 08:07,61 683 B,同字节数副本)/fc471a(10-09 14:44,43 328 B)/071c5b(10-09 00:20,40 917 B)。
    • 2b-界面布局-新版.md 同样 4 份:20a8ac(10-10 23:22,52 643 B=V5)/fa6e07(10-10 08:11,52 256 B=V4)/fc471a(40 119 B)/071c5b(37 846 B)。
    • docs/pm/mcn-shortvideo-agent/prd/ 里 10-10 22:24 归档的 2a-产品功能.md(61 683 B)与 2b-界面布局.md(52 256 B = V4 旧版)⚠️ 落后于执行区;research/ 空;交付物/ 空。
  • 🔴 断链根因:机制定的是「执行期产物落 执行会话/目标-*/,主会话收口后统一搬进 docs/pm/…/」,但归档只做过一次(10-10 22:24),之后 20a8ac/8a649c/0a758b/39646d 四个目标的产物一份都没搬 ⇒ 归档区停在旧版、执行区只增不减。
  • ✅ 我做了一件(低风险、纯增量):建 docs/pm/mcn-shortvideo-agent/索引-当前权威版.md —— 按 ①research / ②prd / ③ui / 专题方案 四类,逐条写清当前权威版是哪个文件(含路径、字节数、日期)+ 哪几份是旧版(点名)+ 已知断链。⛔ 不动任何被指向的文件(它是指针不是副本)。实测该索引覆盖 14 条文档条目。
  • 📌 索引的维护是「靠人记得」的状态 —— 「每个目标收口时更新一次」这条目前没写进机制(检查会话的派活模板里没有这一项)⇒ 已立成待拍板。
  • 📌 顺带确认:执行会话/ 下共 13 个目标目录;其中带方案类 md 的有 11 个(另有 d85687/5199a6 只剩状态文档)。

20:2x–20:5x · 用户定「两态结构」并令写进产品规划规则 ⇒ 整理落盘 + 改技能包

  • 🔴 用户令(逐字):「应该有文件夹 专门归档过期文档, 当前文档 统一放在方案文件夹中」;追加「这个要记录到 产品规划规则中」。
  • ✅ 整理落地(方案文件夹 = docs/pm/mcn-shortvideo-agent/):
    • 当前权威版 16 份归位:research/(1a 24 317 B/1b 33 401 B)|prd/(2a 61 683 B=V5/2b 52 643 B=V5)|ui/(原型 153 410 B/DESIGN 66 210 B/实测记录 32 210 B)|专题/ 9 份(全球平台矩阵/海外热点源查证/热点与选题功能细节/全球版框图与流程图/Easel 逆向/国内口径逻辑关系/两份 GPT 建议)。
    • 过期版 28 份收进 归档-过期版/,命名 <原名>__<来源目标短哈希>.<ext>:2a 5 版/2b 6 版/原型 4 版/DESIGN 4 版/实测记录 4 版/1a 3 版/早期 prd 与 research 旧归档 3 份。
    • 索引-当前权威版.md 重写:开头写清「方案文件夹=当前、归档-过期版=过期、执行区=过程留痕」,§六 给出收口四步。
  • ✅ 规则写进技能:E:/ProgramData/.workbuddy/skills/product-planning/SKILL.md 在 ### 产物落哪 之后新增 ### 文档的两态:当前版与过期版(含用户原话、两个文件夹的定义、收口四步、以及「为什么要有这条」的实测避坑依据)。
  • ⚠️ 我自己踩的两坑(都当场修了):
    • ①插段时拿 ### DESIGN.md 为什么在项目目录、不在仓库根 当锚点,new_string 里没把这个标题带回去 ⇒ 标题被吃掉、其正文变成孤儿(git diff 里看出 -### DESIGN.md…)⇒ 已修回,现标题序列正确(产物落哪 72 → 文档的两态 81 → DESIGN.md 为什么… 96)。教训:用标题作锚插入内容时,锚点必须原样保留。
    • ②research/ 的白名单只许 1a~1e 五个标准名 ⇒ 我放的 1b-竞品分析-汇总对比体.md 触发闸门 FAIL 1 ⇒ 改名 1b-竞品分析.md(内容一字未动)后 2061|0|27 全过。
  • ⚠️ 技能仓现场:多会话并发写 —— git status 里另有别人未提交的 browser-harness/SKILL.md、session-mechanism/SKILL.md、.gitignore、video-capture 两个脚本删除等;我只 add 了自己改的 product-planning/SKILL.md。技能仓 ⛔ 无 upstream ⇒ 推送用 git push origin master。

20:38 · 用户定「热点范围要更精准」并选 B 方案 ⇒ 换目标派活

  • 🔴 用户先给判断(逐字):「这个是短视频 内容营销平台,热点范围需要更精准」。
  • ✅ 我做了现状诊断(实测,不凭印象):现有信源里约 8 条是综合资讯类,占一半 ——
    • 海外 9 条验通里偏资讯的 5 条:Hacker News/Product Hunt/Wikipedia Top/Google News/BBC News
    • 国内 6 个平台里偏资讯的 3 个:知乎/百度/头条
    • 贴题的只有:海外 Google Trends(搜索趋势)/Reddit(社区讨论)/YouTube 频道 RSS(对标账号)/trends24(X 趋势);国内 抖音/快手/小红书/B站/微博/视频号
    • ⇒ 结论:一半信源在给"新闻"而不是给"选题",用户的判断站得住。
  • ✅ 给了三个候选,用户选 B:A=只砍信源(改动小、仍要人工筛垂类);B=砍信源 + 加「按账号赛道过滤」一层(用 Account 画像的定位与关键词把全网热点过滤成"我这个号能做的");C=再补短视频特有信号(话题标签/挑战赛/热门音乐/达人榜)。
  • ✅ 换目标三件套:declare --title "收窄热点源并加赛道过滤" --kpi "<三条>" --switch-goal --yes ⇒ 旧目标 39646d 归档;lifecycle 复位「进行中」。新目录=机制口径 执行会话/目标-收窄热点源并加赛道过滤-8a8412/(title 11 字、[:20] 全保留),--ensure-goal-dir 已建目录 + 对齐 execution_doc。队列旧份归档 NEXT-旧目标-全球口径平台矩阵-已归档20261011-2038.md。
  • ✅ 已派执行棒:[执行]-[产品规划]-收窄热点源并加赛道过滤层,id 50a8f8f3-c6b5-43c0-a52c-3c01f3ddadb4,once 20:48。
  • 📌 本轮派活单里两条新写法(都是首次实操):
    • ①起点一律指向方案文件夹(docs/pm/mcn-shortvideo-agent/ 的 专题/ 与 prd/、ui/),不再指向执行区散落的目录 ⇒ 「两态规则」第一次真正起作用。
    • ②明确写「docs/ 一个字都不许改」—— 执行棒的域锁只允许写 执行会话/ 内 ⇒ 产物落目标目录,收口时由主会话同步进方案文件夹(旧版进 归档-过期版/)。这条是域锁与新规则的接口,第一次跑,要看顺不顺。

22:05 · 用户问「目标完成了吗」⇒ 已完成,且两态规则第一次真正跑通

  • ✅ 判定:已完成。lifecycle = 已完成(21:44:00),三条判据全 过。这次跑了三棒执行 + 三棒检查:执行棒 f615337b(20:48:12–20:58:52,收窄+设计+出图)→ 检查棒第 52 棒(21:11–21:17)→ 执行棒 1d1fdce6(21:24–21:33,「把 F15 与 F9 扩写落进 prd2a 并补 2b 两句」) → 检查棒第 53 棒(21:41–21:45 判完成)。⚠️ 第二棒是检查棒自己派的(因为第一棒只出了方案、没落产品文档)⇒ 机制在没人干预下自己补了这一步。
  • ✅ 方案文件夹已同步(两态规则首次完整跑通):prd/2a 68 924 B(原 61 683)/prd/2b 52 992 B(原 52 643);两份旧版自动进了 归档-过期版/(2a-产品功能__8a8412.md/2b-界面布局__8a8412.md);索引-当前权威版.md 同步更新(4 806 B)。
  • 🔴🔴 发现我派活单里那条「docs/ 一个字都不许改」是多余的:实际是执行棒直接改了 docs/(它持了 docs 域的锁 ⇒ 域锁按域互斥、不是"只许写自己的域",会话可以持多个域的锁)。⇒ 两种路径都可行(执行棒直接改=少一次搬运/主会话收口改),关键是改完必须做「归档 + 索引同步」这两步。⇒ 这条我记进 MEMORY 了,下次派活单不再写那句无效限制。
  • ✅ 我独立复核过(不采信判据自我报告):闸门 2061|0|27(我自己跑了一遍);冻结项一个没动(页面 7/导航一层七项/板块 39/流转 20 条/对象 11 个);2a 里 F15 接在 F14 后不插号;两张图里过滤段写死了字段名与三档阈值(宽松55/30 · 标准70/40 · 严格85/60;匹配度 M 直接喂给七维的「账号匹配度 25%」那一维,⛔ 不两处各算一套)。
  • ✅ 信源收窄的实质(我读了产物):信源收窄-短视频平台与内容社区.md(13 225 B)—— 16 路逐条复核、留 8 弃 8;判据是一条线(「条目本身是不是"大家在搜什么/社区在聊什么/平台在推什么/对标号在发什么"」⇒ 留;「是新闻/产品名/百科词条、要先做一轮再加工」⇒ 弃);弃用不是一删了事,每条写实测返回过什么、为什么不够贴题、将来什么条件下拿回来。
  • ✅ 两处它做得比我要求的好:①复核后改了我的口径 —— 我判 Google Trends 与 Product Hunt 都偏资讯,它复核后留前者、弃后者(两者不是一个形态:前者是搜索需求信号、后者是产品发布);②如实交回一处缺口(快手、视频号没有源)并单列 §三,⛔ 没当成"已经收窄完了"。
  • 📌 产物清单(目标目录 执行会话/目标-收窄热点源并加赛道过滤-8a8412/):信源收窄-短视频平台与内容社区.md(13 225 B)/赛道过滤层-设计.md(23 241 B)/产品框图-热点与选题-赛道过滤版.html(34 463 B,108 文本节点)/功能流程图-热点到选题-赛道过滤版.html(27 382 B,83 节点)/2a-落盘记录.md(8 239 B)/交付说明.md(7 927 B)。

17:15 · 执行棒交活:8a649c 三件事全做完(问 GPT → 补细节文档 → 按细节重画图)

  • ✅ 第 0 步抢域锁:✓ 已持域锁(征询GPT选题细节并重画框图)/contentm_agent/执行会话;收工 --release-exec 已释放,锁目录现为空(只剩 .migrations + .orphan-release.log)。会话 sid = 3ddac1cb-e73d-4d1d-b8e2-220a9ca2d51d(从锁 OWNER 里抄的,与上报所用一致)。
  • ✅ ① 问 GPT:先写 GPT提问稿.md(4 492 B)再发,只发产品层内容。ChatGPT 回复 15 328 字符逐字留痕 ⇒ GPT-对热点与选题板块细节的建议.md(44 524 B)。元信息:网页版/账号 meiya1 免费版/对话标题「热点选题产品设计」/链接 https://chatgpt.com/c/6acb4e4a-a44c-83e8-9d46-90c0738861a4。⚠️ 页面未暴露模型标识 ⇒ 留痕里不写版本号(宁可空着不编)。
  • ✅ ② 细节文档 热点与选题-功能细节-2026-10-11.md(39 743 B):四问逐项到「照着能做出来」——五路输入+三级降级、四层分类(L1 领域/L2 事件类型/L3 适配人设/L4 工作状态)、三种分数分开算(热度指数/价值分/时效)、界面摆法(列表+抽屉、一屏 8–12 条、行高 88–120px)。文末三色标注分清【GPT】/【补】/【现版】,自评 46/50。
  • ✅ ③ 两张图(都过 diagram-design 的 self_check.py:无障碍 SVG 契约+单文件安全):
    • 产品框图-热点与选题-2026-10-11.html(25 555 B,viewBox 0 0 1280 720):三区=输入(五路)/判断层(五组口径,不占板块)/P2 四块+下游。
    • 功能流程图-热点到选题-2026-10-11.html(17 152 B,同 viewBox):五步 → 决策菱形 → 三条出口(≥70 做/50–69 改方向/<50 不投入)。
    • ⚠️ 没另起画法、没手搓 SVG:用技能给的 tiaoyue 之外的默认皮肤(paper #f5f5f5/ink #2d3142/accent #eb6c36),生成脚本 _work/gen_diagrams.py 留痕。
  • 🔴 经验(新,值得跨会话记住):图内文字是否超框,必须用 DOM 实测 getBBox(),肉眼看缩略图会判错 —— 这两轮我在缩略图上两次把「贴边但在框内」误判成「溢出」(实测余量 39px/29px),又两次把「48px 箭头」看丢(其实在)。判据:找「起点落在框内、中心 y 在框内」的最小面积 rect 作容器,bbox.right > rect.right + 1 才算溢出。实测结果:图一 73 文本 0 溢出/0 斜线,图二 41 文本 0 溢出/0 斜线。
  • 🔴 另一条:五步流程图的框间箭头,gap 必须 ≥48px 才看得见(30px 时箭头与 marker 挤在一起,缩略图上等于没有)。
  • ✅ 红线守住了:现版原型 ui/mcn-workbench.html、2a/2b 一个字没改;0a758b 三样只读;页面 7/导航/板块 39/流转 20/对象 11 保持。
  • 📌 6 条撞到现版硬约束的项(平台热榜算哪块/热点事件是否独立成对象/进度 3 态还是 6 态/要不要加「收藏热点」/数据源管理放哪/选题要不要加负责人与截止时间)已登记 tmp/supervise-inbox/NEED-USER.md 第 6 节,等用户拍板 —— 本轮只呈现、不动手。
  • ✅ 收工:--report 3ddac1cb… --state done --artifact "…/热点与选题-功能细节-2026-10-11.md" ⇒ OK 已上报 -> done;域锁已释放。另写 交付说明.md(2 696 B)把路径、自检证据、说人话评分、未动项列清。
  • 📌 说人话自评:产品框图 45/50|功能流程图 46/50|细节文档 46/50|交付说明 47/50(五维=直接性/节奏/信任度/真实性/精炼度)。

17:2x · 目标检查会话第 48 棒 —— 目标 8a649c 收口为「已完成」

  • ✅ 判定=已完成:台账 26 条全 done(无 running 僵尸件)/taskgraph.json 不存在(本期未启用)/--domain-status 无人持域锁。
  • ✅ 执行棒产物已核(照判据逐条查内容,⛔ 不是只看文件在不在):GPT提问稿.md 4492 B + GPT-对热点与选题板块细节的建议.md 17511 字符逐字留痕 | 热点与选题-功能细节-2026-10-11.md 39743 B | 框图 77 个文本节点/流程图 41 个文本节点,块内是字段名与公式(热度公式、七维加权 25/20/15/15/10/10/5、三级降级 L1→L2→L3)⇒ 不是占位图(上一轮 0a758b 的教训已避开)。
  • ✅ 三件一起做:补写 目标执行状态.md(二、验收判据三条全 过 + 三、结论 + 四、旧判据作废清单)→ goalctl.py declare --kpi … --yes 回写 → 回读确认 → collabd.py --set-life 已完成。
  • ⚠️ 两个现场事实:① 工作区根没有 state.py(检查模板第 1 项跑不出来),本轮改用 goalctl.py 默认输出顶替(同口径);② --set-life 已完成 触发常驻优雅退出(pid 40828),属机制预期。
  • 📌 遗留六条改结构项仍在 NEED-USER.md 第 6 节等拍板,未动手。

18:5x · 目标检查会话第 49 棒 —— 目标 39646d(全球口径平台矩阵)判「没做完」,且不重复派棒

  • 🔴 判定=没做完:goal.json.acceptance_state 三条全「未过」;状态文档是 420 B 空模板(「⛔ 暂无判据」);台账里 goal_fp=39646d 零条目(执行棒还没上报)。三路取并集 ⇒ 未完成。
  • 🔴 关键现场:已有执行棒在排队 —— [执行]-[产品规划]-按全球口径重做平台矩阵与海外热点源(id 8d7d02b3,once,scheduledAt=2026-10-11T19:02,ACTIVE)。本轮 18:55 核对,距触发还有 7 分钟。⇒ 不派第二条(再建=重复执行,用户明令「建完就停,⛔ 不要连建多条」)。⚠️ 检查棒的注入通报里写「本项目没有别的待执行排期」,实测是错的 —— 同时还有 02787e55(18:57,B站采集)也是 ACTIVE once ⇒ 派棒前必须自己 automation_update list 核一遍,⛔ 别信通报。
  • ✅ 做了两件:① 补写 执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/目标执行状态.md(三条判据表 + 结论 + 五、给 19:02 那棒的执行口径:12 平台清单、海外热点源要查证、图要照着能做出来、产物落本目录、不动 2a/2b);② goalctl.py declare --kpi … --yes 把三条值从非规范的 未过 改写成 🔴 不过|…,回读确认已落盘。
  • ⛔ 没做:不改 lifecycle(保持「进行中」)—— 没过就不许标已完成。
  • ⚠️ 两个模板与现场不符(沿用登记):① 工作区根没有 state.py(模板第 1 项跑不出来,48 棒已记);② taskgraph.json 不存在(模板第 3 项)⇒ 三路判定实际只跑了两路,靠状态文档补齐。
  • 📌 --domain-status = 无人持域锁(本轮不需要派棒,故未取门禁块)。

19:2x · 目标 39646d 执行会话收工 —— 全球口径三样交付

  • ✅ 三样 + 支撑材料全落 执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/:全球平台矩阵-2026-10-11.md(9 229 B,海外 6 + 国内 6,每平台带内容形态/体量口径/发布方式)|海外热点源-查证-2026-10-11.md(13 986 B,9 条实跑验通 + 6 条明写没拿到)|产品框图-热点与选题-全球版-2026-10-11.html(35 223 B,viewBox 1400×920,117 文本节点)|功能流程图-热点到选题-全球版-2026-10-11.html(22 198 B,viewBox 1400×830,64 文本节点)|交付说明.md(8 733 B)|取证/ 11 份原始报文|截图校验/ 2 张整页 PNG + 驱动脚本。自评 47/50(矩阵 46、源 47、说明 47)。
  • 🔴🔴 本机海外取数的唯一通道 = 代理 127.0.0.1:10800(值得跨会话记住):直连 Reddit/Google Trends/YouTube 等海外域名一律 http=000;加 curl -x http://127.0.0.1:10800 后大批端点 200。系统 PAC 也是这个端口。⛔ 以后凡海外取数先挂这个代理,别一上来判「连不通」。
  • 🔴 判死的四条硬结论(都已写进文档,避免下轮重踩):① Reddit .json 端点 403(改走 /r/popular/hot/.rss 才 200);② TikTok Creative Center http=200 但正文 {"code":40101,"msg":"no permission"} ⇒ 非免费源;③ pullpush 429 且正文自称「不提供免费抓取资源」⇒ 付费墙;④ 海外站内实时热榜(TikTok/Instagram/Facebook/LinkedIn)没有免费无密钥源 ⇒ 转成产品约束(留人工录入位)。
  • ⚠️ 图面自检口径(沿用并加强 17:2x 那条):「文字是否超框」必须 DOM 实测,肉眼在缩略图上会判错 —— 本轮框图一处分区标题遮罩宽 240px 装了 271.8px 标题(over: 31.8),加宽四处遮罩(56→282/380→240/744→246/1084→224)后复测归零;两图最终 碰撞 0/溢出 viewBox 0/超出所在框 0。
  • ✅ 红线守住:ui/mcn-workbench.html + 2a/2b(改前 120 158 B / 16 689 B / 21 020 B)一个字没改;8a649c 目录四样只读;页面 7/导航名与顺序/板块 39/流转 20/对象 11 保持。
  • ✅ 收工:--report 346cf532… --state done --artifact "执行会话/目标-…-39646d/交付说明.md" ⇒ OK 已上报 done,台账 goal_fp=39646d;浏览器只新开 1 个标签页、收工 Target.closeTarget 关掉(4→3,未动别人 3 个);--release-exec ⇒ ✓ 已释放域锁,另 1 把属他人按 R9 未动。
  • ⚠️ 遗留:goal.json.acceptance_state 三条仍是 🔴 不过|本轮核对未产出-执行棒8d7d02b3已排19:02 —— 那是检查棒第 49 棒 19:00 前写的,本轮产物 19:20 才落盘 ⇒ 等检查棒第 50 棒重跑门禁 + 回写 --kpi(本目标与 fa6e07/20a8ac/0a758b 同型)。
  • 📌 待拍板(只登记未动手):A 要不要把 12 平台矩阵同步进 2a/2b(建议只改「平台枚举值」与「平台筛选分组」两处,不改结构,写在矩阵文档 §五 + 交付说明 §四);上一版 §八 那 6 条改结构项继续挂 NEED-USER.md 第 6 节。

19:37 检查棒第 50 棒 · 目标 39646d 收口(已完成)

  • 判定=完成:台账 goal_fp=39646d 唯一条目 346cf532 已 done(19:28 上报,artifact=交付说明.md);tasks.json 全表无 pending/running/blocked;taskgraph.json 在本工作区不存在(三路判定实际只跑两路,靠状态文档补齐)。
  • 三条判据本轮全 过(上一轮 18:55 是「目录空无一物」全 🔴 不过,同一处对比):  ① 平台矩阵=全球平台矩阵-2026-10-11.md 9229 B,海外 6+国内 6 共 12 个,逐个带内容形态/体量口径/发布方式;  ② 海外热点源=海外热点源-查证-2026-10-11.md 13986 B,实跑验通 9 条 + 6 条明写没拿到,取证/ 13 份原始报文;  ③ 两张图=产品框图-…-全球版.html 35223 B(1400×920)+功能流程图-…-全球版.html 22198 B(1400×830),框图里 12 平台逐个在位、海外 25 处,流程图海外/国内双路 + 地区语言分桶;截图校验/ 两份整页 PNG。
  • 做了三件事(与 fa6e07/20a8ac/0a758b 同型):现跑门禁 → 补写 目标执行状态.md(改 §二 判据表、§三 结论、§五 对账)→ goalctl.py declare --kpi 回写 → 回读确认 → collabd.py --set-life 已完成。
  • ✅ 回读实测:acceptance_state 三条都变成 过|…;lifecycle = 已完成;常驻随之优雅退出(pid 42172)。
  • ⚠️ 派棒排期并非只有本目标一条(通报又写错):实跑 automation_update list 见到 df3dead8 接续-技能包脚本去本机硬编码(19:38)、02787e55 [执行]-[B站AI设计教程采集]-承接队列(18:57)两条 ACTIVE once 仍在册。本轮不派棒所以无冲突,但「没有别的待执行排期」这句通报再次不可信。
  • 📌 遗留待拍板未动:A 要不要把 12 平台矩阵同步进 2a/2b;上一版 6 条改结构项(A–F)仍挂 NEED-USER.md 第 6 节。

20:42 · 第 51 棒检查会话:核对目标「收窄热点源并加赛道过滤」(8a8412)

  • 判定=未完成,但没有派新棒:执行排期 50a8f8f3「[执行]-[产品规划]-收窄热点源并加赛道过滤层」已在册 ACTIVE、scheduledAt=20:48,与本棒核对时刻(20:41)仅差 7 分钟 ⇒ 派棒即是重复。
  • 🔴 通报第三次写错:本轮触发通报称「本项目没有别的待执行排期」,实跑 automation_update list 见 3 条 ACTIVE once(50a8f8f3/d52d8fd9 抖音采集/5b2ab4fa 第50棒)。规矩照旧:⛔ 别信通报,派棒前自己 list。
  • 三路核对实况:tasks.json 全 done 且无一条属当前目标(最后一条 346cf532 属上一目标 39646d);taskgraph.json 不存在;工作区根无 state.py ⇒ 实际只跑两路,靠状态文档补齐。
  • 动作两项:① 补写 执行会话/目标-收窄热点源并加赛道过滤-8a8412/目标执行状态.md(三条判据 + 结论 + 下一棒动作;换目标时它只有空模板);② goalctl.py declare --kpi 把 acceptance_state 取值从 未过 规范成 🔴 不过(未过 不在取值域,机器分不出「没判」与「判了没过」),回读确认已落盘(备份 .workbuddy/collab/bak-goalctl-20261011/)。
  • lifecycle 保持「进行中」,⛔ 未标完成。下一棒:等 50a8f8f3 跑完,照状态文档核产物是否落进该目标目录,落了才改判。

20:5x · 目标 8a8412 执行会话收工 —— 收窄热点源 + 加赛道过滤层(四样交付)

  • ✅ 四样 + 交付说明全落 执行会话/目标-收窄热点源并加赛道过滤-8a8412/:信源收窄-短视频平台与内容社区.md(13 225 B,16 路逐条复核 ⇒ 留 8 弃 8,弃的每条写实测返回过什么/为什么弃/拿回来条件)|赛道过滤层-设计.md(23 241 B,七问全答 + 新增功能条目 F15 可整段粘 + 扩写 F9 加赛道表字段组 + 三处小同步)|产品框图-热点与选题-赛道过滤版.html(34 463 B,1400×930)|功能流程图-热点到选题-赛道过滤版.html(27 382 B,1520×880)|交付说明.md。说人话 47/50 + 46/50。
  • 🔴 本目标的核心判断(别照抄用户名单):判据是「这条源产出的条目,本身能不能当一条短视频选题的开头用」。⇒ 弃海外 5 条(HN/Product Hunt/Wikipedia/Google News/BBC)+ 国内 3 条(知乎/头条/百度),理由=产的是「新闻/名录/词条」,不是「选题」,拿到手还要再加工。留 8 路并打四类信号标签(大众热度/垂类讨论/对标动作/平台话题)。两条单列理由:Product Hunt 换成 YouTube 频道 RSS(前者给产品名录、后者直接就是「他发了什么」);百度热搜 与微博同质(都是事件型)留微博。
  • 🔴 新加的层「按账号赛道过滤」四面定死:插点=分类之后、价值分之前,且只作用于外部热点那一路(对标/评论/自有数据/人工四路天然按账号来);匹配读 Account 的 定位/受众/偏好与红线 + 新增赛道表字段组(包含词[]/排除词[]/领域白名单[]/过滤档),⛔ 不读风格、⛔ 不读平台账号;规则 A 硬拦 + 规则 B M = clamp(0,100, round(55 × (W' ÷ 2.0) + 30 × D + 15 × A))(W' = min(Σ命中词权重, 2.0),词权重 主词 1.0/长尾 0.6/受众 0.4);三档 宽松 55/30 · 标准(默认)70/40 · 严格 85/60。挡下来的进**「未匹配档」=P2 的一个筛选档位**(⛔ 不是新池子/新页面/新板块),留 7 天可捞回。
  • ✅ 红线守住:docs/ 一个字没动;页面 7/导航名与顺序/板块 39/流转 20 条/对象 11 个全未变;新增条目走末位编号 F15(⛔ 不插号),Topic.赛道匹配[] 是数组字段(⛔ 不新增对象)。
  • ✅ 自检三件:diagram-design/scripts/self_check.py 两张图 ⇒ 均 OK(无障碍 SVG 契约 + 单文件安全);浏览器内几何自检(全部 <text> 取 getBoundingClientRect,判溢出画布 + 两两重叠 >3px)两张图各 83 节点 ⇒ 溢出 0/重叠 0;变异对照注入一个必然重叠的 text ⇒ 报 1 条重叠(① 采集 · 收窄后 8 路 <> MUTANT-OVERLAP),移除后回 83 节点 ⇒ 证明判据非恒绿。
  • ⚠️ 踩坑一条(值得记住):Read 工具对 PNG 有大文件闸(本轮 488 KB 的整页截图被拦,提示「全文会写进会话历史、之后每轮全量重发」)⇒ 看图先压:系统 D:/miniconda3/python.exe 带 Pillow 12.3.0(managed 的 3.13.12 没装),Image.resize + quality=72 存 jpg(488 KB → 152 KB)即可读。另:PowerShell Add-Type 被安全策略拦(不能用来缩放图)。
  • ✅ 收工:--report f615337b… --state done --artifact "执行会话/目标-收窄热点源并加赛道过滤-8a8412/" ⇒ OK 已上报 done;--release-exec 按 OWNER 里 ME 原文([执行]-[产品规划]-收窄热点源并加赛道过滤)释放 ⇒ ✓ 已释放域锁,锁目录已清空(只剩 .migrations/.orphan-release.log);闸门重跑 通过 2061|失败 0|提示 27(与基线一致);浏览器复用既有 file:// 标签页(收工 list_tabs() 仍是 5 个,⛔ 未开新标签)。
  • ⚠️ 遗留交回(⛔ 本棒未拍板):① 热榜这一路落在 P2 哪一块(并进 F1 vs 新增块 ⇒ 板块 39→40,破数字冻结),倾向并进 F1;② 赛道表编辑入口要不要在 P6 单列一块(P6 5→6 块),倾向挂在画像五维块内;③ 快手/视频号无源的两条解法(人工录入档 / 换第三方聚合)二选一。
  • 📌 收口未完(重要):F15 与 F9 的实改、两张图同步进 docs/pm/mcn-shortvideo-agent/ 要主会话按两态规则做 —— 域锁只许写 执行会话/,这一步本棒做不了。本棒同时写了自动化记忆 automations/50a8f8f3-c6b5-43c0-a52c-3c01f3ddadb4/memory.md。

21:15 · 第 52 棒检查会话 —— 目标 8a8412 判「未完成」,派落盘棒

  • 🔴 最重要的一条教训:状态文档会滞后于产物。上一棒 20:57 已 done、四份产物全在目标目录,但 目标执行状态.md 写于 20:42(早于产物),三条判据还停在「目标目录内无产物,执行棒未触发」。⇒ 检查会话照文档抄判据会误判,必须拿产物逐条重判(这也是「执行棒只交付产物、不写状态文档」这条分工的直接后果)。
  • 判据重判结果:① 信源收窄 过(16→8,弃的每条有实测返回值/原因/拿回条件);② 赛道过滤层落进产品功能文档 🔴 不过(设计+F15 可粘块+F9 扩写都有,但 prd/2a-产品功能.md 一字未改);③ 两张图加过滤层 过(框图 10 处/流程图 9 处命中「赛道过滤」,且自检有变异对照)。
  • 动作三件:① goalctl.py declare --kpi … --yes 把三条判据改齐(过|…/🔴 不过|… 规范写法),回读 goal.json 确认已落(备份进 bak-goalctl-20261011/);② 重写 目标执行状态.md(加「四、旧判据的作废清单」=把 20:42 版那句「无产物未触发」作废,⛔ 防止后续再拿它判红;加「五、收口待办」);③ 派新棒 64a404f2(21:24,域 docs)去把 F15/F9 扩写/三处同步落进 prd/2a-产品功能.md 并给 2b-界面布局.md 补两句。
  • 🔴 域锁是判据②的客观卡点:prd/2a 落在 docs 域下,而执行棒默认只写 执行会话/ ⇒ 派棒必须在提示词里显式指定域目录 docs(--domain-block docs 取门禁块抄进去),否则新棒照样够不着 2a,判据会永远红。
  • lifecycle 保持「进行中」,⛔ 未标已完成(判据②未过)。
  • ⚠️ 三路判定仍只跑通两路:taskgraph.json 不存在;工作区根无 state.py(用 goalctl.py 默认输出顶替)。tasks.json 里当前目标 8a8412 有一条 done(20:57,by 字段为空)。
  • ⚠️ automation_update list 实测:通报说「没有别的待执行排期」是假的 —— 实际有 10 条 once 排期都挂着 ACTIVE(多数是已耗的历史棒,含 50a8f8f3 自己)。⇒ 派棒前一定自己核一遍,别信通报;也别把历史棒当成「待执行」。

21:2x–21:3x 执行棒 · 把 F15/F9 扩写落进 prd(sid 1d1fdce6,域 docs,判据②做成「过」)

  • 抢锁 → 改 → 跑闸门 → 释放,都在 docs 域内完成;handoff-guard.sh --claim-exec/--release-exec 用的都是会话全名。
  • 改了 2a-产品功能.md 8 处:① 文件头补本轮说明;② §〇 加「本轮追加(赛道过滤层)」;③ §二 Account 行加「+ 赛道表」+「被谁消费」补 P2(F15 正文写明 P2 是匹配发生处,不补就打架);④ §三 标题 14 → 15 条;⑤ S1 段末整段落进 F15(源块 §6.1 逐字);⑥ F9 核心对象行点赛道表 + 界线后追加「扩出赛道表字段组」;⑦ §四 标题改 F1–F15、加 F15 行、F9 差异栏补一句;⑧ §五 加本轮六条 + §七 五行落点补 F15(持久化「全部 15 条」,失败恢复行写明 F15 走 fail-open,与 F5 的 fail-closed 对照)+ §九 新增第 8 项(三条未拍板带回收三字段)+ 自检加两条。
  • 🔴 踩到一处措辞打架:§九 第 7 项原写「⛔ 不编一条 F15」(指定时发布),而本轮 F15 已用于赛道过滤 ⇒ 改成「⛔ 不为它新增编号 —— F15 已用于赛道过滤,⛔ 不借它的号」。教训:新增编号时要回头搜一遍文档里有没有「不许编这个号」的旧措辞。
  • 2b-界面布局.md 只改 2 处共 3 行:P2 对标内容块补账号切换器 + 匹配度筛选器;P2 信息分档表加「匹配度筛选器|主屏常驻」一行(挂在既有板块,⛔ 不占块)。
  • 冻结数改后现算全绿:F1–F15 无插号/页面 7/导航一层七项/板块 39(5+4+4+6+5+5+10)/流转 20/对象 11。
  • 闸门改前改后都是 2061|0|27(命令必须带 --ws,⛔ 不给 --root .)。
  • 两态规则:被顶替的旧版用 git show HEAD:<路径> 取出来存进 归档-过期版/2a-产品功能__8a8412.md(61 683 B)与 2b-界面布局__8a8412.md(52 643 B)。✅ 这是个好用的招:git 跟踪着 prd ⇒ 改前版本随时可以完整取回,不靠手工备份。索引 §二 大小日期已更新(68 924 B/52 992 B),§五 归档份数 28 → 30。
  • ⚠️ --report 报了软提醒「artifact 不在目标目录内」,但路径确实在 执行会话/目标-收窄热点源并加赛道过滤-8a8412/ ⇒ 该判据大概率是拿 artifact 与 execution_doc(= …/目标执行状态.md)整条比,不是比目录。软提醒不影响上报(已 done)。
  • 产物:执行会话/目标-收窄热点源并加赛道过滤-8a8412/2a-落盘记录.md(逐处「改前 → 改后」+ 硬约束核对表 + 闸门两次数 + 说人话 46/50)。

21:4x · 第 53 棒检查会话:目标「收窄热点源并加赛道过滤」判定已完成(8a8412 收官)

  • ✅ 三条判据全过并收口:①信源收窄 过/②赛道过滤层落进 prd 由「🔴 不过」翻成「过」/③框图流程图加过滤层 过。 goalctl.py declare --kpi "三条" --yes 写回(已回读核对)⇒ collabd.py --set-life 已完成 --by "…第53棒"(21:44:00)。
  • 🔑 判据 ② 翻转的依据:执行棒 64a404f2(第 52 棒 21:14 派,排期 21:24)已跑完并上报 done(台账 1d1fdce6,21:31, artifact = 目标目录 2a-落盘记录.md)。本棒在磁盘上定向 grep 核验(⛔ 不只信落盘记录的自述): prd/2a-产品功能.md L179 #### F15 赛道过滤与未匹配档、L95 Account 行含「+ 赛道表」、L318/L324 F9 扩赛道表、L400 归属总表 F15 行; prd/2b-界面布局.md L173 账号切换器与匹配度筛选器、L191 信息分档表新增行;归档两份在位;索引 §二 已更新、§五 28 → 30。
  • ⛔ 未派棒(无缺口);--domain-status 报「无人持域锁」⇒ ⛔ 未动任何人的锁、⛔ 未跑孤儿锁解除。
  • ⚠️ 副作用(机制自带,不是故障):--set-life 已完成 让本区常驻 collabd.py --supervise(pid 10904)优雅退出;换目标时由新目标的主会话重起。
  • 📌 两条可复用的经验:
    1. 检查会话遇到「状态文档落后于新产物」⇒ 文档仍是唯一依据,但允许按台账 artifact 定向核验磁盘(grep 具体行号);这不算"到处翻文件"。核验完必须文档与 goal.json 一起改齐。
    2. goalctl.py declare --kpi 不带 --yes 是干跑(rc=0、打印「一个字节都没写」)⇒ 必须加 --yes 且回读。本机已栽过同型的"静默放行"。
  • 📌 遗留三条(⛔ 非验收判据,交回用户拍板):热榜这一路落 P2 哪一块(并进 F1 还是新增一块,新增则 39 → 40)/赛道表编辑入口是否在 P6 单列一块/快手与视频号无源怎么补 —— 已带回收三字段登记在 prd/2a-产品功能.md §九 第 8 项。
  • 状态文档已更新:执行会话/目标-收窄热点源并加赛道过滤-8a8412/目标执行状态.md(新增「六、本棒核对记录(第 53 棒)」,原第 52 棒记录降级为「七」)。