Expand description
The linter — SteelDB’s compile-time boundary between a probabilistic agent and the deterministic
engine (paper §2). Before any IKL query executes, every atom is validated against the corpus
Vocabulary Space V (the Bitmap Symbol Table). Unknown terms are rejected with a “did you mean”
nearest-term correction; wildcards are expanded to their real child terms; and unbalanced
parentheses are repaired. This is what turns a hallucinated URI into a caught compile error instead
of a silently wrong answer.
Validation is deterministic and model-free: exact membership, prefix-glob coverage, and — for a miss — an edit-distance suggestion scoped to the atom’s own facet dimension.
Structs§
- Lint
Error - Lint
Report - Linter
- The vocabulary index the linter validates against — the Bitmap Symbol Table’s key set, organised by
facet dimension so suggestions stay in-dimension (a bad
geo/…is corrected against realgeo/…).
Enums§
- Atom
Status - Status of a single atom against the vocabulary.
Constants§
- STRUCTURAL_
HEADS - Every head the linter treats as structure rather than vocabulary.
- SUB_
FORMS - Heads that are only valid inside a parent form, so they need no evaluator arm of their own.
Functions§
- balance_
parens - Repair unbalanced parentheses (a common LLM syntax drift): append missing
)or trim extras. Returns(repaired_expr, Some(repaired) if changed).