From 80d7ca3877daf831ddc81a0307c1902a278832ad Mon Sep 17 00:00:00 2001 From: kkdev92 Date: Mon, 28 Sep 2026 14:20:21 +0900 Subject: [PATCH] docs: state the coverage floors rather than the latest figures The README gave the coverage of src/core as 93.2% of lines, 82.6% of branches and 99.7% of functions. Those were right for the run they came from and drift with every change to src/core or its tests; the part that stays true is what CI enforces. The paragraph now says that tools/check-coverage.py measures coverage on every pull request, fails the build below 90% of lines or 80% of branches, and prints the current figures in the job summary. Co-Authored-By: Claude Opus 5.5 --- README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0a6d04c..053189d 100644 --- a/README.md +++ b/README.md @@ -350,10 +350,11 @@ a check as skipped rather than passed when its tool is missing. The same checks run in CI on every push and pull request to `main`. Because `src/core` contains no ESP-IDF, the entire decision layer runs on a PC, -and its test coverage is measured rather than assumed: 93.2% of lines, 82.6% of -branches, and 99.7% of functions. CI enforces a floor of 90% line and 80% branch -coverage, and runs the same tests under AddressSanitizer and -UndefinedBehaviorSanitizer on every pull request. +and its test coverage is measured rather than assumed: `tools/check-coverage.py` +measures it on every pull request, fails the build below 90% of lines or 80% of +branches, and prints the current figures in the job summary. CI also runs the +same tests under AddressSanitizer and UndefinedBehaviorSanitizer on every pull +request. Before the first QEMU run, install it with `tools/run-qemu.sh --install-only` on Linux or `.\tools\run-qemu.ps1 -Install` on Windows.