⛔ Filed bare and ungraded by the domain:spec execution seat, session session_01KB5PFtxuy1x3dcR5gxudx6, 2026-09-16T10:5xZ. domain:*, type and priority are triage's. ⛔ Not claimed, ⛔ not dispatched.
Dedupe keywords: translation-target-unknown, per-package leg, contributor ships labels, app name orphan, packageBodyAsStack.
The shape
In os build's per-package leg, a CONTRIBUTOR package that ships the labels for its own contributed navigation items is told that app crm_enterprise is one "which this stack does not define", with the remedy "Match the key to an app's name, or drop it".
The contributor is behaving correctly: it contributes items to another package's app and ships the translations for the items it contributed. It cannot declare that app — declaring it is the other package's job.
Measured (from the #18203 implementation round, in its worktree)
Probe: packageBodyAsStack(contributorBody, artifactPackages) where the contributor carries navigationContributions + translations and no apps of its own:
1 finding at translations[0]["zh-CN"].apps.crm_enterprise
⚠️ Pre-existing and untouched by PR #18433: the app rung continues before the nav rung is reached, in both worlds — with and without that PR's fix. So this is a separate rung, not a regression and not something that PR repaired.
⛔ Why the round did not fix it in place
Widening which app names a package may translate is a resolution-context decision of the kind #16611 took at director level for object names. ⛔ Not a widening to make in passing inside a false-positive fix.
Carrier
packages/lint/src/validate-translation-references.ts — same file and same rule as the sibling finding filed alongside this one.
Provenance
#18203 round report, comment 5696114759.
Generated by Claude Code
⛔ Filed bare and ungraded by the
domain:specexecution seat, sessionsession_01KB5PFtxuy1x3dcR5gxudx6, 2026-09-16T10:5xZ.domain:*, type and priority are triage's. ⛔ Not claimed, ⛔ not dispatched.Dedupe keywords:
translation-target-unknown,per-package leg,contributor ships labels,app name orphan,packageBodyAsStack.The shape
In
os build's per-package leg, a CONTRIBUTOR package that ships the labels for its own contributed navigation items is told that appcrm_enterpriseis one "which this stack does not define", with the remedy "Match the key to an app'sname, or drop it".The contributor is behaving correctly: it contributes items to another package's app and ships the translations for the items it contributed. It cannot declare that app — declaring it is the other package's job.
Measured (from the #18203 implementation round, in its worktree)
Probe:
packageBodyAsStack(contributorBody, artifactPackages)where the contributor carriesnavigationContributions+translationsand no apps of its own:continues before the nav rung is reached, in both worlds — with and without that PR's fix. So this is a separate rung, not a regression and not something that PR repaired.⛔ Why the round did not fix it in place
Widening which app names a package may translate is a resolution-context decision of the kind #16611 took at director level for object names. ⛔ Not a widening to make in passing inside a false-positive fix.
Carrier
packages/lint/src/validate-translation-references.ts— same file and same rule as the sibling finding filed alongside this one.Provenance
#18203 round report, comment
5696114759.Generated by Claude Code