Skip to content

docs: site parity after #1531 — TDD line and one verified basis for the figures - #1537

Merged
frankbria merged 4 commits into
mainfrom
site-tdd-line
Oct 28, 2026
Merged

frankbria merged 4 commits into
mainfrom
site-tdd-line

Conversation

@frankbria

@frankbria frankbria commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

Brings the landing page and the README into line after #1531.

1. The TDD contrast on the site

#1531 put this on the README's first screen, under the demo. The site had the same headline, install line and demo, but not this:

TDD protects your code. This protects your tests. Your agent can edit a test as easily as it can edit the code, and when a test is inconvenient that is often what it edits. A requirement is a test it cannot quietly drop: releasing one takes a waiver with a name, a reason and an expiry date.

Placed after the figure, inside <header>, mirroring the README. .tdd has no stylesheet rule, so it renders at body size and colour rather than the muted .lede — deliberate, since it is the punchline.

2. One verified basis for the figures, on both surfaces

The README and the site stated different figures for the same thing, and one of the site's had gone stale.

README before Site before Measured Both now
Tests 5,000+ 7,500+ 6,035 passed 6,000+
Coverage 80% floor 85%+, 80% floor 86.13%, floor 80 85%+, 80% floor

The site's 7,500+ was correct when written (7,891 at d26a5c8, 14 Oct) and is no longer true. The README's figures were true but undersold.

Source: the Backend Unit Tests job on main @ 507c6e0c, 2026-10-28 — 6035 passed, 38 skipped, 2 deselected and Required test coverage of 80.0% reached. Total coverage: 86.13%.

Rounded down, following the site's existing convention, and both places now carry an HTML comment with the measurement and a pointer to the other file, so the next person can re-check rather than trust.

Verification

  • uv run pytest tests/ci/ -q → 81 passed
  • <blockquote id="limitations"> untouched; still pinned to the README's beta note
  • No limitations list added to the site (decided: not yet)

🤖 Generated with Claude Code

https://claude.ai/code/session_019cEymaSpmZ1arjngxx1VNM

frankbria and others added 2 commits October 27, 2026 21:05
#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
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
@frankbria frankbria changed the title docs(site): answer the TDD objection on the landing page docs: site parity after #1531 — TDD line and one verified basis for the figures Oct 28, 2026
@frankbria
frankbria enabled auto-merge (squash) October 28, 2026 04:13
@claude

claude Bot commented Oct 28, 2026

Copy link
Copy Markdown

Review: LGTM. This is a docs-only change with no code or security impact.

  • The site and README now state the same figures (6,000+ tests, 85%+ coverage, 80% floor). Both are rounded down from the measured 6,035 passed and 86.13%. Both files carry a comment with the source and a pointer to the other file.
  • The .tdd paragraph mirrors the README copy. The PR says .tdd has no stylesheet rule on purpose, so it renders at body size.
  • The README's HTML comment sits directly above the paragraph and doesn't render. It does not touch the #limitations blockquote.
  • The count dropped from 7,891 to 6,035 since 14 Oct. That is plausibly the [P2.79] Remove the web UI (decision recorded) #1477 web/server removal, and the PR explains the new basis, so the lower figure is fine.
  • I didn't run the tests. The PR reports tests/ci/ at 81 passed.

Optional: nothing checks that the README and site figures agree, so a small tests/ci guard could stop them drifting again. That isn't needed for this PR.

🤖 Generated with Claude Code

@claude

claude Bot commented Oct 28, 2026

Copy link
Copy Markdown

Re-review: no changes since my earlier LGTM, and I still have nothing blocking. This is a docs-only diff. The README and site figures now match (6,000+ tests, 85%+ coverage, 80% floor), and each file has a comment saying where the numbers came from. The earlier optional suggestion stands: a small tests/ci check that the two files agree would stop them drifting again. I didn't run the tests.

🤖 Generated with Claude Code

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
@github-actions

github-actions Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Claude finished @frankbria's task in 1m 24s —— View job


Third-party review — ✅ no defects found

  • Read the diff (README.md, site/index.html — docs-only)
  • Verify figure parity across both surfaces (6,000+ tests, 80% floor; no stale 7,500+/5,000+/85%+ anywhere)
  • Verify the [P1.30] Fix CI gates that pass without verifying anything #948 guard still holds (coverage-80%25 badge present; all coverage claims ≤ fail_under = 80)
  • Verify TDD copy mirrors the README verbatim and the HTML placement is valid
  • Post summary comment

Docs-only change. Figures are consistent on both surfaces and rounded down from a plausible measurement (5,290 static test definitions + parametrization ≈ the cited 6,035 collected; I could not re-query CI from this environment). The #948 coverage-claim guard remains satisfied. Summary posted as a separate review comment.
· Branch: site-tdd-line

@claude

claude Bot commented Oct 28, 2026

Copy link
Copy Markdown

Re-review: the diff has changed since my earlier LGTMs, and I have nothing blocking. It is still docs-only.

  • The site no longer says 85%+. The stat is now 80% / "test-coverage floor, enforced in CI", and both HTML comments say coverage is stated as the floor and never the measured value. That fits the tests/test_lifecycle_gates_948.py rule (README coverage claims must match fail_under). It also means the PR description is stale: its table and "Both now: 85%+, 80% floor" no longer match the diff. Please update it.
  • Minor: in site/index.html the two comment lines about tests/test_lifecycle_gates_948.py lost their indentation. It doesn't render, but it is inconsistent with the lines around it.
  • Drift guard: my earlier optional suggestion stands. Nothing checks that the README and site test counts agree, and the [P1.30] Fix CI gates that pass without verifying anything #948 test only covers coverage in the README. A small tests/ci check would cover both. This is not needed for this PR.

I didn't run the tests.

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

✅ Third Party Review: no defects found.

Docs-only diff (README.md, site/index.html). Verified against the checked-out tree:

  • Figures agree on both surfaces (6,000+ tests, 80% coverage floor) and no stale figures (7,500+ / 5,000+ / 85%+) remain anywhere in either file.
  • Rounded-down claim is plausible: 5,290 static def test_ definitions plus parametrization is consistent with the cited 6,035 collected; fail_under = 80 confirmed in .coveragerc.
  • The [P1.30] Fix CI gates that pass without verifying anything #948 guard (tests/test_lifecycle_gates_948.py) still holds: the coverage-80%25 badge is present and every coverage claim the regex extracts (80, 80) is ≤ the enforced floor.
  • The TDD paragraph on the site mirrors the README wording verbatim; placement inside <header> after </figure> is valid HTML, and no .tdd stylesheet rule exists, matching the PR's stated intent.
  • CI figures (6,035 passed / 86.13%) could not be independently re-verified (no CI API access from the review environment), but the claim is rounded down and internally consistent.

Model: k3[1m]

@frankbria
frankbria merged commit fdffb66 into main Oct 28, 2026
13 checks passed
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