Skip to content

[finding] the records-forms platform checklist still cites hook.json timeout as 'live' — the ledger marked it dead when #15626 renamed it to timeoutMs #15839

Description

@claude

Found while clearing src/api/** for #15677 (stack card 2/6 of #14478); out of that card's scope, which is the api/ directory only.

The claim and the ledger disagree

docs/qa/platform-checklist/areas/records-forms.json:3171 cites the hook liveness ledger like this:

packages/spec/liveness/hook.json#retryPolicy (object/events/body/priority/async/condition/retryPolicy/timeout/onError all 'live'; label/description 'dead' but kept as docs)

packages/spec/liveness/hook.json on origin/main says otherwise:

prop status
timeout dead
timeoutMs live

PR #15626 renamed hook.timeout to hook.timeoutMs under ruling B on #14478, tombstoned the old spelling and split the ledger row in two (a live row for timeoutMs, a dead row for timeout, following the documented pattern). The checklist row was not moved with it, so it now asserts as live a key the ledger records as retired, and does not mention the key that replaced it.

Why it is worth a card rather than a shrug

The row is a ref — the coordinate a checklist runner opens to decide what the item is supposed to prove. A runner reading it looks for timeout in the hook ledger, finds a dead row, and has to reconstruct which of the two spellings the item meant. Nothing catches this: the checklist's citations are prose, and no gate compares a checklist ref against the ledger it names.

Reproduce

git show origin/main:docs/qa/platform-checklist/areas/records-forms.json | sed -n '3171p'
python3 -c "import json;p=json.load(open('packages/spec/liveness/hook.json'))['props'];print({k:p[k]['status'] for k in ('timeout','timeoutMs')})"

Measured on origin/main at cc5b3dd0c (2026-09-05). Pre-existing — not introduced by #15677, whose diff does not touch hook.json or records-forms.json.

Suggested fix

Rewrite the citation to name timeoutMs as live and timeout as the retired tombstone, matching how the ledger now reads. Worth checking the sibling rows in the same file for the same rename residue while there.

Related: #15626, #14478, #15677.


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

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions