Skip to content

[Decision] An English docs correction leaves its locale siblings asserting the corrected-away claim — #59 says delete them, the seat post says leave them, and #68 blocks the pass that would fix them #256

Description

@os-bill

Filed by the repo:objectos seat, session_01ChPQM8jamxLUfUAxwFpJ8S, round 1, from a concrete instance created by this lane, today. Not hypothetical and not a policy musing: PR #252 landed as 1034f5f an hour ago and the situation below is live on main right now.

The instance

#250 was filed because configure/data-sources.mdx told readers a shipped capability was a roadmap item. Its own severity argument: "Someone evaluating whether ObjectOS can sit on their existing production database reads this page, concludes the safety gates they need are a roadmap item, and leaves."

PR #252 fixed that — in English. Measured on origin/main after the merge:

File Still carries the retired forecast?
data-sources.mdx (en) no — clean, 0 hits
data-sources.ja.mdx:165 yes — 「計画されている、まだ出荷されていないもの」
data-sources.ko.mdx:165 yes — 「계획되어 있지만 아직 출시되지 않은
data-sources.fr.mdx:250 yes — "(statut : Proposed). Prévu, pas encore livré"
data-sources.zh-Hans.mdx:198 yes — 「计划中、尚未发布的内容」
data-sources.zh-Hant.mdx:199 yes — 「計劃中、尚未釋出的內容」
data-sources.de.mdx:238 yes — ## Roadmap: In-Product External Datasource Federation
data-sources.es.mdx:238 yes — same section, ADR-0015 link intact

So the exact harm the card was filed over is fixed in one language and live in seven. No gate fires: check-translations.mjs passed on the PR, and the freshness signal these siblings now carry is provenance, which routes them to a worklist (see below).

This is not a one-off. Every English correction this lane lands creates it. #254 — already queued, the twin defect on extend-existing-systems.mdx — will create it again on that page's siblings the moment it lands.

Why the seat cannot settle this: two recorded positions point opposite ways

#59 (closed, adjudicated) says delete:

Fumadocs falls back to English when a translation is missing, so ⇒ Delete the stale translations of any rewritten page rather than leaving them. A stale translation renders wrong content; a missing one renders correct English. ⛔ Do not leave a translated page asserting the retired story.

The repo:objectos seat post (standing note) says leave:

Locale siblings go stale by design — seven quickstart.*.mdx still carry the 3002 banner, correctly.

Both have a real argument. #59's is mechanical: missing renders correct English, stale renders wrong content, so leaving is strictly worse than deleting. The seat post's is that a stale port number in an otherwise-correct page is not worth deleting a whole translated page over.

The distinction that probably separates them is whether the stale claim is merely out of date or actively false in the direction that costs a reader — but that line has never been drawn, so it is being decided ad hoc, per PR, by whoever is holding the seat.

And the escape hatch is closed. PR #252's body says the siblings "the next translation pass fixes". That pass cannot run: #68 (create the translation account) is an open decision card, and #75 and #135 are both pm:blocked on it. So "leave it for the pass" currently means "leave it indefinitely", which is not what that sentence promises.

四维分析

维度 读数
长远合理性(权重 ≥50%) 指向「按判据删」。 #59 的论证是机械的、与具体页面无关的:缺失 → 回退到正确英文;过期 → 渲染错误内容。留着永远严格更差。而现状最坏的不是任一选项,是没有规则 —— 同一个问题每次由当班席位临时决定,#59 与座位贴各被引用一半,这正是本卡要终结的漂移。
实际业务需求 指向「删」,而且这次有量。 受影响的是评估期读者 —— #250 自己论证的正是这类读者「读完就走」。七种语言里,日/韩/法/简/繁五种明确写着「尚未发布」。这不是陈旧,是反向错误
防 AI 写代码犯错 指向「删」并写成机械判据。 现在没有任何门禁能区分「过期但无害」与「过期且反向错误」,靠的是 dev 和 PM 每次的判断力 —— 而本轮的 dev 在 PR 正文里写下了「下一次翻译 pass 会修」这句今天为假的话,不是失职,是它信了座位贴那条note。声明即强制:没有机制兑现的承诺不该写进 PR 正文。
创业阶段不扩散 偏向最小动作。 删除 = 少 7 个文件、读者拿到正确英文、零新机制。反过来「先建翻译账号再补翻译」是把一个内容删除挂在一条未决的基础设施决定(#68)后面。⚠️ 但删除是发布内容的删除,不可逆(重译需要 #68 那个不存在的账号),所以本席不自裁。

四棱基本同向(删),但落在人工地板上:发布内容的破坏性删除 + 两条在案记录直接冲突。 按规则恒交维护者。⛔ 本席不代裁 —— 执行席无代裁通道,且这不是「恢复不变量」那类自带答案的修复。

Options

动作 代价
A(推荐) 定一条判据:英文修正移除或反转一条能力断言时,同 PR 删除其 locale 兄弟;纯措辞/数字漂移(如 3002 端口)照旧留给 pass。立即适用于本次 7 个文件与 #254 需要写清判据;删除不可逆
B 一律删除任何被改写页面的 locale 兄弟(#59 字面) 简单机械,但会因一个端口号删掉整页翻译
C 一律留着,等 #68 解锁翻译 pass 诚实但今天等于「无限期留着错的」;需要同时撤掉 PR 正文里那句承诺
D 先解 #68,再回来定这条 把内容正确性挂在基础设施决定后面

推荐 A,判据落在「断言被移除或反转」而不是「文件被改动」——它正好把 #59 的案例(退役故事)和座位贴的案例(端口号)分到两边,两条在案记录都不必被推翻。

若你选 A 或 B,本席立即派发本次 7 个文件的删除,并把判据写进座位贴的常设条款,#254 落地时同步适用。 若选 C,本席会去修正 PR #252 正文里那句今天为假的承诺。

Re-check

git -C objectos fetch origin main
for f in $(git ls-tree -r --name-only origin/main content/docs/configure | grep -E 'data-sources\..*\.mdx$'); do
  echo "--- $f"; git show origin/main:$f | grep -niE 'ADR-0015|Proposed|Roadmap' | head -2
done
git -C objectos show origin/main:content/docs/configure/data-sources.mdx | grep -c 'not yet shipped'

Related: #59 (the delete ruling) · #68 (blocks the translation pass) · #75 · #135 (both blocked on #68) · #250 / PR #252 (the instance) · #254 (will repeat it).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions