# The freshness gate's baseline.
#
# test_sr_freshness.py audits every commit after this one for "changed an
# SR-owned component without touching its owning record." History before
# this sha was written under the OLD, looser rule (any record touched, not
# necessarily the owning one) — auditing it retroactively under the new rule
# would flag work that was compliant at the time it landed. This line moves
# the baseline forward past PRIORITY.md's P1+P2 reconciliation commit, the
# first commit written under (and enforcing) the stricter rule.
#
# Moved forward again 2026-08-21, for the same reason in a new shape: the
# SR-CACHE carve-out reassigned `src/fux/refer/arc.py` and
# `src/fux/refer/fetchcache.py` from SR-REFER to a record that did not exist
# when `0264510` (the P4 fetch-cache size cap) landed. That commit touched
# SR-REFER, which was the owning record at the time, so it was compliant when
# it was written; only the reassignment makes it look otherwise. Every commit
# in `1fc51a7..301c65a` was re-audited under the pre-carve-out table and passed
# — that is the "bulk review" the register's baseline rule asks for. The cost
# is real and is stated rather than buried: those commits are no longer
# re-auditable by this gate.
#
# Moved forward again 2026-08-22, a third time, for a THIRD shape of the same
# cause: the register was RENUMBERED. ADR-0022 had been archived, leaving a
# hole, and closing it shifted eleven records down one — `0033_hooks.md` became
# `0038_hooks.md`, `0031_refer-plane.md` became `0036_refer-plane.md`, and so
# on. The ownership table names records by PATH, so every historical commit
# that touched a record at its old number now reads as touching nothing.
#
# The bulk review: `301c65a..9bb870e` is fourteen commits, of which exactly one
# — `e5f6b9a`, the v0.35.0 release — trips the gate under the new table. It was
# re-audited against the numbering in force when it landed and it **passed**:
# it touched `records/0030_graph.md`, `records/0031_refer-plane.md` and
# `records/0033_hooks.md`, which were SR-GRAPH, SR-REFER and SR-MAINTENANCE
# respectively at that moment. It was compliant when written; only the
# renumbering makes it look otherwise.
#
# The cost is the one the 2026-08-21 entry already names, and it is stated
# rather than buried: commits before this sha are no longer re-auditable by
# this gate. That is the standing price of renumbering a register, and it is
# why renumbering is not a tidy-up.
#
# 2026-08-27 — THE BASELINE DID NOT MOVE, AND THAT IS THE ENTRY.
#
# A fourth occurrence of the same cause arrived: SR-CONFIDENCE, SR-OUTPUT and
# SR-WORK-OWNERSHIP's whole `describes` relation were written on 2026-08-27 and
# claimed components that had existed for weeks, so eight commits from before
# they existed were flagged for not updating them.
#
# Under the three precedents above, the remedy would have been a fourth sha on
# the line below — retiring 95 commits of auditability to excuse eight. Instead
# the cause was fixed: `test_sr_freshness.py` now parses
# `git show <sha>:records/README.md` and judges every commit against the
# register AS IT STOOD AT THAT COMMIT. A row, a record or a relation that did
# not exist then does not judge now. See SR-WORK-OWNERSHIP decision 9.
#
# ⚠ A FIFTH ENTRY HERE WOULD MEAN THAT FIX FAILED. It is SR-WORK-OWNERSHIP veto
# condition 6. Read decision 9 before adding one, and prefer fixing the check.
#
# 2026-09-11 — THE FIFTH ENTRY. THE BASELINE MOVES, AND DECISION 9 DID NOT FAIL.
#
# Ruled by Arpit, 2026-09-11: "fix only the latest, leave the old ones" —
# confirmed in the same exchange as STOP AUDITING OLD COMMITS.
#
# THE CAUSE IS A NEW ONE, and saying so is the point of this entry. The four
# entries above are one cause in four shapes — a record, a relation or a number
# arriving AFTER a commit and convicting it retroactively. Decision 9 fixed that
# cause and it is still fixed: the gate reads `git show <sha>:records/README.md`
# and judges every commit against the register as it stood at that commit.
#
# What convicts `94231b2` is a different cause and is not retroactive at all.
# The `describes` relation is FILE-SCOPED; the descriptions are KEY-SCOPED. That
# commit added the single string "codex" to `[agents] install` in
# `src/fux/config.py`. SR-ACQUIRED, SR-PII and SR-URL-FRESHNESS each describe
# `config.py` because each owns keys in it — and none of them owns that key. The
# register was correct at the commit, is correct now, and the gate is reading it
# correctly. It is the SCOPE of `describes` that over-fires, not its history.
#
# DECLINED IN THE SAME EXCHANGE, and recorded as declined rather than judged on
# merit:
#   (a) rebasing `94231b2` to touch three records it has nothing to do with;
#   (b) key-scoped `describes` — the real fix, and much the largest;
#   (d) a one-sha waiver list.
#
# THE COST, stated rather than buried, and it is the largest yet: every commit
# up to and including `ce425c7` is no longer re-auditable by this gate. That is
# the entire history before 2026-09-11.
#
# ⚠ THIS DOES NOT FIX THE OVER-FIRING. The next commit that touches
# `src/fux/config.py` for any reason will again be required to touch every
# record describing that file, whichever key it actually changed. This entry
# buys one red commit, not the defect. SR-WORK-OWNERSHIP veto condition 6 has
# FIRED, by ruling, and that record says so.
#
# Previous baselines:
#   1fc51a7257efeb943c512809bc531c7817dbc753
#   301c65af310424d266ad40a4e22961722a586d97
#   9bb870ef7dc4c25386cca15d999bcb2b4e7a81f5
ce425c7764822938912219a00e7b9a2720961289
