三个仓都有 slug 门了(今天补齐的),但口径互不相同
今天把三个 PUBLIC 仓的 slug 防护补齐了(#756 / #771 / dashboard#25),
过程中横向比出一件事:三道门对「哪些文件算公开」的判断不一致,而这不是笔误,
每一处都有各自写明的理由。
| 仓 |
实现 |
覆盖 |
对 docs/ |
agent-network |
.github/scripts/check-no-memory-slugs.py |
os.walk 全树,EXTENSIONS 白名单(今天加了 .sh/.py) |
扫,但 ALLOWLIST_PATH_PREFIXES 放行 docs/sop/、docs/rfcs/、docs/research/、docs/troubleshooting/、docs/tests/ |
agent-network-app |
.github/workflows/scrub-guard.yml |
仅 src/ + App.tsx |
完全不扫(注释:internal notes may reference slugs) |
agent-network-dashboard |
同上,今天移植 |
仅 app/ |
完全不扫(沿用移植来源的口径) |
具体后果:同一个 slug,在两个仓待遇不同
agent-network-app docs/RFC-026-mobile-picker-design.md:150
… per `[[feedback_doc_capability_claim_verify_code_path]]` ← 门有意放行,留在 PUBLIC main 上
agent-network docs/ 下同类文件
→ 若不在那五个 ALLOWLIST 前缀内,会被拦
两个仓都是 PUBLIC,同一类内容,一个放行一个拦截。
这不是「谁写错了」
每一处都写了理由:
app / dashboard:内部笔记引用 slug 有其用处,全面禁止会让笔记失去索引价值;
agent-network:用前缀白名单而不是整个 docs/ 豁免,是更细的折中。
问题在于三个仓没有共同答案,而它们面向的是同一批读者、同一个公开面。
需要一次决定(我不替 owner 定)
三选一,或另有第四种:
- 统一为「代码禁、docs 允许」 —— 与 app/dashboard 现状一致,
agent-network 放宽;
- 统一为「全仓禁,少数明确目录豁免」 —— 与
agent-network 现状一致,app/dashboard 收紧
(代价:app 的 docs/RFC-026 需要清理);
- 按仓自行决定 —— 现状,但至少要写下来,否则下一个人会以为某个仓漏配了。
附:我在这条线上做过的事
#756 给 agent-network 的门补分母(此前扫 0 个文件与扫 898 个输出逐字相同);
#771 补 .sh/.py 覆盖 —— 三处真 slug 一直藏在那 898 之外;
dashboard#25 从零补门 + 清 2 处泄漏(此前完全没有门),并已核实它在 main 上
真跑过(completed/success);
app 仓的门是三者里写得最好的(自报分母、范围与理由写在注释里),我只验证未改动。
横向比才发现的规律:三道门各有各的盲区 —— 一个没有门、一个漏文件类型、一个有意不扫 docs。
单看任何一个仓都发现不了。
三个仓都有 slug 门了(今天补齐的),但口径互不相同
今天把三个 PUBLIC 仓的 slug 防护补齐了(
#756/#771/dashboard#25),过程中横向比出一件事:三道门对「哪些文件算公开」的判断不一致,而这不是笔误,
每一处都有各自写明的理由。
docs/agent-network.github/scripts/check-no-memory-slugs.pyos.walk全树,EXTENSIONS白名单(今天加了.sh/.py)ALLOWLIST_PATH_PREFIXES放行docs/sop/、docs/rfcs/、docs/research/、docs/troubleshooting/、docs/tests/agent-network-app.github/workflows/scrub-guard.ymlsrc/+App.tsxagent-network-dashboardapp/具体后果:同一个 slug,在两个仓待遇不同
两个仓都是 PUBLIC,同一类内容,一个放行一个拦截。
这不是「谁写错了」
每一处都写了理由:
app/dashboard:内部笔记引用 slug 有其用处,全面禁止会让笔记失去索引价值;agent-network:用前缀白名单而不是整个docs/豁免,是更细的折中。问题在于三个仓没有共同答案,而它们面向的是同一批读者、同一个公开面。
需要一次决定(我不替 owner 定)
三选一,或另有第四种:
agent-network放宽;agent-network现状一致,app/dashboard 收紧(代价:
app的docs/RFC-026需要清理);附:我在这条线上做过的事
#756给agent-network的门补分母(此前扫 0 个文件与扫 898 个输出逐字相同);#771补.sh/.py覆盖 —— 三处真 slug 一直藏在那 898 之外;dashboard#25从零补门 + 清 2 处泄漏(此前完全没有门),并已核实它在 main 上真跑过(
completed/success);app仓的门是三者里写得最好的(自报分母、范围与理由写在注释里),我只验证未改动。横向比才发现的规律:三道门各有各的盲区 —— 一个没有门、一个漏文件类型、一个有意不扫 docs。
单看任何一个仓都发现不了。