method
An audit with no hand-typed numbers
The claim this audit makes is narrow and checkable: for each number shown, there is a file in the audited repository it was read out of, and a check that fails if the two disagree.
- 1 · extract
node scripts/extract-lw.mjsReads the audited repository in place and writes src/data/report.json. Every figure in this audit is a field of that file: nothing is typed by hand anywhere in src/.
- 2 · cross-check
the extractor itself, plus tools/Each headline number is checked against a second surface published by the repository itself (the README counter block, the COMPILED.md audit table, the MAP.md index). 14 of 15 checks passed on this build.
- 3 · fail on drift
node scripts/verify-lw.mjs --repo ../laravel-workersRe-extracts into a temporary file and diffs it against the committed report.json. If the audited repository moved, this exits non-zero instead of publishing a stale page.
- 4 · build
astro buildA static build: no framework adapter and no server-rendered pages. The only server-side code is a worker that serves the assets and answers a miss with 404.html; the pages are HTML with one stylesheet and one inline script (the theme toggle).
the checks
14 of 15 passed this build
These run inside the extractor, so a number that stops agreeing with its source file stops the build rather than appearing here as a footnote.
1 check(s) failed on this build: every ledger status is one of OPEN / DONE / TOLAK.
- PASStools/constructs.json tallies with the README counter block
constructs.json 47/64/7 of 118, README {"compiles":47,"failsLoud":64,"documented":7,"audited":118}
- PASSthe audit table carries every construct, with the same verdict
118 audit rows, 118 constructs, 0 missing, 0 verdict disagreements
- PASSthe audit table and tools/constructs.json agree on every batch
0 of 118 rows disagree
- PASSthe facade census is complete (classified === declared total)
47 of 47
- PASSthe MAP coverage index has no blank verdict
105 rows, 0 blank
- PASSthe MAP tally line matches the classes parsed from its own table
MAP tally [15,59,5,26], parsed 15/59/5/26
- PASSthe README docs counter matches the MAP coverage index row count
README {"withVerdict":105,"pages":105}, MAP rows 105
- PASSthe verdict strings README publishes are read, not restated
badge "RUNS ON THE EDGE", CI heading "RUNS WITH DECLARED GAPS"
- PASSevery CPU figure the coverage page prints is still in COMPILED.md
14 of 14 phrases present
- PASSthe ledger table is read whole (a blank line inside it does not truncate)
20 rows parsed, 20 in the G.3 section
- FAILevery ledger status is one of OPEN / DONE / TOLAK
{"OPEN":14,"DONE":5,"FIX":1}
- PASSthe feature map yields at least one row per area
49 rows across 7 areas
- PASSthe feature map is read whole (section 5, counted line by line)
49 rows parsed, 49 in MAP §5
- PASSthe severity bands are defined in the source, not paraphrased here
{"P0":"build hijau tapi jawabannya salah (diam)","P1":"500/kehancuran tanpa sebab atau efek yang hilang","P2":"fail loud yang hilang","P3":"dead code / doc basi / gap bukti"}
- PASSthe audit scratchpad row count is quoted from the source
scratchpad 581 rows, spread {"P1":10,"P2":72,"P3":224,"INFO":93}
provenance
Files read, and their hashes
The extractor records the size and a SHA-256 prefix of every file it read, so a figure here can be traced to an exact revision of an exact file.
| file | bytes | sha-256 (prefix) | notes |
|---|---|---|---|
| README.md | 50,990 | 023522a7bd71c652 | |
| MAP.md | 123,425 | 06e1e92bac03192a | |
| COMPILED.md | 119,990 | 0d0e05a55d07932f | |
| tools/constructs.json | 70,745 | e7ec2a2063ae838a | |
| package.json | 5,981 | 87ad6c62e68bf9ef | |
| notes/PLAYBOOK.local.md | 129,607 | 21bcf7252652b9f2 | working-tree note, not in git |
| .opencode/context.md | 141,845 | 7a22bf36bfbe946b | working-tree note, not in git |
limits
What this audit does not claim
The honest half of the method: things that are outside what a static extraction can settle.
- the numbers describe a specific commit
The extractor resolves HEAD with git, so this build is pinned to 66b65a03f (v0.4.10) and names it in the footer. A later commit is not covered by these figures until the extractor is run again.
- the repository was clean at extraction time
git reported 1 modified files at extraction time; the figures may include uncommitted work.
- the ledger lives outside the repository
notes/PLAYBOOK.local.md and .opencode/context.md are working-tree notes that git does not track (both are marked as such in the file table above). The figures and definitions quoted from them are the only ones here that an outside reader cannot re-derive from the repository alone.
- quoted rows are reproduced with normalised punctuation
Rows copied out of the audited repository keep their wording but not its markup or its dashes: code-span backticks, bold markers and em/en dashes are dropped (see plain() in scripts/extract-lw.mjs). Numbers, identifiers and counts are untouched.
- the CPU numbers were measured on the Free plan, once
The gate records one run date (2026-10-18 for the probe, 2026-11-02 for the automated gate) and one account. They are reproducible with npm run gate:cpu, but this site does not re-run the gate. They are also the one set of figures whose cells are shaped by hand: the extractor asserts each phrase they were transcribed from still appears in COMPILED.md, and it renders the table from that asserted set, so the cells can be short but not free.
reproduce
Four commands
With the audited repository checked out next to this one:
git clone https://github.com/arfoux/laravel-workers ../laravel-workers
npm install
node scripts/extract-lw.mjs # writes src/data/report.json
node scripts/verify-lw.mjs # fails if the committed report.json drifted
npm run build # emits dist/, static