diff --git a/.workbuddy/memory/2026-10-11.md b/.workbuddy/memory/2026-10-11.md
index e471e11..bdb170e 100644
--- a/.workbuddy/memory/2026-10-11.md
+++ b/.workbuddy/memory/2026-10-11.md
@@ -152,6 +152,18 @@
- ✅ **两处它做得比我要求的好**:①**复核后改了我的口径** —— 我判 `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)。
+## 22:07 · 用户下新目标「迭代选题板块功能」⇒ 先补同步漏项,再换目标派活
+
+- 🔴 **用户令(逐字)**:「**完成新目标:根据热点和选题最新方案 迭代内容整合营销平台 选题板块功能**」。
+- 🔴🔴 **动手前先查出上一目标同步漏了一半**:`8a8412` 收口时同步方**只同步了 `prd/2a`/`2b` 与索引**,**四份专题产物全漏**(`信源收窄-短视频平台与内容社区.md`/`赛道过滤层-设计.md`/两张「赛道过滤版」图)⇒ 方案文件夹的 `专题/` 里当时还是**上一版「全球版」的图**。
+ ✅ 已补:两张「全球版」旧图 **mv 进 `归档-过期版/`**(命名 `__39646d`),四份新产物 **cp 进 `专题/`**,索引的 §四 表与 §五 归档清单同步更新(并在索引里写明这次漏同步的教训)。
+ ⇒ **教训(重要)**:**收口同步要按「本目标产出的全部权威文档」逐个过一遍**,⛔ 不能只同步 `prd/` 那两份 —— 否则下一个目标读到的"最新方案"就是旧的(这次差一点就让新目标基于过期图干活)。
+- ✅ **换目标三件套**:`declare --title "根据热点与选题最新方案迭代选题板块功能" --kpi "<三条>" --switch-goal --yes`(title 19 字、`[:20]` 全保留);新目录=机制口径 `执行会话/目标-根据热点与选题最新方案迭代选题板块功能-d0ac5f/`,`--ensure-goal-dir` 已建目录 + 对齐 `execution_doc`;旧队列归档 `NEXT-旧目标-收窄信源与赛道过滤-已归档20261011-2207.md`。
+- ✅ **已派执行棒**:`[执行]-[产品规划]-按最新方案迭代选题板块原型`,id `d426df5b-4e97-48d9-b4de-aca595c99011`,`once` **22:20**。
+- 📌 **本轮实质(我的判断,已写进派活单)**:「迭代选题板块功能」=**把方案落进原型** —— `prd/2a` 已含 F15、`prd/2b` 已补口径,但**原型 `ui/mcn-workbench.html` 还是 10-10 的 V5(153 410 B),信源收窄与赛道过滤层一个字都还没进去**。⇒ 派活单点名要落五样:8 路源在界面的入口与状态/赛道表在哪看在哪改/三档阈值与匹配度 `M` 怎么显示/未匹配档「为什么没进 + 一键捞回」/匹配度四档筛选器(默认「高匹配 + 可能相关」)/`Account` 画像联动(切账号时过滤跟着变)。
+- ⚠️ **本轮红线(写进派活单)**:除 P2 外**六个页面交互一律不动**;**12 平台矩阵仍不落**(待拍板);`docs/` 不直接改(收口时主会话同步);五道闸门全过且**逐视口整表重跑**。
+
+
diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md
index a635091..59a19f9 100644
--- a/.workbuddy/memory/MEMORY.md
+++ b/.workbuddy/memory/MEMORY.md
@@ -30,7 +30,10 @@
· ✅ **已落地**(20:2x):当前版 **16 份**归位、过期版 **28 份**收进归档、索引建好;规则写进 `E:/ProgramData/.workbuddy/skills/product-planning/SKILL.md` 新增的 `### 文档的两态:当前版与过期版`(在 `### 产物落哪` 之后)。✅ 闸门现跑 **2061|0|27** 全过。
· ⚠️ 踩坑两处(我自己的):①往技能里插新段时拿原标题当锚点、new_string 里没把它带回去 ⇒ **吃掉了 `### DESIGN.md 为什么在项目目录、不在仓库根` 这个标题**,已修回(教训:用标题作锚插入内容时,锚点必须原样保留);②`research/` 只许 `1a`~`1e` 五个标准名 ⇒ 我放的 `1b-竞品分析-汇总对比体.md` 触发闸门 FAIL,改名 `1b-竞品分析.md` 后过(内容一字未动)。
- 🔴🔴 **找方案的唯一入口=`docs/pm/mcn-shortvideo-agent/索引-当前权威版.md`**。起因:用户问「很多新老方案都在文件夹中,后续根据产品方案细化界面如何找得到对应的方案」——实测**没有单一入口**:`2a-产品功能` 在 **6 个**目标目录里各有一版、`2b` **7 个**、原型 5 个,光看文件名与字节数分不出谁新;而 `docs/pm/` 下早先那次归档还停在旧版(`2b` 只 52 256 B=V4,最新 V5 是 52 643 B)。🔴 **断链根因**:机制定的是「执行期落 `执行会话/目标-*/`、主会话收口后统一搬进 `docs/pm/…/`」,但**归档只做过一次**(10-10 22:24),之后 `20a8ac`/`8a649c`/`0a758b`/`39646d` 四个目标的产物一份都没搬。⚠️ **维护时机**:每个目标收口时更新索引(现已写进技能的四步动作里)。
-- 🔴 **本区当前目标=无**(`8a8412` 收窄热点源+加赛道过滤已于 2026-10-11 21:44 收口=已完成)。✅ **三条判据全过**:①信源 16 路逐条复核 **留 8 弃 8**(弃用每条写实测返回值与拿回条件)②赛道过滤层落进产品文档(`prd/2a` 新增 **F15 赛道过滤与未匹配档**,接在 F14 后**不插号**;F9 扩出「赛道表」字段组;功能清单 14→**15 条**)③两张图新增过滤段(框图 108 节点/流程 83 节点,块内写死字段名与三档阈值 `宽松55/30 · 标准70/40 · 严格85/60`,匹配度 `M` 直接喂给七维里的「账号匹配度 25%」那一维,⛔ 不两处各算一套)。✅ **冻结项一个没动**(页面 7/导航一层七项/板块 39/流转 20 条/对象 11 个)+ 闸门 **2061|0|27**(主会话独立复跑过)。
+- 🔴 **本区当前目标**(2026-10-11 22:07 声明)=**根据热点与选题最新方案,迭代「选题板块」(即原型 P2 选题雷达)功能** —— 用户逐字「完成新目标:根据热点和选题最新方案 迭代内容整合营销平台 选题板块功能」。类别 `产品规划`;目标目录=**机制口径** `执行会话/目标-根据热点与选题最新方案迭代选题板块功能-d0ac5f/`。三条判据=原型 P2 已按最新方案迭代并落盘/`prd` 与原型骨架逐位一致/五道闸门全过(均 `未过`)。执行棒 `d426df5b` `once` **22:20**。🔴 **本轮实质=把方案落进原型**(`prd/2a` 已含 F15、`prd/2b` 已补口径,但**原型 `ui/mcn-workbench.html` 还是 10-10 的 V5、最新方案一个字没进去**)。⚠️ 除 P2 外六页交互一律不动;**12 平台矩阵仍不落**(待拍板)。
+- 🔴🔴 **收口同步要「逐份过」(2026-10-11 22:0x 踩坑)**:`8a8412` 收口时同步方**只同步了 `prd/2a`/`2b` 与索引,漏了四份专题产物**(信源收窄/赛道过滤层设计/两张赛道过滤版图)⇒ 主会话发现后手工补齐,并把两张被顶替的「全球版」旧图补进 `归档-过期版/`。⇒ **教训:同步时按「本目标产出的全部权威文档」逐个过一遍,⛔ 不能只同步 `prd/` 那两份。**
+- ✅ **另两条实测收获**:①信源收窄那棒**复核后改了我的口径**(我判 `Google Trends` 与 `Product Hunt` 都偏资讯,它复核后**留前者、弃后者**)⇒ 「⛔ 照抄名单就删」那条要求起了作用;②它**如实交回一处缺口**(快手、视频号没有源)并单列,⛔ 没当成"已经收窄完了"。
+- 📌 **`8a8412` 收官结论(21:44,三条判据全过)**:信源 16 路**留 8 弃 8**(弃用每条写实测返回值与拿回条件)|`prd/2a` 新增 **F15 赛道过滤与未匹配档**(接 F14 后**不插号**,F1–F14 编号与优先级未动;F9 扩出「赛道表」字段组;功能清单 14→**15 条**)|两张图新增过滤段(框图 108 节点/流程 83 节点,块内写死字段名与三档阈值 `宽松55/30 · 标准70/40 · 严格85/60`,匹配度 `M` 直接喂给七维的「账号匹配度 25%」那一维,⛔ 不两处各算一套)。冻结项一个没动(页面 7/导航一层七项/板块 39/流转 20 条/对象 11 个)+ 闸门 **2061|0|27**(主会话独立复跑过)。
- 🔴🔴 **两态规则首次完整跑通(2026-10-11 21:29–21:30)**:`docs/pm/mcn-shortvideo-agent/` 的 `prd/2a`(68 924 B)与 `prd/2b`(52 992 B)被**直接更新**,两份旧版(61 683/52 643)**自动进了 `归档-过期版/`**(命名 `2a-产品功能__8a8412.md`),`索引-当前权威版.md` 同步更新(4 806 B)。⚠️ **责任归属实测=执行棒直接做也行**(它持了 `docs` 域的锁)—— 我原在派活单里写「`docs/` 一个字都不许改」,实际是**多余的**:域锁按域互斥、不是"只许写自己的域",会话可以持多个域的锁。⇒ 两种都可行:执行棒直接改(少一次搬运)/收口时主会话改;**关键是改完必须做归档 + 索引同步这两步**。
- 📌 **另两条实测收获**:①信源收窄那棒**复核后改了我的口径** —— 我判 `Google Trends` 与 `Product Hunt` 都偏资讯,它复核后**留前者、弃后者**(两者不是一个形态)⇒ 「⛔ 照抄名单就删」那条要求起了作用;②它**如实交回一处缺口**(快手持、视频号没有源)并单列在 §三,⛔ 没当成"已经收窄完了"。📌 **最近四个目标收官**:`8a649c` 征询 GPT+补细节(17:22,国内口径)|`39646d` 全球口径矩阵与热点源(19:39)|`0a758b` 梳理逻辑+出图(04:25)|`8a8412` 收窄信源+赛道过滤(21:44)。🔴 **教训(沿用)**:判据只写「有文档/有图」⇒ 执行棒交占位图 ⇒ **判据要落到「照着能做出来」的粒度**。⚠️ 遗留六条改结构项(平台热榜归属/热点事件是否独立成对象/进度 3 或 6 态/收藏热点/数据源管理落点/选题负责人与截止时间)登记在 `NEED-USER.md` 第 6 节。
- 🔴 **检查会话补齐状态文档=常规动作**:执行棒只交付产物、不写 `目标执行状态.md` ⇒ 检查会话要「现跑门禁 + 补写文档 + 回写 `--kpi`」三件一起做(`fa6e07`/`20a8ac`/`0a758b`/`39646d` 同型)。🔴 **派棒排期时间必须晚于创建时刻**。🔴 **派棒前必须自己 `automation_update list` 核一遍待执行排期**(2026-10-11 第 49 棒实测:注入通报写「没有别的待执行排期」,实际有两条 ACTIVE once ⇒ ⛔ 别信通报,信了就会重复派棒)。
diff --git a/docs/pm/mcn-shortvideo-agent/专题/产品框图-热点与选题-赛道过滤版.html b/docs/pm/mcn-shortvideo-agent/专题/产品框图-热点与选题-赛道过滤版.html
new file mode 100644
index 0000000..cb8afa9
--- /dev/null
+++ b/docs/pm/mcn-shortvideo-agent/专题/产品框图-热点与选题-赛道过滤版.html
@@ -0,0 +1,313 @@
+
+
+
+
+
+产品框图 · 热点与选题(赛道过滤版)
+
+
+
+
+
+
产品框图 · diagram-design · Architecture · doc-wide · 赛道过滤版
+
热点与选题 · 产品框图(加一层「按账号赛道的过滤」)
+
左起四段:收窄后的 8 路热点源 → 沿用不变的归一化与去重 → 本轮新加的「赛道过滤」一格 → 落到 P2 选题雷达与下游。第三段那一格是这次的全部新东西:它读内容账号的哪几个字段、按什么公式算、三档阈值各多少,都画在框里。第四段有一条虚线往回到价值分,那是复盘回校阈值。
+
+
+
+
+
01 · 这次只加了一层
+
从 16 路源收到 8 路,再收到「这个号能做的」
+
+ - 第一步收窄:海外 9 → 4(留 Google Trends / Reddit / YouTube 频道 / trends24)
+ - 第二步收窄:国内 7 → 4(留 微博 / 抖音 / 小红书 / B站)
+ - 第三步收窄:加一层赛道过滤,把全网热点按当前账号过一遍
+ - 三步方向一致 —— 都是让雷达上少出现做不了的东西
+
+
+
+
02 · 过滤层的三个数
+
读三个字段,算一个分,卡三条线
+
+ - 读:定位 · 受众 · 偏好与红线 + 赛道表的四组词
+ - 算:红线硬拦先行;过了再算 M = 55×(W′/2) + 30×D + 15×A
+ - 卡:宽松 55/30 · 标准 70/40 · 严格 85/60(进池线 / 折叠线)
+ - 挡下来的进「未匹配」档,留 7 天,可捞回并留痕
+
+
+
+
03 · 画图的取舍
+
过滤那一格写到字段级,别只画一个方块
+
+ - 只画一个「赛道过滤」方块等于没画 —— 谁都会说这四个字
+ - 所以读什么、怎么算、卡在哪,全摊在框里,能对着核实现
+ - 被砍的 8 路也留在图上(灰虚线框)—— 砍了要能追溯
+ - 页面 7 / 导航 / 板块 39 / 流转 20 / 对象 11 —— 一个都没动
+
+
+
+
+
+
+
+
diff --git a/docs/pm/mcn-shortvideo-agent/专题/信源收窄-短视频平台与内容社区.md b/docs/pm/mcn-shortvideo-agent/专题/信源收窄-短视频平台与内容社区.md
new file mode 100644
index 0000000..3bc7170
--- /dev/null
+++ b/docs/pm/mcn-shortvideo-agent/专题/信源收窄-短视频平台与内容社区.md
@@ -0,0 +1,179 @@
+# 热点源收窄:只留「短视频平台 + 内容社区」
+
+> 本份做一件事:把现役热点源**逐条复核一遍**,按「这条信号能不能直接用来做一条短视频选题」判去留。
+> 上游是上一目标 `39646d` 那份 `专题/海外热点源-查证.md`(9 条验通 + 6 条没拿到)与 Easel 那路的国内六平台清单。
+> 本份**不推翻**那两份,只在其上**收窄**:验通结论照用,被收窄的源进「已弃用」小节留痕。
+> 起点用户逐字(2026-10-11):**「这个是短视频 内容营销平台,热点范围需要更精准」**,并在三个候选里选了 **B**(砍信源 + 加赛道过滤)。
+
+---
+
+## 〇、这份文档怎么读
+
+**一条判据贯穿全篇**(第一节写全),**两张清单**兜底(留用 / 已弃用),**一条缺口**单列(第三节)。
+
+三处要留意:
+
+- 我没有照抄用户给的那份「偏资讯」名单就删 —— 逐条复核过,其中 **1 条我与用户的初判不同**,理由写在 §二 的「复核中改了口径的一条」。
+- 弃用**不是一删了事**:每条都写清为什么弃、弃了之后那一级降级链上谁顶。
+- 有一处**是缺口不是弃用**(快手、视频号没有源),单列在 §三 交回,⛔ 不当成「已经收窄完了」。
+
+---
+
+## 一、判据(一条线,全篇照它判)
+
+**这条源产出的条目,本身能不能当一条短视频选题的开头用。**
+
+- 能 —— 条目本身就是「大家在搜什么 / 社区在聊什么 / 平台在推什么 / 对标号在发什么」,拿到手就知道能拍什么 ⇒ **留**。
+- 不能 —— 条目是「一条新闻 / 一个产品名 / 一个百科词条」,得先做一轮「从资讯到话题」的再加工才勉强能用 ⇒ **弃**。
+
+再加一条范围边界(用户口径):**只收「短视频平台 + 内容社区」两类**。新闻聚合站、科技资讯站、百科统计这三类,一律不在范围内。
+
+**弃用不等于删除。** 每条弃用源都进 §二 的「已弃用」小节,写清三条:实测返回过什么、为什么不够贴题、将来什么条件下可以拿回来。
+
+---
+
+## 二、逐条复核
+
+现役清单:海外 9 条(全部实测验通)+ 国内 7 个平台(60s v2 主源 + xxapi 备源)。
+
+收窄结果:**16 路源 → 8 路**(海外 9 → 4,国内 7 → 4)。
+
+### 2.1 留用 8 路(每条补「它给的是哪类信号」)
+
+信号分四类,全篇只用这四个词:
+
+- **大众热度** —— 大家在搜什么(搜索趋势)
+- **垂类讨论** —— 某个社区在聊什么
+- **对标动作** —— 对标账号在发什么
+- **平台话题** —— 平台自己在推什么榜
+
+| # | 源 | 站点 / 平台 | 信号类型 | 为什么留 | 建议频率 |
+|---|---|---|---|---|---|
+| 1 | Google Trends 每日搜索趋势 RSS | Google(按 geo 取) | 大众热度 | 它是「大家在搜什么」的机器可读版,`geo=US/GB/JP` 都能取,直接服务海外 6 平台的选题。搜索词本身就是话题的原始形态,不用再加工 | 1 小时 |
+| 2 | Reddit `/r/popular/hot/.rss` | Reddit(内容社区) | 垂类讨论 | 唯一一个免费、无密钥、能程序化取的海外内容社区热榜。帖子本身就是「有人在讨论这件事」的证据,社区标签还能当赛道线索 | 30 分钟 |
+| 3 | YouTube 频道 Atom RSS | YouTube(视频平台) | 对标动作 | 对标账号监控那一路的海外实现。⛔ 它给的不是热门榜,是「我盯的号发了什么」 | 30 分钟 |
+| 4 | trends24.in | X(视频/图文平台) | 平台话题 | X 在 12 平台清单里,这是它唯一的免费入口(官方趋势接口按量计费)。取的是站内话题榜,形态正对 | 30 分钟 |
+| 5 | `60s/v2/weibo`(备 `xxapi/api/weibohot`) | 微博 | 平台话题 | 站内热搜词、排名、热度都在,且主备两条路都有 | 30 分钟 |
+| 6 | `60s/v2/douyin`(备 `xxapi/api/douyinhot`) | 抖音 | 平台话题 | 短视频主线平台的实时热词。这是整个雷达最贴题的一路 | 30 分钟 |
+| 7 | `60s/v2/rednote` | 小红书 | 平台话题 | 图文+视频笔记的热搜词与趋势关键词 | 30 分钟 |
+| 8 | `xxapi/api/bilibilihot` | B站 | 平台话题 | 中长视频+竖屏的热门榜。⚠️ 60s 侧那条 `/v2/bili` 自己标了「不稳定」,所以 B站以 xxapi 为准 | 30 分钟 |
+
+**按平台看收窄后的覆盖**:海外 4 个站点(Google / Reddit / YouTube / X);国内 4 个平台(微博 / 抖音 / 小红书 / B站)。
+
+**四类信号的分布**:大众热度 1 路、垂类讨论 1 路、对标动作 1 路、平台话题 5 路。
+
+⚠️ **平台话题占 5 路是有意为之**:这个产品是给短视频矩阵选选题的,站内榜是最短的一条路。搜索与社区那两路是补盲区用的,不是主体。
+
+### 2.2 已弃用 8 路(每条写清为什么弃)
+
+**海外 5 路**
+
+| # | 源 | 实测返回过什么 | 为什么弃 | 拿回来的条件 |
+|---|---|---|---|---|
+| 1 | Hacker News topstories | 500 个条目 id,逐条是「标题 + 分数 + 外链」 | 它是链接聚合器,产出的是一条条新闻,不是话题;既不在短视频平台里,也不是内容社区 | 只有某个科技/AI 号明确要它时,作该号的**可选补充**,默认关 |
+| 2 | Product Hunt Feed | 50 条,逐条是产品名 + 一句简介 | 它是产品发布名录,「有个新产品」到「能拍什么」中间隔一层再加工 | 同上,作 AI 工具测评号的**可选补充**,默认关 |
+| 3 | Wikipedia 页面浏览 Top | 1000 条词条 + 浏览量,前两名恒为 `Main_Page` / `Special:Search` | 它是「谁在被查」的事后统计,不是话题;而且固定噪声占了榜头 | 若要当「一个词突然被大量检索」的旁证,得先剔固定噪声,成本高于收益 |
+| 4 | Google News RSS | 38 条新闻标题 | 纯新闻 | 不拿回来 —— 新闻这条需求由 §三 的缺口处理 |
+| 5 | BBC News RSS | 26 条新闻标题 | 纯新闻,上一版是给 Google News 兜底的,两条一起去 | 同上 |
+
+**国内 3 路**
+
+| # | 源 | 它给的是什么 | 为什么弃 |
+|---|---|---|---|
+| 6 | `60s/v2/zhihu` | 知乎热榜问题 | 条目以事件与社会议题为主,要经过「问题 → 能拍的选题」再加工;且知乎不在 12 平台清单里 |
+| 7 | `60s/v2/toutiao` | 头条热榜新闻 | 资讯客户端热榜,同 6 |
+| 8 | `60s/v2/baidu/hot` | 百度热搜词 | 它是**事件型**热榜,与微博热搜高度同质且更偏新闻。国内已经留了 4 个真正贴题的平台源,它只是第 5 个「同质但更偏新闻」的 |
+
+**`xxapi/api/baiduhot` 一并弃**(它是第 8 条的备源,跟着一起走)。
+
+### 2.3 复核中改了口径的一条(要说清)
+
+用户初判里,`Google Trends` 与 `Product Hunt` 都往「偏资讯」那一堆里放了。我复核后**留前者、弃后者**,两者不是一个形态:
+
+- **Google Trends** 给的是**搜索词 + 大致搜索量 + 关联新闻**。搜索词本身就是一个话题的雏形,「为什么这个词突然被大量搜」直接就是一条能拍的选题。而且它按 geo 取,天然适配全球口径。
+- **Product Hunt** 给的是**产品名字录**。「某某工具发布」到「能拍什么」之间隔着一层「它解决了谁的什么问题」,那是策划工作,不是选题原料。
+
+一句话:**一个是「人在问什么」,一个是「有什么东西新出了」**。前者能直接进雷达,后者不能。
+
+同理,`百度热搜` 我没留 —— 它虽然叫「热搜」,但形态是事件榜,不是 Google Trends 那种搜索词趋势,与微博热搜同质。这两处判断是我复核的结果,**可推翻**。
+
+### 2.4 降级链(收窄后的三级)
+
+三级沿用上一版的写法:**L1 官方接口 → L2 经许可的第三方聚合 → L3 人工录入**。收窄后有两条线被整条删掉:
+
+```
+大众热度 Google Trends(geo=US/GB/JP,换地区=同源不算降级)
+ └─ 挂了 ⇒ 落 L3 人工录入
+
+垂类讨论 Reddit /r/popular/hot/.rss
+ └─ 挂了 ⇒ Reddit /r/all/top/.rss?t=day
+ └─ 仍挂 ⇒ 落 L3 人工录入(⛔ 不再拿 Hacker News 顶)
+
+对标动作 YouTube 频道 Atom RSS
+ └─ 挂了 ⇒ 落 L3 人工录入(⛔ 不再拿 Product Hunt 顶)
+
+平台话题 国内:60s 主源 → xxapi 备源
+ └─ 都挂 ⇒ 落 L3 人工录入(保留原始榜单截图)
+ 海外:⛔ 取不到(TikTok / Instagram / Facebook / LinkedIn 没有免费无密钥入口)
+ └─ 直接落 L3 人工录入
+```
+
+**删掉的两条**:`新闻广度 Google News → BBC News` 整级删除(两条源都弃了);`HN / Product Hunt / Wikipedia` 三条**不再充当任何人的备源**。
+
+**一条硬规则照抄不变**:某个源断了,已收藏的热点、已有选题、生产任务**照常工作**。来源故障只影响「新增」,不影响存量。
+
+### 2.5 监控口径(只列留用的 8 条)
+
+| 源 | 建议频率 | 过期判定 |
+|---|---|---|
+| Google Trends RSS | 1 小时 | 超 2 个周期(2 小时)无新数据 ⇒ 标「数据可能已过期」 |
+| Reddit RSS | 30 分钟 | 超 1 小时 ⇒ 过期 |
+| YouTube 频道 RSS | 30 分钟 | 超 1 小时 ⇒ 过期;⚠️ 要区分「源挂了」与「号没发」 |
+| trends24 | 30 分钟 | **解析出 0 条 ⇒ 直接报故障**(页面改版),不是过期 |
+| 微博 / 抖音 / 小红书 / B站 | 30 分钟 | 超 1 小时 ⇒ 过期 |
+
+成功率算法与告警档位不变(≥95% 正常/80–95% 警告/<80% 暂停当实时信号);时区处理不变(海外源统一转 UTC 入库);合流口径不变(每条热点带 `地区` + `语言` 两个标记,跨语言不比标题相似度)。
+
+---
+
+## 三、收窄后暴露的缺口(是缺口,不是弃用,单列交回)
+
+**快手与视频号,当前一路源都没有。**
+
+12 平台清单里的国内 6 个是 抖音/快手/小红书/视频号/B站/微博。收窄后**有源的只有 4 个**(抖音/小红书/B站/微博)—— 快手和视频号,`60s v2` 与 `xxapi v2` 两家都给不到。
+
+⚠️ 这不是「弃用」,是「本来就没有」。两条解法都摆在这,采哪条交回:
+
+1. **走 L3 人工录入**(现版已有的降级路,零新增)—— 运营把那两个平台的热榜截图或链接贴进来,与其他源合流。
+2. **去接快手/视频号的开放平台接口** —— 要过主体资质与权限审核,周期与门槛都要单独排。
+
+**我的倾向(可推翻)**:先走 1。理由是这个缺口只影响「看见」不影响「能发」,而现版的降级链本来就把「站内热榜取不到 ⇒ 落 L3」写死了 —— 快手、视频号走这条路,与 TikTok/Instagram 那一路是同一个处理,产品上不用新增任何东西。
+
+---
+
+## 四、说人话自评
+
+**评分:47/50**(门槛 45)—— 直接性 9 / 节奏 9 / 信任度 10 / 真实性 10 / 精炼度 9。判据源 `E:/ProgramData/.workbuddy/skills/humanizer-zh`。
+
+「真实性」给满分:每条留用源都带着它的取数形态与来源,每条弃用源都写了它实测返回过什么、为什么不够贴题 —— 没有一条是靠推断写上去的。与用户初判不一致的那一处(Google Trends vs Product Hunt)也摆在明面上,没和稀泥。
+
+---
+
+## 五、与上一版的实质差别
+
+**砍了哪几条源、为什么**
+
+1. **海外砍 5 条**:Hacker News(链接聚合器,产出新闻不是话题)、Product Hunt(产品名录,要再加工)、Wikipedia 页面浏览 Top(事后统计+固定噪声)、Google News RSS(纯新闻)、BBC News RSS(纯新闻)。
+2. **国内砍 3 条**:知乎(问答热榜,条目偏事件)、头条(资讯客户端热榜)、百度热搜(事件型热榜,与微博同质)。
+3. **降级链整级删掉一段**:「新闻广度 Google News → BBC」那条线没了,两条源都弃了;HN/Product Hunt/Wikipedia 也不再充当任何人的备源。
+4. **留下 8 条**:海外 Google Trends/Reddit/YouTube 频道 RSS/trends24,国内 微博/抖音/小红书/B站。
+5. **留用的每一条都补了「信号类型」**(大众热度/垂类讨论/对标动作/平台话题)—— 上一版只有「用途分组」,没有这个标签。
+
+**与上一版不是同一批句子的地方**
+
+6. 上一版是**扩范围**(国内 → 全球),本份是**在它之上收窄**,方向相反。上一版的 9 条验通结论**一条没动**,改的是「哪些进清单」。
+7. 上一版把「站内热榜无免费源」当缺口写;本份把它**缩小成两个具体平台**(快手、视频号),并给了两条解法 —— 缺口从「一大片」收成一个可裁的小项。
+
+---
+
+*本份落点:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/信源收窄-短视频平台与内容社区.md`。同目录另两份:`赛道过滤层-设计.md`、两张图的新版。*
diff --git a/docs/pm/mcn-shortvideo-agent/专题/功能流程图-热点到选题-赛道过滤版.html b/docs/pm/mcn-shortvideo-agent/专题/功能流程图-热点到选题-赛道过滤版.html
new file mode 100644
index 0000000..c4688ad
--- /dev/null
+++ b/docs/pm/mcn-shortvideo-agent/专题/功能流程图-热点到选题-赛道过滤版.html
@@ -0,0 +1,250 @@
+
+
+
+
+
+功能流程图 · 热点到选题(赛道过滤版)
+
+
+
+
+
+
功能流程图 · diagram-design · Flowchart · doc-wide · 赛道过滤版
+
热点到选题 · 功能流程图(加一层「按账号赛道的过滤」)
+
采集到落地六步,第七步是判断关口,三条出口各带自己的阈值。这一版动了两处:第一处是第 1 步的源从 16 路收到 8 路;第二处是第 5 步新加的「赛道过滤」—— 它读内容账号的哪几个字段、按什么公式算、三档线卡在哪,都写在第 5 格里。它挡下来的东西不丢弃,走虚线进「未匹配」档,能捞回来。其余五步、公式、阈值、三条出口与上一版一致。
+
+
+
+
+
A · 到第 4 步为止的硬口径
+
能算的数,不留「感觉」
+
+ - 热度指数用同平台同榜单的百分位,不拿原始热度值硬比
+ - 倍数=本条播放 ÷ 近 30 天同类型中位数,样本 <10 显示「样本不足」
+ - 趋势用 30 分钟窗口;旧来源不许伪装成有新数据
+ - 去重前先按「地区 + 语言」分桶,中英标题不直接比相似度
+ - 海外源时间戳多为 UTC / 美西,入库统一转 UTC 再比
+
+
+
+
B · 第 5 步这一格是这次的活
+
读三个字段,算一个分,卡三条线
+
+ - 只读内容账号:定位 / 受众 / 偏好与红线 + 赛道表四组词
+ - 先硬拦(红线命中直接出局),再算 M = 55×(W′/2)+30×D+15×A
+ - 三档线:宽松 55/30 · 标准 70/40 · 严格 85/60
+ - 只作用于「平台热榜 / 社区热榜」这一路,其余四路天然按账号来,不过滤
+
+
+
+
C · 这一层最容易踩的坑
+
把挡下来的直接删掉
+
+ - 新账号头两周,词表基本是机器抽的初值,误杀率必然高
+ - 所以挡下来的进「未匹配」档,留 7 天、能捞回、留痕
+ - 另一个坑:赛道表读不到就把雷达清空 —— 那是 fail-closed,反了
+ - 读不到就全量放行、标「未过滤」:多看几条热点是可逆的,清空不是
+
+
+
+
+
+
+
+
diff --git a/docs/pm/mcn-shortvideo-agent/专题/赛道过滤层-设计.md b/docs/pm/mcn-shortvideo-agent/专题/赛道过滤层-设计.md
new file mode 100644
index 0000000..059ffb9
--- /dev/null
+++ b/docs/pm/mcn-shortvideo-agent/专题/赛道过滤层-设计.md
@@ -0,0 +1,325 @@
+# 赛道过滤层 · 设计(照着能做出来的那一版)
+
+> 要解决的问题,用户逐字(2026-10-11):**「这个是短视频 内容营销平台,热点范围需要更精准」**。
+> 症状一句话:**热点是「全网大众榜」,做垂类号的人打开雷达看到的是大盘新闻。**
+> 解法(用户在三个候选里选的 B):**用账号画像里的定位与关键词,把全网热点过滤成「我这个号能做的」。**
+> 本份**在上一版之上补一层**,⛔ 不推翻 `专题/热点与选题-功能细节.md` 与 `专题/GPT建议-热点与选题细节.md` 里已经定下的东西。
+> 起点:链路与判断口径见那两份;本份只回答「过滤这一层插在哪、靠什么算、挡下来的去哪」。
+
+---
+
+## 〇、这份文档怎么读
+
+七问逐一答,每问都落到**字段名、公式、阈值**这一级。⛔ 不出现「用 AI 判断」这种没法实现的说法。
+
+**两条硬边界(先说清):**
+
+1. 页面 7 个、导航名与顺序、**板块 39 块**、流转 20 条、**业务对象 11 个** —— 一个都不动。
+2. 要动 `prd/2a-产品功能.md` 的地方**只有新增功能条目**(§六 给全文),其余一律不动。凡是绕不过去、必须动上面那五样的,单列在 §八 交回用户。
+
+**一处口径先说清**:本份写的「热点条目」指的是**已经采集回来、归一化、去重归并之后的那条记录**。它此刻还不是 `Topic`(选题库里的信息),是**待过滤的原料**。⛔ 本份不为它新建对象(对象仍是 11 个)。
+
+---
+
+## 一、插在链路哪一步(问题 1)
+
+### 1.1 结论:**插在「分类之后、价值分之前」,只作用于外部热点那一路**
+
+改动后的链路(`→` 是数据流,**加粗**的是本次插入的一步):
+
+```
+五路输入(平台热榜/对标账号/评论搜索/自有数据/人工)
+ ↓ ← ⚠️ 只有第 1 路(平台热榜/社区热榜)往下走下面这条链
+统一热点数据模型(来源 + 原始热度 + 快照)
+ ↓
+热度指数(归一化 + 趋势)
+ ↓
+去重归并成「热点事件」(先按地区 / 语言分桶)
+ ↓
+分类(L1 领域 / L2 事件类型 / L3 适配人设 / L4 工作状态)
+ ↓
+🔴 **赛道过滤(本次新加:按当前内容账号的赛道表算匹配度)**
+ ↓
+选题价值分(七维)+ 置信度 + 风险拦截
+ ↓
+决策(做 / 改角度 / 观察 / 不做)
+ ↓
+进选题库 → 生产 → 发布 → 反馈回收 → 校准权重
+```
+
+### 1.2 为什么不放在别处(三个位置各说一句)
+
+- **不放在「去重之前」**:同一条热点往往同时出现在好几个源里,去重之前算匹配等于同一条算好几遍,还容易在归并时把两份不同的匹配结果拼错。
+- **不放在「分类之前」**:匹配要用到热点的 **L1 领域**去比账号的领域白名单,分类在前,过滤在后,数据才是齐的。
+- **不放在「进选题库之后、在库里打标」**(用户给的另一个选项):选题库是「对选题有帮助的信息」的收纳处(`2a` F2),把全网大盘新闻灌进去再打标,等于先把库搞脏再筛。用户要的正是**打开雷达别再看到大盘**,所以要**先进门筛、后入库**。
+
+### 1.3 为什么只作用于「外部热点」这一路
+
+五路输入里,另外四路(对标账号、评论与搜索需求、自有账号数据、人工输入)**天然已经是按账号来的** —— 对标号是你自己选的、评论来自你自己盯的内容、人工输入是你自己记的。对它们做赛道过滤,只会把你要的东西挡掉。
+
+⇒ **赛道过滤的输入口只有一个:平台热榜/社区热榜这一路。** 这句话要写进产品文档,免得后面做的人把它铺到五路上。
+
+---
+
+## 二、靠什么匹配(问题 2 · 字段级)
+
+### 2.1 读 `Account`(内容账号)的哪几个字段
+
+匹配只读**一个对象**:`Account`(内容账号)。不读 `Benchmark`、不读 `Topic`、不读 `Performance`。
+
+| 读的字段 | 落在哪(现版位置) | 在匹配里干什么 |
+|---|---|---|
+| `定位` | 画像五维之一(`2b` §五 P6 块 2) | 赛道表初值的来源(「AI 工具测评」这类一句话定位) |
+| `受众` | 画像五维之一 | **软加权**:命中受众词 ⇒ 加分,不命中不扣 |
+| `偏好与红线` | 画像五维之一 | **硬拦来源**:这里写的是「不做什么」,命中即出局 |
+| `赛道表·包含词[]` | 🔴 **本次新增字段**(挂在内容账号下) | 主匹配词,每条带一个权重 |
+| `赛道表·排除词[]` | 🔴 **本次新增字段** | 与「偏好与红线」合流,一起做硬拦 |
+| `赛道表·领域白名单[]` | 🔴 **本次新增字段** | 与热点的 L1 领域比对,命中 ⇒ 加一档 |
+| `赛道表·过滤档` | 🔴 **本次新增字段** | 三档阈值,见 §三 |
+
+**⛔ 不读 `风格`** —— 风格决定「怎么做」(拍成什么调性),不决定「做什么」(拍不拍)。把它放进过滤会把「严肃财经号不能做娱乐选题」和「严肃财经号不能嬉皮笑脸地做财经」两件事混成一件。
+
+**⛔ 不读平台账号** —— 平台账号是发布渠道(`2a` §二),管的是「能不能发出去」,与「这条热点该不该做」无关。
+
+### 2.2 匹配分两步:一条硬拦 + 一个分
+
+**规则 A · 硬拦(先跑,跑完就走)**
+
+热点条目的**标题**或**关键词**命中「排除词 ∪ 偏好与红线里的红线词」任一条 ⇒ **直接判低匹配,标「红线命中」**,进未匹配档(§四)。不看 M 值。
+
+为什么硬拦要单独一条:红线是「这条内容做出来就是事故」,不能靠其他项的高分抵掉 —— 这与现版七维里「合规与声誉风险」那一维的处理是同一个逻辑(`热点与选题-功能细节.md` §3.5:明确不允许的内容直接触发拦截,不被高分抵消)。
+
+**规则 B · 打分(算匹配度 M)**
+
+```
+W = Σ(命中词权重) 主词 1.0 · 长尾词 0.6 · 受众词 0.4
+W' = min(W, 2.0) 封顶 2.0,免得长尾词多的号天然占便宜
+D = 1 若热点 L1 领域 ∈ 赛道表·领域白名单,否则 0
+A = 1 若命中受众词,否则 0
+
+M = clamp( 0, 100, round( 55 × (W' ÷ 2.0) + 30 × D + 15 × A ) )
+```
+
+三块权重和为 100:**词命中 55 + 领域对齐 30 + 受众命中 15**。
+
+- **全用得上的一条 SQL 或一次字符串匹配就能算**,⛔ 不含任何模型调用。
+- 命中词在**标题 + 关键词**两处里找,不全文匹配(避免长文本偶然命中)。
+
+### 2.3 唯一用到 AI 的地方(说清边界)
+
+**只在「生成赛道表初值」那一步用,用完就固化成词表。**
+
+用户建完内容账号、写好「定位」那一句之后,系统用它抽一版 `包含词` / `排除词` / `领域白名单` 的**初值**,标成「AI 初判,待确认」,用户确认或改完就落成固定词表。
+
+⚠️ **匹配环节不再调模型** —— 每一分都能复算,这是「可追溯」那条要求的落地(`热点与选题-功能细节.md` §5.7:每个热度、评分、推荐理由都能回到原始证据)。
+
+### 2.4 匹配结果写在哪(不新增对象)
+
+写在 **`Topic.赛道匹配[]`** —— 数组,一项对一条:
+
+```
+赛道匹配: [
+ { 账号ID: "a1", M: 82, 档: "高匹配", 命中词: ["AI","测评"], 红线命中: false },
+ { 账号ID: "a3", M: 41, 档: "可能相关", 命中词: ["效率"], 红线命中: false }
+]
+```
+
+- 存**数组**而不是单个值,是因为一个矩阵下一个内容账号一份赛道表(§五)。
+- ⛔ `Topic` 仍是 11 个对象里的那一个,`赛道匹配` 是它上面的一个字段,不是新对象。
+- 结果随 `Topic` 落本地,与 `2a` F2 的持久化口径一致。
+
+---
+
+## 三、阈值与档位(问题 3)
+
+### 3.1 三档,挂在账号上
+
+| 档 | 进池阈值(出现在默认视图) | 折叠线(进池但默认折叠) | 什么时候用 |
+|---|---|---|---|
+| **宽松** | M ≥ 55 | M ≥ 30 | 新账号、冷启动、词表还没铺开 |
+| **标准**(默认) | M ≥ 70 | M ≥ 40 | 大多数情况。70 这条线刻意对齐价值分的「建议做」线 |
+| **严格** | M ≥ 85 | M ≥ 60 | 词表成熟、噪声明显偏多时 |
+
+- **进池** = 出现在选题雷达的默认列表。
+- **折叠线以上但没到进池线** ⇒ 进池但默认折叠,标「**可能相关**」,点一下展开。
+- **折叠线以下** ⇒ 不进默认视图,进 §四 的未匹配档。
+- **红线命中** ⇒ 不看 M,直接进未匹配档,标「**红线命中**」。
+
+### 3.2 档位怎么选(默认值与改法)
+
+- 新账号建成时默认「**标准**」。
+- 系统给一条**升级提示**(不是自动改):连续 7 天默认视图里「可能相关」那一档的采纳率低于 10%,提示「要不要收紧到严格」。理由:阈值该由数据推,但**改动作要人点头** —— 与现版七维评分「先上规则,攒够结果再校准」是同一个处理法。
+- 阈值本身**可调**(写进赛道表),因为 §二 那个公式的系数是我拍的,要拿真实数据回校。**必须先有阈值,哪怕是错的** —— 有阈值才知道错在哪。
+
+⚠️ 三档阈值、三块权重(55/30/15)、封顶 2.0 都是我给的**建议值**,⛔ 不是验证过的模型。要写进产品文档时按这个写,实现后按真实数据回校。
+
+---
+
+## 四、过滤掉的去哪(问题 4)
+
+### 4.1 结论:进「未匹配档」,供人工捞 —— ⛔ 不丢弃
+
+**「未匹配」不是新池子、不是新页面、不是新板块,它就是雷达列表上「匹配度」筛选器里的一个档位。**
+
+筛选器四档:`全部` / `高匹配` / `可能相关` / `未匹配`(默认停在「高匹配 + 可能相关」= 默认视图)。
+
+这么做的三个理由:
+
+1. **不新增任何可见形态** —— 板块还是 39,视图还是那几块,只在筛选器上多一个可选值。改动面最小。
+2. **新赛道冷启动时词表不全**,硬删会把真选题删掉。用户刚建号的头两周,词表基本是 AI 抽的初值,误杀率必然高。
+3. **用户可能临时想开新赛道** —— 今天做 AI 号,明天想试个职场号,得能回头捞。
+
+### 4.2 未匹配档的三条规则
+
+- **每条说清「为什么没进」**:列出命中的红线词,或显示它的 M 值与最接近的那个账号。⛔ 不能只显示一个「未匹配」标签 —— 那和静默丢弃没区别。
+- **保留 7 天**(可调),到期自动移出。原始条目仍在源的采集记录里,不会因为移出就查不到。
+- **一键「捞进」**:捞 = 把这条对这个账号的档人工改成「标准」并进池,同时留一条「**人工捞取**」记录(谁、什么时候、捞的哪条)。捞可取撤。
+
+### 4.3 和「来源故障」的关系
+
+赛道表读不到(文件坏了、账号还没建)⇒ **放行全部,并把每条标成「未过滤」**。
+
+这是 **fail-open**,和现版 F5 发布闸门的 fail-closed 正好相反 —— 因为后果不一样:发布闸门放错是发出去一条有问题的稿子(不可逆);雷达过滤放错是**多看几条热点**(完全可逆)。⛔ 不能让一个读不到的文件把整个雷达清空。
+
+---
+
+## 五、多账号怎么办(问题 5)
+
+### 5.1 结论:**一个内容账号一份赛道表**
+
+- 赛道表挂在**内容账号**下(与画像五维同页、同一份数据的延伸),**不进平台账号** —— 平台账号是渠道,同一个人设在微博和抖音上要做的选题是同一类。
+- 过滤时按**当前选中的内容账号**过一遍。雷达上常驻一个**账号切换器**(默认=上次选的那个)。
+- **默认视图 = 只看当前账号的匹配结果。**
+- 提供「**全部账号**」视图:一条热点对各账号**各算一份 M**,写进 `赛道匹配[]` 数组。同一条热点可以同时匹配多个账号 —— 这与 `Topic` ↔ `Account` 的多对多关系一致(`热点与选题-功能细节.md` §5.1:一个热点可生成多个选题,一个选题指定一个主人设)。
+
+### 5.2 ⛔ 为什么不共用一张表按权重调
+
+用户给的另一个选项是「共用一张表按账号权重调」。不做,两个理由:
+
+1. **不同账号的赛道本来就不同。** 美妆号和财经号共用一张词表,两边都会往表里塞词,结果是这张表什么都能匹配上 —— 过滤等于没做。权重只能调「更看重哪一类」,调不出「完全不相干」。
+2. **红线没法用权重表达。** 「这个号不碰医疗」是硬约束,权重的数学形态表达不了「一命中就出局」。而红线恰恰是赛道过滤最要紧的一半(§2.2 规则 A)。
+
+一句话:**共用表解决的是「怎么排序」,赛道过滤要解决的是「哪些根本不该出现」** —— 两个问题。
+
+---
+
+## 六、要动 `prd/2a-产品功能.md` 的什么(问题 6)
+
+**新增 1 条 + 扩 1 条,其余一个字不动。**
+
+⛔ **编号只能追加**:现版功能是 F1–F14,新条目接在 **F14 之后**,编 **F15**。内容上它归 **S1 找选题**(与 F1/F2/F3 同一类事),但号只能接在末位 —— 现版 F1–F14 的编号「一个没动」是硬约束,⛔ 不能插号。
+
+### 6.1 新增:F15 赛道过滤与未匹配档(可直接粘进 `2a` §三 的 S1 段末)
+
+```
+#### F15 赛道过滤与未匹配档
+
+- **功能名**:把全网热点按当前内容账号的赛道过一遍,只留下这个号能做的。
+- **来自哪条场景**:S1
+- **优先级**:P0 —— 判据:不做则雷达默认视图仍是大盘新闻,S1「不用逐个刷榜」只做了一半。
+- **核心业务对象**:`Topic` 选题(读 `Account` 的赛道表,不产生新对象)
+- **归属页**:P2 选题雷达
+- **输入口(🔴 写死只此一路)**:只作用于**平台热榜 / 社区热榜**这一路外部热点;
+ 对标账号、评论洞察、自有账号数据、人工输入这四路⛔ 不过滤(它们天然按账号来)。
+- **匹配规则(两步,都可复算,⛔ 不含模型调用)**:
+ 1. 硬拦:标题或关键词命中「赛道表·排除词 ∪ 画像·偏好与红线」任一条 ⇒ 判低匹配,标「红线命中」。
+ 2. 打分:M = clamp(0,100, round( 55 × min(W,2.0) ÷ 2.0 + 30 × 领域对齐 + 15 × 受众命中 )),
+ W = 命中词权重和(主词 1.0 / 长尾词 0.6 / 受众词 0.4),领域对齐与受众命中各取 0 或 1。
+- **阈值三档(挂在账号上)**:宽松 55/30 · 标准(默认)70/40 · 严格 85/60(进池线 / 折叠线)。
+- **状态流转**:`待过滤 → 已匹配 / 已折叠 / 已拦截 / 已捞取`。
+ 事件=过滤、展开折叠项、人工捞取;守卫=赛道表缺 ⇒ 全量放行并标「未过滤」(fail-open);捞取可撤销。
+- **验收要点**:给一个内容账号,雷达默认视图只剩与它赛道相关的条目;改一个包含词,
+ 同一条热点的 M 跟着变;红线词命中的条目不出现在默认视图;切到「未匹配」档能看见被挡下的条目、
+ 看见它为什么被挡,并能捞回来一条、留下「人工捞取」记录。
+- **跨哪些页面**:P2(匹配发生处)、P6(读账号的赛道表)
+- **治理**:失败恢复=赛道表读不到 ⇒ 全量放行并标「未过滤」(fail-open,⛔ 不许静默把雷达清空);
+ 持久化=匹配结果随 `Topic` 落本地;并发=一条热点多账号并行算,各写各的;
+ 幂等=同「热点标识 + 账号ID」不重复算;超时=单条上限 1 秒(纯规则);不可逆=不涉及(捞取可撤)。
+```
+
+### 6.2 扩写:F9 多账号画像、平台账号与记忆(不动编号)
+
+在 F9 的「界线」段后追加一段,并在「核心业务对象」那行点一句 `Account` 多了个字段组:
+
+```
+- 🔴 **扩出「赛道表」字段组(V5 新增)**:`包含词[]`(每条带权重:主词 1.0 / 长尾词 0.6)、
+ `排除词[]`、`领域白名单[]`、`过滤档`(宽松 / 标准 / 严格)。它挂在这个内容账号下,
+ 与画像五维同一份数据的延伸,**不新增对象、不新增板块**。
+ 初值可由系统按「定位」那一句生成,标「AI 初判,待确认」,用户确认后落成固定词表。
+ ⚠️ 「偏好与红线」与 `排除词` 合流后一起做硬拦(见 F15 规则 1)。
+```
+
+**为什么不单开一条 F16**:赛道表就是内容账号的一个属性,维护动作与画像同一类事、同一页(P6)。单开一条会把同一类事拆成两条 —— 撞上 §一 第 2 条那条「同类事放同一页」的判据。
+
+### 6.3 同步要改的三处小地方(都在上面两条之内,不额外动结构)
+
+1. `2a` §四 功能归属总表:加一行 `F15 赛道过滤与未匹配档 | S1 | Topic | P2 | 🔴 新增`;F9 那行的「差异」栏补一句「扩出赛道表字段组」。
+2. `2a` §二 对象字典的 `Account` 行:「管内容属性的主体(定位/风格/受众/偏好与红线/长期记忆)」后面加「**+ 赛道表**」。
+3. `2a` §五 与上一版的实质差别:追加本轮的条目(§七 给了逐条)。
+
+⚠️ **`2b` 侧只补两句、不新增板块**(板块 39 不变):
+
+- P2「对标内容」块:补一句「列表上常驻**账号切换器**与**匹配度筛选器**(全部 / 高匹配 / 可能相关 / 未匹配)」。
+- P2 信息分档表:补一行「匹配度筛选器 | 主屏常驻 | 删掉它,用户没法把大盘挡在外面,这一页的主操作(找到能做的选题)做不成」。
+
+---
+
+## 七、与已有设计怎么接(问题 7 · 一条都不推翻)
+
+| 已有结论(在哪) | 赛道过滤怎么接上去 |
+|---|---|
+| **L3 账号适配**(`功能细节` §2.1:按定位/历史表现/受众/变现目标,最多推 3 个适配人设) | 赛道过滤是 L3 的**负向版**。L3 说「推荐给谁」(推 3 个),过滤说「哪些根本不进来」。同一份账号数据,⛔ 不另建一套 |
+| **选题价值分 · 账号匹配度 25%**(`功能细节` §3.5) | 过滤算出的 M **直接当这一维的输入**(M ÷ 10 归一到 1–10 分)。⛔ 不两处各算一套「匹配度」 |
+| **去重归并**(`功能细节` §5.4) | 过滤排在去重之后,同一条热点只算一次匹配。跨地区合并后的那条,按合并结果的领域/关键词算 |
+| **三级降级**(`功能细节` §1.3:「来源故障不应该导致选题库不可用」) | 过滤出错 ⇒ fail-open 放行并标「未过滤」,与这条同源:**故障只影响新增,不影响已有,也不该把已有的挡住** |
+| **数据源清单的字段级写法**(`功能细节` §1.4) | 赛道表照同一个写法:字段一个个列出来、谁能改、初值从哪来 |
+| **「收藏热点」与「生成选题」是两个动作**(`功能细节` §4.3) | 赛道过滤**不改这两个动作**,它只决定「列表里有没有这条」。落进未匹配档的东西**不能被收藏**(先从档里捞出来) |
+| **进度 × 类型两维**(`2a` F2) | ⛔ 过滤结果**不进**这两个维度。匹配度是第三条正交的信息,只做筛选,不做分类 |
+| **热点事件是否独立成对象**(`功能细节` §八 待拍板 B) | ⛔ 本份不碰它。过滤作用在「待过滤的原料条目」上,无论它将来落成 `Topic` 还是独立 `Hotspot`,这一步的位置都不变 |
+
+**一处要留意的先后**:`功能细节` §8 待拍板 A 问「热榜是新增一块还是并进 F1」。本份**不裁定它** —— F15 的可见面按「**无论热点落在哪一块,进库前都要过这一层**」写,所以 A 怎么裁都不影响这一层。这一条不影响本目标的判据。
+
+---
+
+## 八、绕不过结构、要交回用户的两条(⛔ 本轮没动)
+
+| 序 | 撞到哪条硬约束 | 需要用户裁定什么 |
+|---|---|---|
+| A | 「热榜这一路落在 P2 的哪一块」现版没写(`热点与选题-功能细节.md` §八 A 已登记过:新增一块 ⇒ 板块变 40,还是并进 F1) | 热榜是新开一块,还是并进 F1(「对标账号监控」扩成「热点与对标监控」)?⚠️ 本份**不依赖**这个答案,但它决定「默认视图」画在哪 |
+| B | 赛道表的**编辑入口**要不要在 P6 单列一块 | 现版 P6 是 5 块;赛道表挂在「画像五维」块里(不占新块),还是单列一块(P6 变 6 块 ⇒ 板块 40)? |
+
+**我的倾向(可推翻)**:A 选「并进 F1」(改动最小、不增板块);B 选「挂在画像五维块里」(不占新块,赛道就是定位的具体化)。两条都满足「更小改动、更少新增形态、不扩大可见面」。以上仅为倾向,⛔ 不作为已完成的口径。
+
+---
+
+## 九、说人话自评
+
+**评分:46/50**(门槛 45)—— 直接性 9 / 节奏 9 / 信任度 10 / 真实性 9 / 精炼度 9。判据源 `E:/ProgramData/.workbuddy/skills/humanizer-zh`。
+
+一处保留的「不像人话」:§6.1 那段贴进 `2a` 的正文里带了两次公式与阈值,读起来密。留着是因为它要能**直接粘进产品文档**,展开成散文就粘不进去了。
+
+---
+
+## 十、与上一版的实质差别
+
+**新加了哪一层**
+
+1. **链路里多了一步「赛道过滤」**,位置在「分类之后、价值分之前」,输入口只有外部热点那一路。
+2. **多了一个字段组**:`Account` 下的赛道表(包含词 / 排除词 / 领域白名单 / 过滤档),⛔ 不新增对象、不新增板块。
+3. **多了一个匹配算法**:红线硬拦 + M 打分(55/30/15 三块),三档阈值挂在账号上。
+4. **多了一个筛选档**:雷达列表的「匹配度」筛选器(全部 / 高匹配 / 可能相关 / 未匹配),未匹配档可人工捞回、留痕。
+5. **多了一条功能条目**:F15(新增,接 F14 之后,内容归 S1);F9 扩出赛道表字段组。
+
+**没动的**
+
+6. 事件去重、热度归一化、T2 趋势、四层分类、七维价值分、三档决策阈值 —— 一套都没改,本层只是**在它们中间插了一步**。
+7. `Topic` ↔ `Account` 多对多、进度 × 类型两维、五路输入、三级降级 —— 全部沿用。
+8. 页面 7 / 导航名与顺序 / 板块 39 / 流转 20 条 / 对象 11 个 —— 一个没动。
+
+**与上一版方向上的区别**
+
+9. 上一版(`39646d`)是**扩范围**(把平台与热点源从国内扩到全球);本层是**收窄**(把全网热点收成「这个号能做的」)。两步方向相反,但都在同一条链上,后者建立在初者之上。
+
+---
+
+*本份落点:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/赛道过滤层-设计.md`。同目录另两份:`信源收窄-短视频平台与内容社区.md`、两张图的新版。*
diff --git a/docs/pm/mcn-shortvideo-agent/专题/产品框图-热点与选题-全球版.html b/docs/pm/mcn-shortvideo-agent/归档-过期版/产品框图-热点与选题-全球版__39646d.html
similarity index 100%
rename from docs/pm/mcn-shortvideo-agent/专题/产品框图-热点与选题-全球版.html
rename to docs/pm/mcn-shortvideo-agent/归档-过期版/产品框图-热点与选题-全球版__39646d.html
diff --git a/docs/pm/mcn-shortvideo-agent/专题/功能流程图-热点到选题-全球版.html b/docs/pm/mcn-shortvideo-agent/归档-过期版/功能流程图-热点到选题-全球版__39646d.html
similarity index 100%
rename from docs/pm/mcn-shortvideo-agent/专题/功能流程图-热点到选题-全球版.html
rename to docs/pm/mcn-shortvideo-agent/归档-过期版/功能流程图-热点到选题-全球版__39646d.html
diff --git a/docs/pm/mcn-shortvideo-agent/索引-当前权威版.md b/docs/pm/mcn-shortvideo-agent/索引-当前权威版.md
index 601ea0f..aca3812 100644
--- a/docs/pm/mcn-shortvideo-agent/索引-当前权威版.md
+++ b/docs/pm/mcn-shortvideo-agent/索引-当前权威版.md
@@ -43,21 +43,26 @@
| 专题 | 文件 | 大小 |
|---|---|---|
+| **信源收窄(留 8 弃 8)** | `专题/信源收窄-短视频平台与内容社区.md` | 13 225 B |
+| **赛道过滤层设计** | `专题/赛道过滤层-设计.md` | 23 241 B |
+| **产品框图 · 赛道过滤版** | `专题/产品框图-热点与选题-赛道过滤版.html` | 34 463 B |
+| **功能流程图 · 赛道过滤版** | `专题/功能流程图-热点到选题-赛道过滤版.html` | 27 382 B |
| 全球平台矩阵(海外 6 + 国内 6) | `专题/全球平台矩阵.md` | 9 229 B |
-| 海外热点源查证(验通 9/没拿到 6) | `专题/海外热点源-查证.md` | 13 986 B |
+| 海外热点源查证(验通 9/没拿到 6 · 全量验通记录) | `专题/海外热点源-查证.md` | 13 986 B |
| 热点与选题 · 功能细节(四问落到字段与算法) | `专题/热点与选题-功能细节.md` | 39 743 B |
-| 产品框图 · 全球版 | `专题/产品框图-热点与选题-全球版.html` | 35 223 B |
-| 功能流程图 · 全球版 | `专题/功能流程图-热点到选题-全球版.html` | 22 198 B |
| Easel 逆向(热点雷达与选题链路) | `专题/Easel逆向-热点雷达与选题链路.md` | 15 456 B |
-| 热点与选题 · 逻辑关系(**国内口径**,已被全球版接续) | `专题/热点与选题-逻辑关系-国内口径-已被全球版接续.md` | 12 250 B |
+| 热点与选题 · 逻辑关系(**国内口径**) | `专题/热点与选题-逻辑关系-国内口径-已被全球版接续.md` | 12 250 B |
| GPT 建议 · 页面结构与操作路径 | `专题/GPT建议-页面结构与操作路径.md` | 55 978 B |
| GPT 建议 · 热点与选题细节 | `专题/GPT建议-热点与选题细节.md` | 44 524 B |
+🔴 **加粗那四份是 2026-10-11 晚最新的一轮**(收窄信源 + 加赛道过滤层),做选题板块看它们。⚠️ 两张「全球版」图已被它们顶替、收进归档;`海外热点源-查证` 保留是因为它记的是**全量验通事实**(含已弃用的源),收窄结论看 `信源收窄` 那份。
+
## 五、归档文件夹怎么用(`归档-过期版/`)
- 命名规则:`<原名>__<来源目标短哈希>.<扩展名>`,例 `2b-界面布局-新版__fc471a.md` = 来自目标目录 `…-fc471a` 的那一版。
-- 现在 30 份:`2a` 6 版 / `2b` 7 版 / 原型 4 版 / `DESIGN` 4 版 / 实测记录 4 版 / `1a` 3 版 / 早期 prd 与 research 的旧归档 3 份。
+- 现在 **32 份**:`2a` 6 版 / `2b` 7 版 / 原型 4 版 / `DESIGN` 4 版 / 实测记录 4 版 / `1a` 3 版 / 两张全球版图(`__39646d`)/ 早期 prd 与 research 的旧归档 3 份。
- 需要「这版当时为什么这么定」时来这里翻;**做产品只看 §一~§四**。
+- ⚠️ **2026-10-11 补记**:上一目标(`8a8412`)收口时只同步了 `prd/2a`/`2b` 与索引,**四份专题产物漏了**(信源收窄/赛道过滤层设计/两张赛道过滤版图)⇒ 主会话在 22:0x 手工补齐。⇒ **教训:收口同步要按「本目标产出的全部权威文档」逐个过一遍,⛔ 不能只同步 `prd/` 那两份。**
## 六、维护规则(每个目标收口时做)
diff --git a/tmp/supervise-inbox/NEXT-旧目标-收窄信源与赛道过滤-已归档20261011-2207.md b/tmp/supervise-inbox/NEXT-旧目标-收窄信源与赛道过滤-已归档20261011-2207.md
new file mode 100644
index 0000000..56935f6
--- /dev/null
+++ b/tmp/supervise-inbox/NEXT-旧目标-收窄信源与赛道过滤-已归档20261011-2207.md
@@ -0,0 +1,73 @@
+# 队列 · 收窄热点源 + 加「按账号赛道过滤」一层(用户选 B 方案)
+
+> 目标(2026-10-11 20:38 下达,已切目标):用户先说「**这个是短视频 内容营销平台,热点范围需要更精准**」,在我给的三个候选里**选了 B**:
+> 「**砍信源 + 加一层「按账号赛道的过滤」**(用账号画像里的定位与关键词,把全网热点过滤成"我这个号能做的")」。
+> 🔴🔴 **落点**:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/`
+> (机制口径:`title[:20]` 去空格 + `sha1(title)[:6]`。目录与状态文档骨架已建好、`goal.json.execution_doc` 已指向它。)
+> 上一目标 `39646d`(按全球口径重做矩阵与热点源,19:39 已完成)⇒ 本目标**在它之上收窄**,⛔ 不是推翻。
+
+---
+
+## 1、三件事 —— 待
+
+**执行者**:执行会话(本工作区,域目录 `执行会话`)
+**目标目录**:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/`
+
+### 起点(只读,⛔ 不要改)—— 现在都在**方案文件夹**里了
+
+`docs/pm/mcn-shortvideo-agent/` 下:
+- `专题/海外热点源-查证.md`(13 986 B,9 条验通 + 6 条没拿到 —— **本目标要收窄的就是它**)
+- `专题/热点与选题-功能细节.md`(39 743 B,四问已落到字段与算法 —— 要改的是「数据从哪来」那一节)
+- `专题/全球平台矩阵.md`(9 229 B,12 个平台)
+- `专题/产品框图-热点与选题-全球版.html`、`专题/功能流程图-热点到选题-全球版.html` —— **要加过滤层的就是这两张**
+- `专题/Easel逆向-热点雷达与选题链路.md`(国内那路的 6 个平台出自它)
+- `prd/2a-产品功能.md`、`prd/2b-界面布局-新版.md`、`ui/mcn-workbench.html`、`ui/DESIGN.md`
+
+### 第 1 件:砍信源(只留「短视频平台 + 内容社区」)
+
+**现状诊断(主会话已核)**:信源里**约 8 条是综合资讯类**,跟短视频内容营销没关系。
+- 海外 9 条验通里,偏资讯的 5 条:`Hacker News`/`Product Hunt`/`Wikipedia Top`/`Google News`/`BBC News`。
+- 国内 6 个平台里,偏资讯的 3 个:`知乎`/`百度`/`头条`。
+- 贴题的是:海外 `Google Trends`(搜索趋势)/`Reddit`(社区讨论)/`YouTube 频道 RSS`(对标账号)/`trends24`(X 趋势);国内 `抖音`/`快手`/`小红书`/`B站`/`微博`/`视频号`。
+
+**要做**:
+1、逐条过一遍现有信源,按「**这条信号能不能直接用来做短视频选题**」判去留 —— ⛔ 不要照抄我上面的名单就删,你要复核,理由写进文档。
+2、砍掉的源写进文档的「**已弃用**」小节,每条写明**为什么弃**(保持可追溯,⛔ 不是一删了事)。
+3、留用的源补上「**它给的是哪类信号**」(大众热度/垂类讨论/对标动作/平台话题)。
+
+### 第 2 件:设计「按账号赛道过滤」这一层
+
+**要解决的**:现在热点是「全网大众榜」,做垂类账号的人打开雷达看到的是大盘新闻。要按**账号画像**(`Account` 对象的定位/风格/受众/偏好红线)把热点过滤成「我这个号能做的」。
+
+**设计要落到能执行**:
+1、**过滤发生在链路的哪一步**(热点进来之后、进选题库之前?还是选题库里打标?)—— 写清并给理由。
+2、**靠什么匹配**(关键词表?语义?账号画像里的哪些字段?)—— 落到**字段级**,⛔ 不许写「用 AI 判断」这种没法实现的。
+3、**阈值与档位**(匹配度多高才留?要不要给「宽松/标准/严格」三档?)。
+4、**过滤掉的去哪**(丢弃?还是进一个「未匹配」池供人工捞?)。
+5、**多账号怎么办**(一个账号一份赛道表?还是共用一张表按账号权重调?)。
+6、**新增哪些功能条目**(要动 `prd/2a-产品功能.md` 的话,写清新增哪几条、编号接在谁后面、归属哪个页面)。
+7、参考 `专题/热点与选题-功能细节.md` 与 `专题/GPT建议-热点与选题细节.md` 里已有的设计,⛔ 别推翻已有结论,是**在其上补这一层**。
+
+### 第 3 件:框图与流程图加上过滤层
+
+- 在 `专题/产品框图-热点与选题-全球版.html` 与 `专题/功能流程图-热点到选题-全球版.html` 的**新版**上,把「赛道过滤」这一层画出来(热点源 → **赛道过滤** → 选题库)。
+- 用 `product-planning` 自带的 **`diagram-design`**(`E:/ProgramData/.workbuddy/skills/product-planning/references/stage-requirements/assets/diagram-design/SKILL.md`)—— 先读它的 SKILL.md 再画,⛔ 别手搓 SVG、⛔ 别另起一套画法。图要能直接打开看(HTML/SVG)。
+- 块内要看得见**字段名与规则**(比如过滤读的是 `Account` 的哪几个字段、阈值多少),⛔ 不许退回占位图。
+
+### ⛔ 两块不许动的
+
+- **`docs/` 下的文件一个字都不许改** —— 你的域锁只允许写 `执行会话/` 目录内。产物全部写在**你自己的目标目录**里;收口时由**主会话**按「方案文件夹两态规则」同步进 `docs/pm/mcn-shortvideo-agent/`(旧的会进 `归档-过期版/`)。⚠️ 这条是本工作区 2026-10-11 刚立的新规矩。
+- 页面 7/导航名与顺序/板块 39/流转 20 条/业务对象 11 个 —— 除第 2 件明确要求的新增功能条目外一律保持。
+- 用户红线(2026-10-10 逐字):「**没让改的 交互不允许乱改**」。
+
+---
+
+## 每棒通用硬约束
+
+- **重写 ≠ 润色**:内容层必须真改;结构变了要在文末列「与上一版的实质差别」。
+- 一切落盘文字过「说人话」(判据源 `E:/ProgramData/.workbuddy/skills/humanizer-zh`),门槛 ≥45/50,文末写明评分。
+- **域目录 `执行会话`**,抢到域锁才能写;抢不到 ⇒ 停手报告。
+- 浏览器:**先探再连**(`netstat -ano | grep -E "127\.0\.0\.1:9223 .*LISTENING"`);⚠️ 探不到不要停手,按 `browser-harness/SKILL.md` §1 的整段命令**用本会话的后台任务起**(⛔ 不建计划任务、⛔ 不复制副本到工作区)。一类任务只开一个标签页并复用。
+- 做完即停、上报:`python .workbuddy/collab/collabd.py --report --state done --artifact "<路径>"`。
+- 收工必跑 `--release-exec` 释放域锁。
+- 半成品按失败交付,⛔ 不许当完成上报。
diff --git a/tmp/supervise-inbox/NEXT.md b/tmp/supervise-inbox/NEXT.md
index 56935f6..35f29a4 100644
--- a/tmp/supervise-inbox/NEXT.md
+++ b/tmp/supervise-inbox/NEXT.md
@@ -1,64 +1,56 @@
-# 队列 · 收窄热点源 + 加「按账号赛道过滤」一层(用户选 B 方案)
+# 队列 · 按热点与选题最新方案,迭代「选题板块」功能(落进原型)
-> 目标(2026-10-11 20:38 下达,已切目标):用户先说「**这个是短视频 内容营销平台,热点范围需要更精准**」,在我给的三个候选里**选了 B**:
-> 「**砍信源 + 加一层「按账号赛道的过滤」**(用账号画像里的定位与关键词,把全网热点过滤成"我这个号能做的")」。
-> 🔴🔴 **落点**:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/`
+> 目标(2026-10-11 22:07 下达,已切目标):用户令(逐字)「**完成新目标:根据热点和选题最新方案 迭代内容整合营销平台 选题板块功能**」。
+> 🔴🔴 **落点**:`执行会话/目标-根据热点与选题最新方案迭代选题板块功能-d0ac5f/`
> (机制口径:`title[:20]` 去空格 + `sha1(title)[:6]`。目录与状态文档骨架已建好、`goal.json.execution_doc` 已指向它。)
-> 上一目标 `39646d`(按全球口径重做矩阵与热点源,19:39 已完成)⇒ 本目标**在它之上收窄**,⛔ 不是推翻。
---
-## 1、三件事 —— 待
+## 1、把最新方案落进原型 —— 待
**执行者**:执行会话(本工作区,域目录 `执行会话`)
-**目标目录**:`执行会话/目标-收窄热点源并加赛道过滤-8a8412/`
+**目标目录**:`执行会话/目标-根据热点与选题最新方案迭代选题板块功能-d0ac5f/`
-### 起点(只读,⛔ 不要改)—— 现在都在**方案文件夹**里了
+### 起点(只读,⛔ 不要改)—— 全在**方案文件夹**里
`docs/pm/mcn-shortvideo-agent/` 下:
-- `专题/海外热点源-查证.md`(13 986 B,9 条验通 + 6 条没拿到 —— **本目标要收窄的就是它**)
-- `专题/热点与选题-功能细节.md`(39 743 B,四问已落到字段与算法 —— 要改的是「数据从哪来」那一节)
-- `专题/全球平台矩阵.md`(9 229 B,12 个平台)
-- `专题/产品框图-热点与选题-全球版.html`、`专题/功能流程图-热点到选题-全球版.html` —— **要加过滤层的就是这两张**
-- `专题/Easel逆向-热点雷达与选题链路.md`(国内那路的 6 个平台出自它)
-- `prd/2a-产品功能.md`、`prd/2b-界面布局-新版.md`、`ui/mcn-workbench.html`、`ui/DESIGN.md`
-### 第 1 件:砍信源(只留「短视频平台 + 内容社区」)
+**要迭代的原型(本轮的主角)**:
+- `ui/mcn-workbench.html`(153 410 B,V5,10-10)—— **P2「选题雷达」就是「选题板块」**,现在还是 10-10 的版本,**最新方案一个字都没进去**
+- `ui/DESIGN.md`(66 210 B)—— 要跟着同步
-**现状诊断(主会话已核)**:信源里**约 8 条是综合资讯类**,跟短视频内容营销没关系。
-- 海外 9 条验通里,偏资讯的 5 条:`Hacker News`/`Product Hunt`/`Wikipedia Top`/`Google News`/`BBC News`。
-- 国内 6 个平台里,偏资讯的 3 个:`知乎`/`百度`/`头条`。
-- 贴题的是:海外 `Google Trends`(搜索趋势)/`Reddit`(社区讨论)/`YouTube 频道 RSS`(对标账号)/`trends24`(X 趋势);国内 `抖音`/`快手`/`小红书`/`B站`/`微博`/`视频号`。
+**依据(本轮要落的就是这些)**:
+- 🔴 `专题/信源收窄-短视频平台与内容社区.md`(13 225 B)—— 16 路**留 8 弃 8**,热点从哪来以它为准
+- 🔴 `专题/赛道过滤层-设计.md`(23 241 B)—— 赛道表、三档阈值、未匹配档的完整设计
+- 🔴 `专题/产品框图-热点与选题-赛道过滤版.html`(34 463 B)—— 最新的产品框图
+- 🔴 `专题/功能流程图-热点到选题-赛道过滤版.html`(27 382 B)—— 最新的功能流程图
+- `prd/2a-产品功能.md`(68 924 B)—— 已含 **F15 赛道过滤与未匹配档**、F9 的「赛道表」字段组
+- `prd/2b-界面布局.md`(52 992 B)—— P2 那两块已补口径
+- `专题/热点与选题-功能细节.md`(39 743 B)—— 四问落到字段与算法
-**要做**:
-1、逐条过一遍现有信源,按「**这条信号能不能直接用来做短视频选题**」判去留 —— ⛔ 不要照抄我上面的名单就删,你要复核,理由写进文档。
-2、砍掉的源写进文档的「**已弃用**」小节,每条写明**为什么弃**(保持可追溯,⛔ 不是一删了事)。
-3、留用的源补上「**它给的是哪类信号**」(大众热度/垂类讨论/对标动作/平台话题)。
+### 做什么
-### 第 2 件:设计「按账号赛道过滤」这一层
+**把上面这几份方案落进原型 P2**,让选题板块在界面上真能跑出方案说的那套逻辑。至少要能看到:
-**要解决的**:现在热点是「全网大众榜」,做垂类账号的人打开雷达看到的是大盘新闻。要按**账号画像**(`Account` 对象的定位/风格/受众/偏好红线)把热点过滤成「我这个号能做的」。
+1、**热点从哪来** —— 8 路源(收窄后留的)在界面上的入口与状态(哪路有数据、哪路没源要人工录)。
+2、**赛道过滤这一层** —— 赛道表(包含词/排除词)在哪看、在哪改;三档阈值(宽松 55/30、标准 70/40、严格 85/60)怎么呈现;匹配度 `M` 在条目上怎么显示。
+3、**未匹配档** —— 「为什么没进」+ 一键捞回,保留 7 天的口径要在界面上看得见。
+4、**匹配度筛选器** —— 全部/高匹配/可能相关/未匹配四档,默认视图是「高匹配 + 可能相关」。
+5、**`Account` 画像的联动** —— 过滤器读的是当前内容账号的赛道表,切换账号时这一层要跟着变。
-**设计要落到能执行**:
-1、**过滤发生在链路的哪一步**(热点进来之后、进选题库之前?还是选题库里打标?)—— 写清并给理由。
-2、**靠什么匹配**(关键词表?语义?账号画像里的哪些字段?)—— 落到**字段级**,⛔ 不许写「用 AI 判断」这种没法实现的。
-3、**阈值与档位**(匹配度多高才留?要不要给「宽松/标准/严格」三档?)。
-4、**过滤掉的去哪**(丢弃?还是进一个「未匹配」池供人工捞?)。
-5、**多账号怎么办**(一个账号一份赛道表?还是共用一张表按账号权重调?)。
-6、**新增哪些功能条目**(要动 `prd/2a-产品功能.md` 的话,写清新增哪几条、编号接在谁后面、归属哪个页面)。
-7、参考 `专题/热点与选题-功能细节.md` 与 `专题/GPT建议-热点与选题细节.md` 里已有的设计,⛔ 别推翻已有结论,是**在其上补这一层**。
+### 交付要求
-### 第 3 件:框图与流程图加上过滤层
+- 新版原型落你的目标目录;`DESIGN.md` 的对应章节一并更新(放你目录里)。
+- 🔴 **五道闸门全过**:骨架 / 自检 / 变异 / 逐视口 / 命名。⚠️ 动了 P2 ⇒ **逐视口密度表整表重跑**(⛔ 不许沿用上一版的数)。改完先 `node --check` 再跑自检。
+- 文末列「与上一版的实质差别」,逐条列清楚动了哪几处、为什么。
+- 落盘文字过「说人话」(`humanizer-zh`,≥45/50),文末写评分。
-- 在 `专题/产品框图-热点与选题-全球版.html` 与 `专题/功能流程图-热点到选题-全球版.html` 的**新版**上,把「赛道过滤」这一层画出来(热点源 → **赛道过滤** → 选题库)。
-- 用 `product-planning` 自带的 **`diagram-design`**(`E:/ProgramData/.workbuddy/skills/product-planning/references/stage-requirements/assets/diagram-design/SKILL.md`)—— 先读它的 SKILL.md 再画,⛔ 别手搓 SVG、⛔ 别另起一套画法。图要能直接打开看(HTML/SVG)。
-- 块内要看得见**字段名与规则**(比如过滤读的是 `Account` 的哪几个字段、阈值多少),⛔ 不许退回占位图。
+### ⛔ 不许动的
-### ⛔ 两块不许动的
-
-- **`docs/` 下的文件一个字都不许改** —— 你的域锁只允许写 `执行会话/` 目录内。产物全部写在**你自己的目标目录**里;收口时由**主会话**按「方案文件夹两态规则」同步进 `docs/pm/mcn-shortvideo-agent/`(旧的会进 `归档-过期版/`)。⚠️ 这条是本工作区 2026-10-11 刚立的新规矩。
-- 页面 7/导航名与顺序/板块 39/流转 20 条/业务对象 11 个 —— 除第 2 件明确要求的新增功能条目外一律保持。
-- 用户红线(2026-10-10 逐字):「**没让改的 交互不允许乱改**」。
+- **除 P2 之外的六个页面**(P1 矩阵总览/P3 资产库/P4 创作台/P5 发布中心/P6 账号画像/P7 复盘台)—— 交互一律保持原样(用户 2026-10-10 逐字「**没让改的 交互不允许乱改**」)。
+- **平台矩阵不落进来**(12 平台矩阵同步进 `prd`/原型是**待拍板**的事,本轮 ⛔ 不做)。
+- 页面 7/导航一层七项/业务板块 39/流转 20 条/业务对象 11 个 —— 保持。
+- 🔴 **`docs/` 下的文件不许直接改** —— 产物写你自己的目标目录,收口时由主会话按「两态规则」同步进方案文件夹(旧版进 `归档-过期版/`)。
---
diff --git a/tmp/supervise-inbox/_ensure.stamp b/tmp/supervise-inbox/_ensure.stamp
index 9d8cd97..3e14b5d 100644
--- a/tmp/supervise-inbox/_ensure.stamp
+++ b/tmp/supervise-inbox/_ensure.stamp
@@ -1 +1 @@
-2026-10-11 19:52:40
\ No newline at end of file
+2026-10-11 22:05:38
\ No newline at end of file
diff --git a/tmp/supervise-inbox/check-agent.json b/tmp/supervise-inbox/check-agent.json
index 8ebd907..ee29f53 100644
--- a/tmp/supervise-inbox/check-agent.json
+++ b/tmp/supervise-inbox/check-agent.json
@@ -1,13 +1,13 @@
{
- "round": 51,
- "name": "[检查]-[目标检查]-contentm_agent-第51棒",
+ "round": 53,
+ "name": "[检查]-[目标检查]-contentm_agent-第53棒",
"reason": "queue-empty",
"kind": "目标检查",
- "at": "2026-10-11T20:39:34",
- "fire_at": "20:41:04",
+ "at": "2026-10-11T21:39:36",
+ "fire_at": "21:41:06",
"queue_pending": 0,
- "idle_min": 58.9,
- "id": "ca31ec5e-42f0-4963-b1cb-daf9cefb5049",
- "last_queue-empty": 1791722374.0385342,
+ "idle_min": 21.9,
+ "id": "2e4781c0-fa4c-45f3-9b22-e2f6ea70452f",
+ "last_queue-empty": 1791725976.7021155,
"last_sessions-ended": 1791505026.3432362
}
\ No newline at end of file
diff --git a/tmp/supervise-inbox/collabd-state.json b/tmp/supervise-inbox/collabd-state.json
index 7a8a853..0192bbe 100644
--- a/tmp/supervise-inbox/collabd-state.json
+++ b/tmp/supervise-inbox/collabd-state.json
@@ -1 +1 @@
-{"roles": {}, "notify_pending": [], "to_main_retired": true, "queue_info": {"n": 27, "by": {"pending": 0, "running": 0, "done": 27, "blocked": 0}, "awaiting": "", "sent": "", "phase": "", "notice": "", "deliver": {"skipped": "retired-20261003"}, "goals_open": true}, "q_sig": "1b5dce36-1d47-4661-b6e5-af6c7ad2e33e=done|254f554c-2b47-47c9-ae69-3047cf1da84e=done|346cf532-64c7-4dbb-ba05-01f7a8641b9b=done|34ab0198-d0fa-4e9d-978b-6c7f40a2978a=done|3cadf11b-399d-49c9-b5c4-684ae0ddeefe=done|3ddac1cb-e73d-4d1d-b8e2-220a9ca2d51d=done|3f59c890-4d66-4f46-8afa-056f57facf8c=done|47860f06-c51f-4c2a-b7ad-2a6362b8a675=done|4927305a-4eee-4809-97f8-5c7ad7a2f85e=done|521ae77f-b381-439f-b208-c4984982ee3d=done|52ace70a-bd4a-4201-a7b0-62237c092375=done|6ec1b428-b2d7-4274-bb74-07c1122d9aa6=done|6f6cd256-854d-4817-8512-938df6944b07=done|7446f482-0572-46ae-b444-7dbbf046cf6f=done|745bf50a-5b42-4f2d-8452-1c830abb6215=done|75bfa487-7983-4863-b365-44085950f016=done|99c2557c-c4e1-494f-acd9-226212c0132c=done|a41bb3a3-1015-4a1c-9269-1fd75f998cb7=done|a4993b72-040e-49db-beb4-375f5201ff61=done|ab0f2d84-6db2-4d78-94fa-f08f5a8e99d2=done|b7a72c2c-a4ab-462d-a71a-002031e9f285=done|d7ea834b-1aff-4a3b-afcf-cb9ec9aefd51=done|dc972b1d-b702-45f1-95b9-e0c2c5c28f43=done|ea3ce52d-6afd-4397-a737-ec7626e2e73d=done|f1b99d3d-2488-44b1-9d43-1e41524d29ba=done|fae90e6f-c1fa-404e-b023-6e5fb4835b6a=done|fd655683-dec4-461f-88cd-b7135638d995=done", "q_transition_at": 1791718104.204462}
\ No newline at end of file
+{"roles": {}, "notify_pending": [], "to_main_retired": true, "queue_info": {"n": 29, "by": {"pending": 0, "running": 0, "done": 29, "blocked": 0}, "awaiting": "", "sent": "", "phase": "", "notice": "", "deliver": {"skipped": "retired-20261003"}, "goals_open": true}, "q_sig": "1b5dce36-1d47-4661-b6e5-af6c7ad2e33e=done|1d1fdce6-3d0d-4b32-bc58-2dfcaf6a3810=done|254f554c-2b47-47c9-ae69-3047cf1da84e=done|346cf532-64c7-4dbb-ba05-01f7a8641b9b=done|34ab0198-d0fa-4e9d-978b-6c7f40a2978a=done|3cadf11b-399d-49c9-b5c4-684ae0ddeefe=done|3ddac1cb-e73d-4d1d-b8e2-220a9ca2d51d=done|3f59c890-4d66-4f46-8afa-056f57facf8c=done|47860f06-c51f-4c2a-b7ad-2a6362b8a675=done|4927305a-4eee-4809-97f8-5c7ad7a2f85e=done|521ae77f-b381-439f-b208-c4984982ee3d=done|52ace70a-bd4a-4201-a7b0-62237c092375=done|6ec1b428-b2d7-4274-bb74-07c1122d9aa6=done|6f6cd256-854d-4817-8512-938df6944b07=done|7446f482-0572-46ae-b444-7dbbf046cf6f=done|745bf50a-5b42-4f2d-8452-1c830abb6215=done|75bfa487-7983-4863-b365-44085950f016=done|99c2557c-c4e1-494f-acd9-226212c0132c=done|a41bb3a3-1015-4a1c-9269-1fd75f998cb7=done|a4993b72-040e-49db-beb4-375f5201ff61=done|ab0f2d84-6db2-4d78-94fa-f08f5a8e99d2=done|b7a72c2c-a4ab-462d-a71a-002031e9f285=done|d7ea834b-1aff-4a3b-afcf-cb9ec9aefd51=done|dc972b1d-b702-45f1-95b9-e0c2c5c28f43=done|ea3ce52d-6afd-4397-a737-ec7626e2e73d=done|f1b99d3d-2488-44b1-9d43-1e41524d29ba=done|f615337b-ddaa-4e4a-8d50-20243403570c=done|fae90e6f-c1fa-404e-b023-6e5fb4835b6a=done|fd655683-dec4-461f-88cd-b7135638d995=done", "q_transition_at": 1791725526.2780952}
\ No newline at end of file
diff --git a/tmp/supervise-inbox/goal.json b/tmp/supervise-inbox/goal.json
index b8353f1..94a184e 100644
--- a/tmp/supervise-inbox/goal.json
+++ b/tmp/supervise-inbox/goal.json
@@ -1,5 +1,5 @@
{
- "title": "收窄热点源并加赛道过滤",
+ "title": "根据热点与选题最新方案迭代选题板块功能",
"why": "用户令:这两件事都纳入目标管理。一、左侧导航改回去=侧栏从 128px 图标在左 改回设计供给基准 64px 药丸浮栏图标在上名字在下 依据 design-system-tiaoyue SKILL.md 行95 w-16 等于 64px 加第八轮实测值;二、刷新按钮用 icon 按钮并和小标题一行右对齐 即由文字按钮改成图标 挪到页面标题行右侧。此前这两件只挂在排期 95d7e790 上、到点未被拉起,故纳入目标管理。",
"topics": [
"产品规划"
@@ -7,18 +7,18 @@
"topics_declared_at": "2026-10-10T22:49",
"topics_declared_by": "对话(调用 session-mechanism 时说明)",
"acceptance_state": {
- "信源清单已收窄到短视频平台与内容社区": "未过|本轮刚声明待派活",
- "赛道过滤层已设计并落进产品功能文档": "未过|本轮刚声明待派活",
- "框图与流程图已加上过滤层": "未过|本轮刚声明待派活"
+ "选题板块原型已按最新方案迭代并落盘": "未过|本轮刚声明待派活",
+ "prd与原型骨架逐位一致": "未过|本轮刚声明待派活",
+ "五道闸门全过": "未过|本轮刚声明待派活"
},
- "declared_at": "2026-10-11T20:39",
+ "declared_at": "2026-10-11T22:08",
"declared_by": "对话(调用 session-mechanism 时说明)",
"lifecycle": "进行中",
- "lifecycle_at": "2026-10-11T20:39:14",
+ "lifecycle_at": "2026-10-11T22:08:32",
"lifecycle_by": "goalctl declare --switch-goal(换目标自动复位)",
- "execution_doc": "执行会话/目标-收窄热点源并加赛道过滤-8a8412/目标执行状态.md",
- "execution_doc_at": "2026-10-11 20:39:14",
+ "execution_doc": "执行会话/目标-根据热点与选题最新方案迭代选题板块功能-d0ac5f/目标执行状态.md",
+ "execution_doc_at": "2026-10-11 22:08:33",
"lifecycle_why": "换目标 ⇒ 复位(改前=已完成);旧目标整份归档,可在归档件里回查",
- "_前身目标": "按全球口径重做平台矩阵与热点源含海外主流(已于 2026-10-11T20:39 换目标时归档至 goals/按全球口径重做平台矩阵与热点源含海外主流__20261011-2039.json)",
+ "_前身目标": "收窄热点源并加赛道过滤(已于 2026-10-11T22:08 换目标时归档至 goals/收窄热点源并加赛道过滤__20261011-2208.json)",
"execution_doc_by": "[检查]-[目标检查]-contentm_agent-第42棒"
}
\ No newline at end of file
diff --git a/tmp/supervise-inbox/goals/收窄热点源并加赛道过滤__20261011-2208.json b/tmp/supervise-inbox/goals/收窄热点源并加赛道过滤__20261011-2208.json
new file mode 100644
index 0000000..eec0da8
--- /dev/null
+++ b/tmp/supervise-inbox/goals/收窄热点源并加赛道过滤__20261011-2208.json
@@ -0,0 +1,24 @@
+{
+ "title": "收窄热点源并加赛道过滤",
+ "why": "用户令:这两件事都纳入目标管理。一、左侧导航改回去=侧栏从 128px 图标在左 改回设计供给基准 64px 药丸浮栏图标在上名字在下 依据 design-system-tiaoyue SKILL.md 行95 w-16 等于 64px 加第八轮实测值;二、刷新按钮用 icon 按钮并和小标题一行右对齐 即由文字按钮改成图标 挪到页面标题行右侧。此前这两件只挂在排期 95d7e790 上、到点未被拉起,故纳入目标管理。",
+ "topics": [
+ "产品规划"
+ ],
+ "topics_declared_at": "2026-10-10T22:49",
+ "topics_declared_by": "对话(调用 session-mechanism 时说明)",
+ "acceptance_state": {
+ "信源清单已收窄到短视频平台与内容社区": "过|16 路逐条复核,留 8 弃 8,弃用每条写了实测返回值与拿回条件,产物 信源收窄-短视频平台与内容社区.md",
+ "赛道过滤层已设计并落进产品功能文档": "过|prd/2a 已落 F15(L179)与 F9 赛道表扩写(L95/L318/L324/L400),prd/2b 补两句(L173/L191),归档两份与索引已同步,闸门 2061|0|27 与改前同值,第 53 棒磁盘定向核验",
+ "框图与流程图已加上过滤层": "过|两张图新增赛道过滤段,块内写死字段名与三档阈值,diagram-design 自检 OK 且有变异对照证据"
+ },
+ "declared_at": "2026-10-11T21:43",
+ "declared_by": "对话(调用 session-mechanism 时说明)",
+ "lifecycle": "已完成",
+ "lifecycle_at": "2026-10-11T21:44:00",
+ "lifecycle_by": "[检查]-[目标检查]-contentm_agent-第53棒",
+ "execution_doc": "执行会话/目标-收窄热点源并加赛道过滤-8a8412/目标执行状态.md",
+ "execution_doc_at": "2026-10-11 20:39:14",
+ "lifecycle_why": "换目标 ⇒ 复位(改前=已完成);旧目标整份归档,可在归档件里回查",
+ "_前身目标": "按全球口径重做平台矩阵与热点源含海外主流(已于 2026-10-11T20:39 换目标时归档至 goals/按全球口径重做平台矩阵与热点源含海外主流__20261011-2039.json)",
+ "execution_doc_by": "[检查]-[目标检查]-contentm_agent-第42棒"
+}
diff --git a/tmp/supervise-inbox/supervise.pid b/tmp/supervise-inbox/supervise.pid
index 1dda15f..f0e0279 100644
--- a/tmp/supervise-inbox/supervise.pid
+++ b/tmp/supervise-inbox/supervise.pid
@@ -1 +1 @@
-38476
\ No newline at end of file
+4312
\ No newline at end of file
diff --git a/tmp/supervise-inbox/tasks-events.jsonl b/tmp/supervise-inbox/tasks-events.jsonl
index 4f9bff6..586baeb 100644
--- a/tmp/supervise-inbox/tasks-events.jsonl
+++ b/tmp/supervise-inbox/tasks-events.jsonl
@@ -37,3 +37,5 @@
{"ts": "2026-10-11T17:13:13", "id": "3ddac1cb-e73d-4d1d-b8e2-220a9ca2d51d", "from": "", "to": "done", "by": "", "artifact": "执行会话/目标-征询GPT对选题板块细节的建议并重画框图-8a649c/热点与选题-功能细节-2026-10-11.md"}
{"ts": "2026-10-11T19:28:17", "id": "346cf532-64c7-4dbb-ba05-01f7a8641b9b", "from": "", "to": "done", "by": "[执行]-[产品规划]-按全球口径重做平台矩阵与海外热点源", "artifact": "E:/ProgramData/AIProject/contentm_agent/执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/交付说明.md"}
{"ts": "2026-10-11T19:28:28", "id": "346cf532-64c7-4dbb-ba05-01f7a8641b9b", "from": "done", "to": "done", "by": "[执行]-[产品规划]-按全球口径重做平台矩阵与海外热点源", "artifact": "执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/交付说明.md"}
+{"ts": "2026-10-11T20:57:40", "id": "f615337b-ddaa-4e4a-8d50-20243403570c", "from": "", "to": "done", "by": "", "artifact": "执行会话/目标-收窄热点源并加赛道过滤-8a8412/"}
+{"ts": "2026-10-11T21:31:57", "id": "1d1fdce6-3d0d-4b32-bc58-2dfcaf6a3810", "from": "", "to": "done", "by": "", "artifact": "E:/ProgramData/AIProject/contentm_agent/执行会话/目标-收窄热点源并加赛道过滤-8a8412/2a-落盘记录.md"}
diff --git a/tmp/supervise-inbox/tasks.json b/tmp/supervise-inbox/tasks.json
index b5d8dc8..b4be840 100644
--- a/tmp/supervise-inbox/tasks.json
+++ b/tmp/supervise-inbox/tasks.json
@@ -217,5 +217,21 @@
"goal_fp": "39646d",
"artifact": "执行会话/目标-按全球口径重做平台矩阵与热点源含海外主流-39646d/交付说明.md",
"t_end": 1791718108.955209
+ },
+ "f615337b-ddaa-4e4a-8d50-20243403570c": {
+ "state": "done",
+ "by": "",
+ "t": 1791723460.694839,
+ "goal_fp": "8a8412",
+ "artifact": "执行会话/目标-收窄热点源并加赛道过滤-8a8412/",
+ "t_end": 1791723460.6950262
+ },
+ "1d1fdce6-3d0d-4b32-bc58-2dfcaf6a3810": {
+ "state": "done",
+ "by": "",
+ "t": 1791725517.0852895,
+ "goal_fp": "8a8412",
+ "artifact": "E:/ProgramData/AIProject/contentm_agent/执行会话/目标-收窄热点源并加赛道过滤-8a8412/2a-落盘记录.md",
+ "t_end": 1791725517.085476
}
}
\ No newline at end of file