Skip to content

feat(tri): recover the anchor from git for windowed sections the text does not date - #3029

Merged
gHashTag merged 1 commit into
masterfrom
loop/recover-anchors
Sep 3, 2026
Merged

feat(tri): recover the anchor from git for windowed sections the text does not date#3029
gHashTag merged 1 commit into
masterfrom
loop/recover-anchors

Conversation

@gHashTag

@gHashTag gHashTag commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Section 457 counted nine sections here that state a figure over a sliding population and name no anchor. The obvious follow-through was to write a date into each. That is the wrong move twice over: it edits nine sections of prose to fix a defect that is not in the prose, and the dates would be invented by the editor rather than measured.

They are not missing. git blame over the section's own line range answers the question the text does not:

NO ANCHOR    ..   ci-gates     179  A `--limit` on a run list is a time window in disgui
                      last written no later than 2026-08-29  (e817fbec5)
NO ANCHOR  figure ci-gates     193  `gh pr checks` said two while forty runs existed
                      last written no later than 2026-08-29  (70cc962c0)
NO ANCHOR  figure ci-gates     416  An open issue is a claim with a date, and one subset
                      last written no later than 2026-08-31  (487003fb9)

Nine dates recovered, none written by hand. Section 179 resolves to e817fbec5 by blame and to the same commit by an independent git log -S — two mechanisms, one answer.

What the date says, and what it does not

It is the newest commit touching any line of the section, so it bounds how FRESH the figure can be: taken no later than this. It is not when the reading was taken, and cannot be — a typo fixed in September carries a September date over an August number. So it is a bound, printed as a bound, sitting beside §457's upper bound in the other direction.

The newest, not the oldest. The oldest answers when the section was started, which any later edit invalidates. The test fixture is deliberately out of order so that the last one seen and the newest cannot both pass.

And it prints a DATE, not an age

stale by 12 days was the first thing written here, and it is precisely the defect this whole line of work is about: an age is a figure over a sliding population. It changes every midnight, so quoting it anywhere makes a claim that rots. A date does not move. The rule caught its own tool before the tool shipped.

Seven clauses, seven kills

newest-versus-oldest · newest-versus-last · the forty-character commit id · the author-time key · and all three range boundaries. Each mutant killed a test; nothing survived unproved.

The length check earns its place on a real shape: blame content lines are tab-prefixed, so deadbeef written inside a code block would otherwise be adopted as the answer.

section_ranges is kept apart from section_bodies rather than widening its tuple — three call sites and four tests read that shape — and a test pins the two walkers to the same set of sections. A range attached to the wrong section would date the wrong claim, silently and plausibly.

  • cargo test -p tri494 passed, 0 failed
  • skill: §459 appended; 423 sections, no number used twice

Refs #2994

… does not date

Section 457 counted nine sections here stating a figure over a sliding
population and naming no anchor. Writing a date into each was the wrong
follow-through twice over: it edits nine sections of prose to fix a
defect that is not in the prose, and the dates would be invented by the
editor rather than measured.

They are not missing. `git blame` over the section's own line range
answers the question the text does not, and `tri skill claims
--windowed` now prints it under every windowed section that carries no
anchor of its own:

  NO ANCHOR  ci-gates  179  A `--limit` on a run list is a time window
                       last written no later than 2026-08-29 (e817fbe)

Nine dates recovered, none written by hand. Section 179 resolves to the
same commit by an independent `git log -S` -- two mechanisms, one answer.

What it says: the NEWEST commit touching any line of the section, so it
bounds how FRESH the figure can be -- taken no later than this. It is
not when the reading was taken and cannot be, since a typo fixed in
September carries a September date over an August number. It is a bound,
printed as a bound, beside 457's upper bound in the other direction.

The newest, not the oldest: the oldest answers when the section was
started, which any later edit invalidates. The fixture is deliberately
out of order so "the last one seen" and "the newest" cannot both pass.

And it prints a DATE, not an age. "Stale by 12 days" was written first,
and it is exactly the defect this line of work is about -- an age is a
figure over a sliding population, changing every midnight, so quoting it
makes a claim that rots. The rule caught its own tool before it shipped.

Seven clauses mutated, seven killed: newest-versus-oldest,
newest-versus-last, the forty-character commit id, the `author-time`
key, and all three range boundaries. The length check earns its place on
a real shape -- blame content lines are tab-prefixed, so `deadbeef` in a
code block would otherwise be adopted as the answer.

`section_ranges` is kept apart from `section_bodies` rather than
widening its tuple, and a test pins the two walkers to the same set of
sections: a range attached to the wrong section would date the wrong
claim, silently and plausibly.

Refs #2994
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-03 15:40:42 UTC

Summary

Status Count
Total Open PRs 11
PRs with Failing Checks 10
PRs with All Checks Green 1
READY 0
FAILING 10
PENDING 0

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=9b8875f1c9d4 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag
gHashTag merged commit 69801cc into master Sep 3, 2026
36 checks passed
@gHashTag
gHashTag deleted the loop/recover-anchors branch September 3, 2026 15:57
Sign up for free to 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.

1 participant