Skip to content

State the negative-result trap as a demand for evidence - #82

Merged
ptr727 merged 2 commits into
developfrom
sharpen-negative-trap
Aug 9, 2026
Merged

State the negative-result trap as a demand for evidence#82
ptr727 merged 2 commits into
developfrom
sharpen-negative-trap

Conversation

@ptr727

Copy link
Copy Markdown
Owner

Honours a commitment made in the agent channel: the host side generalised two of this repo's findings into one rule, and I said I would bring it back here rather than leave it in a file this repository does not carry.

The change

The trap said a query that matches nothing reads as a clean result. True, and it names no action.

Before believing a negative, establish that the check could have produced a positive.

Same rule with a step in it, and the step is what was missing every time this cost something. Be careful has nothing to perform; prove the check can fire does.

Four costumes are listed under it, because seeing them as one failure is the whole value:

ShapeInstance
a query that cannot see its targeta journal grep from an account not in adm or systemd-journal — the lines exist and are simply not shown to it
a rule naming a target that does not exist.gitattributes pinning two files this repository has never carried
a filter whose precondition is unstatedreading an absent X-Blog-Check as a visitor, when the field exists only because the edge is configured to log it
a tool reporting success having done nothinggit restore-mtime v2022.12 printing a count and processing none of it

No count is claimed. An earlier draft of this said "six separate false passes" — the list does not add to six, some were near-misses caught in time, and one has not happened at all. Asserting a number I could not defend, in a trap about unverified claims, was not a great look.

Two State rows re-measured while here

Both had gone false today:

  • Production serves a new release, and the hard-linking result now exists: 1,052 of 3,275 shared, the linked set being exactly the restored generation, all 1,048 linked media files at mode 644, and 11.4 MB incremental against 585 MB.
  • The backup timer fired unattended at 09:11:01 UTC, proven by both halves of the standard — a second journal entry andLAST off - — rather than either alone.

One durable fix

The serving release id is no longer repeated outside the State table. It moves with every deploy, and that duplicate had already gone stale twice in a day. A moving value gets one home.

The trap said a query matching nothing reads as a clean result, which is
true and names no action. The host side put the general form better:
before believing a negative, establish that the check could have produced
a positive. That is the same rule with a step in it, and the step is what
was missing every time this cost something.
Four costumes are now listed under it, because seeing them as one failure
is the whole value:
a query that cannot see its target, including a journal grep run from an
account not in adm or systemd-journal, where the lines exist and are
simply not shown to it
a rule naming a target that does not exist, which is the .gitattributes
pin for two files this repository has never carried
a filter whose precondition is unstated, which is reading an absent
X-Blog-Check as a visitor when the field exists only because the edge is
configured to log it
a tool reporting success having done nothing, which is git restore-mtime
v2022.12 printing a count and processing none of it
No count is claimed for them. An earlier draft said six false passes and
the list does not add to six, some were near-misses caught in time, and
one has not happened at all.
Two State rows are re-measured while here, since both had gone false
today. Production serves a new release and the hard-linking result now
exists, 1,052 of 3,275 with every linked media file at 644. The backup
timer fired unattended at 09:11:01 UTC, proven by both halves of the
standard rather than either alone.
The serving release id is no longer repeated outside the State table. A
value that moves with every deploy should exist in one place, and that
duplicate had already gone stale twice in a day.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI lite review requested due to automatic review settings August 9, 2026 17:28

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the operational backlog/state tracking in TODO.md to (1) record the latest production/staging measurements and (2) reframe the “negative-result trap” as an actionable requirement to prove a check could have produced a positive result.

Changes:

  • Refresh the State table entries for production (new serving release + hard-linking measurements) and operations (first unattended timer run evidence).
  • Remove duplication of the moving production release ID outside the State table to avoid staleness.
  • Replace the prior “empty result reads as clean” note with a more actionable rule: before believing a negative, prove the check could have produced a positive, with enumerated failure “costumes”.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment threadTODO.md Outdated
Comment threadTODO.md Outdated
The file mode was plain text beside literals the same table wraps in
code, and the tool was named by its subcommand invocation where the two
nearby mentions use the binary name. Both now read the same way
throughout.
The distinction is worth keeping straight rather than merely consistent:
git-restore-mtime is the tool, and git restore-mtime is one of the two
ways it resolves. This sentence is about the tool.
Found by Copilot review on #82.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CopilotAI review requested due to automatic review settings August 9, 2026 17:32

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit 77f5783 into developAug 9, 2026
5 checks passed
@ptr727
ptr727 deleted the sharpen-negative-trap branch August 9, 2026 17:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@ptr727