the guide, reconciled — and the banner was confidently backwards
Adopts the loom-cli guide the builder wrote, and reconciles guarantees.md, which grew an append-only "Surface changes" section: the promise is not that the command surface holds, but that a change to it lands on the page we already lock. A rename reports 200 here the day it happens. The banner said "written against an older guarantees". It was wrong. The guide was stamped against a version newer than our copy — the builder had pushed and we had not reconciled — and the message claimed a direction it cannot possibly know, because an etag is opaque and two of them cannot be ordered. That opacity is the point of the lock. The banner now says only that the two differ, and names both ways out. It also means reconciling cleared this banner with no ack, which is correct: ack is for a guide that is behind, and this one was ahead. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -170,9 +170,14 @@ function guidePage(repo, records, existing) {
|
||||
// Starlight renders `banner` above the page. The reader sees the doubt even
|
||||
// if nobody has reconciled it yet — the site degrades honestly rather than
|
||||
// reading as true.
|
||||
// Deliberately says nothing about which side is newer. An etag is opaque —
|
||||
// that is the point of it — so two of them cannot be ordered, and this can
|
||||
// only ever know that they differ. The first time it fired in real use, the
|
||||
// guide was written against a version newer than the copy here, and a
|
||||
// message claiming "an older X" was confidently backwards.
|
||||
const which = stale.map((s) => `<code>${s}</code>`).join(', ')
|
||||
data.banner = {
|
||||
content: `Written against an older ${which}. The source has changed since — this page may no longer be true. Re-read it, then <code>npm run ack</code>.`,
|
||||
content: `Written against a different ${which} than the copy in this repository — so one of the two is behind. Run <code>loomctl external check</code>, or re-read this page, then <code>npm run ack</code>.`,
|
||||
}
|
||||
} else {
|
||||
delete data.banner
|
||||
|
||||
Reference in New Issue
Block a user