Skip to content

docs(020): make the README accurate and stop checking prose documents from RSpec - #72

Merged
plainprogrammer merged 36 commits into
mainfrom
020-readme-introduction
Oct 13, 2026
Merged

plainprogrammer merged 36 commits into
mainfrom
020-readme-introduction

Conversation

@plainprogrammer

Copy link
Copy Markdown
Owner

Closes #63

What this does

The README says what Collector is today. Its first paragraph said "Accounts and collections are not built yet" and called catalog search "public". It now describes accounts, the collection, catalog search, the card scanner and the admin pages, says Collector is pre-1.0 and links the roadmap.

Every checkable claim in the README was checked against the repository. The maintainer widened issue #63 from the introduction to the whole file. Of 372 claims in 15 sections: 309 true, 23 not refuted, 5 corrected, 1 left as it is by ruling, 32 not checkable (sizes, durations, other tools' behaviour), 2 off-limits (.kamal/secrets). The record is in verification.md.

Corrections outside the introduction:

  • The single-spec example names a spec file that exists (spec/requests/health_check_spec.rb:5), in the README and in CLAUDE.md.
  • The weekly refresh runs at 03:15 UTC, not "server time".
  • "Nothing downloads until you start it" now adds "or the weekly schedule first runs".
  • A scheduled refresh is skipped when the same file was already applied, "except once, after an upgrade that adds artwork ids".
  • The scanner's privacy sentence says that, with art matching on, the ids and distances of the closest artworks are sent as well as the text.
  • COLLECTOR_PASSWORD is removed from the Compose variable table: compose.yaml doesn't pass it to the container. The Accounts section still shows the working docker compose exec -e command.

CLAUDE.md's Project Status no longer calls the card search a "public … proof-of-concept"; it says search has needed sign-in since accounts.

A second outcome: the suite checks no prose document (decision 7)

By the maintainer's ruling, made while this spec was being written, RSpec no longer checks prose documents (README.md, CLAUDE.md, files under .claude/, Markdown and reference files under docs/). The spec rules would have split this into its own spec; the maintainer ruled it into this PR.

  • spec/readme_spec.rb is deleted (8 examples). Its two expectations about compose.yaml and config/deploy.yml are kept as two new examples in spec/image_publishing_spec.rb, each shown to fail first.
  • Removed: the three docs/releasing.md examples, the design system's document examples and its CLAUDE.md and skill-file expectations, and the README-link and ADR-index examples of the export format's document spec.
  • Kept: the export format's document checked against its schema, examples and the app's tables; the configuration-file checks; the checks of code files.
  • .claude/rules/testing.md gains the rule.

The suite goes from 1,219 to 1,206 examples (15 removed, 2 added).

Rulings made during the sweep

Question Ruling
COLLECTOR_PASSWORD in the Compose table Delete the row
The privacy sentence omits the artworks sent with art matching on Add the clause, naming ids and distances
"shown as interrupted" holds only once the job has stopped Leave it
"block all real HTTP" while localhost is allowed Leave it; "real HTTP" means traffic leaving the machine
The scheduled-run sentence has a one-time upgrade exception Add the exception

Verification

  • bin/ci passes at ac13459 (the only commits after it change the record): 1,206 examples, 0 failures, 1 pending (the existing art_agreement_spec.rb example).
  • Read-only Opus reviews: three of the spec, two of the plan, one of the implementation. The implementation review checked 34 README claims against the code independently; the one that failed is the scheduled-run correction above.
  • README headings and their order are unchanged; the three safety warnings are unchanged in text and position; no paragraph was re-wrapped.
  • Not checked: the Kamal section's two claims about what .kamal/secrets reads. Agents may not read that file.

Gaps the sweep noticed and did not fill (no issue opened; they are listed in the record for the maintainer to decide): the README has no "Using Collector" section, and fourteen smaller ones.

🤖 Generated with Claude Code

plainprogrammer and others added 30 commits October 12, 2026 18:14
The maintainer's ruling of 2026-10-12: spec, plan and implementation
reviews run on Opus by default; Fable only when named for a review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
From issue #63. The maintainer widened it to the whole README, with a
pre-1.0 sentence that links the roadmap and a hand check on record.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer ruling: the 'public card search proof-of-concept' phrase in
CLAUDE.md's Project Status is corrected in this PR (decision 4, AC-2.9,
FR-4). The rest of CLAUDE.md is not swept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Mode A, NEEDS REVISION, three blocking. spec/readme_spec.rb already pins
README phrases and stays; claims may be left stale with a recorded
reason; gaps are recorded and no issue is opened. Adds sorting rules for
claims and proposes decision 5 (CLAUDE.md gets the corrections it
repeats), for the maintainer's ruling.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer rulings of 2026-10-12: spec/readme_spec.rb is removed in this
PR (Story 4, FR-5), keeping its two configuration expectations in
spec/image_publishing_spec.rb; CLAUDE.md gets the README corrections it
repeats.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opus, Mode A, second pass: two blocking, wording only. Two examples move
to spec/image_publishing_spec.rb with stated counts; 'not refuted' is a
result, not a kind of claim; comparisons use origin/main...HEAD; the
CLAUDE.md sentence is given verbatim. Approved by the maintainer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer ruling of 2026-10-12, made while planning: no RSpec example
checks a prose document (decision 7). Besides spec/readme_spec.rb, the
releasing, design-system, CLAUDE.md, skill and ADR-index examples go.
The export format's checks, configuration checks and code checks stay.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opus, Mode A, on the 1.4.0 change: READY TO PLAN, nothing blocking. A
prose document is defined by who reads it; AC-4.6 uses a wider search;
the PR description names the second outcome.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Five phases: remove the prose-document checks, rewrite the introduction,
make the known corrections, sweep the README section by section, and
record it. The spec-file edits were run on scratch copies first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opus, read-only, NEEDS REVISION, nothing blocking. Searches now exclude
.kamal/secrets and documents; the example count and safety-warning
checks are corrected; two diff hunks get their context lines back; the
action table gains three rows; four ordering slips are fixed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Opus, read-only, READY TO EXECUTE, nothing blocking. The OCR route and
safety-warning checks are corrected, the record separates claims from
claims checked, the session wrap runs before the last file check, and
the wait for rulings is spelled out. The spec notes the wrap's lessons.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Approved by the maintainer after two read-only Opus reviews.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…publishing spec

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Spec 020, decision 3: the maintainer doesn't want a spec of a README's wording.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #63

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer ruling of 2026-10-12 (spec 020).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer ruling of 2026-10-12 (spec 020).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…work upgrade

Maintainer ruling of 2026-10-12 (spec 020); found by the implementation review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Maintainer ruling of 2026-10-12 (spec 020); found by the implementation review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
plainprogrammer and others added 6 commits October 12, 2026 19:47
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…es it

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@plainprogrammer plainprogrammer self-assigned this Oct 13, 2026
@plainprogrammer
plainprogrammer merged commit 628ba14 into main Oct 13, 2026
4 checks passed
@plainprogrammer
plainprogrammer deleted the 020-readme-introduction branch October 13, 2026 16:53
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.

README introduction says accounts and collections aren't built

1 participant