Skip to main content

Module linter

Module linter 

Source
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§

LintError
LintReport
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 real geo/…).

Enums§

AtomStatus
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).