From 86669aee3825884d839297de57b3703aeb23cbcd Mon Sep 17 00:00:00 2001 From: Andrew Kesterson Date: Sat, 1 Aug 2026 16:46:44 -0400 Subject: [PATCH] Record the gates the line-number work was verified against 109/109 in both configurations, clean under ASan and UBSan, no warnings under -Wall -Wextra, doxygen clean. Line coverage 94.9% and function coverage 98.5%, both measured from a tree outside the source directory after checking for stray .gcda. The AKGL row now says what was actually run -- headless, with akgl_typing skipping itself -- rather than claiming a display nobody had. Co-Authored-By: Claude Opus 5 (1M context) --- TODO.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/TODO.md b/TODO.md index 1f02dae..5df2ed6 100644 --- a/TODO.md +++ b/TODO.md @@ -1917,19 +1917,19 @@ update --init --recursive` gets them. **The port is done.** The C interpreter passes the Go reference's entire corpus and passes clean under ASan and UBSan. It reproduced that corpus byte for byte until §0.1 retired the -requirement; exactly one case has diverged on purpose since, and -`tests/reference/README.md` lists it. +requirement; two cases have diverged on purpose since, and +`tests/reference/README.md` lists them. | Gate | Result | |---|---| -| `ctest` | 107/107 — 41 reference golden cases, 20 local ones, 39 unit tests, 3 embedding examples, and `docs_examples` | -| `ctest` with `-DAKBASIC_WITH_AKGL=ON` | 107/107 on a machine with a display; 106 passed + 1 skipped headless. The same set minus the three `no_device` cases the SDL driver contradicts, plus `akgl_backends`, `akgl_frontend`, `docs_screenshots` and `akgl_typing` — the last of which is the skip, and the `akgl_build` CI job is where it skips | -| `docs_examples` | Every fenced block in `README.md`, `MAINTENANCE.md` and `docs/` executed and byte-compared: 49 programs, 9 transcripts, 57 output comparisons, 2 excerpts, 2 shell blocks and 8 figures in the default build; 65 programs and 56 output comparisons in the AKGL one. The C-snippet count reads 0 when the harness is run by hand without `--cflags-file`; CTest passes it. `MAINTENANCE.md` documents the fence-tag convention | +| `ctest` | 109/109 — 41 reference golden cases, 23 local ones, 40 unit tests, 1 known-failing, 3 embedding examples, and `docs_examples` | +| `ctest` with `-DAKBASIC_WITH_AKGL=ON` | 109/109 headless, with `akgl_typing` skipping itself. The same set minus the three `no_device` cases the SDL driver contradicts, plus `akgl_backends`, `akgl_frontend`, `docs_screenshots` and `akgl_typing` — the last of which is the skip, and the `akgl_build` CI job is where it skips | +| `docs_examples` | Every fenced block in `README.md`, `MAINTENANCE.md` and `docs/` executed and byte-compared: 55 programs, 9 transcripts, 63 output comparisons, 2 excerpts, 2 shell blocks and 8 figures in the default build. The C-snippet count reads 0 when the harness is run by hand without `--cflags-file`; CTest passes it. `MAINTENANCE.md` documents the fence-tag convention | | `docs_screenshots` | 8/8 figures re-rendered and byte-identical to the checked-in PNGs. AKGL build only — rendering a picture needs the SDL half | | Golden corpus | 41/41 byte-exact from `tests/reference/` — **and 41/41 again through the SDL binary**, which is most of what proves the frontend changes no output | -| ASan + UBSan | 107/107 | -| Line coverage | 94.8% (6648/7013) — above the 90% gate | -| Function coverage | 98.4% (441/448) | +| ASan + UBSan | 109/109 | +| Line coverage | 94.9% (6767/7130) — above the 90% gate | +| Function coverage | 98.5% (447/454) | | Warnings | none under `-Wall -Wextra` | | `doxygen Doxyfile` | clean | | Mutation (`src/symtab.c`) | 74.1%, against a gate of 65 — see `.gitea/workflows/ci.yaml` |