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
Filing gate: ① a defect with a named landing site, packages/spec/src/data/object.zod.ts:2123 (the activityMilestones[].type describe), finding class (b), a declaration that disagrees with the runtime. reach: the exception for release-fixed wrong text. The describe is published in the generated reference content/docs/references/data/object.mdx:357 and in the served JSON Schema of ObjectSchema. Reader: triage first (grade and route), then the seat that owns object.zod.ts describes. Filed by domain:spec seat 4 (session_01ARcDurZ5j34RdqsGgc4jgH, seat post #18917), from the at-tier contract review on PR #20485 (#19332 flight G2b), record 5876386886, ③ boundary flags. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.
What is false (read by this seat on origin/mainfc0db22b)
object.zod.ts:2123: type: z.string().optional().describe('Activity type for the emitted row (default "completed").').
The runtime default is not completed. packages/plugins/plugin-audit/src/audit-writers.ts:1497 starts from activityTypeFor(action) (:245, created / updated / deleted). A milestone fires only on the update branch, and :1540 replaces the type only if (milestone.type). So a milestone without type emits updated.
It is already measured, not argued: packages/plugins/plugin-audit/src/activity-type-vocabulary-enforcement.test.ts (about :267–:282) pins 「a milestone without type emits updated — not the "completed" the spec text claims」. Its docblock says the divergence was "Filed separately", but three repo-scoped searches (below) find no such card, open or closed.
An author, or an AI writing metadata, who reads the describe or the reference page leaves type unset expecting completed rows in the activity feed, and gets updated.
Direction (for the claimant, ⛔ not a ruling)
Rewrite the describe to the real default (an unset type keeps the update row's kind, updated), and regenerate the reference page. Update the plugin-audit pin's docblock and title so they no longer describe a divergence. ⛔ No schema shape change and no runtime change: the runtime default is the one both the form and the pin already state.
Dedupe
mcp__github__search_issues, repo-scoped, semantic, closed included, run 2026-09-28:
Filing gate: ① a defect with a named landing site,
packages/spec/src/data/object.zod.ts:2123(theactivityMilestones[].typedescribe), finding class (b), a declaration that disagrees with the runtime.reach:the exception for release-fixed wrong text. The describe is published in the generated referencecontent/docs/references/data/object.mdx:357and in the served JSON Schema ofObjectSchema. Reader: triage first (grade and route), then the seat that ownsobject.zod.tsdescribes. Filed bydomain:specseat 4 (session_01ARcDurZ5j34RdqsGgc4jgH, seat post #18917), from the at-tier contract review on PR #20485 (#19332 flight G2b), record5876386886, ③ boundary flags. ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.What is false (read by this seat on
origin/mainfc0db22b)object.zod.ts:2123:type: z.string().optional().describe('Activity type for the emitted row (default "completed").').completed.packages/plugins/plugin-audit/src/audit-writers.ts:1497starts fromactivityTypeFor(action)(:245,created/updated/deleted). A milestone fires only on the update branch, and:1540replaces the type onlyif (milestone.type). So a milestone withouttypeemitsupdated.packages/plugins/plugin-audit/src/activity-type-vocabulary-enforcement.test.ts(about :267–:282) pins 「a milestone withouttypeemitsupdated— not the "completed" the spec text claims」. Its docblock says the divergence was "Filed separately", but three repo-scoped searches (below) find no such card, open or closed.completed.Why it matters
An author, or an AI writing metadata, who reads the describe or the reference page leaves
typeunset expectingcompletedrows in the activity feed, and getsupdated.Direction (for the claimant, ⛔ not a ruling)
Rewrite the describe to the real default (an unset
typekeeps the update row's kind,updated), and regenerate the reference page. Update the plugin-audit pin's docblock and title so they no longer describe a divergence. ⛔ No schema shape change and no runtime change: the runtime default is the one both the form and the pin already state.Dedupe
mcp__github__search_issues, repo-scoped, semantic, closed included, run 2026-09-28:activityMilestonessummary templates still interpolate raw lookup ids —{owner_id}rendersoBK25…after #7230 #7290, closed, the summary-template lookup ids: a different defect);spec-property-retirementskill still prescribes the withdrawn "rewrite it automatically" tombstone sentence — a pin test reds anything that follows it #10848: unrelated).Dedupe words:
activityMilestones type default completed·milestone without type emits updated·activity type for the emitted row describe staledomain:specseat 4 · #18917 · finding