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 }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
finding(plugin-calendar): the month gridcell speaks its date in the RUNTIME default while the weekday headers beside it honour the resolved locale #10144
Surfaced by the objectui#10104 dev while routing that file's a11y strings; ⛔ it correctly declined to fold this in — it is Intlargument routing, ⛔ not a string a pack can reach, so the bounded in-place carve-out's same-defect-class condition fails. ⭐ Re-read first-hand by the domain:ui#2 execution seat before filing (说明 GG). ⛔ No priority:* / type: the triage seat's sole production. domain:ui inherited from the in-flight parent objectui#10104.
The site, read on origin/main
packages/plugin-calendar/src/CalendarView.tsx:675 — the day gridcell's accessible name:
⭐ Control in the same command: effectiveLocale — the RESOLVED locale — occurs 8 times in this same file and is what the weekday-header format call is given. ⇒ the resolved locale is in scope at this line and is simply not passed; the zero is a reading, ⛔ not an absent variable.
The symptom
MonthView receives locale={effectiveLocale} and honours it for its column headers, while each cell's date is spoken in the runtime default. ⇒ in one view, a screen-reader user hears the weekday headers in the session's language and every date in whatever locale the machine happens to have.
Reproduction: render CalendarView with locale="de-DE" (or mount under a non-enI18nProvider) and compare the header text against a gridcell's aria-label.
⚠️ The hand-back reports the same locale-vs-effectiveLocale split at several other call sites in this file — ⛔ NOT re-counted by this seat. ⇒ the deliverable is a sweep with its own criterion, ⛔ not this one line.
⚠️ The site MOVES before this card can be taken
PR #10142 (objectui#10104) rewrites exactly this aria-label — the English frame around the event count becomes a translated one. ⇒ ⭐ re-read line 675 after #10142 lands; the "default" argument may survive inside the new expression, may have moved, or may already be gone. ⛔ Do not open this card against the pre-#10142 text.
⛔ What this card does NOT claim
⛔ Not that the packs are involved. ⭐ No key, no translation, no locale file — this is which tag Intl is handed, and that is why objectui#10104 could not absorb it.
⛔ Not that "default" is wrong everywhere. Where a component genuinely has no resolved locale, the runtime default may be the honest answer — ⚠️ and that is exactly the question objectui#10098 records two DECLARED contracts disagreeing about. ⇒ read that card before settling the policy here.
⛔ Not that the several other sites are the same defect: unmeasured, named as a sweep rather than a list.
Acceptance
Every Intl call in CalendarView.tsx that has a resolved locale in scope is handed it, under a criterion written down (what counts as 「in scope」, and what a site with genuinely none should pass).
⭐ A pin that renders under a non-en locale and asserts the gridcell's accessible name is not the runtime default's rendering, with a lit control (the weekday header, which already honours the locale, staying correct in the same run).
The policy for a site with no resolved locale is stated and reconciled with objectui#10098, ⛔ not chosen silently.
Claim: PM loop — 2026-09-20 shift, batch slot 2/2 (ceiling 2)
Session: session_018HrVaotisyhgmot9o2MLRq
Branch: claude/issue-10144-calendar-gridcell-locale
Worktree: objectui-issue-10144
Domain: domain:ui (triage's; ⛔ not re-routed here)
Seat: domain:ui#2
File surface: packages/plugin-calendar/src/CalendarView.tsx and that package's tests. ⛔ Nothing else.
Container & model: S, mode:subagent, model: opus. ⛔ No tier output is quoted: scripts/pm/dispatch-gates.mjs REFUSES for this repo.
Clause-②: no — which tag an Intl call is handed. It moves no exported symbol and no key on a published payload, and ⛔ no locale pack is involved.
⭐ The card's stated precondition is MET, checked in this act: it says 「re-read line 675 after #10142 lands; ⛔ do not open this card against the pre-#10142 text」. PR #10142merged (f760064ea on origin/main), so the aria-label this card names has already been rewritten once — ⇒ the site must be located by CONTENT, ⛔ not by the line number the card quotes.
Hot-file serial queue: the only other card in flight is #10148 (scripts/check-eager-closure-budget.mjs + its test), disjoint. ⚠️ PR #10101 also touches packages/plugin-calendar but is parked as draft and touches ObjectCalendar.tsx, ⛔ not this card's file.
{
"issue": 10144,
"status": "done",
"branch": "claude/issue-10144-calendar-gridcell-locale",
"pr": "https://github.com/objectstack-ai/objectui/pull/10152",
"session": "session_018HrVaotisyhgmot9o2MLRq",
"premise_still_valid": true,
"summary": "The premise survived #10142: that PR rewrote the gridcell's aria-label into a t('calendar.a11y.dayCell', ...) frame and the literal \"default\" survived INSIDE it, now at two sites (the frame's date interpolation and the bare else branch), while the card's control — effectiveLocale, 8 occurrences — was confirmed in the same command. Both branches now share one dayLabel formatted with MonthView's resolved `locale`, the same binding the weekday column headers already use. The sweep's criterion, count and rows are in the PR body: 12 Intl call sites in the file, 12 with a resolved locale in scope, 2 handed \"default\" (these), 10 already correct, and 0 with genuinely none — so objectui#10098's two contracts do not bite here and this PR takes no position in that dispute. ⚠️ CORRECTION to the hand-back this card was filed from: its 'several other call sites' is falsified — there are none; the two sites are two branches of one expression.",
"tests": "GREEN-after: `pnpm exec vitest run packages/plugin-calendar/src/CalendarView.gridcellLocale-10144.test.tsx` (repo root, through scripts/pm/os-verify-lock.sh) -> 'Test Files 1 passed (1) / Tests 4 passed (4)', 'VERDICT command-exit 0'. FULL PACKAGE, final action before push on the committed tree: 'Test Files 40 passed (40) / Tests 294 passed (294)', VERDICT command-exit 0, chained with `pnpm --filter @object-ui/plugin-calendar type-check` -> exit 0; tree verified clean in the same command (porcelain empty, `git diff HEAD` 0 lines, `git diff --cached` 0 lines, HEAD b08020395 == pushed sha). POPULATION CONTROLS: `vitest list --filesOnly` prints 40 files, the new pin among them (1), with a pre-existing sibling as control (1); `tsc -p tsconfig.test.json --listFiles` selects the pin (1) and src/CalendarView.tsx (1). RED-before ABLATION (mutation restores the literal \"default\" into the one dayLabel binding): HEAD_BLOB=3f7286a0cc1917d8ad93e579f3425dfeff35eb8f, injected-text count 1 / removed-text count 0, MUT_HASH=4dfda04f7ba7bd1ec865b674014bc2b69c55cd17 != HEAD_BLOB, file hash re-read AT RUN TIME equals MUT_HASH, result 'Test Files 1 failed (1) / Tests 2 failed | 2 passed (4)'. RESTORE via `git checkout HEAD -- $ABS_PATH` from a trap on EXIT INT TERM, proved by hash equality with the HEAD blob AND a zero-line `git diff HEAD` — never by an exit code; an empty hash was coded as FAILURE. No dist in the path: the pin imports ./CalendarView (same package, source), so no rebuild mediates the mutation. WHAT FAILED vs WHAT STAYED LIT: both failures are the gridcell assertion; the weekday-header control assertions in those same two cases ran first and PASSED ('the event day is not spoken in de (heard: [\"Sunday, December 28, 2025\", ...])') — German headers beside English dates, the card's symptom reproduced. The 2 green on the mutated tree are the vacuity guard and the `en` control. PREREQUISITE, recorded as not-a-verdict: the first type-check answered TS2307 'Cannot find module @object-ui/*' because the fresh worktree had no dist; `pnpm --workspace-concurrency=2 --filter '@object-ui/plugin-calendar^...' run build` (exit 0, 73s shared-box) fixed the precondition and the re-run is the reading quoted above. GATES, all exit 0 and all selecting these files: check-changeset-presence (names all 3 source files + the changeset), check-changeset-no-major, check-changeset-claims, check-pending-changeset-literals, check-control-bytes, check-i18n-call-site-keys (this diff changes a t() call site's arguments), check-test-path-roots, governed-queue-guard --test on the 4 changed paths -> 'NOT GOVERNED'. check-new-cross-file-line-citations: '0 new citation(s), enforcement report-only -> exit 0' — recorded as a reading, ⛔ not counted as a blocking pass. ⛔ check-unreferenced-sources is exit 0 but does NOT select these files (COVERED_PACKAGES is packages/components only) — its green is not counted. ESLINT, narrowing declared with its three readings: population chosen by eslint's own config (not a hand-written list), 46 files counted from --format json with the 3 edited files present by name, and type-aware linting NOT enabled (neither projectService nor parserOptions occurs in the 471-line flat config) and no shared config or custom rule touched, so untouched files cannot move; 0 errors, 220 pre-existing warnings, none of the 24 on CalendarView.tsx inside either changed hunk. NOT MEASURED: repo-wide `turbo run lint`, the full repo `pnpm test`, and all remaining check:* gates — left to CI. NOT MEASURED: CI conclusions on the PR (no waiting per contract). Bundle Analysis is inherited-red from main (objectui#10148) and was not chased. Manual control-byte scan over all 4 edited files: `grep -naP '[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]'` -> no hits.",
"mcp_calls": "0 — no MCP GitHub tool was called, read or write. All GitHub access went through the REST proxy with curl.",
"api_writes": "3 — POST /repos/objectstack-ai/objectui/pulls (draft PR #10152); POST /repos/objectstack-ai/objectui/issues/10144/comments (this report); PATCH /repos/objectstack-ai/objectui/issues/comments/5750720692 (this one correction, to keep the record true). Plus 2 `git push` (the empty-branch routing probe, then the commit). ⛔ NO label write by this dev. ⚠️ The PR nevertheless carries `plugin` and `tests`: both were applied by github-actions[bot] via .github/labeler.yml at 2026-09-20T15:23:47Z, AFTER the creation readback recorded labels: []. Another actor's state — ⛔ not corrected, recorded here. ⛔ No PATCH of the PR body, ⛔ no ready flip, ⛔ no auto-merge, ⛔ no POST /issues.",
"open_questions": [],
"out_of_scope_findings": [
"noted, not filed: MonthView and TimeGridView each declare an UNREACHABLE parameter default `locale = \"default\"`. Neither component is exported (this module's whole export surface is CalendarView plus the __resolveEventColorForTest alias) and CalendarView fills locale={effectiveLocale} at all three render sites, so the sentinel cannot reach Intl. Changing it would take a side in objectui#10098 for a case that cannot arise — the silent choice the card forbids. Successor named: whoever exports either component, or gives CalendarView a second parent.",
"noted, not filed: ObjectCalendar.markedRefusalToast.test.tsx's `cellLabel` helper rebuilds the gridcell name with the literal 'default' under a comment claiming it is 'built the way MonthView builds it' — a claim THIS diff falsified. Repaired in place, comment only, no behaviour change: the test still passes because that render mounts no I18nProvider and its resolved locale and the runtime default render a date identically on this runner, and the comment now states that conditionally instead of asserting a mechanism nothing re-derives (AGENTS.md #9). Successor named: the next dev who mounts a non-`en` provider in that file."
]
}
IMPLEMENTATION ACCEPTED · LANDING HELD one merge. PR #10152, reviewed 2026-09-20T15:27Z. NOT governed.
⚠️ FIRST — this PR FALSIFIES a claim in this card, and the claim was mine
The card says the locale-vs-effectiveLocale split exists 「at several other call sites in this file」. ⭐ It was carried here as 转述 from objectui#10104's hand-back and labelled as such, ⛔ never re-run by this seat.
It is false. The dev's sweep, and this seat's own read on origin/main:
reading
count
toLocale*String( call sites in CalendarView.tsx
12
handed the literal "default"
2
already handed a resolved locale
10
with genuinely NO resolved locale in scope
0
⭐ control: effectiveLocale occurrences in the same file
8
⇒ ⭐ the two sites are two branches of ONE expression, ⛔ not a family scattered through the file. The card's 「sweep, not a one-liner」 framing was built on a number nobody had taken — and the 0-with-none row is what makes the sweep worth having anyway: it proves the question was asked of all twelve.
⭐ And the sweep's zero settles the policy question instead of answering it
The order said: if any site genuinely has no resolved locale, read objectui#10098 and say which of its two disagreeing contracts you followed. No site does. ⇒ this PR takes no position in that dispute, which is the right outcome — ⛔ not a silent choice, and ⛔ not a position taken for a case that cannot arise.
⭐ The same discipline shows in what it declined to touch: MonthView and TimeGridView each carry an unreachable parameter default locale = "default", and changing it 「would take a side in objectui#10098 for a case that cannot arise」. Neither component is exported and CalendarView fills locale at all three render sites. ⛔ Left alone, with the successor named (whoever exports either component).
The premise survived #10142, and by content rather than by line
#10142 rewrote that aria-label into a t('calendar.a11y.dayCell', …) frame — and the literal "default" survived INSIDE it, at two sites (the frame's date interpolation and the bare else branch). ⇒ the card's warning 「locate by content, the line number is stale」 was not ceremony; the expression really had moved under it.
The ablation reproduces the card's SYMPTOM, not just a failure
Mutation restores "default" into the one dayLabel binding — proven by injected/removed counts and by MUT_HASH != HEAD_BLOB, with the file hash re-read at run time equal to MUT_HASH. Result: 2 failed / 2 passed.
⭐ And what stayed lit is the point: in both failing cases the weekday-header control assertions ran first and PASSED — 「the event day is not spoken in de (heard: ["Sunday, December 28, 2025", …])」. ⇒ German headers beside English dates, which is the card's symptom in one line of output. The two greens on the mutated tree are the vacuity guard and the en control.
Restore proved by hash equality and a zero-line git diff HEAD, from a trap on EXIT/INT/TERM, with an empty hash coded as FAILURE — ⛔ never by an exit code. No dist mediates it: the pin imports ./CalendarView from source.
Two readings declared as NOT counted
⛔ check-unreferenced-sources is exit 0 but does not select these files (COVERED_PACKAGES is packages/components only) — its green is ⛔ not counted. check-new-cross-file-line-citations is report-only and recorded as a reading, ⛔ not a blocking pass. ⭐ Naming a green that proves nothing about your diff is worth more than adding it to a list.
One in-place repair, declared: ObjectCalendar.markedRefusalToast.test.tsx's cellLabel helper claimed it was 「built the way MonthView builds it」 — a claim this diff falsified. Comment-only repair, and it now states its condition instead of asserting a mechanism nothing re-derives.
⛔ Why it is not landing this minute
PR #10151 (the Bundle Analysis fix) was armed moments ago with 40 checks, 0 pending, 0 failed. This PR's own Bundle Analysis is inherited-red from main — ⛔ not its own bytes, and correctly not chased by the dev.
⇒ held until #10151 merges and main's own push run reads success. ⭐ That is one merge away, ⛔ not an open-ended wait.
Activity
os-tesla commentedon Sep 20, 2026
Claim: PM loop — 2026-09-20 shift, batch slot 2/2 (ceiling 2)
Session:
session_018HrVaotisyhgmot9o2MLRqBranch:
claude/issue-10144-calendar-gridcell-localeWorktree:
objectui-issue-10144Domain:
domain:ui(triage's; ⛔ not re-routed here)Seat:
domain:ui#2File surface:
packages/plugin-calendar/src/CalendarView.tsxand that package's tests. ⛔ Nothing else.Container & model: S,
mode:subagent,model: opus. ⛔ No tier output is quoted:scripts/pm/dispatch-gates.mjsREFUSES for this repo.Clause-②: no — which tag an
Intlcall is handed. It moves no exported symbol and no key on a published payload, and ⛔ no locale pack is involved.⭐ The card's stated precondition is MET, checked in this act: it says 「re-read line 675 after #10142 lands; ⛔ do not open this card against the pre-#10142 text」. PR #10142 merged (
f760064eaonorigin/main), so thearia-labelthis card names has already been rewritten once — ⇒ the site must be located by CONTENT, ⛔ not by the line number the card quotes.Hot-file serial queue: the only other card in flight is #10148 (⚠️ PR #10101 also touches
scripts/check-eager-closure-budget.mjs+ its test), disjoint.packages/plugin-calendarbut is parked as draft and touchesObjectCalendar.tsx, ⛔ not this card's file.Claimed at 2026-09-20T15:06Z.
Generated by Claude Code
os-tesla commentedon Sep 20, 2026
os-dev-report
{ "issue": 10144, "status": "done", "branch": "claude/issue-10144-calendar-gridcell-locale", "pr": "https://github.com/objectstack-ai/objectui/pull/10152", "session": "session_018HrVaotisyhgmot9o2MLRq", "premise_still_valid": true, "summary": "The premise survived #10142: that PR rewrote the gridcell's aria-label into a t('calendar.a11y.dayCell', ...) frame and the literal \"default\" survived INSIDE it, now at two sites (the frame's date interpolation and the bare else branch), while the card's control — effectiveLocale, 8 occurrences — was confirmed in the same command. Both branches now share one dayLabel formatted with MonthView's resolved `locale`, the same binding the weekday column headers already use. The sweep's criterion, count and rows are in the PR body: 12 Intl call sites in the file, 12 with a resolved locale in scope, 2 handed \"default\" (these), 10 already correct, and 0 with genuinely none — so objectui#10098's two contracts do not bite here and this PR takes no position in that dispute. ⚠️ CORRECTION to the hand-back this card was filed from: its 'several other call sites' is falsified — there are none; the two sites are two branches of one expression.", "tests": "GREEN-after: `pnpm exec vitest run packages/plugin-calendar/src/CalendarView.gridcellLocale-10144.test.tsx` (repo root, through scripts/pm/os-verify-lock.sh) -> 'Test Files 1 passed (1) / Tests 4 passed (4)', 'VERDICT command-exit 0'. FULL PACKAGE, final action before push on the committed tree: 'Test Files 40 passed (40) / Tests 294 passed (294)', VERDICT command-exit 0, chained with `pnpm --filter @object-ui/plugin-calendar type-check` -> exit 0; tree verified clean in the same command (porcelain empty, `git diff HEAD` 0 lines, `git diff --cached` 0 lines, HEAD b08020395 == pushed sha). POPULATION CONTROLS: `vitest list --filesOnly` prints 40 files, the new pin among them (1), with a pre-existing sibling as control (1); `tsc -p tsconfig.test.json --listFiles` selects the pin (1) and src/CalendarView.tsx (1). RED-before ABLATION (mutation restores the literal \"default\" into the one dayLabel binding): HEAD_BLOB=3f7286a0cc1917d8ad93e579f3425dfeff35eb8f, injected-text count 1 / removed-text count 0, MUT_HASH=4dfda04f7ba7bd1ec865b674014bc2b69c55cd17 != HEAD_BLOB, file hash re-read AT RUN TIME equals MUT_HASH, result 'Test Files 1 failed (1) / Tests 2 failed | 2 passed (4)'. RESTORE via `git checkout HEAD -- $ABS_PATH` from a trap on EXIT INT TERM, proved by hash equality with the HEAD blob AND a zero-line `git diff HEAD` — never by an exit code; an empty hash was coded as FAILURE. No dist in the path: the pin imports ./CalendarView (same package, source), so no rebuild mediates the mutation. WHAT FAILED vs WHAT STAYED LIT: both failures are the gridcell assertion; the weekday-header control assertions in those same two cases ran first and PASSED ('the event day is not spoken in de (heard: [\"Sunday, December 28, 2025\", ...])') — German headers beside English dates, the card's symptom reproduced. The 2 green on the mutated tree are the vacuity guard and the `en` control. PREREQUISITE, recorded as not-a-verdict: the first type-check answered TS2307 'Cannot find module @object-ui/*' because the fresh worktree had no dist; `pnpm --workspace-concurrency=2 --filter '@object-ui/plugin-calendar^...' run build` (exit 0, 73s shared-box) fixed the precondition and the re-run is the reading quoted above. GATES, all exit 0 and all selecting these files: check-changeset-presence (names all 3 source files + the changeset), check-changeset-no-major, check-changeset-claims, check-pending-changeset-literals, check-control-bytes, check-i18n-call-site-keys (this diff changes a t() call site's arguments), check-test-path-roots, governed-queue-guard --test on the 4 changed paths -> 'NOT GOVERNED'. check-new-cross-file-line-citations: '0 new citation(s), enforcement report-only -> exit 0' — recorded as a reading, ⛔ not counted as a blocking pass. ⛔ check-unreferenced-sources is exit 0 but does NOT select these files (COVERED_PACKAGES is packages/components only) — its green is not counted. ESLINT, narrowing declared with its three readings: population chosen by eslint's own config (not a hand-written list), 46 files counted from --format json with the 3 edited files present by name, and type-aware linting NOT enabled (neither projectService nor parserOptions occurs in the 471-line flat config) and no shared config or custom rule touched, so untouched files cannot move; 0 errors, 220 pre-existing warnings, none of the 24 on CalendarView.tsx inside either changed hunk. NOT MEASURED: repo-wide `turbo run lint`, the full repo `pnpm test`, and all remaining check:* gates — left to CI. NOT MEASURED: CI conclusions on the PR (no waiting per contract). Bundle Analysis is inherited-red from main (objectui#10148) and was not chased. Manual control-byte scan over all 4 edited files: `grep -naP '[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]'` -> no hits.", "mcp_calls": "0 — no MCP GitHub tool was called, read or write. All GitHub access went through the REST proxy with curl.", "api_writes": "3 — POST /repos/objectstack-ai/objectui/pulls (draft PR #10152); POST /repos/objectstack-ai/objectui/issues/10144/comments (this report); PATCH /repos/objectstack-ai/objectui/issues/comments/5750720692 (this one correction, to keep the record true). Plus 2 `git push` (the empty-branch routing probe, then the commit). ⛔ NO label write by this dev. ⚠️ The PR nevertheless carries `plugin` and `tests`: both were applied by github-actions[bot] via .github/labeler.yml at 2026-09-20T15:23:47Z, AFTER the creation readback recorded labels: []. Another actor's state — ⛔ not corrected, recorded here. ⛔ No PATCH of the PR body, ⛔ no ready flip, ⛔ no auto-merge, ⛔ no POST /issues.", "open_questions": [], "out_of_scope_findings": [ "noted, not filed: MonthView and TimeGridView each declare an UNREACHABLE parameter default `locale = \"default\"`. Neither component is exported (this module's whole export surface is CalendarView plus the __resolveEventColorForTest alias) and CalendarView fills locale={effectiveLocale} at all three render sites, so the sentinel cannot reach Intl. Changing it would take a side in objectui#10098 for a case that cannot arise — the silent choice the card forbids. Successor named: whoever exports either component, or gives CalendarView a second parent.", "noted, not filed: ObjectCalendar.markedRefusalToast.test.tsx's `cellLabel` helper rebuilds the gridcell name with the literal 'default' under a comment claiming it is 'built the way MonthView builds it' — a claim THIS diff falsified. Repaired in place, comment only, no behaviour change: the test still passes because that render mounts no I18nProvider and its resolved locale and the runtime default render a date identically on this runner, and the comment now states that conditionally instead of asserting a mechanism nothing re-derives (AGENTS.md #9). Successor named: the next dev who mounts a non-`en` provider in that file." ] }Generated by Claude Code
os-tesla commentedon Sep 20, 2026
IMPLEMENTATION ACCEPTED · LANDING HELD one merge. PR #10152, reviewed 2026-09-20T15:27Z. NOT governed.
The card says the
locale-vs-effectiveLocalesplit exists 「at several other call sites in this file」. ⭐ It was carried here as 转述 from objectui#10104's hand-back and labelled as such, ⛔ never re-run by this seat.It is false. The dev's sweep, and this seat's own read on
origin/main:toLocale*String(call sites inCalendarView.tsx"default"effectiveLocaleoccurrences in the same file⇒ ⭐ the two sites are two branches of ONE expression, ⛔ not a family scattered through the file. The card's 「sweep, not a one-liner」 framing was built on a number nobody had taken — and the 0-with-none row is what makes the sweep worth having anyway: it proves the question was asked of all twelve.
⭐ And the sweep's zero settles the policy question instead of answering it
The order said: if any site genuinely has no resolved locale, read objectui#10098 and say which of its two disagreeing contracts you followed. No site does. ⇒ this PR takes no position in that dispute, which is the right outcome — ⛔ not a silent choice, and ⛔ not a position taken for a case that cannot arise.
⭐ The same discipline shows in what it declined to touch:
MonthViewandTimeGridVieweach carry an unreachable parameter defaultlocale = "default", and changing it 「would take a side in objectui#10098 for a case that cannot arise」. Neither component is exported andCalendarViewfillslocaleat all three render sites. ⛔ Left alone, with the successor named (whoever exports either component).The premise survived #10142, and by content rather than by line
#10142 rewrote that
aria-labelinto at('calendar.a11y.dayCell', …)frame — and the literal"default"survived INSIDE it, at two sites (the frame's date interpolation and the bareelsebranch). ⇒ the card's warning 「locate by content, the line number is stale」 was not ceremony; the expression really had moved under it.The ablation reproduces the card's SYMPTOM, not just a failure
Mutation restores
"default"into the onedayLabelbinding — proven by injected/removed counts and byMUT_HASH != HEAD_BLOB, with the file hash re-read at run time equal toMUT_HASH. Result: 2 failed / 2 passed.⭐ And what stayed lit is the point: in both failing cases the weekday-header control assertions ran first and PASSED — 「the event day is not spoken in de (heard: ["Sunday, December 28, 2025", …])」. ⇒ German headers beside English dates, which is the card's symptom in one line of output. The two greens on the mutated tree are the vacuity guard and the
encontrol.Restore proved by hash equality and a zero-line
git diff HEAD, from a trap on EXIT/INT/TERM, with an empty hash coded as FAILURE — ⛔ never by an exit code. No dist mediates it: the pin imports./CalendarViewfrom source.Two readings declared as NOT counted
⛔
check-unreferenced-sourcesis exit 0 but does not select these files (COVERED_PACKAGESispackages/componentsonly) — its green is ⛔ not counted.check-new-cross-file-line-citationsis report-only and recorded as a reading, ⛔ not a blocking pass. ⭐ Naming a green that proves nothing about your diff is worth more than adding it to a list.One in-place repair, declared:
ObjectCalendar.markedRefusalToast.test.tsx'scellLabelhelper claimed it was 「built the way MonthView builds it」 — a claim this diff falsified. Comment-only repair, and it now states its condition instead of asserting a mechanism nothing re-derives.⛔ Why it is not landing this minute
PR #10151 (the
Bundle Analysisfix) was armed moments ago with 40 checks, 0 pending, 0 failed. This PR's ownBundle Analysisis inherited-red frommain— ⛔ not its own bytes, and correctly not chased by the dev.⇒ held until #10151 merges and
main's own push run reads success. ⭐ That is one merge away, ⛔ not an open-ended wait.Generated by Claude Code
fix(plugin-calendar): the month gridcell speaks the resolved locale, …