Decision Model Experiment Ledger (EXP-01 – EXP-43)
DiffusionGemma (dgem) Experiment Ledger
Section titled “DiffusionGemma (dgem) Experiment Ledger”This directory serves as the structured research and engineering log for DiffusionGemma (dgemma) as a Zero-Shot Decision Model and dgem as a Declarative Policy Engine (Policy-as-Template).
Much like benchmarks/ stores reproducible JSONL evaluation suites and JSON telemetry receipts, docs/experiments/ chronicles why each experiment was designed, how its templates encode domain policy, what the empirical single-pass logprobs and Shannon entropy revealed, and where our next architectural frontiers lie.
📋 Planned work: Experiments we intend to run, each with a pre-registered hypothesis, design, and decision criteria, are tracked in the Proposed Experiments Register. Claim the next
EXP-XXnumber by adding its row here when the run starts (status🧪 Running), so parallel work never reuses a number. Comparisons with other decision models follow Comparing dgem with Another Decision Model; each one ends with findings that go to the register, the issue tracker or the regression matrix.
1. Repository Taxonomy & Filepath Architecture
Section titled “1. Repository Taxonomy & Filepath Architecture”Every experiment in dgem connects three version-controlled artifacts:
flowchart LR
T["1. Policy Templates\n(templates/**/*.json.tmpl)"] --> H["2. CLI Harness\n(cmd/dgem/bench*.go)"]
D["2. JSONL Datasets\n(benchmarks/*.jsonl)"] --> H
H --> R["3. Telemetry Receipts\n(benchmarks/results_*.json)"]
R --> E["4. Experiment Log\n(docs/experiments/*.md)"]| Directory / Path | Purpose | Format |
|---|---|---|
templates/ | Executable Decision Policies (choice & score slots, depends_on / ask_if DAGs) | .json.tmpl |
templates/calibration/ | Public Dataset Calibration & Guardrail Policies (AgentDrift, ChaosNLI, LLM-AggreFact, prompt-injections) | .json.tmpl |
templates/rerank/ | Listwise & Pointwise Neural Reranking + RAG Security Policies (EXP-10) | .json.tmpl |
benchmarks/*.jsonl | Evaluation Datasets (eval_dataset.jsonl, calibration_suite.jsonl, rerank_suite.jsonl, jevbench/jevbench_public.jsonl, banking77_26.jsonl, clinc150_26.jsonl, tn_*.jsonl) | .jsonl |
benchmarks/results_*.json | Immutable Telemetry Receipts (logprobs, slot probabilities , Shannon entropy , wall latency) | .json |
docs/experiments/ | Experiment Ledger & Architectural Deep-Dives | .md |
2. Master Experiment Index (EXP-01 – EXP-43)
Section titled “2. Master Experiment Index (EXP-01 – EXP-43)”Part A — Completed Empirical Studies
Section titled “Part A — Completed Empirical Studies”| ID | Experiment Title | Policy Templates | Dataset (benchmarks/) | CLI Command | Primary Finding & Telemetry Receipt | Status |
|---|---|---|---|---|---|---|
EXP-01 | Multi-Domain Joint Slot Readout Across 4 Hardware Tiers | support_triage.json.tmplcode_review.json.tmplsecurity_audit.json.tmpl | eval_dataset.jsonl (30 cases, 113 slots) | dgem bench | 93.3% accuracy (bfloat16 2× A100), 86.7% (4-bit Metal), 80.0% at 458.9 ms (Serverless Cloud Run 1× L4). Zero JSON syntax errors across all runs.Receipts: results_local_metal_slot.json, results_gce_a100_16bit.json, results_cloudrun.json | ✅ Completed |
EXP-02 | Contextual Text Normalization: WFST (ecotone) vs. DiffusionGemma | tn_semiotics.json.tmpltn_audit.json.tmpl | tn_semiotics.jsonl (30 polysemy traps)tn_challenge_en.jsonl (19 NSWs) | dgem bench-ecotone | 96.7% accuracy on contextual homographs (St. Saint vs Street, 1/2 January second vs one half) where deterministic WFSTs score 50.0%, proving bidirectional context resolves semiotic ambiguity.Receipt: results_ecotone_comparison.json | ✅ Completed |
EXP-03 | High-Cardinality Intent Routing & Out-of-Scope (oos) Detection | banking77.json.tmplclinc150.json.tmpl(26-option [A-Z] slice) | banking77_26.jsonl (100 items)clinc150_26.jsonl (100 items, 16% oos) | dgem bench-intents | 92.0% accuracy on PolyAI/banking77 (H = 0.2518 nats, 485 ms) and 95.0% accuracy on DeepPavlov/clinc150 (H = 0.1459 nats, 562 ms) with 93.8% zero-shot oos recall.Receipts: results_intents_banking77_cloudrun.json, results_intents_clinc150_cloudrun.json | ✅ Completed |
EXP-04 | Public Dataset Calibration, Guardrails & ChaosNLI Epistemic Entropy | templates/calibration/*.json.tmpl (8 policy templates) | calibration_suite.jsonl (50 items across 11 public datasets) | dgem bench-calibration | 88.0% overall accuracy (44/50) at 712 ms. 100% accuracy on AgentDrift (7/7), prompt-injections (4/4), LLM-AggreFact (2/2), and MS MARCO (2/2). On ChaosNLI, slot entropy scales monotonically by 8.0× (0.0744 nats 0.5932 nats) with human annotator disagreement.Receipt: results_calibration_cloudrun.json | ✅ Completed |
EXP-05 | Entropy-Gated Escalation Cascade ( + Prior Forwarding) | templates/calibration/*.json.tmpl | calibration_suite.jsonl (50 items) | dgem bench-calibration --cascade-from ... --normalize-entropy --cascade-threshold 0.16 | 98.0% cascade accuracy (49/50, +10.0% gain, 100% on ANLI-R3 & 100% on Adversarial + Ambiguous tiers) using Cardinality-Normalized Entropy () and Pass-1 Slot Prior Forwarding, matching 100% standalone gemini-3.8-flash (98.0%) while saving 66% of frontier LLM calls.Receipts: results_calibration_cascade_normalized.json, results_calibration_cascade_prior_guided.json, results_calibration_cascade.json | ✅ Completed (Analysis) |
Part B — Active & Next-Horizon Experiments (EXP-06 – EXP-43)
Section titled “Part B — Active & Next-Horizon Experiments (EXP-06 – EXP-43)”Detailed architectural specifications, mathematical formulations, and empirical cascade results for EXP-05 through EXP-08 are documented in exp-05-roadmap-cascades-and-dags.md, EXP-10 is documented in exp-10-listwise-diffusion-reranking.md, EXP-11 is documented in exp-11-jevbench-parity.md, EXP-12 is documented in exp-12-decision-index.md, and EXP-13 is documented in exp-13-permutation-invariance.md.
| ID | Experiment Title | Core Hypothesis | Target Datasets & Templates | Target CLI Flag / Feature | Status |
|---|---|---|---|---|---|
EXP-06 | Decision Models vs. Discriminative Encoder Heads | Compare zero-shot dgemma (Policy-as-Template) against fine-tuned encoder heads (DeBERTa-v3-large, Llama-Guard-3-8B, ModernBERT) across joint multi-slot capability, policy adaptability (0s template edit vs. fine-tuning), and Expected Calibration Error (ECE). | calibration_suite.jsonl (AgentDrift, prompt-injections, ChaosNLI) | dgem bench-encoders | 🔬 Planned (Spec) |
EXP-07 | Conditional Policy DAGs (depends_on & ask_if) | Multi-stage conditional templates prune irrelevant downstream branches when upstream gate slots resolve negative, cutting slot density and eliminating contradictory sub-slot classifications. | templates/secops_conditional_dag.json.tmpl | Native structured_server.py DAG execution (depends_on, ask_if) | 🧪 Template Ready (Spec) |
EXP-08 | Multimodal Vision & Document Policy Readout (SigLIP) | Because DiffusionGemma inherits Gemma 4’s SigLIP vision encoder (896×896 patches), bidirectional slot readout can classify receipts, UI screenshots, and PDF invoices in a single forward pass (~500 ms). | Receipt & UI compliance image suite | dgem decide --image <path> | 🔬 Planned (Spec) |
EXP-09 | Single-Pass Bounding Boxes (re-baselined 2026-10-03) | Reads [ymin, xmin, ymax, xmax] as four 21-label slots plus object_present in one pass. Re-baseline (v0.2.0, Vertex G4, 11 boxes ×3, write-up):- The model localizes: expectation mIoU 0.599 [0.516, 0.680], Acc@0.5 81.8%, against 0.331 for a fixed centre box (paired lift +0.27 [+0.11, +0.40]). It said absent on 30/30 blank images.- Softmax expectation does not reliably beat argmax: −0.03 on on-grid cases, +0.04 [−0.04, +0.14] off-grid.- Occluded edges show no entropy rise against their unoccluded twins. - Per-edge entropy flags wrong edges (AUROC 0.82, 17 wrong edges).- Boxes are unstable under flips and padding (consistency IoU 0.34–0.53). Reversed digit levels break localization.The September Cloud Run numbers ( +30% sub-bin, 1.37× occlusion) did not beat a fixed box and are withdrawn. | templates/multimodal/bbox_localization.json.tmpltemplates/multimodal/bbox_multi_object_detr.json.tmplbenchmarks/bbox_suite.jsonl | ./scripts/run_exp09_rebaseline.shdgem bench-bbox --variants all --repeat 3runs/20261003-exp09-rebaselinelegacy: results_bbox_cloudrun.json | ✅ Re-baselined |
EXP-10 | Listwise Diffusion Canvas Reranking, Softmax Expectation & RAG Poison Quarantine | Evaluate 10 candidate passages (doc_01..doc_10) + 2 RAG security/abstention gates (answer_present, poisoned_passage) simultaneously in 1 forward pass (12 slots, ~138 ms effective/passage on Cloud Run 1× L4). Continuous Softmax Expectation () cuts Exact Tie Rate from 70.0% (discrete argmax) to 0.0%, lifting nDCG@10 from 0.8416 to 0.9265 (+8.49 pts) and MRR@10 from 0.7407 to 0.9444 (+20.37 pts), with 100.0% NevIR negation accuracy, +0.7533 FollowIR p-MRR policy steerability, and 100.0% prompt-injection quarantine. | templates/rerank/listwise_decision_rerank.json.tmpltemplates/rerank/pointwise_rerank.json.tmplbenchmarks/rerank_suite.jsonl | dgem bench-rerankresults_rerank_cloudrun.json | ✅ Completed (Analysis) |
EXP-11 | JevBench v1.3.1 & v1.4 4-Axis Parity, Harmonic Scoring, Slot Temperature Calibration & Upstream Sync | Upgrade dgem with JevBench v1.3.1 & v1.4’s 4-Axis Scorecards (Chance-Corrected Intelligence, 10-Bin ECE + Soft TVD Calibration, Speed with 2×+0.15s load factor adjustment, Cost, and v1.4 Harmonic Mean Composite with 3 gates ) and Post-Hoc Slot Temperature Scaling (). On Cloud Run EXP-04, T* = 1.35 cuts 10-bin ECE by 56.2% (0.0745 0.0326), lifting Calibration from 82.67 to 88.18 (76.79 Composite). On EXP-05, the Entropy-Gated Cascade scores 70.16 Composite (98.0% raw / 97.17% chance-corrected) vs. standalone gemini-3.8-flash at 62.76 (56% lower cost). Syncs and replays all 231 JevBench public tasks (75.70 v1.3.1 Composite Rank #1, surpassing #1 Hopper [75.40]; 71.95* v1.4 Harmonic Estimate). Supports --compare-leaderboard against official v1.4.2 rows (Plumb-4B, decider-4b v2, djev, OpenJev). | templates/jevbench_generic.json.tmplbenchmarks/jevbench/jevbench_public.jsonlbenchmarks/jevbench/manifest.lock.jsonbenchmarks/jevbench/leaderboard_v14.json | dgem bench-jev --sync --check-upstreamdgem bench-jev --compare-leaderboardresults_djev_upstream_calibrated.json | ✅ Completed (Analysis) |
EXP-12 | jev-decision-index (apolinario/decision-index) 5-Area Benchmark, Wide-Canvas Adapter & /v1/systemone Protocol | Evaluate dgemma across the 5-Area Decision Index (19 scored panel benchmarks + 3 wide-option benchmarks). Eliminates HTTP 422 capacity rejections (0.0 score penalty on M > 10 slots in ContractNLI/BRIGHT/ToolRet and K > 26 options in API-Bank/BANKING77/CLINC150) via Multi-Slot Canvas Batching + 2-Stage Bracket Tournament Routing (T*=1.25), lifting structural coverage from 72.7% to 100.0% and Headline Decision Index from 76.67 to 98.89 (+22.22 pts, Skill 98.33, ECE 0.0371). Projects to Rank #3 / 49 Overall (#1 Diffusion, 46.90 balanced_skill) as Pure System-1 (0% LLM) and Rank #1 / 49 Overall (53.94 balanced_skill, beating TypeSafe Jev 1.13.0 [51.67]) with EXP-05/11 Entropy-Gated Cascades (#1 / 31 on v0.1 at 56.51 raw). | benchmarks/decision_index/panel_suite.jsonlpkg/decisionindex/engine.go | dgem bench-decision-index --compare-naivedgem bench-decision-index --serve-systemone :8095results_decision_index_cloudrun.json | ✅ Completed (Analysis) |
EXP-13 | Permutation Sensitivity, Content-Free Null-Prior De-Biasing & Dual-Mirror Canvas Calibration | Quantifies how option order distorts single-pass confidence. Content-free probes show a strong Slot-'A' preference ( for , for , for ). On 16 synthetic items (baseline 16/16 correct): (1) Null-Prior De-Biasing (13B) cuts Brier 0.0173 0.0017 but raises cyclic flip rate 12.5% 25%; (2) Cyclic JSD (13A) is ~156× higher on the 4 ambiguous items, where reordering flips 2/4 answers; (3) Dual-Mirror (13C) reads forward + reversed slots in one pass (124.7 vs 128.8 ms) and flags perm_08 (99.9%, , Mirror TVD = 0.258) but misses perm_06 (TVD 0.0006) and worsens Brier (0.0410). See the plain-English summary in Confidence Beyond Shannon (IDC). | benchmarks/permutation_suite.jsonlpkg/permutation/permutation.go | dgem bench-permutationresults_permutation_cloudrun.json | ✅ Completed (Analysis) |
EXP-14 | Same-Session IDC Re-run on Vertex AI (versioned runs) | Pre-registered follow-ups PROP-01/02/05/10 plus an EXP-13 reproduction, run in one session with versioned receipts. Findings: ±1–2 item noise floor; null-prior helps on the 50-item suite (Brier 0.147 vs 0.175–0.193) but not on JevBench (186 vs 187, Brier worse); the dual-mirror slot id __mirror_rev degraded readings (JevBench 187 → 145; fixed to __rev), and a same-canvas mirror still lowers the forward reading; held-out temperature scaling cuts ECE 24–33% on 231 JevBench items but not on 50 items; entropy cascade reaches 221/231 at 39% escalation. Details | benchmarks/calibration_suite.jsonl, benchmarks/jevbench/jevbench_public.jsonl, benchmarks/permutation_suite.jsonl | scripts/run_idc_rerun.shscripts/analyze_idc.pybenchmarks/runs/20260925-vertex-idc* | ✅ Completed |
EXP-15 | Letter Collision in the Dual-Mirror (PROP-11) | Same-canvas mirror damage comes from shared letters: on JevBench (231, Vertex G4, 3 baselines 182–189), an identical copy (184) and a digit-labelled reversed slot (182) are within noise, while the letter-labelled reversed slot drops to 154; forward answers change on 67% of same-letter items vs 6% otherwise (p≈1e-19). Details | benchmarks/jevbench/jevbench_public.jsonl | dgem bench-jev --dual-mirror --mirror-modescripts/analyze_idc.py collisionbenchmarks/runs/20260925-prop11-letter-collision | ✅ Completed |
EXP-16 | Slot Names Are Part of the Prompt (PROP-16) | Single-slot ids (q1, random, mirror, check) are within the baseline band (183–189) on JevBench; a loaded second-slot id (__mirror_rev, identical options so no letter collision) drops accuracy to 162 (second slot 135) vs 181 for __rev. Style rule: neutral ids in multi-question schemas. Details | benchmarks/jevbench/jevbench_public.jsonl | dgem bench-jev --slot-idbenchmarks/runs/20260926-prop16-slot-names | ✅ Completed |
EXP-17 | Separate-Pass Mirror (PROP-12) | Forward vs. separately-run reversed pass on JevBench (231, Vertex G4): order disagreement relates to errors beyond hesitation (mean partial Spearman 0.133, CI [0.025, 0.240]), but two forward passes show a similar non-significant value (0.083) and CV AUROC improves by ≤ 0.016 at double the cost. Details | benchmarks/jevbench/jevbench_public.jsonl | dgem bench-jev --flip-optionsscripts/analyze_idc.py separate-passbenchmarks/runs/20260926-prop12-separate-pass | ✅ Completed |
EXP-18 | Judge Capabilities With and Without an Autoregressive Autorater (mizan Experiment 07) | Gold-scored comparison over 13 human-labelled judge suites (n=100 each) and 650 computation items, rerun on serving image v0.1.0 (2026-09-29) and replicated from 2026-09-26: v0.1.0 shows no regression (67.0 → 67.9%, p=0.23). DiffusionGemma matches gemini-3.8-flash on safety (80 vs 76), faithfulness (81 vs 78) and RewardBench with a mirror read (90 vs 90); trails on toxicity (81 vs 87.9, p=0.065) and LLMBar instruction following (79 vs 94, p=0.0015); MT-Bench expert preference favours Gemini by 5–10 points on both dates. A fixed 35%-hesitation cascade reaches 81/86 on safety/faithfulness with 8–32% escalation; p50 105 ms (G4) vs 3,125 ms. No-model metrics: mizan local = Vertex on exact/tool/trajectory (350/350). Speed/cost: one G4 replica ~83 items/s (0 errors sustained); ~1.06–2.25 (3.8-flash) and ≥$10 (Vertex predefined metrics); live cascade matches the simulation. Details | mizan judge-eval pack; suites built by mizan scripts/judge-eval/build_suites.py (BeaverTails, ToxicChat, HaluBench, MT-Bench human, RewardBench, HelpSteer2, SummEval) | mizan eval compare-enginesmizan scripts/judge-eval/run_all.sh | ✅ Completed |
EXP-19 | Prompt Layout, Precision and Joint Reads (wave 2) | Pre-registered, development data only, on a temporary G4 canary next to production. (1) Layout: putting the state first and the questions after it (layout: document_first) instead of the questions as the system prompt raised CLINC150-validation accuracy 0.790 → 0.870 (catch-all answers on in-scope requests 21% → 2.5%, out-of-scope recall 1.00 → 0.825) and RAGTruth-train 0.705 → 0.770 (hallucination F1 0.52 → 0.68), with JevBench and wide-option suites unchanged; on typed-decisions train joint reads gained +7.0 points (2 SE 2.7). Now the adapter default. (2) Precision: bf16 weights scored −0.97 points (2 SE 1.42) against NVFP4 with worse ECE, so quantisation doesn’t explain the gap to bf16 harnesses. (3) Joint vs isolated reads: isolated reads cost 5× the latency and gain +6.1 points under the old layout, only +1.6 (n.s.) under document_first. | CLINC150 validation, RAGTruth train, typed-decisions train, JevBench | scripts/bench_matrix.py run --tier T1 --target base=<URL> --target doc=<URL>#layout=document_firstbenchmarks/runs/20261002-w2-canary-t1, benchmarks/runs/20261002-w2-image-t2 | ✅ Completed |
EXP-20 | Production Context Length | Pre-registered, identical G4 canaries at 4,096 / 8,192 / 32,768 tokens, v0.2.0. Short-prompt T1 accuracy identical at all three; 8k latency within tolerance; a 32k replica died once during the T1 latency suite (not reproduced on a fresh replica, container logs were off). On a long-prompt slice built from dev data (79 items × 4 lengths) 4k answers 79/316, 8k 150/316, 32k 316/316; accuracy where both answer is identical. 32k sustained ~24k-token prompts at 8 and 16 concurrent with 0 errors. Decision by the rule: 8k becomes the deploy default; 32k pending a repeat with logging on. | JevBench long_policy, RAGTruth train (padded with unrelated documents) | scripts/bench_matrix.py run --tier T1 with three targetsbenchmarks/runs/20261003-exp20-context | ✅ Completed |
EXP-21 | Attributing Two Decision Index Drops (layout vs yes/no descriptions) | ForecastBench and PhishNChips dropped in the v0.2.0 Decision Index run. On dev stand-ins (no index rows): 320 single dataset-source forecasting questions (Brier 0.2277 vs 0.2268, schema_first vs document_first, 2 SE 0.011), 182 market questions (+0.0051, 2 SE 0.0065) and 200 phishing emails in the index’s question schema (all four layout × description arms within ±1 point). Neither factor explains the drops; combination forecasting questions are untested. | ForecastBench question sets 2025-03-16 and 2025-05-25, ealvaradob/phishing-dataset | benchmarks/runs/20261003-exp21-attribution | ✅ Completed |
EXP-22 | Validating Image Readouts (PROP-18 phases 2–4) | Write-up. Gemini 3.x as reference and judge: 3.8/3.7-flash localize the EXP-09 fixtures at mIoU 0.89/0.88 and stay consistent under flips and padding (0.79–0.96). As box judges they catch 99–100% of edges more than 5 pts off, with about 1.5-pt resolution. Boxes on harder data: on a 230-item generated sweep, dgem scores mIoU 0.20 (centre hit 43%) vs Gemini 0.78 (87%), and says “present” for 17/40 absent targets. On real images: RefCOCO centre hit 75% vs 90%; ScreenSpot 12% vs 93%. Categorical questions in one pass (~0.3 s): lift over the majority baseline is grid cell +0.52, relation +0.42, quality +0.40, count +0.25, with hesitation AUROC 0.61–0.80. The occlusion question fails (−0.30). A hesitation-gated Gemini cascade escalating 10–30% of answers recovers most of the gap (offline). | templates/multimodal/vision_aspects.json.tmplbenchmarks/bbox_sweep.jsonlbenchmarks/bbox_real.jsonl | dgem bench-bbox --engine gemini|predictionsdgem bench-bbox-judgedgem bench-visionscripts/run_prop18_phase{2,3,4}.sh, scripts/run_detectors_gce.shruns/20261003-prop18-* | ✅ Completed |
EXP-23 | dgem vs Strands Decider 2B (model comparison) | Lab head-to-head (E2) with an open 1.9B decision model on the same GPU type, 3 runs: dgem leads on JevBench (194/194/195 vs 169/169/169, p = 3.5e-4) and on tasks unrelated to Strands’ training (72.5% vs 62.7%, n = 2,346) but ties on tasks it was trained on (85.2% vs 85.9%, n = 142). Strands is faster below ~1,700 input tokens (34 vs 54 ms server p50) and deterministic; dgem has 3–5× its throughput. Found a dgem defect: two yes/no questions with opposite answers in one request collapse to one label (gate suite 58% vs 86%; 100 of 102 when asked separately), now PROP-19. Strands’ published JevBench predictions reproduced on 229 of 231 tasks. Details | JevBench, calibration suite, intents, tool-call gate (new), typed-decisions, MASSIVE, XNLI, option order | scripts/bench_matrix.py --matrix benchmarks/matrix/matrix_v2.json run --tier TC --competitorbenchmarks/runs/20261003-compare-strands-v19 | ✅ Completed |
EXP-24 | dgem-Guided Gemini Boxes and Masks | Write-up. dgem first answers presence and grid cell in one pass (0.19 s), then gemini-3.8-flash runs. On 228 RefCOCO/ScreenSpot positives and 204 absent targets:- Skip: skipping Gemini when dgem confidently says absent saves 35% of calls and loses 1.3% of positives.- Hint: dgem’s grid-cell hint plus LOW thinking scores mIoU 0.654 against 0.639 for Gemini alone at default thinking, at 2.1 s instead of 3.9 s p50 and 73% fewer thought tokens.- Crop: cropping to dgem’s cell does not help. - Masks: SAM from Gemini’s box scores mask IoU 0.73, against 0.64 for Gemini’s polygon. Native PNG masks are impractical (72 s). | benchmarks/bbox_real_aspects.jsonlbenchmarks/bbox_real_masks.jsonl | dgem bench-guidedscripts/run_exp24_guided.sh, scripts/analyze_guided.pyruns/20261003-exp24-guided | ✅ Completed |
EXP-25 | dgem as a Documentation Reviewer (Diátaxis type, house style, claim evidence) | Pre-registration and development results. On 175 development sections (25 clean sections plus single injected problems), raw dgem ranks problem sections well (AUROC 0.96–1.00 on 4 of 6 rules) but over-flags at argmax (0.81 mean accuracy vs docstats 0.92 on 4 rules and gemini-3.8-flash 0.96); per-rule thresholds are frozen from 5-fold CV, and a 0.35-hesitation cascade reaches 0.945 with 17% handed to Gemini (in-sample). The human-labelled frozen test (150 sections) decides. | templates/docs/*.json.tmpl, benchmarks/docs_eval/ | scripts/docs_eval/benchmarks/runs/20261003-exp25-dev | 🧪 Running |
EXP-26 | Guided Boxes and Categorical Image Questions on Domain Images (#76) | Write-up. Pre-registered; 400 positives + 373 negatives over mobile UI, web UI, DocLayNet pages and synthetic PCBs; gemini-3.8-flash and gemini-3.7-flash.- Guided boxes (R1): fail on all domains and both models. LOW thinking gives the latency gain (30–45%); dgem’s grid-cell hint is neutral (−0.03 to +0.01), and dgem’s cell is right on only 36–61%. - Skip absent (R2): passes only on mobile UI (22% saved). PCB loses 15% of defects. - Categorical questions (R3): web-UI presence is dgem-alone (0.90, AUROC 0.85); grid cell is cascade on mobile UI, documents and PCB; relations are unsupported everywhere. - 3.7 vs 3.8: 3.7 matches 3.8 on boxes. | benchmarks/domain_images.jsonl | scripts/run_exp26_domains.sh, scripts/exp26_decide.pyruns/20261004-exp26-domains | ✅ Completed |
EXP-40 | Contact-Sheet Visual Verification, Co-Denoised Evidence Slot (PROP-08, PROP-37) & Pre-Gated Prior Fusion (PROP-09) | Pre-registered (PROP-37; PR #190). Opt-in prior_logits fusion (--prior-weight, --hesitation-gate, --prior-gate-mode) and same-canvas <id>_evidence slot (evidence_prompt + evidence_criteria). On the 3-run live validation suite, pre-gating raw hesitation passes adversarial-prior safety (ΔAUROC −0.014, equal to uniform control; confident errors −0.5 pt); the confident gate () shows noise-level base-rate lift (+0.9 ± 0.5 pt), motivating hesitation-side gating (--prior-gate-mode hesitant). | templates/multimodal/contact_sheet_verify.json.tmplpkg/decisionindex/engine.go | dgem decide -t multimodal/contact_sheet_verifyPriorLogits, PriorWeight, PriorGateMode, EvidencePrompt in pkg/decisionindex | 🧪 Running |
EXP-41 | Two-Stage Embedding / Prior Shortlist & Pairwise Diff Routing for Wide Choices (PROP-24) | Pre-registered (PROP-24; PR #191). Opt-in stage-1 ShortlistFunc (PriorLogitsShortlist via --shortlist-topk with automatic bracket fallback when prior_logits is absent, generic LexicalOverlapShortlist, catch-all preservation, and --shortlist-contrastive). With an embedding ranking in prior_logits, matches bracket accuracy (−1.4 ± 2.1 points at M = 15) at 1 pass instead of 2 (p50 ~155 ms vs 330–410 ms) on K = 30–151; generic lexical/BM25 shortlists lose 11–24 points; H24 not met. | pkg/decisionindex/shortlist.gopkg/decisionindex/engine.go | ShortlistFunc, ShortlistTopK, ShortlistContrastive in pkg/decisionindexdgem systemone serve --shortlist-topk | ✅ Completed |
EXP-42 | Set-of-Marks Discrete Visual UI Next-Hop Navigator (PROP-38) | Pre-registered (PROP-38). Replaces EXP-09/EXP-22 21-bin coordinate regression (12% ScreenSpot centre hit) with Set-of-Marks discrete [A..F] candidate mark selection (next_target_mark, element_state, loop_or_error_detected, goal_progress_score in 1 pass) + hesitation-gated gemini-3.8-flash escalation (). | templates/multimodal/ui_pathfinder_som.json.tmplbenchmarks/ui_pathfinder_suite.jsonl | dgem bench-ui-pathfinder | 🧪 Running |
EXP-43 | Multimodal Entity Resolution (PROP-39), Sliding-Window Live Checklist & Multi-Agent Swarm Arbitration (PROP-40) | Pre-registered (PROP-39, PROP-40). Evaluates: (1) 4-slot single-pass catalog entity resolution (entity_relation, pack_quantity_match, visual_evidence_cue, merge_action) with transitive triangle-consistency checking (); (2) 8-slot sliding-window transcript + keyframe checklist verification; and (3) 8-slot concurrent 4-agent file-lock and action-tree collision arbitration in one pass. | templates/multimodal/entity_resolution_dedup.json.tmpltemplates/live_checklist_verify.json.tmpltemplates/swarm_lock_arbiter.json.tmpl | dgem bench-multimodal-dedupdgem bench-live-checklistdgem bench-swarm-arbiter | 🧪 Running |
3. Synthesis of Completed Findings (EXP-01 – EXP-04)
Section titled “3. Synthesis of Completed Findings (EXP-01 – EXP-04)”3.1 Why DiffusionGemma is a “Decision Model” (EXP-01 & EXP-04)
Section titled “3.1 Why DiffusionGemma is a “Decision Model” (EXP-01 & EXP-04)”Across 280+ evaluated cases (EXP-01 through EXP-04), DiffusionGemma demonstrates three properties that distinguish a Decision Model from both autoregressive generative LLMs and discriminative encoder classifiers:
- Zero-Shot Policy-as-Template (
0sPolicy Iteration): Adding a new governance domain (AgentDriftbehavioral drift,LLM-AggreFactRAG grounding,deepset/prompt-injections) required zero gradient updates, zero labeled training splits, and zero output regex parsers. Writing a.json.tmplfile immediately turned the 9B model into a 100%-accurate classifier across those four benchmarks (15/15combined inEXP-04). - Joint Multi-Slot Co-Adaptation in Forward Pass:
In
EXP-01(support_triage,code_review,security_audit) andEXP-04(AgentDrift), a single forward pass (458.9 mson 1× L4) evaluates 3 to 5 orthogonal decision dimensions simultaneously (drift_detected+drift_severity+remediation_action). Because the[MASK]canvas is bidirectional, the severity and remediation slots attend directly to the detection slot in the same pass. - Intrinsic Epistemic Calibration (
EXP-04ChaosNLI8.0× Entropy Multiplier): Traditional neural classifiers suffer from overconfidence on out-of-distribution or genuinely ambiguous inputs. InEXP-04, evaluatingChaosNLI(where 100 human annotators rated each premise/hypothesis pair) proved that DiffusionGemma’s restricted-softmax Shannon entropy scales monotonically with human disagreement:- High human consensus (
low-entropy): 100.0% accuracy, (1.0×baseline) - Moderate split (
ambiguous): (5.5×entropy increase) - Near-uniform 3-way human split (
high-entropy): (8.0×entropy increase) - Adversarial multi-hop reasoning (
ANLI-R3): When single-passthink: 0readout fails (0/3), slot entropy automatically spikes to (5.5×), providing an unmistakable mathematical trigger () to escalate to a reasoning pass (EXP-05).
- High human consensus (