A Typed Hub for the DGG Agents

  • DGG Conversion
  • Lost in the Middle
  • RAG Saturation

This week I stopped treating the LLM as the source of truth in the DGG project.

Agentic DGG conversion

I introduced a typed intermediate representation for DGG models: Pydantic classes for rules, graph patterns, nodes, edges, rate laws, observables and citations, with reference validation. The idea is hub and spoke. Every representation converts to and from this model, so the LLM's freeform output is no longer the only record of what a model means.

I also replaced the fragile routing parser with a typed routing decision and brace-matching JSON extraction, added provenance (file and page) to every ingested chunk, split the pipeline into a service with a thin CLI, and wrote the first README. The test suite grew to 33 tests. I added a small benchmark file too, but it's a scoring contract based on substring checks, not a semantic evaluation.

Lost in the Middle

I expanded both datasets to 200 examples, 50 per position bucket, and re-ran the heuristic configurations. The aggregates didn't change, which is expected: the heuristic is deterministic, so more examples add no statistical information about it. The real value of the larger dataset will come when I run neural models on it.

RAG saturation

I corrected the paper's limitations section. It had implied a fixed LLM was used for the real-corpus experiments, but every published number uses the deterministic mock generator, so all results are retrieval-only.