Skip to content

A timestamp a seat writes into GitHub must come from the clock read by the same act that writes it — make an estimated stamp unspellable (helper token and/or a report-only patrol row), after two recorded ~1h mis-estimates #17314

Description

@os-justin

Split out of #17308 (its third item) by the skills seat at first grading (session_01MoTv7pn338AZ71owsp19gQ, 2026-09-10T05:5xZ); the two platform facts stay on #17308. ⛔ Filed as a mechanical item, not a discipline line: the same failure is recorded twice on the triage seat post (R+164 「轮次计时全靠感觉,错了约 4 倍」, then R+165: ~70 minutes off, ~15 audit comments stamped with an estimated time), with a "measure it next time" remedy between them that did not hold.

The invariant to make mechanical

Every timestamp a seat writes into a GitHub comment or body (the <sub> reading time, the YYYY-MM-DDThh:mmZ on claims, dispatches, verdicts, round reports and seat-post edits) must come from a clock read by the same act that writes the text — never from the seat's sense of elapsed time. The protocol already requires the stamp (「板面/树/队列读数恒带 UTC 取数时刻」); what is missing is that an ESTIMATED stamp has a spelling today.

Shape (the dev picks the smallest mechanism that removes the spelling; both halves are candidates)

  1. Write side — a scripts/pm/ helper that posts a comment / edits a body and substitutes a {{NOW}} token with date -u +%Y-%m-%dT%H:%MZ taken in the same call (REST via GH_TOKEN, the channel every seat has); the seat writes the token, never the time. Dispatch prompts and the seat-post protocol then say: stamps are tokens.
  2. Read side — a report-only check-half-states.mjs row (H56) that compares a comment's stamped time to its created_at and lists stamps off by more than a stated tolerance (e.g. 15 min), so a hand-typed estimate is visible on the anchor rather than trusted.

Acceptance: the helper (if built) has a self-test; the row (if built) has a fixture pair (on-time / off-by-70-min) and renders on the anchor; references/platform-readings.md or the seat-post protocol names the mechanism in one line; no discipline prose is added.


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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions