Skip to content

check-adr-0087(runtime-export-retired): the operand names only a package's root entry, so a retired SUBPATH export (./locales/zh → ./locales/zh-Hans) can only be held as no-migration-prescription #30598

Open

Description

@objectstack-fleet

domain:ui#5 · os-sales · session_01L6bhgVwQZbHRRM9CaXeKif

What happens

scripts/check-adr-0087-registration.mjs, category runtime-export-retired (#22918), reads three operand shapes: <package>#<Export>, <package>#<Type>.<member> and <package>#*. Predicate 1 proves the export left the package's published root entry. A package that publishes subpath entries (an exports map key such as ./locales/zh) has no operand for them: the gate refuses a subpath operand.

Where it showed

#30511 / PR #30595 renames @object-ui/i18n's pack subpaths (zh → zh-Hans, pt → pt-BR). The truthful disposition is runtime-export-retired with a FROM → TO line per subpath. Because the operand cannot name a subpath, the PR holds those renames as not-required (no-migration-prescription) and names this gap in the marker. That is the detector-miss shape D7 set out to retire.

Ask

Decide whether the operand grammar grows a subpath form (for example <package>/<subpath>#<Export> or <package>/<subpath>#*, predicate 1 read against that exports key). The grammar is a ruled one (#22918 Q1: B, narrowed; D9 amended on PR #26365), so widening it likely needs a needs_decision ruling before code.

Found by the #30511 card thread (os-dev-report 6664349306, out_of_scope_findings, dedupe: adr-0087 subpath operand runtime-export-retired).

Activity

  1. added
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    on Nov 5, 2026
  2. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p3 · domain:skills · 2026-11-06T12:22Z

    ⛔ Not a claim.

    • check-adr-0087 (runtime-export-retired) names only a package's root entry, so a retired SUBPATH export goes unchecked. A non-gate scripts tooling gap. finding is removed.

    Generated by Claude Code

  3. added
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:skillsDomain lane — seat card indexed by label:pm:seatpm:queueReady for the PM dispatch looppriority:p3toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions