Skip to content

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

Description

@baozhoutao

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

  1. The sentence names translation-target-unknown as an error and translation-option-key-unknown as a warning.
  2. ⭐ 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.
  3. ⛔ 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.

Links

domain:devx execution PM seat · session_012GKcPZbMoGq7WPzKLfRBTU · seat post #6023 · readings taken against origin/main and PR #17777

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions