grammar-inference-engine/tests
tobjend b92b7653e2 feat: iDRegEx refinement for CRX flat bags (Round 16)
Heuristic: only run iDRegEx when n_methods ≤ 10 AND CRX grammar has
>50% top-level optional parts (flat chain signal). If iDRegEx grammar
is >10x tighter by lang_size, use it. Otherwise keep CRX.

RAGSAK result: agents/capability (5 methods) refined from
slot?.(defaultCapabilityId+summarize)?... (lang_size=1432) to
(defaultCapabilityId|summarize) (lang_size=3) — 477x tighter.

Speed cost: ~0.7s per candidate, negligible on 74s pipeline.
CLI: --idregex-refine flag (default off).

Also adds _count_optionals() and _should_try_idregex() helpers
with 8 pytest tests. 234 tests pass.
2026-07-12 16:54:40 +02:00
..
test_analyze.py feat: iDRegEx refinement for CRX flat bags (Round 16) 2026-07-12 16:54:40 +02:00
test_bex.py clean up agent-betraying comments; fix stale test names 2026-07-01 13:26:03 +02:00
test_crx_refined.py feat: CRX refined — cluster-then-infer for tighter grammars 2026-07-12 01:50:40 +02:00
test_ensemble.py drop kORE from default ensemble, add --kore flag to opt in 2026-07-04 02:58:07 +02:00
test_gbnf.py fix(gbnf): handle disjunction inside parens and compound repetition 2026-07-12 02:20:58 +02:00
test_grammar_index.py feat: grammar index for runtime lookup 2026-07-12 14:08:05 +02:00
test_kore.py WIP: language size scoring + diversity threshold (step 1 pending) 2026-07-11 22:56:42 +02:00
test_reduce.py feat: implement Reduce algorithm (Algorithm 4, TODS 2010) 2026-07-12 00:11:38 +02:00
test_scoring.py WIP: language size scoring + diversity threshold (step 1 pending) 2026-07-11 22:56:42 +02:00