Skip to content

docs: lead the README with the demo, the install line, and the limits - #1531

Merged
frankbria merged 3 commits into
mainfrom
a3-first-screen
Oct 27, 2026
Merged

frankbria merged 3 commits into
mainfrom
a3-first-screen

Conversation

@frankbria

Copy link
Copy Markdown
Owner

Restructures the README's first screen. Nobody reads past it, and it currently opens with a banner, seven badges and a table for the half of the product that is no longer the pitch.

New order: headline, badges, nav, install, demo, then the sentence that answers the first objection an engineer has.

What changed

Header banner Removed. Its alt text duplicated the headline and the install line, which now sit where it was. The SVG and site/make-banner.py are untouched.
Badges Seven to five. status-beta duplicates the beta note; the follow badge earned nothing above the headline.
Install line Now a fenced block, so GitHub gives it a copy button. String unchanged.
proof9 demo GIF Moved from "See it in action" to the first screen. The prose about /proof, the pre-commit check and the ledger pane stays put.
TDD contrast New, under the demo.
Think/Build One sentence pointing at Features. The four-stage table moves under Features, beside the detail it summarizes.
Closed-loop sentence Dropped — it repeated the paragraph above it.
Proof of substance New: suite size, the coverage floor CI enforces, link to the sample evidence report.
## What we don't do yet New section, after Features.
Gate bullet Reworded, see below.
Features wording PROOF9 quality memory → PROOF9 regression memory.

The gate bullet

"Every gate has a real check" read as though all nine are verified for you. Three are; five need tests you write; MANUAL is never machine-verified. The reworded version says so, and is the stronger claim — "a missing test is a failure, never a pass" holds up under scrutiny where the absolute invites someone to go and check.

Verification

  • uv run pytest tests/ci/ -q → 81 passed
  • Exactly one > [!NOTE] in the README, unchanged, so site/index.html's <blockquote id="limitations"> stays pinned to it (test_site_1465.py)
  • /plugin install proof9 --marketplace frankbria/codeframe and codeframe-ai 0.9.7 both still present (test_proof9_distribution_1471.py)
  • No unqualified uniqueness phrases (test_no_uniqueness_claims_1466.py)

What to look at

Please review this rendered, not as a diff. No guard in the suite reads English for sense, and the last copy change in this file shipped a one-character corruption that passed git apply --check and every CI job. The two things most likely to look wrong rather than read wrong are the fenced install block (left-aligned, where the surrounding header blocks are centered) and the table in its new home under Features.

Not in this change

  • The demo GIF is the existing recording. It gets replaced by one that shows the pre-commit check refusing a commit, rather than the agent choosing well — a demo of good behaviour reads as prompt engineering, a demo of the gate firing does not.
  • The nav row does not link to the new section. One line to add later; trips no guard.

🤖 Generated with Claude Code

https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM

frankbria and others added 2 commits October 24, 2026 18:06
Restructures the first screen so a reader meets the product in the order they
actually decide in: what it claims, how to install it, what it looks like
working, and why it is not just a regression test.

- Remove the header banner image. Its alt text duplicated the headline and the
  install line, both of which now sit immediately below where it was. The SVG
  and its generator (site/make-banner.py) are untouched.
- Trim two badges. status-beta duplicates the beta note three lines down, and
  the follow badge earned nothing above the headline.
- Make the install line a fenced block so GitHub renders a copy button. The
  string itself is unchanged.
- Move the proof9 demo GIF from "See it in action" onto the first screen. The
  prose describing /proof, the pre-commit check and the ledger pane stays where
  it was.
- Add the TDD contrast under the demo. It is the first objection an engineer
  raises and no surface answered it.
- Demote Think/Build to one sentence pointing at Features, and move the
  four-stage table under Features next to the detail it summarizes. Drop the
  closed-loop sentence, which repeated the paragraph above it.
- Add "Proof of substance": suite size, the coverage floor CI enforces, and a
  link to the sample evidence report.
- Add a "What we don't do yet" section after Features.
- Reword the gate bullet. "Every gate has a real check" read as though all nine
  are verified for you; five need tests you write. Saying so is both accurate
  and the stronger claim, because "a missing test is a failure, never a pass"
  survives scrutiny where the absolute does not.
- PROOF9 quality memory -> PROOF9 regression memory, matching the category line
  used elsewhere.

The demo GIF is the existing recording. It will be replaced by one that shows
the pre-commit check refusing a commit rather than the agent choosing well.

tests/ci: 81 passed. The README's first "> [!NOTE]" is unchanged and still the
only one, so site/index.html's limitations blockquote stays pinned to it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM
@frankbria
frankbria enabled auto-merge (squash) October 25, 2026 04:55
@frankbria
frankbria merged commit 507c6e0 into main Oct 27, 2026
11 checks passed
frankbria added a commit that referenced this pull request Oct 28, 2026
…he figures (#1537)

* docs(site): answer the TDD objection on the landing page

#1531 put "TDD protects your code. This protects your tests." on the README's
first screen, directly under the demo. The site carried the same headline, the
same install line and the same demo, but not this. It is the first objection an
engineer raises after watching the clip, so it belongs next to the clip on both
surfaces.

Placed after the figure, inside the header, mirroring the README's order. The
new paragraph has no stylesheet rule of its own, so it renders at body size and
colour rather than the muted `.lede` treatment — which is wanted here, since it
is the punchline rather than the subtitle.

tests/ci: 81 passed. The limitations blockquote is untouched, so it stays pinned
to the README's beta note.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM

* docs: one verified basis for the test and coverage figures

The README said 5,000+ tests and an 80% floor; the site said 7,500+ tests and
85%+. The site's 7,500+ was right on 2026-10-14 (7,891 at d26a5c8) and is no
longer true. The README's figures were true and undersold.

Measured on main @ 507c6e0, 2026-10-28, Backend Unit Tests job: 6,035 passed,
86.13% coverage against fail_under = 80. Both surfaces now say 6,000+ tests and
85%+ coverage with an 80% floor, rounded down per the site's convention, and
both carry a comment with the measurement and a pointer to the other file.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM

* docs: state coverage as the enforced floor on both surfaces

tests/test_lifecycle_gates_948.py holds README.md to fail_under: any
"NN% test coverage" it states must be a number CI will actually enforce. The
previous commit wrote "85%+ test coverage" — true today (86.13%), enforced by
nothing — and the guard failed it, which is what it exists to do. The README
shipped an 88% badge and an 85%+ ask before #948 for the same reason: a
measured figure nothing checks drifts until it is false.

README now states the 80% floor. The site states the same, so neither
surface carries a coverage figure nothing enforces. The measured value stays
in the HTML comment with its commit, as a dated fact rather than a claim.

Full CI selection locally (tests/ --ignore=tests/e2e -m "not lifecycle"):
6041 passed, 0 failed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM

---------

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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