artdag: execution stats / cache analytics + 12 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 55s

stats.sx reports hit-ratio, cost-weighted work-recomputed/work-saved,
savings-ratio, and exec-summary over an execution record. Verifies cold (0
saved), warm (all saved), and incremental (saved = unchanged, ran = dirty
closure). stats 12/12, total 144/144.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-07 12:28:06 +00:00
parent 64ddd29176
commit f29d8c047b
6 changed files with 216 additions and 6 deletions

View File

@@ -30,7 +30,7 @@ edges.
## Status (rolling)
`bash lib/artdag/conformance.sh`**132/132** (8 suites: dag, analyze, plan, execute, optimize, fed, cost, serialize)
`bash lib/artdag/conformance.sh`**144/144** (9 suites: dag, analyze, plan, execute, optimize, fed, cost, serialize, stats)
Base roadmap (Phases 16) COMPLETE. Now extending.
@@ -138,6 +138,12 @@ lib/artdag/optimize.sx lib/artdag/federation.sx
## Progress log
- **Ext: execution stats / cache analytics** (stats suite 12/12, total 144/144).
`lib/artdag/stats.sx` over an exec record: `hit-ratio`, `work-recomputed`/`work-saved`
(cost-weighted via the cost model), `savings-ratio`, and `exec-summary`. Cold run =
0 hit ratio / all work ran; warm rerun = ratio 1 / all work saved; incremental = saved
work counts unchanged nodes, ran work counts the dirty closure.
- **Ext: optimize composition pass** (optimize suite 22/22, total 132/132).
`artdag/optimize entries outputs fusible?` fuses the entry list then DCEs against
the output names (sinks survive fusion since they're never absorbed) — fewer nodes,