Skip to content

docs: delete the 14 locale siblings that still forecast federation as unshipped - #290

Merged
hotlong merged 1 commit into
mainfrom
claude/pm-dispatch-objectos-ju9td1
Oct 5, 2026
Merged

hotlong merged 1 commit into
mainfrom
claude/pm-dispatch-objectos-ju9td1

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Part of #256

This PR deletes 14 locale files. It changes nothing else: no English page, no AGENTS.md, no other locale file. It carries out part 1 of the ruling on the card (comment 5989567068, batch 1 item 4, letter A). Part 2, the governed AGENTS.md step-3 amendment, is a separate PR, so the card stays open after this one merges.

The criterion, and why these 14 files meet it

From the ruling: "an English correction that removes or reverses a capability assertion deletes that page's locale siblings in the same PR."

Neither English source carries the forecast any more. Measured on main @ 7612ffe:

All 14 siblings still assert the retired forecast. Each quote below is from 7612ffe, with line breaks shown as spaces and the ADR-0015 URL shortened to (…):

File Line(s) Retired claim
configure/data-sources.de.mdx 245-246 in aktiver Konzeption (Status: *Proposed*). Geplant, **noch nicht ausgeliefert**:
configure/data-sources.es.mdx 239 (estado: *Propuesto*). Previsto, pero **aún no disponible**:
configure/data-sources.fr.mdx 250 (statut : *Proposed*). Prévu, **pas encore livré** :
configure/data-sources.ja.mdx 165 (ステータス: *Proposed*)の下で活発に設計中です。計画されている、**まだ出荷されていない**もの:
configure/data-sources.ko.mdx 165 (상태: *Proposed*) 아래에서 활발히 설계되고 있습니다. 계획되어 있지만 **아직 출시되지 않은** 것들:
configure/data-sources.zh-Hans.mdx 198 下积极设计中(状态:*Proposed*)。计划中、**尚未发布**的内容:
configure/data-sources.zh-Hant.mdx 199 下積極設計中(狀態:*Proposed*)。計劃中、**尚未釋出**的內容:
extend-existing-systems.de.mdx 98-100 ist in aktiver Konzeption unter [ADR-0015](…) (Status: *Proposed*). Bis es soweit ist, ist der dokumentierte Weg —
extend-existing-systems.es.mdx 97-99 está en diseño activo bajo [ADR-0015](…) (estado: *Propuesto*). Hasta que llegue, el camino documentado —
extend-existing-systems.fr.mdx 98-100 est en cours de conception active sous [ADR-0015](…) (statut : *Proposed*). En attendant son arrivée, le parcours documenté —
extend-existing-systems.ja.mdx 91-92 は [ADR-0015](…) (ステータス: *Proposed*)のもとで活発に設計が進められています。それが
extend-existing-systems.ko.mdx 89-90 [ADR-0015](…) 아래에서 활발히 설계 중입니다(상태: *Proposed*). 그것이 도착하기 전까지,
extend-existing-systems.zh-Hans.mdx 84-85 [ADR-0015](…) 下积极设计中(状态:*Proposed*)。在它落地之前,这条已记录的
extend-existing-systems.zh-Hant.mdx 85-86 [ADR-0015](…) 下積極設計中(狀態:*Proposed*)。在它落地之前,這條已記錄的

zh-Hant goes with zh-Hans, and the generator accepts that

apps/docs/scripts/gen-zh-hant.mjs only plans a Traditional file from a Simplified one (plan()), and it flags any Traditional file nothing plans (strays()). Deleting both files of a pair is therefore what --check expects. The generator is not edited.

  • On 7612ffe, --check prints ✓ zh-Hant: 73 generated file(s) match the zh-Hans sources byte for byte. and exits 0.
  • On f6dd7a0, it prints ✓ zh-Hant: 71 generated file(s) match … and exits 0.
  • Control leg, run once and not kept: I restored only configure/data-sources.zh-Hant.mdx and left its zh-Hans source deleted. --check exited 1 with no zh-Hans source, so nothing generates it: content/docs/configure/data-sources.zh-Hant.mdx. I then removed the restored file and proved the tree clean: git diff HEAD printed nothing. --check was back to 71 files and exit 0.

What a reader gets after the deletion

I measured this on the production build of f6dd7a0, both from the prerendered files and served by next start.

