The project's design docs and code comments are full of cryptic
short-codes (Yod6, Tet3, Lamed3, Mem5, Pe5, Vav3,
Bet7, …). They originated as subagent task names when work
was dispatched to multiple agents in parallel, then calcified
into pseudo-jargon used in commits, traces, and design docs.
They communicate nothing to anyone who wasn't in the room when
the agent was dispatched.
This file maps each code to a one-line description and a primary artefact reference. New code added to this project should use descriptive names, not new short-codes. When editing existing docs, replace cryptic codes with descriptive phrases; keep the short-code in parentheses on first occurrence if it's already widely used.
When you see one of these in a commit message or comment, look it up here. When in doubt, the doc references are authoritative.
| Short-code | Plain description | Primary artefact |
|---|---|---|
| Mem4 | Cross-query F* page cache for DLBA column decode (avoids per-cell Array.of_list). |
RDF.CottasStore.PageCache.fst |
| Mem5 | Estimate-via-presence-bitmap fast path; per-rg cardinality from .presence without column decode. |
RDF.CottasStore.fst:cottas_ondisk_estimate |
| Pe4 | Per-row-group search trace stats (timings, candidate count). Emits [pe4-trace] to stderr. |
RDF_CottasStore.ml:891 |
| Pe5 | factoidal --explain mode: plan-only dump of algebra + cardinality estimates, no execution. |
factoidal_explain.ml; 2026-04-26-pe5-explain-mode.md |
| Vav3 | Persistent companion files (.dict, .presence, …) replacing the 107s / 1.4 GB in-memory pre-warm. mmap'd on demand. |
RDF.CottasStore.OnDiskIndex.fst |
| Psi3 | F*-source-of-truth read API for presence-bitmap companion files. | RDF.CottasStore.PresenceBitmap.fst |
| Mim2 | First iteration of mmap'd companion-file readers (pre-Vav3). | (mostly retired) |
| Mim3 | Pre-warm lazy-fallback warning log line. Emits [mim3-trace]. |
RDF_CottasStore.ml |
| Bet5 | Earlier hashtable-cache iteration (largely retired by Vav3). | (historical) |
| Bet7 | Lazy populate of in-RAM Hashtbls when companion files are absent / fail. Emits [bet7-trace]. The decision logic ("when do we mmap vs. fall back to in-RAM build?") now lives in SPARQL.Plan.Loader.fst (choose_load_strategy); the OCaml realisation that emits [bet7-trace] is retained as the LS_InRamFallback mechanism. |
SPARQL.Plan.Loader.fst (decision); cottas_ondisk_z_lazy_open.sh (mechanism, populates Hashtbls on first lookup) |
| Tau3 | Audit doc reviewing whether Bet7 can be retired. | 2026-04-26-tau3-bet7-retire-audit.md |
| Yod6 | Predicate-presence row-group prune. Bitmap says "predicate X might appear in row-group Y"; lets the evaluator skip RGs that can't match. | cottas_ondisk_zzz_yod6_pred_presence_prune.sh; F* equivalent in RDF.CottasStore.fst:480-525 |
| Tet3 | Subject + object presence row-group prune (analogous to Yod6 for S and O columns). | cottas_ondisk_zzzz_tet3_subj_obj_prune.sh |
| Lamed3 | Per-row-group predicate row-offset index (.p.offsets mmap'd file). Goal: ?s rdf:type ?o LIMIT 5 from 6s → <200ms. |
cottas_ondisk_zzzzzz_lamed3_offset_idx.sh |
| Qof3 | Distinct count discovery per dictionary column. Emits [qof3-trace]. |
RDF_CottasStore.ml |
| Aleph6 | Streaming COUNT(*) + LIMIT pushdown fast paths. | cottas_ondisk_zz_aleph6_count_limit.sh |
| Resh3 | Migration of cottas_ondisk_search / _estimate / _search_limited from OCaml glue back to F* (Phases 2.5 of the purity unwind). |
2026-04-25-resh3-phase-A-fstar-purity.md; PR #122 |
| Short-code | Plain description | Primary artefact |
|---|---|---|
| Tav5 | Result-row cap circuit breaker. --max-rows N. Emits [tav5-trace] when triggered. |
factoidal_http.ml |
| Heth3 | SIGALRM-based per-query timeout (--query-timeout SECS, default 120s). Process-global; flagged in audit §A as architecturally wrong, retire-pending. |
factoidal_http.ml:with_query_timeout |
These are deliberate, owner-chosen names for top-level tracks. They are exempt from the no-new-short-codes rule below, which targets opaque agent-task codes — a named track is the opposite: the name is the public handle for the work.
| Name | Plain description | Primary artefact |
|---|---|---|
| Z33kr | The z3 runtime entailment-oracle track: z3 consulted at query/validation time behind the OWL DL consistency interface, restricted to the finite-model counting fragment the verified tableau cannot decide, with verdicts reported in a separate oracle-assisted column. Distinct from (and unrelated to) z3's build-time role as the F* verification backend. Owner-named, 2026-07-15. | 2026-07-14-z3-entailment-backend.md |
| Short-code | Plain description | Primary artefact |
|---|---|---|
| Omega3 | The F*-purity CI workflow (rule #11 recurrence guard) — soft-mode, scans diffs in OCaml glue + watched hand-written .ml files for net-new semantic logic. | .github/workflows/check-fstar-purity.yml; 2026-04-26-omega3-ci-purity-check.md |
predicate_presence_prune_v2 over Kaph7. Future readers will
thank us.[yod6-trace]-style stderr lines),
keep the short-codes for backward compatibility with existing
greps and dashboards. Trace tags are an exception because
third-party tooling may already match on them.If a short-code is missing from the table above and you can't figure out what it means from context, that's a bug — file a PR adding it.
Issues #106–#116 asked for wholesale renames of the short-coded identifiers in code and traces. Closed as wontfix for now by owner decision: the going-forward rules above (no new short-codes, expand on touch, descriptive commit messages, trace tags keep the codes) are the policy; churn-renaming stable identifiers wholesale is not. Revisit only if a specific short-code causes a real misunderstanding — then rename that one thing in the commit that touches it, per rule 2.