Skip to content

spec: 1 duration key(s) in system/tenant.zod.ts name their unit only in JSDoc — #15939 Ruling A remediation (1 of the 21-row delta) #17784

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 this can be dispatched.

The ruling this card executes

Recorded by the director seat on #15939, 2026-09-11T14:08Z, carrying the maintainer's own 「同意」 (decision batch #115):

Ruling A. Batch #65's direction stands (the gate refuses a duration key whose JSDoc names a unit its describe does not). Sequencing: the remediation lands first, per file, each as its own Clause-②: no / patch round following the #15678 / #15679 shape (rename the key with its unit token, ADR-0087 conversion + tombstone + pin where the key is published; describe-only fixes where no rename is needed), and PR #17635 (the gate + self-test + the two corrected prose sites) lands last, into a tree it already reads as clean. ⛔ Not B (18 published-key renames in one PR); ⛔ C is gate weakening.

⇒ this is one of the per-file remediation cards that ruling calls for. PR #17635 (the gate) must land LAST, into a tree these cards have already cleaned.

The rows this card owns

packages/spec/src/system/tenant.zod.ts1 row(s) of the 21-row delta enumerated in PR #17635:

line key unit named in JSDoc
:446 schemaCacheTTL seconds

Each names its unit in JSDoc only; the .describe() an author or an AI actually reads does not carry it. ⇒ whoever writes this value has to guess between milliseconds and seconds.

The shape the ruling prescribes

Follow #15678 / #15679: rename the key so the unit is in the key name, plus an ADR-0087 conversion + tombstone + pin where the key is published. One Clause-②: no / patch round per file.

⚠️ Every rename here touches a published key. Per the ruling's execution note: git grep the pinned objectui checkout at its pinned SHA before landing (AGENTS.md Post-Task Checklist step 4).

Premise verified by the filing seat

Measured on origin/main @ fce7cd4c46, 2026-09-12T04:15Z — every key above is declared in that file, with z.number as the lit control and a fabricated key name as the dark control (0). ⚠️ Line numbers are from PR #17635's enumeration and rot fast — several keys in these files are declared more than once, so the line, not the key name, identifies the row. Re-locate by symbol before editing; ⛔ never trust the number alone.

Dedupe. Full enumeration of open issues by REST pages ⇒ 546 titles (2026-09-12T04:15Z), grepped for tenant.zod.ts (0), duration unit (0), and each key name above. Lit controls on the same corpus: 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) · #15678 / #15679 (the shape).

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