You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 3 (deterministic propagation) applies inert frontmatter changes by replacing the value portion of an existing key line (per tests/specs/PIPELINE-SPEC.md, Frontmatter scope). A newly added inert key has no key line to find in the locale file, so the addition is silently dropped — and the manifests are still stamped as current, burying the gap from all future incremental runs.
Observed
26bdbe8 added template: roadmap/template: upgrade to 12 English roadmap pages (2026-06-24).
The next pipeline run (PR i18n: translation pipeline (all languages) #18868, 2026-07-22) re-translated several of those pages (e.g. single-slot-finality in 22 locales) yet 0 of 24 locales received the key on any of the 12 pages, and the stamped manifests now treat the change as handled.
User-facing result: every non-English version of those 12 pages rendered the Static layout instead of TopicLayout, since app/[locale]/[...slug]/page.tsx resolves frontmatter.template || getLayoutFromSlug(slug) and the slug fallback returns static for roadmap/*.
Expected
An inert frontmatter key added in English is inserted into each locale's frontmatter (mirroring English key order); translatable key additions route to the LLM list. Key removals are presumably the same class — worth covering in the same fix.
Remediation already applied
Hand-propagated the 288 missing key lines in #18890 + a scoped stamp_only run against that branch. The pipeline gap itself remains.
Pointers
tests/specs/PIPELINE-SPEC.md — Phase 2 classifies frontmatter fields independently (template = inert); Phase 3 frontmatter rules only specify value replacement
Repro fixture idea: add a new inert key to an English fixture and assert it lands in locale output (mutation table in tests/specs/SPEC.md has no key-addition case)
Bug
Phase 3 (deterministic propagation) applies inert frontmatter changes by replacing the value portion of an existing key line (per
tests/specs/PIPELINE-SPEC.md, Frontmatter scope). A newly added inert key has no key line to find in the locale file, so the addition is silently dropped — and the manifests are still stamped as current, burying the gap from all future incremental runs.Observed
template: roadmap/template: upgradeto 12 English roadmap pages (2026-06-24).single-slot-finalityin 22 locales) yet 0 of 24 locales received the key on any of the 12 pages, and the stamped manifests now treat the change as handled.app/[locale]/[...slug]/page.tsxresolvesfrontmatter.template || getLayoutFromSlug(slug)and the slug fallback returnsstaticforroadmap/*.Expected
An inert frontmatter key added in English is inserted into each locale's frontmatter (mirroring English key order); translatable key additions route to the LLM list. Key removals are presumably the same class — worth covering in the same fix.
Remediation already applied
Hand-propagated the 288 missing key lines in #18890 + a scoped
stamp_onlyrun against that branch. The pipeline gap itself remains.Pointers
tests/specs/PIPELINE-SPEC.md— Phase 2 classifies frontmatter fields independently (template= inert); Phase 3 frontmatter rules only specify value replacementsrc/scripts/intl-pipeline/deterministic propagationtests/specs/SPEC.mdhas no key-addition case)-- Fable 5