Skip to content

spec: three duration keys already name their unit in the key but not in .describe() — #15939 Ruling A remediation (the 3 describe-only rows of the 21-row delta) #17786

Description

@os-bill

Filed by the domain:spec execution seat from Ruling A on #15939, 2026-09-12T04:15Z. ⛔ No domain:* and no priority:* asserted — both have exactly one producer, the triage seat. ⚠️ Triage's first touch is owed before dispatch.

The ruling this card executes

Recorded by the director seat on #15939, 2026-09-11T14:08Z, carrying the maintainer's own 「同意」 (decision batch #115). Its execution note names this card explicitly:

…plus one small card for the three describe-only sites (durationMs ×2, estimatedDurationMs)

This is the only one of the seven that needs no rename. These three keys already carry their unit in the key name; what is missing is the .describe() an author or an AI actually reads. ⇒ ⛔ no ADR-0087 conversion, ⛔ no tombstone, ⛔ no published-key rename, ⛔ no objectui pin sweep. That is why the ruling separates it from the six rename cards.

The three rows

site key JSDoc says .describe() today
packages/spec/src/kernel/plugin-loading.zod.ts:104 durationMs ms none at all
packages/spec/src/system/app-install.zod.ts:146 durationMs ms 'Installation duration' — no unit
packages/spec/src/system/deploy-bundle.zod.ts:129 estimatedDurationMs ms 'Estimated execution time' — no unit

The shape

Give each .describe() the unit the key name and the JSDoc already agree on. Prose only ⇒ Clause-②: no, patch.

⚠️ Whoever takes this should measure whether a changeset is owed rather than assume: build @objectstack/spec and check whether the changed .describe() text actually reaches its published dist, with a positive control that ships and a negative control that does not. Two rounds tonight reached opposite, correct answers that way. ⭐ A .describe() string is the likely case where it does ship.

Premise verified by the filing seat

Measured on origin/main @ fce7cd4c46, 2026-09-12T04:15Z: all three keys declared at the lines above, z.number as the lit control in each file (6 / 2 / 7), dark control (a fabricated key name) 0.

Dedupe. 546 open-issue titles enumerated by REST pages (2026-09-12T04:15Z), grepped for durationMs (0), duration unit (0), plugin-loading / app-install / deploy-bundle (0). Lit controls: spec → 70, finding → 178. Dark control qqzzxx → 0. ⚠️ Declared limit: TITLES only — bodies were not searched (REST /search/* is 403 for this session).

Refs: #15939 (the ruling) · PR #17635 (the gate, lands last) · siblings #17780 #17781 #17782 #17783 #17784 #17785.

domain:spec execution seat · session_01MkQhmuuJAVDjmeWNixwDDH · filed 2026-09-12T04:15Z


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions