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
{{ message }}
Repository navigation
showcase: the showcase_account extension renames the object without a pluralLabel, so its list title loses Accounts / 客户 once PR #30459 lands #30465
Filing gate: should-fix 1 of the contract review of PR #30459 (#30391), record 6658126879. ⛔ Not a claim. Suggested grade: p3. ⛔ Serial after PR #30459 merges, which still needs the maintainer's word because it is BREAKING.
What happens
examples/app-showcase/src/data/extensions/account.extension.ts renames showcase_account by setting label and no pluralLabel. With PR #30459, an extension that renames an object with no plural serves no stale base plural. That means the showcase's list title falls back to the singular label in both en and zh-CN.
Ask
Add pluralLabel to that extension.
Add the pair translation in examples/app-showcase/src/system/translations/** if the zh-CN plural is wanted.
Pin it where the showcase's labels are already pinned.
Claim: PM loop round 1 · 2026-11-05T23:32Z
Session: session_016WV4cytQjG9X1CrCgytUM5
Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/issue-30465-showcase-plural-label
Worktree: objectstack-issue-30465
Domain: domain:server
Seat: domain:server#3
File surface: examples/app-showcase/src/data/extensions/account.extension.ts (add pluralLabel), the paired zh-CN plural under examples/app-showcase/src/system/translations/**, and the showcase pin where its labels are already pinned; a root .changeset/ file only if a gate asks (stop on breach; explain in the report)
Container & model: S, mode:subagent, model: default (dispatch-gates --tier: no path-derived mandate; floor sonnet · default opus · ceiling fable), effort: medium
Clause-②: no
Metadata-protocol: none
Responsibility: the showcase's showcase_account extension renames the object with no pluralLabel | none | every showcase reader: the list title falls back to the singular since PR #30459
Thread-read: 6658711246
Premise: holds — the serial wait was on PR #30459, merged 2026-11-05T22:14Z (fb1ab896ac); re-derived on origin/main: account.extension.ts still sets label and no pluralLabel
Serial constraints cleared: none: no open PR touches examples/app-showcase/src/data/extensions/** or the showcase translations (open PRs read at claim time)
{
"issue": 30465,
"status": "done",
"branch": "claude/issue-30465-showcase-plural-label",
"pr": "https://github.com/objectstack-ai/objectstack/pull/30738",
"session": "session_016WV4cytQjG9X1CrCgytUM5",
"premise_still_valid": true,
"summary": "The showcase_account extension now declares pluralLabel 'Accounts (Success Overlay)' beside its renamed label, so the list title no longer falls back to the singular after PR #30459. The existing label pin (packages/qa/dogfood/test/showcase-object-extension-scalar-divergence.dogfood.test.ts) gains one case: the declared plural, and the item and list /meta/object reads serving label + plural as declared in en and zh-CN. No translation entry was added: the showcase bundle is a code catalog, not a .custom pair, and translateObject reads a diverged scalar only from the pair catalog, so zh-CN serves the pair as written, the singular included.",
"tests": "dogfood closure build under os-verify-lock: VERDICT command-exit 0. Pin file at 32c6f5771: VERDICT command-exit 0, Tests 8 passed (8). Reverse leg (extension restored to origin/main, source-resolved, no rebuild): exit 1, the new case fails and 7 pass; restored via git checkout HEAD, blob == HEAD, git diff HEAD empty. typecheck example-showcase + dogfood: VERDICT command-exit 0, both tsc --noEmit echoed. eslint on the 2 files: exit 0.",
"gates": "dispatch-gates --commands at 32c6f5771: 55 derived; 53 exit 0 first pass; check-plugin-teardown-shape --self-test exit 3 (pinned fixture outside shallow clone) then exit 0 after fetching it; pnpm check:dual-build-cjs-loads exit 3 NOT MEASURED (needs whole-workspace build; CI runs it). --ran: 55 derived, 54 run, 1 NOT-MEASURED, 0 UNRUN, exit 0. PR check-runs: in_progress at report time.",
"dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
"mcp_calls": "0",
"api_writes": "2 — relay pr_create (#30738, labels skip-changeset), relay comment on #30465 (this report); plus git push (not REST)",
"open_questions": [],
"security_findings": "none",
"out_of_scope_findings": []
}
Deviation: the commit message carries a Fixes #30465 line (card relation belongs in the PR body only); the amend + lease-guarded force-push was refused by the session's permission classifier, so it stays. It closes the same card.
Landed · 2026-11-06T00:50Z · PR #30738 merged through the queue as 96a7d205ed. ACCEPT 6673038086.
Reading
Value
PR state
merged, closed this card via Fixes #30465
Check-runs at 32c6f577
all required green at merge (check suite completed 2026-11-06T00:29Z)
pm:dispatched removed; the card is closed. No zh-CN catalog entry was added: the showcase catalog never serves a value that diverges from the packaged base, and zh-CN serves the declared pair as written (pinned).
Activity
objectstack-fleet commentedon Nov 5, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: audit · p3 kept ·
domain:server· 2026-11-05T13:04Z⛔ Not a claim.
showcase_accountextension sets nopluralLabel, so its list title loses Accounts / 客户 once PR fix(objectql,rest)!: serve an object an extension renames without the base's plural (#30391) #30459 lands.Generated by Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:server#3 · os-elon-musk · session_016WV4cytQjG9X1CrCgytUM5
Claim: PM loop round 1 · 2026-11-05T23:32Z
Session:
session_016WV4cytQjG9X1CrCgytUM5Account:
os-elon-musk(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-30465-showcase-plural-labelWorktree:
objectstack-issue-30465Domain:
domain:serverSeat:
domain:server#3File surface:
examples/app-showcase/src/data/extensions/account.extension.ts(addpluralLabel), the paired zh-CN plural underexamples/app-showcase/src/system/translations/**, and the showcase pin where its labels are already pinned; a root.changeset/file only if a gate asks (stop on breach; explain in the report)Container & model:
S,mode:subagent,model: default(dispatch-gates --tier: no path-derived mandate; floor sonnet · default opus · ceiling fable),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: the showcase's
showcase_accountextension renames the object with nopluralLabel| none | every showcase reader: the list title falls back to the singular since PR #30459Thread-read: 6658711246
Premise: holds — the serial wait was on PR #30459, merged 2026-11-05T22:14Z (
fb1ab896ac); re-derived onorigin/main:account.extension.tsstill setslabeland nopluralLabelSerial constraints cleared: none: no open PR touches
examples/app-showcase/src/data/extensions/**or the showcase translations (open PRs read at claim time)fix(example-showcase): the showcase_account extension declares the pl…
objectstack-fleet commentedon Nov 6, 2026
domain:server#3 · os-elon-musk · session_016WV4cytQjG9X1CrCgytUM5
os-dev-report
{ "issue": 30465, "status": "done", "branch": "claude/issue-30465-showcase-plural-label", "pr": "https://github.com/objectstack-ai/objectstack/pull/30738", "session": "session_016WV4cytQjG9X1CrCgytUM5", "premise_still_valid": true, "summary": "The showcase_account extension now declares pluralLabel 'Accounts (Success Overlay)' beside its renamed label, so the list title no longer falls back to the singular after PR #30459. The existing label pin (packages/qa/dogfood/test/showcase-object-extension-scalar-divergence.dogfood.test.ts) gains one case: the declared plural, and the item and list /meta/object reads serving label + plural as declared in en and zh-CN. No translation entry was added: the showcase bundle is a code catalog, not a .custom pair, and translateObject reads a diverged scalar only from the pair catalog, so zh-CN serves the pair as written, the singular included.", "tests": "dogfood closure build under os-verify-lock: VERDICT command-exit 0. Pin file at 32c6f5771: VERDICT command-exit 0, Tests 8 passed (8). Reverse leg (extension restored to origin/main, source-resolved, no rebuild): exit 1, the new case fails and 7 pass; restored via git checkout HEAD, blob == HEAD, git diff HEAD empty. typecheck example-showcase + dogfood: VERDICT command-exit 0, both tsc --noEmit echoed. eslint on the 2 files: exit 0.", "gates": "dispatch-gates --commands at 32c6f5771: 55 derived; 53 exit 0 first pass; check-plugin-teardown-shape --self-test exit 3 (pinned fixture outside shallow clone) then exit 0 after fetching it; pnpm check:dual-build-cjs-loads exit 3 NOT MEASURED (needs whole-workspace build; CI runs it). --ran: 55 derived, 54 run, 1 NOT-MEASURED, 0 UNRUN, exit 0. PR check-runs: in_progress at report time.", "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "mcp_calls": "0", "api_writes": "2 — relay pr_create (#30738, labels skip-changeset), relay comment on #30465 (this report); plus git push (not REST)", "open_questions": [], "security_findings": "none", "out_of_scope_findings": [] }Deviation: the commit message carries a Fixes #30465 line (card relation belongs in the PR body only); the amend + lease-guarded force-push was refused by the session's permission classifier, so it stays. It closes the same card.
objectstack-fleet commentedon Nov 6, 2026
domain:server#3 · os-elon-musk · session_016WV4cytQjG9X1CrCgytUM5
Landed · 2026-11-06T00:50Z · PR #30738 merged through the queue as
96a7d205ed. ACCEPT 6673038086.Fixes #3046532c6f577pm:dispatchedremoved; the card is closed. No zh-CN catalog entry was added: the showcase catalog never serves a value that diverges from the packaged base, and zh-CN serves the declared pair as written (pinned).