---
title: "treestore-columnar-store — Mova code model"
description: "Mova code model of models/treestore-columnar-store.groupant: components with their labels, obernants and the model text."
url: "https://groupants.elamur.ai/free/en/mova/models/treestore-columnar-store.groupant/"
---
Elamur: [Mova](https://md.mova.elamur.ai/free/en/) · [Dictionary](https://md.dictionary.elamur.ai/free/en/) · [Research](https://md.research.elamur.ai/free/en/) · **Groupants**

This page as HTML: <https://groupants.elamur.ai/free/en/mova/models/treestore-columnar-store.groupant/>

# treestore-columnar-store

The groupant beside models/treestore-columnar-store.groupant in the Mova repository: what the code computes, what it never does, how to go back from its outputs, its invariants, cost and checks.

## Facts

- **kind:** groupant group
- **status:** partial descriptive instance
- **bound sources:** 11
- **repository folder:** [`models/treestore-columnar-store.groupant`](https://github.com/ElamurAI/mova-free/tree/main/models/treestore-columnar-store.groupant)

> **Implementation material.** A Mova code model describes this code at one source revision: partial models, finite checks and their stated scope. It is not a reviewed general exposition, and its labels are shown as written, never raised.

## Components

| component | label | where |
|---|---|---|
| **Approximant** | partial | [Forward](#forward) |
| **Ast** | not materialized |  |
| **Composition** | partial | [Composition](#composition) |
| **Cost** | symbolic source derived | [Cost](#cost) |
| **Descriptant** | present | [Descriptant](#descriptant) |
| **Invariant** | partial | [Invariant](#invariant) |
| **Tests** | executed bounded checks | [Checks](#checks) |

## Obernants

The typed relations around the forward model: the behaviour complement (what the code never does), the reverse reconstruction (every input compatible with an output) and specialised views.

| relation | type | label | where |
|---|---|---|---|
| Behavior complement | behavior complement | partial source derived model | [Behavior complement](#behavior-complement) |
| Reverse reconstruction | reverse reconstruction | partial source derived model | [Reverse reconstruction](#reverse-reconstruction) |

## Model text


### Descriptant

The compressed, randomly accessible store of annotated articles (tools/treestore): typed columns per field, a
meta-dictionary of tree fragments, per-stream zstd dictionaries or a primed context coder, lossless byte for byte.
Epoch 2026-11-06: the Wikipedia tier 1 (50 000 articles) converted; measurements in tools/treestore/README.md.

### Forward

Records → json (envelope + string fields) → codec (fields → typed streams, with model tables, splits, fragments) →
cols (per-article byte streams) → store (groups; per stream the smallest of zstd+dictionary, zstd, cm, stored; footer
with hashes) → dir (title index). Reading runs the chain backwards for one group.

### Invariant

decode ∘ encode = id per record, checked per field at write, per frame at write, and per article (length, SHA-256
prefix) at every read. Deterministic files for fixed input, model and settings.

### Cost

Size ≈ Σ streams min(coders) per group: about 4.2 bytes per token on tier 1 (2.9× below the per-article zstd 9
source, 2.1× below one zstd 19 long frame per shard); writing O(bytes) with level-19 zstd and the context coder;
reading one article = one group decompression.

### Composition

The field dependencies are the joins: Markdown is the context of sentence rows (text offsets), rows of trees and
pragmatics (row deltas), trees of frames (references). A field that falls back to raw is still context for later
fields (read from the envelope), so a fallback never breaks the chain.

### Behavior complement

Does not annotate, does not update in place, does not deduplicate across files, does not quantise, and does not
derive frames or pragmatics from trees.

### Reverse reconstruction

Exact recovery of every record given its file and the store's model; the footer alone gives titles, lengths and hashes.

### Checks

`cargo test -p treestore` (unit tests and tests/roundtrip.rs); `treestore verify` over the converted tier 1.

## Provenance

- **repository commit:** `f55191f0d47f`
