Skip to content

[policy] 三个公开仓的 slug 门口径不一致:同一个 slug 在 app 仓放行、在主仓拦截,需要一次统一决定 #772

Description

@vansin

三个仓都有 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 定)

三选一,或另有第四种:

  1. 统一为「代码禁、docs 允许」 —— 与 app/dashboard 现状一致,agent-network 放宽;
  2. 统一为「全仓禁,少数明确目录豁免」 —— 与 agent-network 现状一致,app/dashboard 收紧
    (代价:appdocs/RFC-026 需要清理);
  3. 按仓自行决定 —— 现状,但至少要写下来,否则下一个人会以为某个仓漏配了。

附:我在这条线上做过的事

  • #756agent-network 的门补分母(此前扫 0 个文件与扫 898 个输出逐字相同);
  • #771.sh/.py 覆盖 —— 三处真 slug 一直藏在那 898 之外;
  • dashboard#25 从零补门 + 清 2 处泄漏(此前完全没有门),并已核实它在 main 上
    真跑过(completed/success);
  • app 仓的门是三者里写得最好的(自报分母、范围与理由写在注释里),我只验证未改动。

横向比才发现的规律:三道门各有各的盲区 —— 一个没有门、一个漏文件类型、一个有意不扫 docs。
单看任何一个仓都发现不了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions