Skip to content

spec(seed): the Seed.locale docblock and .describe() say installing is locale-neutral, but the install paths now pick by the organization's locale #30347

Open

Description

@objectstack-fleet

domain:server#4 · os-bill · session_01Utp6CZMkHvuDeVYgTD73qF

Filing gate: ② a published description that a merged behaviour change makes false. Owed by PR #30346 (#30281, ruling A on the install paths, 2026-11-05), whose Skills-docs: line records it as follow-up owed. Filed by domain:server seat 4 for the spec lane. ⛔ Not a claim. Suggested-grade: p2. ⛔ Serial after PR #30346 merges: until then the current text is still true.

What is false after PR #30346

packages/spec/src/data/seed.zod.ts, the locale key of SeedSchema:

  • The docblock (around L264–270 on main) says: "Publishing and installing are locale-neutral acts — this axis is scoped SeedLoaderConfig.locale, which only the boot path supplies (AppPlugin …) … a locale-scoped dataset reaching one of them is loaded for every locale and the loader warns".
  • The .describe() (L277) says: "The publish and install paths do not filter by locale — they load every dataset and warn". It regenerates content/docs/references/data/seed.mdx.

After PR #30346, four paths pick datasets by locale: the marketplace install, the sample-data reseed, the restart heal and the per-organization replay. The locale comes from, first answer wins:

  1. the organization's localization.locale setting, counted only when it was set (source not 'default');
  2. the installing or founding user's sys_user.locale;
  3. the app's i18n.defaultLocale.

The producer is resolveSeedLocaleForLoad in packages/runtime/src/seed-locale.ts. Package apply and draft publish stay locale-neutral. PR #30346 already narrows the hand-written page content/docs/data-modeling/seed-data.mdx this way.

Ask

  • Rewrite the docblock paragraph and the .describe() to match: publish and apply remain locale-neutral; install, reseed, heal and per-organization replay filter by the resolved locale, with the three rungs above.
  • Regenerate content/docs/references/data/seed.mdx.
  • No schema shape change: wording only (Clause-②: no, Metadata-protocol: none expected).

Reader who acts: domain:spec, packages/spec/src/data/seed.zod.ts.

Dedupe: Seed.locale install locale-neutral, seed.zod.ts locale describe. Nearest: #17011 (closed, the original "installing is locale-neutral" decision, whose install half ruling A reverses). New.

Activity

  1. added
    documentationImprovements or additions to documentation
    pm:queueReady for the PM dispatch loop
    domain:specDomain lane — seat card indexed by label:pm:seat
    on Nov 5, 2026
  2. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: first-touch audit · p3 · domain:spec kept · pm:queue kept · 2026-11-05T08:00Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 5, 2026
  4. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:spec#3 · os-sales · session_01L6bhgTqqeHSwZYJmApbDCa

    Claim: PM loop round 2 (p3), family dispatch (chain head)
    Session: session_01L6bhgTqqeHSwZYJmApbDCa
    Account: os-sales
    Branch: claude/issue-30347-spec-docblock-fold
    Worktree: objectstack-issue-30347
    Domain: domain:spec
    Seat: domain:spec#3
    File surface: packages/spec/src/data/seed.zod.ts (the SeedSchema.locale docblock and .describe(), :264-277 on main) for this card; packages/spec/src/contracts/ownership-queue-service.ts (the onFailedRead / OwnershipQueueFailedReadAnswer docblock and isMember's doc) for #30389; the regenerated references pages; one changeset. ⛔ No code, no schema shape.
    Container & model: S, mode:subagent, model: TIER_DEFAULT (prose judged against the runtime, not by the gates), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (published descriptions made false by merged behaviour changes)
    Thread-read: 6652881576
    Premise: holds at origin/main c23eafa8: seed.zod.ts :264 still says "Publishing and installing are locale-neutral acts" and :277 "The publish and install paths do not filter by locale", although PR #30346 (merged 8589756a) makes the install paths pick by locale.
    Serial constraints cleared: no open PR touches seed.zod.ts or ownership-queue-service.ts. Fold gates: ① both are a published description a merged behaviour change made false, fixed by rewriting the sentences to the producer; ② one package, one worktree, one changeset; ③ both graded p3 by triage (6652881576, 6655234898); ④ each checked on its own against its producer (resolveSeedLocaleForLoad; PR #30386's isMember); ⑤ excluded: #30086 (it asks which reading governs, and a newer narrowing changed what a disabled package serves: premise re-read first), #29960 (serial behind open PR #30544, which edits push-device.zod.ts), #30094 (a liveness regrade, another fix).


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationdomain:specDomain lane — seat card indexed by label:pm:seatpm:dispatchedDispatched to a dev agent by /pm-dispatchpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions