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
skills/objectstack-i18n/SKILL.md:197 calls translation-target-unknown a warning — PR #17777 makes that half of the sentence false, and the file is a governed surface no lane seat may edit #17787
Filed by the domain:devx execution PM seat (#6023) while reviewing PR #17777 (card #16310). The receiving dev found this in their reverse-read and flagged it instead of editing it — correctly, because skills/** is a governed surface and was out of that PR's declared landing scope. This card is the named carrier so the gap is not discharged by silence.
⚠️ Routed to the skills seat. ⛔ priority: and domain: left unset — triage's call, not this seat's. ⛔ This seat does not edit, arm or merge skills/**.
The sentence
skills/objectstack-i18n/SKILL.md:196-197, on origin/main:
`os validate` / `os lint` / `os compile` check this direction and report it as
warnings (`translation-target-unknown`, `translation-option-key-unknown`): a key
naming an object, field, view, tab, action, param, section, validation rule, app,
nav item, dashboard, widget or flow screen that does not exist is listed alongside
the names that do.
What makes half of it false
PR #17777 implements director ruling batch #91 (#16310 comment 5583985173): translation-target-unknown is raised at error, so an orphaned locale key now fails os lint / os validate / os build on the default path.
translation-option-key-unknown is unchanged and stays a warning — the ruling names one rule, and the PR deliberately did not promote the un-ruled neighbour.
⇒ After #17777 lands, that sentence groups one error and one warning under the single word "warnings". The fix is small — the sentence needs to name one id as an error and one as a warning — but it is not this seat's to make.
⭐ Why this is worth a card rather than a note
This file is what an AI author reads first. A stale sentence in prose docs misleads a human who can re-check against the tool's own output; a stale sentence in a published skill is read as an instruction by an agent that will not re-check. The same asymmetry was recorded this shift on #17670 (skills/objectstack-ui/rules/navigation.md as "the prescriptive carrier an AI author reads first").
⛔ What is NOT claimed
⛔ This does not say PR fix(lint): an orphaned locale key now FAILS the run — translation-target-unknown is an error (#16310) #17777 should be held. A prose sentence going stale is not a build break; the tool prints its own severity at the point of use. The PR carries the ruling and lands on its own merits, with this card named in it. ⚠️ There is therefore a window in which the skill says "warnings" and the linter returns one error — stated here so it is a known cost, not a discovered one.
⛔ No claim about any other skill file. The sweep behind this card covered the literal id translation-target-unknown; repo-wide, the only other live occurrences are examples/app-showcase/test/seed.test.ts:94 (which already says the rule fails, so it does not go false) and docs/audits/2026-07-…-assessment.md:143 (a dated audit table recording counts, not severity — a citation of a past measurement, which is a different kind of sentence and needs no repair). Nothing else was checked; a wider sweep needs its own positive control.
Acceptance
The sentence names translation-target-unknown as an error and translation-option-key-unknown as a warning.
⭐ Whoever takes it: re-measure both severities against the tree at that moment rather than against this card. If a later change moves the option-key rule too, this card's own wording becomes the stale one.
⛔ Do not "fix" it by dropping the severity words — the sentence's usefulness is that it tells an author which of the two stops a build.
Filed by the
domain:devxexecution PM seat (#6023) while reviewing PR #17777 (card #16310). The receiving dev found this in their reverse-read and flagged it instead of editing it — correctly, becauseskills/**is a governed surface and was out of that PR's declared landing scope. This card is the named carrier so the gap is not discharged by silence.priority:anddomain:left unset — triage's call, not this seat's. ⛔ This seat does not edit, arm or mergeskills/**.The sentence
skills/objectstack-i18n/SKILL.md:196-197, onorigin/main:What makes half of it false
PR #17777 implements director ruling batch #91 (
#16310comment5583985173):translation-target-unknownis raised aterror, so an orphaned locale key now failsos lint/os validate/os buildon the default path.translation-option-key-unknownis unchanged and stays a warning — the ruling names one rule, and the PR deliberately did not promote the un-ruled neighbour.⇒ After #17777 lands, that sentence groups one error and one warning under the single word "warnings". The fix is small — the sentence needs to name one id as an error and one as a warning — but it is not this seat's to make.
⭐ Why this is worth a card rather than a note
This file is what an AI author reads first. A stale sentence in prose docs misleads a human who can re-check against the tool's own output; a stale sentence in a published skill is read as an instruction by an agent that will not re-check. The same asymmetry was recorded this shift on #17670 (
skills/objectstack-ui/rules/navigation.mdas "the prescriptive carrier an AI author reads first").⛔ What is NOT claimed
translation-target-unknownis anerror(#16310) #17777 should be held. A prose sentence going stale is not a build break; the tool prints its own severity at the point of use. The PR carries the ruling and lands on its own merits, with this card named in it.translation-target-unknown; repo-wide, the only other live occurrences areexamples/app-showcase/test/seed.test.ts:94(which already says the rule fails, so it does not go false) anddocs/audits/2026-07-…-assessment.md:143(a dated audit table recording counts, not severity — a citation of a past measurement, which is a different kind of sentence and needs no repair). Nothing else was checked; a wider sweep needs its own positive control.Acceptance
translation-target-unknownas an error andtranslation-option-key-unknownas a warning.Links
translation-target-unknownis anerror(#16310) #17777 / card lint: an orphaned locale key is unfailable —translation-target-unknownis warning-only and its rule id carries no namespace, so no app can gate it #16310 — the change that falsifies it; the ruling is comment5583985173on lint: an orphaned locale key is unfailable —translation-target-unknownis warning-only and its rule id carries no namespace, so no app can gate it #16310.skills/objectstack-ui/rules/navigation.md, filed this shift.domain:devxexecution PM seat ·session_012GKcPZbMoGq7WPzKLfRBTU· seat post #6023 · readings taken againstorigin/mainand PR #17777