Skip to content

Art index reads Out of date or warns when its build used other settings or an older catalog (#176) - #241

Merged
plainprogrammer merged 21 commits into
mainfrom
176-art-index-drift
Nov 9, 2026
Merged

plainprogrammer merged 21 commits into
mainfrom
176-art-index-drift

Conversation

@plainprogrammer

Copy link
Copy Markdown
Owner

Closes #176

What changes

The Art index panel on /admin/catalog and the art line of catalog:status[mtg] no longer say a plain "Ready." for a finished build that doesn't match what the instance runs now (spec 053, docs/specs/053-art-index-drift/).

First question (ruled), answered from the code and a request example:

Drift What the scanner does Shown now
Settings (settings_digest ≠ current) Refuses it: the page is offered the newest file whatever its digest and the route serves it (200), but parseIndex throws on the header digest and the page reads "Artwork matching isn't available. The scanner is reading text only." A state of its own: "Out of date. Built with other settings, so the scanner can't use it. Build the art index again." with "Built with settings" and "Current settings" facts, button enabled; catalog:status reads "Art matching: out of date (…)"
Catalog (catalog_version ≠ the latest applied refresh's source_version) Keeps using it: the header holds no catalog version, nothing checks it; newer artworks just get no art evidence "Ready." plus a last "Warning" fact naming both versions; catalog:status appends " Warning: built from catalog …"

Judged only for a finished latest build whose file is on disk (spec 039's missing state first) and once nothing is queued or running; a blank digest, build version or source_version isn't judged. No view, CSS, JS, build, migration or ADR change: the panel renders summaries and facts generically (FR-4).

Not built (noted in the area doc as an open point): a release that changes config/art_fingerprint.json queues no rebuild by itself; only a refresh does.

Evidence

  • Spec 053 v1.0.1 (Fable review, APPROVE WITH CHANGES, folded in), plan (Fable review, APPROVE WITH CHANGES, folded in), implementation review (Opus): SPEC-ALIGNED WITH FOLLOW-UPS, its two test-tightening minors fixed. Recorded in verification.md.
  • Test-first per phase; red and green runs are in verification.md. Two characterization examples pin what the scanner does with each kind of drift (AC-4.1, AC-4.2).
  • Full bin/ci ran as the pre-push hook on 99afddcd and passed; bin/rspec --dry-run counts 2882 examples.
  • Distilled into docs/architecture/catalog-operations.md and scanner.md; two lessons added. The plan's retirement is owed after the merge.

Note: the Co-Authored-By model line in the commits changed mid-run with the harness (earlier commits Sonnet 5.5, the plan commit Opus 5.5); history is not rewritten.

🤖 Generated with Claude Code

plainprogrammer and others added 18 commits November 9, 2026 11:44
…n older catalog (#176)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Spec 053 is approved (Gate A); its status moves from Draft to Approved.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…er catalog (#176)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…log (#176)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…aviours are pinned (#176)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…er (#176)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…er area docs (spec 027 D4)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@plainprogrammer plainprogrammer self-assigned this Nov 9, 2026
@plainprogrammer
plainprogrammer marked this pull request as ready for review November 9, 2026 17:46
@plainprogrammer
plainprogrammer merged commit e13e2f9 into main Nov 9, 2026
8 checks passed
@plainprogrammer
plainprogrammer deleted the 176-art-index-drift branch November 9, 2026 18:09
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.

Art index reads "Ready." when its build used other settings or an older catalog

1 participant