Route HTTP html lang Body Canonical
/ja/docs/configure/data-sources 200 ja English: "ships today" 2 hits, まだ出荷されていない 0, Proposed 0 https://docs.objectos.ai/docs/configure/data-sources
/zh-Hant/docs/configure/data-sources 200 zh-Hant English: "ships today" 2 hits, 尚未釋出 0, Proposed 0 the English URL
/ko/docs/extend-existing-systems 200 ko English, title Extend Existing Systems, Proposed 0 https://docs.objectos.ai/docs/extend-existing-systems
/ja/docs/quickstart (control, still translated) 200 ja Japanese, title クイックスタート https://docs.objectos.ai/ja/docs/quickstart

So the locale route still renders, inside the locale's page shell, with the current English body. The built sitemap.xml lists both pages only under en and x-default, with no locale alternates. The control /ja/docs/quickstart is still listed with hreflang="ja".

Gates on f6dd7a0 (this PR's head; git status empty)

Gate Exit Its own verdict
pnpm turbo run build --force (through the shared lock) 0 Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total
pnpm turbo run test --force (through the shared lock) 0 Tasks: 1 successful, 1 total · Cached: 0 cached, 1 total
pnpm turbo run type-check --continue --force 0 Tasks: 1 successful, 1 total · ✓ Types generated successfully
node .github/scripts/check-locale-surface.mjs 0 Oracle 383 docs entries; sitemap.xml 395 expected / 0 unexpected / 0 missing; ✓ every advertised URL has a source file and every source file is advertised; …
node .github/scripts/check-translations.mjs 0 ✓ translations gate passed. Translations went from 318 to 304. Per translated locale, stale went down by 2 and missing up by 2 (reported, not blocking).
node apps/docs/scripts/gen-zh-hant.mjs --check 0 ✓ zh-Hant: 71 generated file(s) match the zh-Hans sources byte for byte.
check-translation-ownership.mjs --actor "objectstack-fleet[bot]" --files changed.txt (list from git diff --name-only 7612ffe...HEAD) 0 ⚠ TRANSLATION_BOT_LOGIN is not set — ownership is not enforced yet. · This PR touches 14 translation artifact(s) and 0 other file(s).
check-translation-output.mjs --self-test 0 ✓ self-test: 29 rule case(s), 9 split case(s) and 5 derived-locale case(s) …
check-translation-output.mjs --files changed-output.txt 0 blocking on **14** changed translation(s) · ✓ translation output gate passed (127 pre-existing finding(s) reported)

Acceptance notes

  • AGENTS.md:69 will be one count behind after this PR. It says "Coverage tracks Simplified exactly (62 of 79 pages today). The 17 without …". On f6dd7a0 that is 60 of 79, and 19 without. I left it alone, because it is outside this PR's file surface. Part 2, the governed AGENTS.md PR on the same card, is the natural place to update it.
  • The ownership gate would reject this kind of PR once it is switched on. With TRANSLATION_BOT_LOGIN=placeholder-translator and actor objectstack-fleet[bot], this diff exits 1 (This PR edits 14 translation artifact(s)). An English-only control diff under the same setting exits 0. Deleted paths count as edited artifacts. So once the variable is set, the ruled criterion and AGENTS.md step 3's retire/rename rule both produce PRs this gate rejects. The gate's own failure text recommends exactly that deletion. This is dormant today: the variable is unset, and The ownership check is inert on main until TRANSLATION_BOT_LOGIN is set #68 is open. Carriers: The ownership check is inert on main until TRANSLATION_BOT_LOGIN is set #68, which decides when the gate turns on, and part 2, which writes the criterion into step 3.
  • The fallback pages keep the locale's page shell. A fallback page serves the English body under html lang="ja" (and so on). This is already true of every untranslated page and is how Fumadocs falls back. No one is assigned to it. I'm noting it here, not filing it.

Generated by Claude Code

…shipped

The English sources of configure/data-sources and extend-existing-systems
no longer say turn-key external datasource federation is planned and
unshipped: data-sources.mdx now says it ships today (ADR-0015 Accepted),
and extend-existing-systems.mdx dropped the forecast section. Their 14
locale siblings (de, es, fr, ja, ko, zh-Hans, zh-Hant) still assert the
retired claim, which reverses a capability assertion the English source
now makes. A missing translation renders the correct English page; a
stale one renders the reversed claim. So the siblings are deleted rather
than left for a translation pass.

zh-Hant is deleted together with its zh-Hans source: gen-zh-hant.mjs
plans a Traditional file only from a Simplified one, so with both gone
`--check` expects neither.

Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants