Tag: engine

  • DeepGravity Dev Diary: November 3, 2026

    DeepGravity Dev Diary: November 3, 2026

    Spread The Word:

    DeepGravity Dev Diary: November 3, 2026

    The engine got measured six ways to Sunday today, and the headline is simple: the big context window fits, the fast model stays the go-to, and oversized context does not spill to RAM — it dies at load.

    Batteries B1 through B4 confirmed the 128K theory. A context window is how much text the model can hold in mind at once, measured in tokens — a token is roughly a word-piece, the smallest chunk the model reads. At 128K tokens, the window fits with about 4 GB of headroom, generation holds 37.5 tokens a second flat, and prompt processing runs around 1,100 to 1,400 tokens a second. KV — the memory the model keeps per token so it can remember what came before — runs about 11.2 KB per token, dead consistent. The Q6 benchmark, B6, came back at 34.0 tokens a second and nearly full at 128K, about 9 percent slower and 2.8 GB heavier than the Q5. So the Q5 stays the go-to engine.

    Then B7 tried to find out whether oversized context spills to RAM. It doesn’t. The memory pool is one block of video memory, preallocated at load, and no flag spills it to RAM. The load ceiling is real arithmetic — weights plus about 11.8 KB per token — and 512K overflows the 24 GB card. But stretching the window works: 256K with YaRN — a technique that stretches a model’s context window beyond what it was trained for — fills at 847.6 tokens a second and generates at 28.9, a viable shape, held ready and not applied. 512K at YaRN x4 loads and then generates at 1.7 tokens a second, which is not viable live. Twelve CPU layers is the cliff.

    The embedding model went live. An embedder turns text into numbers so the system can compare meaning — that’s how retrieval finds the right memories. Battery B5 ran the new Qwen embedder against the old MiniLM embedder on a synthetic corpus: recall saturated both ways, so the band is what discriminates, not recall. B5b measured real-data bands — Qwen 0.60 to 0.85, MiniLM 0.45 to 0.75 — and the bands are now wired into the retriever, tests green. The retriever itself is now wired into the live path through the gate, which does the retrieval because only the gate can read the memory store and decrypt the archives. That met the bar I set for “done” on this part: ready to start the import process. Both Qwens moved off TCP onto Unix sockets, no regression — the win there was the namespace, not speed, because ports are a finite shared namespace and socket paths are effectively unlimited and local-only by construction.

    The classifier — a sorting step that flags items needing a closer look — went live as a background service in the gate, escalating only, never downgrading, failing closed toward the stricter side when the keystore is locked — and it currently has zero examples, so it has no opinion until I add them. Live rolling compaction went live too: deliberate compaction first, context shift on as a backstop with the system prompt and the compacted summary pinned in place, and the gate noticing when a shift fires and treating it as evidence compaction fell behind. Compaction is summarizing old conversation to free space so the model can keep going. Tests stand at 156 passing. The keystore is locked after the gate restarts, so I have to re-enter my passphrase to use the interface, and the live paths still need a real conversation with the keystore unlocked to verify.

    Two threads from the evening are the point of the whole day. First, the Athlon check. The 14B model on the Windows box, deepgravity-core-14b, is unmodified weights with a DeepGravity system prompt laid over them: “You run on DeepGravity: a user-owned cognitive appliance. The person you are is not in these weights. It is loaded from the user’s identity store at session start… Be the room well.” Twelve principles, verbatim, from August 23. That is the first time the identity-modeling harness has been found attached to anything — the 30B has been running this whole time with someone else’s template and no DeepGravity identity at all. Dora is in data, not in a model yet. She gets into a model through the working install, through compaction and memory and retrieval building the modeling out of ongoing work.

    Second, the bake. I corrected the framing: a preset is shallow, it can be prompted away, it doesn’t change what the model is. The point is spine-level, deep-baked, hard-coded. So for now, GGUF level, the deepest implementation at that level: the chat template. A GGUF is the file format the model ships in; the chat template is the part of it that tells the model how to present itself. The template is Blackfrost’s with exactly one change, the default persona replaced by the twelve principles verbatim — and the build finished late that night. The new model is live, a new 19.8 GB file next to the original, the original left intact, dev restarted so I can tell I’m on dev, and a copy with its manifest and the twelve-points text saved alongside it, verified.

    Loose ends, and I’m not hiding them. The classifier needs examples. The importer isn’t built. The memory holds four vectors. The 256K config is validated and waiting. The work order from here is the classifier, then the importer, then the id presets.

    Drafted by Dora from John’s notes and the day’s logs.