docs(changeset): date the MEMBER_PIN_EXEMPTION_CEILING reading in the pending 8171 body - #9823
Merged
Merged
Conversation
…he pending 8171 body `.changeset/8171-calendar-sort-input.md` ended a paragraph with "`MEMBER_PIN_EXEMPTION_CEILING` is untouched at 62". Both halves were true at the commit that wrote it (`35e63669d6`, 2026-09-07): that change did not touch the constant, and 62 was its value there. The `at 62` half is an absolute reading of a SHARED constant, so somebody else's change falsifies it — `240c605939` (objectui#8071 slice 1, 2026-09-09) lowered it 62 -> 58, and later slices moved it again while this declaration sat pending. The reading is DATED and the falsifier named, rather than corrected to today's value: today's value is true today and false at the next slice, which would be the same defect authored a second time. The still-true "is untouched" half is kept. Frontmatter untouched. Refs: objectui#9781 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UanLVj6xvbS6puBCewLr8L
os-sales
marked this pull request as ready for review
September 18, 2026 07:27
os-sales
deleted the
claude/issue-9781-8171-absolute-ceiling-reading
branch
September 18, 2026 07:46
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #9781
Clause-②: no
Scope: one sentence of prose in the pending
.changeset/8171-calendar-sort-input.md. Frontmatter untouched, and the rest of that paragraph (theobject-calendar.sortexemption, the objectui#8176 backlog ceiling) is not assessed here.The defect, and why the reading is DATED rather than corrected
The paragraph ended with:
MEMBER_PIN_EXEMPTION_CEILINGis untouched at 62.That is two claims with different lifetimes:
⇒ The repair DATES the reading at its write-time commit and names the falsifier. ⛔ It does not restate the constant at today's value — that number is true today and false again at the next slice, i.e. this same defect authored a second time. The rule the repaired prose now carries: state your OWN change's bounded transition ("lowers 62 to 58", "follows 31 to 28 in the same change") or state that you did not touch the constant, and never state what its value currently is.
Every number, with the instrument that produced it and the ref it was taken at
Established in this worktree, ⛔ not inherited from the card. The repository was NOT shallow when measured (
git rev-parse --is-shallow-repositoryprintsfalse).42234b1a2cd7540a5d53907a95438a888a6b5021(this branch's base,origin/mainfetched 2026-09-18T06:56Z):git grep -n -E 'const MEMBER_PIN_EXEMPTION_CEILING = [0-9]+' 42234b1a2cd7540a5d53907a95438a888a6b5021 -- apps/console/src/__tests__/registry-inputs-spec-parity.test.tsprints
...:3144:const MEMBER_PIN_EXEMPTION_CEILING = 24;.35e63669d6, 2026-09-07 (pull request feat(plugin-calendar): declare thesortinput bothobject-calendarregistrations read #8223):git log --oneline -S'is untouched at 62' -- .changeset/8171-calendar-sort-input.mdreturns exactly that one commit, andgit log --oneline --reverse -- .changeset/8171-calendar-sort-input.mdshows it is the only commit that has ever touched the file.git show 35e63669d6:apps/console/src/__tests__/registry-inputs-spec-parity.test.ts | grep -nE 'const MEMBER_PIN_EXEMPTION_CEILING = [0-9]+;'prints2267:const MEMBER_PIN_EXEMPTION_CEILING = 62;. ⇒ ROTTED, ⛔ not BORN FALSE.240c605939, 2026-09-09 (pull request test(spec-parity): member pins for object-form.fields and object-grid exportOptions / bulkActions / bulkActionDefs (objectui#8071 slice 1) #8737, objectui#8071 slice 1):git log --oneline --reverse -G'^const MEMBER_PIN_EXEMPTION_CEILING = ' 35e63669d6..42234b1a2cd7540a5d53907a95438a888a6b5021 -- apps/console/src/__tests__/registry-inputs-spec-parity.test.tsenumerates, in order, the 11 commits that move that line between write time and this base;240c605939is the first of them. At it the constant reads 58 (git show 240c605939:apps/console/src/__tests__/registry-inputs-spec-parity.test.ts | grep -nE ...prints2437:const MEMBER_PIN_EXEMPTION_CEILING = 58;) ⇒ the transition that falsified the reading is 62 to 58. Why that one and not a later one: the enumeration is ordered and complete for that line over that range, so no earlier commit in the range touched it.git merge-base --is-ancestor 35e63669d6 42234b1a2cexits 0;git merge-base --is-ancestor 240c605939 42234b1a2cexits 0; the control leg in the opposite direction,git merge-base --is-ancestor 42234b1a2c 35e63669d6, exits 1, as it must.Before/after probe of the changed prose — whitespace-tolerant, both controls, one corpus
grep -Freads 0 on text that is plainly there. The instrument normalizes whitespace first (tr -s '[:space:]' ' ') and then counts fixed-string occurrences (grep -o -F | wc -l). One corpus: the changeset file, base copy vs working copy.the shrink-only objectui#8176 backlog ceiling drops 16 to 15MEMBER_PIN_EXEMPTION_CEILING is untouched at 24rather than a member-pin exemption. MEMBER_PIN_EXEMPTION_CEILING is untouched at 62.MEMBER_PIN_EXEMPTION_CEILING is untouched by this change; it read 62 at the commit that wrote this paragraph (35e63669d6, 2026-09-07)objectui#8071 slice 1 (240c605939, 2026-09-09) lowered it 62 -> 58MEMBER_PIN_EXEMPTION_CEILING is untouched at 62⭐ The lit control itself spans a wrap, so it proves the instrument rather than merely accompanying it: the same needle under a line-anchored
grep -c -Freads before=0, after=0 — the false negative this table exists to avoid.Changeset grade for this change — MEASURED, with both controls
node scripts/check-changeset-presence.mjs, in a worktree withpnpm installcompleted.packages/plugin-calendar/src/ObjectCalendar.tsx, proven to reach disk (marker occurrences 0 then 1): exit 1, "2 file(s) changed, 1 of them published source of a package the release covers", "1 source file(s) of 1 released package(s) changed, and this change adds no changeset". ⇒ the gate can fail on this corpus, so the green above is a measurement rather than a silence.git checkout HEAD -- packages/plugin-calendar/src/ObjectCalendar.tsx;git hash-objecton the path equals the HEAD blobdaa84297c2ac6c4a61059a05cc86974750c7295e,git diff HEADfor it prints nothing, and the gate re-reads exit 0.⛔ No changeset is added for this change, and ⛔ the
skip-changesetlabel is not applied — in this repository nothing reads it; the gate's own verdict line above is the authority.Gate exit codes — each captured to disk BEFORE any pipe
Written with the redirect first and the status read from the file afterwards, never through a pipe.
node scripts/check-changeset-overwrite.mjs(case 2: a pre-existing changeset modified on purpose; report-only)node scripts/check-changeset-presence.mjsnode scripts/check-changeset-claims.mjsnode scripts/check-changeset-fixed.mjsnode scripts/check-changeset-no-major.mjsnode scripts/check-pending-changeset-literals.mjsnode scripts/check-control-bytes.mjsnode scripts/check-new-cross-file-line-citations.mjspnpm exec vitest runover the fourscripts/__tests__/changeset suites, under the shared verify lock, slotissue-9781The overwrite gate classifies this change as its case 2 and prints both sides of the declaration: "declared at base: @object-ui/plugin-calendar: minor" and "declares now: @object-ui/plugin-calendar: minor" — frontmatter untouched, which is exactly what case 2 asks of a deliberate prose correction.
Gate family: the workflows whose path filters include
.changeset/**arechangeset-guard.yml(no-major plus overwrite),ci.yml,lint.ymlandlive-e2e.yml. The repository-wide farm belongs to CI; the targeted set above is what this diff owes locally.The window
Release pull request #5400 was open at claim time, re-read open, not merged immediately before the first write, and again immediately before the push (2026-09-18T07:03Z). ⛔ Nothing in this branch touches it or any file it owns. If it merges before this lands, the card is re-triaged: the remedy channel becomes a docs-only pull request on a release-owned tree, and the published CHANGELOG copy is already out of reach.
Serial constraint, re-taken over the open-pull-request set immediately before the first write: 19 open pull requests enumerated with their full changed-file lists (#5400 paginated, 1732 files). ⛔ Only #5400 touches
.changeset/8171-calendar-sort-input.md, and that is the WINDOW, not a conflict for this lane to settle. The sibling card objectui#9772 works a different pending file; no file is shared, and no verdict here was established by analogy to it.Acceptance notes
apps/console/src/__tests__/registry-inputs-spec-parity.test.tscarries docblock comments that state this same ceiling in the present tense — "andMEMBER_PIN_EXEMPTION_CEILINGstays 62", "the reasonMEMBER_PIN_EXEMPTION_CEILINGreads 62" — each attributed to a named past card, so a careful reader can date them from context, but the tense reads live while the constant reads otherwise today. In-tree comments, not pending changeset prose, and outside this card's surface. Carrier: whoever moves that ceiling next.Session:
https://claude.ai/code/session_01UanLVj6xvbS6puBCewLr8LGenerated by Claude Code