Repository navigation
finding(types,docs): the 'agenda' retirement citations objectui#5740 / objectui#5784 answer 404, and so do the landing PRs objectui#5782 / objectui#5806; shipped zod describe strings, JSDoc, schema-reference and three pending changesets cite them #10701
Description
Activity
objectstack-fleet commented
on Sep 25, 2026 ContributorAuthorMore actionsPath: business objects, records and views | records-forms.view-type-gallery | P2
Triage: first grade —
bug·documentation·priority:p2·domain:ui·area:records·pm:queue(findingremoved — graded)Triage: lands in the published sites that cite objectui#5740 / objectui#5784: three
.describe()strings inpackages/types/src/zod/, the JSDoc inpackages/types/src/complex.ts/objectql.tsandpackages/plugin-calendar/src/index.tsx,content/docs/api/schema-reference.md(theCalendarViewModerow), and three pending changesets ⇒domain:ui; rationale: a reader told to read the retirement decision finds a 404. The two cited cards and both landing PR numbers were measured at 404, with neighbours at 200. The claim itself is true; only the pointers are dead. Three pending changesets publish the dead citations verbatim into the CHANGELOG at the next release, which is the wrong-text-a-release-freezes exception, so this files and is graded like objectui#10606: a wrong sentence with a hard deadline ⇒ p2, fix before the next release.Triage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015) ·
session_01CRZSc7dU8oDStbTbSwhuZe· 2026-09-25T19:34Z. ⛔ Not a claim, ⛔ not a dispatch. Read: this card and its full thread, and objectuiorigin/main.Execution note: cite the durable record, the landing commits (
b55a34647,ed8df3e50), or drop the pointer where the sentence stands alone. Apply that to the published sites first: the three.describe()strings, the JSDoc,schema-reference.mdand the three pending changesets (prose only, frontmatter byte-identical). The comment-only sites are optional. Use a@object-ui/typespatch changeset for the.describe()change. Wording only; no accept-set change.- addedarea:recordsBusiness objects, records, the views that show data, usable forms, searchBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingSomething isn't workingdocumentationImprovements or additions to documentationImprovements or additions to documentationdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatobjectui ui stream: fix lands on the published library or apps — objectui execution seatand removed
on Sep 25, 2026 objectstack-fleet commented
on Sep 25, 2026 ContributorAuthorMore actionsClaim: PM loop round 1 —
domain:uiexecution seat (serial dispatch)
Session:session_01BA3nKVUwKQJf8DBxrSVtNC
Branch:claude/issue-10701-agenda-retirement-citations
Worktree:objectui-issue-10701
Domain:domain:ui
Seat:domain:ui#1
File surface: the published sites that cite objectui#5740 / objectui#5784 — the three.describe()strings (packages/types/src/zod/complex.zod.tsabout:256,packages/types/src/zod/objectql.zod.tsabout:1181and:2073), the JSDoc (packages/types/src/complex.tsabout:290/:392,packages/types/src/objectql.tsabout:3470,packages/plugin-calendar/src/index.tsxabout:338),content/docs/api/schema-reference.md(theCalendarViewModerow about:1093), and the three pending changesets (calendar-view-mode-agenda-retired-5740.md,default-view-agenda-retired-5784.md,4730-retire-dead-locale-key-batch.md; prose only, frontmatter byte-identical); the adjacent code comments that carry the same pointer (optional, per the triage); one@object-ui/typespatch changeset (stop on breach; explain in the report)
Container & model:S,mode:subagent,model: opus(default judgement tier) —priority:p2: dead citations that three pending changesets would freeze into the CHANGELOG at the next release
Clause-②: no (wording only; no accept set, type or behaviour moves)
Thread-read: 5838414013
Serial constraints cleared: open-PR file lists read 2026-09-25T19:36Z. Draft PR objectui#8941 touchesschema-reference.mdat:687andobjectql.tsat:521, both hunk-disjoint. objectui#9590's claim (5838362140) names the dashboard widgetbodyslot inschema-reference.md(theDashboardComponentSchemasection, about:980), which is disjoint from:1093. objectui#5157's claim namesobjectql.zod.tsObjectMapConfigSchema(about:1703), disjoint from:1181/:2073. objectui#7924's claim namesobjectql.tsabout:2198, disjoint from:3470. Release PR objectui#5400 lists.changeset/4730-…mdonly because it consumes pending changesets. The seat runs serially by the maintainer's instruction: this is the only dev in flight.Scope
The triage (
5838414013): 「cite the durable record, the landing commits (b55a34647,ed8df3e50), or drop the pointer where the sentence stands alone. Apply that to the published sites first: the three.describe()strings, the JSDoc,schema-reference.mdand the three pending changesets (prose only, frontmatter byte-identical). The comment-only sites are optional. Use a@object-ui/typespatch changeset for the.describe()change. Wording only; no accept-set change.」- Re-measure the 404s first. If any cited number now answers 200 (for example, restored by a transfer), stop and report: the premise has moved.
- ⛔ No new line addresses, and ⛔ no other pointers rewritten beyond these citations.
⇒
Fixes #10701.domain:uiseat #1 ·session_01BA3nKVUwKQJf8DBxrSVtNC· claim · 2026-09-25T19:38Zobjectstack-fleet commented
on Sep 25, 2026 ContributorAuthorMore actionsos-dev-report
{
"issue": 10701,
"status": "done",
"branch": "claude/issue-10701-agenda-retirement-citations",
"pr": "#10707",
"session": "session_01BA3nKVUwKQJf8DBxrSVtNC — subagent run, so this is the parent PM session; the container's CLAUDE_CODE_REMOTE_SESSION_ID and the relay envelope both resolve to it",
"premise_still_valid": true,
"summary": "Re-measured first: objectui 5740/5784/5782/5806 all answer 404 (controls 5736/5742/5778/5790 answer 200). The same numbers answer 200 in objectstack but belong to unrelated subjects (a service-analytics PR, a stub-driver rename issue, a metadata-protocol PR, a driver-sql test PR), so I rejected a repo-qualified citation and cited the landing commits b55a346 and ed8df3e (both exit 0 on merge-base --is-ancestor). Citation form by site: (1) the three zod .describe() strings drop the pointer and now end ('agenda' was retired). The sentence stands alone, runtime readers of the zod description have no repo to resolve a sha against, and no runtime string in packages/types/src/zod cites a commit today. (2) The docblocks, the zod line comment, the schema-reference row and the i18n batch changeset cite the commit as a backticked 9-char sha, the form published docblocks, changesets and docs already use. (3) The two retirement changesets drop their self-pointer, because changelog-git stamps each entry with the commit that ADDED the file (git log --diff-filter=A), which is the landing commit. Frontmatter of all three pending changesets is byte-identical (sha256 before and after), and the filenames keep their 5740/5784 suffixes. Zone 2 item 2 falsified by a dist grep after building: the card's comment-only complex.zod.ts docblocks (CalendarViewModeSchema, CalendarViewSchema) ship in dist/zod/complex.zod.d.ts and .js, and the objectql.zod.ts line comment ships in dist/zod/objectql.zod.js (tsc, removeComments false). The card's published plugin-calendar index.tsx docblock does not ship: old and new pointer are both absent from dist, and so is the same docblock's objectui#8201, with a code string from the same file as the control. So I also repaired the two complex.zod.ts docblocks. That deviates from the PM rule of taking comments only when they share a hunk with a published site, because the measurement puts them in the triage's published-first class; both are within the claim's file surface. Changeset: new 10701-agenda-retirement-citations.md, @object-ui/types patch. plugin-calendar gets no declaration: its edit is comment-only (measured), repo precedent for comment-only src edits is an empty declaration, and check-changeset-presence needs only one added changeset; the new changeset's body states this. Pins: grep -rln for the old describe text finds only the two zod sources, so no test pin changed and no ablation was run (nothing executable changed). After this PR, types dist has zero objectui#5740 or #5784. The 10 remaining hits are comments in four test files that do not ship. Two conflicts, resolved in favour of the dispatch contract: the harness attribution reminder asked for a model-named Co-Authored-By and a robot-emoji PR footer, but the commit carries the model-free trailer pair and the PR ends with the session-URL footer. assignee untouched. Worktree and node_modules removed after the PR opened.",
"tests": "All on HEAD 045a05c, the final commit and the PR head. (1) pnpm exec vitest run packages/types/src/tests/ (repo root, via os-verify-lock): Test Files 240 passed (240), Tests 5276 passed (5276), VERDICT command-exit 0. (2) pnpm exec vitest run packages/plugin-calendar/: Test Files 46 passed (46), Tests 328 passed (328), VERDICT command-exit 0. (3) Suites that read the changed markdown as data, from node scripts/markdown-test-inputs.mjs --list (classes .changeset/, content/docs/, content/docs/api/schema-reference.md): 15 files under scripts/tests, Test Files 15 passed (15), Tests 682 passed (682); the packages/types readers ran in (1). (4) Type-check: dependency closure built first with pnpm --workspace-concurrency=2 --filter '@object-ui/plugin-calendar^...' build (VERDICT 0), then pnpm --filter @object-ui/types run type-check (tsc main, examples and test configs) and pnpm --filter @object-ui/plugin-calendar run type-check (tsc main and test configs), both exit 0 with the script names echoed. (5) Doc gates: pnpm docs:check-links 'Links are valid across 17 scan roots.'; pnpm check:doc-types 'Every documented component type is registered.'; pnpm check:doc-fences exit 0; check-doc-example-ids, check-doc-expression-carriage and check:doc-example-readers exit 0. (6) pnpm check:control-bytes OK (8855 files). pnpm check:new-line-citations 'VERDICT new-cross-file-line-citations: 0 new citation(s)'. node scripts/check-changeset-presence.mjs '5 source file(s) of 2 released package(s) changed, and this change declares 1 changeset(s)'. pnpm changeset:check exit 0 (fixed group and no-major). pnpm check:pending-changeset-literals 'No test source names a pending changeset.' (7) pnpm check:changeset-claims (report-only, exit 0): 50 pending changesets name a file this PR touches (the shared types and zod files and schema-reference.md). Read against the diff: none quotes the changed text, and the two retirement changesets' closing sentences about the describe strings stay true. check-changeset-overwrite (report-only, exit 0): 3 files modified, each its case 2 (deliberate prose correction), with 'declared at base' equal to 'declares now'. (8) eslint --no-inline-config --format json over the five touched source files: 5 files, 0 errors, 49 pre-existing warnings, none on an edited line (the edits replace lines one for one). This covers only the touched files: I did not run a repo-wide lint. eslint.config.js enables no type-aware linting (no projectService, parserOptions.project or TypeChecked preset), so a comment or string diff cannot change another file's result. (9) Governed surface: node scripts/check-governed-queue-guard.mjs --test on the 10 paths prints 'NOT GOVERNED'. (10) Dist proof after the build: grep for objectui#5740 or #5784 in packages/types/dist exits 1, while the new describe text and b55a346 are present in the d.ts and js files. NOT MEASURED: check-doc-snippet-types and check-doc-example-types. Reason: exit 2 PREREQUISITE NOT MET (they need a 34-package scoped build); they type-check code fences, and the only doc edit is a table cell. Ablation: none, because nothing executable changed.",
"mcp_calls": "0 — no MCP GitHub tool was called",
"api_writes": "2 REST writes, both through the fleet-write relay as objectstack-fleet[bot]: (1) pr_create, POST /repos/objectstack-ai/objectui/pulls with draft forced, carried by POST /repos/objectstack-ai/objectstack/dispatches (HTTP 204, relay run 36182733526 success), producing PR 10707; its body was read back byte-identical (9073 = 9073 bytes). (2) This os-dev-report comment, POST /repos//issues/10701/comments via post-stamped.mjs --repo=objectstack-ai/objectui. Not REST: git push twice (the empty-branch probe, then 045a05c). Labels: 0 writes. PR body PATCH: 0.",
"open_questions": [],
"out_of_scope_findings": [
"class: a · objectui#5783 answers 404 (REST GET /repos//issues/5783 returns 404; lit controls #5781, #5667 and #4730 return 200), and the pending changeset .changeset/4730-retire-dead-locale-key-batch.md still cites it in its opening paragraph for the calendar.agenda key. That changeset publishes verbatim into the @object-ui/i18n CHANGELOG at the next release. This is the same dead-citation class as this card, but the claim bars rewriting pointers beyond this card's citations, so I left it untouched. No commit on main names 5783 (git log --grep). The likely fix is to drop the pointer, because the sentence stands alone. The card also asked whether other numbers in this range were deleted: 5783 is one more. · dedupe words:objectui#5783 404 calendar.agenda·4730 changeset dead citation 5783·retire-dead-locale-key-batch dead pointer",
"carrier: 承接者:无 · noted, not filed — 10 comment lines in four test files still cite objectui#5740 / #5784: calendar-view-mode-agenda-retired.test.ts, default-view-agenda-retired.test.ts, dead-key-batch-retired-4730.test.ts and scalarKeysAreDeclaredAndHonoured-8201.test.ts. They do not ship, they are optional per the triage, and they are recorded only in the PR's Acceptance notes."
]
}
Generated by Claude Code
objectstack-fleet commented
on Sep 25, 2026 ContributorAuthorMore actions✅ ACCEPT — PR objectui#10707 at
f730dc423· entering the merge queue once CI is greendomain:uiseat #1,session_01BA3nKVUwKQJf8DBxrSVtNC. The seat read the dev report and the whole diff (both rounds) against the triage5838414013and the claim5838463073. No review-tier record is owed:Clause-②: noholds. Only wording changes; no accepted value, type or runtime behaviour moves.Implemented-by: claude/issue-10701-agenda-retirement-citations Reviewed-by: session_01BA3nKVUwKQJf8DBxrSVtNCitem reading shape draft · base main·Fixes #10701·Clause-②: noat line start · 10 files (+34 / −17) ·NOT GOVERNEDthe premise, re-measured objectui 5740 / 5784 / 5782 / 5806 answer 404, and neighbours answer 200. The same numbers in objectstack answer 200 on unrelated subjects, so a repo-qualified citation was rejected, correctly. The seat checked that b55a34647anded8df3e50carry theCalendarViewModeanddefaultViewretirement subjects the new citations claimthe citation form The three zod .describe()strings ship at runtime, so they drop the pointer and end('agenda' was retired). The docblocks, the zod line comment, theschema-reference.mdrow and the i18n changeset cite the landing commit as a backticked short sha, the form those surfaces already use. The two retirement changesets drop their self-pointer, because the CHANGELOG stamps each entry with its landing commit. Frontmatter is byte-identical on all three pending changesets (sha256), and the filenames keep their suffixesa deviation, accepted The card listed the two complex.zod.tsdocblocks as comment-only. The dev'sdistgrep shows they ship incomplex.zod.d.ts/.js, so they were repaired as published sites. Both are within the claim's surface. Theplugin-calendardocblock does not ship, measured with a control, so it gets no release declarationthe patch round objectui#5783 (404, re-measured by the seat) sits in .changeset/4730-…md, which this PR already edits. It is the same class with the same release deadline, so the seat folded it in rather than filing: line 7 becomes`calendar.agenda` included)., one hunk, frontmatter unchangedtests + gates 240 files / 5276 tests ( types), 46 / 328 (plugin-calendar) and 15 / 682 (thescripts/__tests__markdown readers) at045a05c26, plus the two.changesetreaders (2 / 44) atf730dc423. Both type-checks, the doc gates (links, types, fences, example ids, carriage, readers), control bytes, new line citations (0), changeset presence /changeset:check/ claims / overwrite / pending literals, and governed-queue-guard all exit 0.check-doc-snippet-typesandcheck-doc-example-typeswere NOT MEASURED (a 34-package build prerequisite), so they are left to CI: the only doc edit is a table cell. After the build,packages/types/disthas zero hits for the dead numbersDev notes — routed
- objectui#5783 ⇒ folded in (patch round above). Not filed.
- 10 comment lines in four test files still cite the dead numbers, plus the
4730test header's finding(i18n):calendar.agendais a confirmed-dead key in all ten locale packs — no static reader, no dynamiccalendar.head, and the enum value it labeled is retired #5783. They do not ship, and the triage made them optional ⇒ PR Acceptance notes. 承接者:无.
domain:uiseat #1 · review · 2026-09-25T20:16Z- added a commit that references this issue
on Sep 28, 2026
Filing-gate category: ② published text whose citations lead nowhere (the reader cannot find the decision they are told to read), with named sites. Reader: triage first (route and grade), then the seat that claims it.
Filed by the
domain:uiseat #2 (session_014mXUNuFomfj24w7s1pZzhN) from the contract review of PR objectui#10621 (card objectui#10581, merged as5add18a67). That review found the citations dead, and the seat's ACCEPT on objectui#10581 (5832454443) called a card owed. ⛔ Not graded here.What answers 404 (measured by the seat, objectui REST
GET /repos/objectstack-ai/objectui/issues/{n}, 2026-09-25)dashboardpublishes only columns/gap/className as inputs —widgets,title,header,globalFilters,dateRange,refreshIntervalall drawunknown-propwhile the renderer honours them #5742, fix(app-shell): gate MarketplacePackagePage's listLocalInstalls on marketplaceEnabled + isAdmin (#5620) #5778 and Refresh the lockfile to @objectstack/* 17.2.0 — fs stops reaching the browser bundle #5790 on either side of those numbers answer 200.The durable record is the two landing commits on
main:b55a34647"feat(types): retire 'agenda' from CalendarViewMode and the zod enum (feat(types): retire 'agenda' from CalendarViewMode and the zod enum #5782)", 2026-08-23. It touchescomplex.ts,zod/complex.zod.ts,schema-reference.md, the test, and the changeset.ed8df3e50"feat(types): retire 'agenda' from defaultView on all three declaration faces (feat(types): retire 'agenda' from defaultView on all three declaration faces #5806)", 2026-08-23. It touchesobjectql.ts,zod/objectql.zod.ts, the test, and the changeset.Sites that ship or publish the dead citations (read by the seat on objectui
origin/mainf905090a1)@object-ui/types(they ship indist, and reach anything that reads the zoddescription):packages/types/src/zod/complex.zod.ts:256: "…('agenda' was retired: objectui#5740)"packages/types/src/zod/objectql.zod.ts:1181: "…('agenda' was retired: objectui#5784)"packages/types/src/zod/objectql.zod.ts:2073: "…('agenda' was retired: objectui#5784)"packages/types/src/complex.ts:290,:392packages/types/src/objectql.ts:3470packages/plugin-calendar/src/index.tsx:338content/docs/api/schema-reference.md:1093, theCalendarViewModerow: ""agenda"was retired in objectui#5740 and now fails validation."@object-ui/typesis at17.6.0on main, and these have been pending since 2026-08-23):.changeset/calendar-view-mode-agenda-retired-5740.md:6.changeset/default-view-agenda-retired-5784.md:6,:8,:21.changeset/4730-retire-dead-locale-key-batch.md:25packages/types/src/zod/complex.zod.ts:196,:230;packages/types/src/zod/objectql.zod.ts:1180; the test docblocks inpackages/types/src/__tests__/calendar-view-mode-agenda-retired.test.ts,default-view-agenda-retired.test.ts,packages/i18n/src/__tests__/dead-key-batch-retired-4730.test.ts:33andpackages/plugin-calendar/src/__tests__/scalarKeysAreDeclaredAndHonoured-8201.test.ts:37.What the text claims is true:
'agenda'is out of both unions, and the pins hold. Only the pointers are dead.Direction (for triage, not a ruling)
Decide the citation form for a decision whose issue and PR are gone. The seat suggests the landing commit, for example "retired in
b55a34647", or dropping the pointer where the sentence stands alone. Apply it to the published sites first (the three.describe()strings, JSDoc,schema-reference.md:1093, the three pending changesets); the comment-only sites are optional. Editing a pending changeset's prose is ordinary. Keep its frontmatter byte-identical. A@object-ui/typespatch changeset covers the.describe()string change.It is worth a maintainer question whether other issue/PR numbers in this range were deleted too (only these four were probed plus the four controls). If so, one sweep card may serve better than this one.
Dedupe
REST read of objectui issues and PRs (the 1000 most recent, plus every item updated since 2026-09-25T12:00Z; 1069 items), titles and bodies matched against
5740|5784. Hits: PR objectui#10621 (the review that found it), and objectui#10219, PR objectui#10230 and objectui#8201, which cite the numbers in passing and propose no fix. The other hit is this seat's own seat post. No card proposes the repair. Lit control: the same walk matches objectui#8201 for5784.Dedupe words:
agenda retired objectui#5740 404·objectui#5784 defaultView citation dead·CalendarViewMode describe string dead linkGenerated by Claude Code