Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,13 @@ The same CLI also covers the work before the code — requirements discovery, ta
decomposition, and delegating each task to **Claude Code, Codex, OpenCode,
Kilocode** or its built-in agent. See [Features](#features).

**Proof of substance.** 5,000+ tests with an 80% coverage floor enforced in CI,
and a [sample evidence report](https://codeframe.sh/sample-evidence-report.html)
<!-- Figures rounded DOWN so they stay true as the suite grows (CI on main @ 507c6e0c, 2026-10-28: 6,035 passed, 86.13% coverage, fail_under = 80).
Coverage is stated as the floor CI enforces, never the measured value:
tests/test_lifecycle_gates_948.py holds README.md to fail_under (#948).
Keep in step with the stats block in site/index.html. -->
**Proof of substance.** 6,000+ automated tests passing in CI, an 80% test coverage
floor CI enforces, and a
[sample evidence report](https://codeframe.sh/sample-evidence-report.html)
showing what a run actually produces.

> [!NOTE]
Expand Down Expand Up @@ -410,7 +415,7 @@ uv run pytest tests/ --ignore=tests/e2e -m "not lifecycle" # the CI gate
uv run ruff check .
```

The suite has 5,000+ tests, and contributions need 80% test coverage, the floor CI enforces. Code
The suite has 6,000+ tests, and contributions need 80% test coverage, the floor CI enforces. Code
standards are ruff, type hints and tests with every change. During the beta,
feature ideas go to [Discussions → Ideas](https://github.com/frankbria/codeframe/discussions/categories/ideas)
before code. See [CONTRIBUTING.md](CONTRIBUTING.md) for what is stable and how
Expand Down
15 changes: 12 additions & 3 deletions site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ <h1>Your coding agent can&rsquo;t quietly undo what you already decided.</h1>
<figcaption>A real session on codeframe 0.9.7. Asked for a change that would undo a past
decision, Claude finds the locked requirement and keeps it.</figcaption>
</figure>

<!-- COPY: answers the first objection an engineer has (README first screen). -->
<p class="tdd"><strong>TDD protects your code. This protects your tests.</strong> 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.</p>
</header>

<section aria-labelledby="who">
Expand All @@ -102,10 +108,13 @@ <h2 id="who">Who built it</h2>
<section aria-labelledby="substance">
<h2 id="substance">Proof of substance</h2>
<!-- COPY: figures. Marketing-rounded DOWN so they stay true as the suite grows
(2026-10-14, d26a5c8: 7,891 backend tests, 87.42% coverage, fail_under = 80). -->
(CI on main @ 507c6e0c, 2026-10-28: 6,035 passed, 86.13% coverage, fail_under = 80).
Coverage is stated as the floor CI enforces, never the measured value:
tests/test_lifecycle_gates_948.py holds README.md to fail_under (#948).
Keep in step with "Proof of substance" in README.md. -->
<div class="stats">
<div class="stat"><b>7,500+</b><span>automated tests passing in CI</span></div>
<div class="stat"><b>85%+</b><span>test coverage, with an 80% floor CI enforces</span></div>
<div class="stat"><b>6,000+</b><span>automated tests passing in CI</span></div>
<div class="stat"><b>80%</b><span>test-coverage floor, enforced in CI</span></div>
</div>
<p>Every check leaves evidence. See a <a href="sample-evidence-report.html">sample evidence report</a>
from the session above, made with <code>cf proof export</code>.</p>
Expand Down
Loading