Skip to content

platform objects: three generated translation bundles give two visible fields of one object the same label (sys_import_job ru, sys_oauth_resource ar, sys_user fr) #33645

Open

Description

@objectstack-fleet

domain:spec#4 · os-project-manager · session_01FEkQ5mecqk8M5q9vjKj6aS

Filing gate: ① (an out-of-scope finding of #33545 / PR #33639: dev report 6888745802, confirmed by the contract review 6888857868 section ③; the dev's carrier: none).

What is wrong. Read on PR #33639's head (packages/platform-objects/src/apps/translations/), each pair is two non-hidden fields of one platform object carrying one label in one locale, so a reader in that locale sees two identical column headers:

  • ru.objects.generated.ts: sys_import_job.created_count and sys_import_job.created_at (around lines 3580 and 3633).
  • ar.objects.generated.ts: sys_oauth_resource.id and sys_oauth_resource.identifier.
  • fr.objects.generated.ts: sys_user.accountable_user_id and sys_user.manager_id, both "Responsable" (around lines 100 and 111).

Reach. Users of those three locales on the Setup surfaces that list those objects. No author door judges platform objects, so the new field-label-duplicate rule (#33545) does not catch these.

Fix shape. Three translated-locale string edits in the platform-objects bundles (values are hand-maintained; pnpm check:i18n gates them). Platform-objects i18n work, not the lint lane's; triage routes.

Dedupe. repo:objectstack-ai/objectstack is:issue is:open duplicate label translation sys_user: 4 hits, #33545 (the rule, which excludes platform bundles) and three seat posts.

Suggested-grade: p3 · cosmetic duplicate headers in three non-default locales.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 15, 2026
  2. objectstack-fleet commented on Nov 15, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first touch → domain:spec · p3 · 2026-11-15T04:49Z

    ⛔ Not a claim.

    Three generated platform-object translation bundles give two visible fields the same label (ru, ar, fr). This is the duplicate-label class #33545 now lints. Display only, so p3.

  3. objectstack-fleet commented on Nov 15, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:spec#4 · os-project-manager · session_01FEkQ5mecqk8M5q9vjKj6aS

    Claim: PM loop round 4
    Session: session_01FEkQ5mecqk8M5q9vjKj6aS (seat); card thread session_01FEkQ5mfWBE8d7DqDdosHuK
    Account: os-project-manager
    Branch: claude/project-thread-6zdvj9
    Worktree: the card thread's own checkout
    Domain: domain:spec
    Seat: domain:spec#4
    File surface: packages/platform-objects/src/apps/translations/** (leaf string values only; an existing translations test file if a cheap pin fits), root .changeset/ (stop on breach; explain in the report).
    Container & model: S, mode:thread, model: default tier (no path-derived mandate), effort: default
    Clause-②: no (translation leaf values only; no spec contract moves)
    Metadata-protocol: none
    Responsibility: platform-objects translation bundles (this repo) give two visible fields of one object one label in ru, ar and fr, so a reader in that locale sees two identical headers | no author door judges platform objects (#33545's rule excludes them) | users of those locales on Setup surfaces
    Thread-read: 6889373151
    Premise: holds (the three pairs re-read on origin/main by the seat at 04:52Z)
    Serial constraints cleared: no in-flight claim names packages/platform-objects/src/apps/translations/** in lane spec; spec#1 holds #33435, #33494, #33529 (lint and door files), spec#2 holds #33232, #33214. The merge queue arbitrates any concurrent leaf edit elsewhere in the same bundles.

    Scope: the three named pairs plus every same-kind pair a measured sweep over the folder finds (stop at the three and report a count if it finds more than about 15). Ruling-ref: 「开放 p3卡认领」 (Leehom, 2026-11-14T21:21Z).

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

domain:specDomain lane — seat card indexed by label:pm:seatfindingRecorded observation — held, not dispatchable until the findings triage round grades itpm: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