One transform at train and inference alike β uppercase, strip all whitespace:
normalize(t) = "".join(t.upper().split()) " 4 rTherm " β "4RTHERM" "55/2 silence" β "55/2SILENCE"
It folds the two axes of operator noise glassmatch does not model (case, whitespace) and
preserves everything that keeps distinct articles distinct (digits, / . -, accents).
A partial function V : text β article built live from the monce_db
catalogue for a factory. It is defined only on unambiguous identity keys:
V(normalize(t)) defined β t β { "#"+num (all articles) }
βͺ { num (num > 1000, avoids short collisions) }
βͺ { exact designation }
V β confidence 1.0, method "vlookup" (no inference; if it answers, it is right)
For unknown text, the per-(factory,field) Snake returns a probability
distribution over that field's articles; the vote is the argmax with an abstain floor:
p = snake.get_probability({"text": normalize(t)}) # {article: prob}
(a*, c*) = argmax_a p[a], max_a p[a]
answer = a* if c* β₯ Ο (Ο = 0.5)
= abstain otherwise method "snake" | "none"
Trained per field at n_layers=25, bucket=30, workers=10. A field with <2 classes cannot vote (Snake needs β₯2) β those defer to vLookup or abstain.
Let engines E = {snake, knowledge, fuzzy, lookup} with weights
w summing to a pool of 4.0 (rendered Γ100 = 400 points). Each engine e
casts a top-1 (a_e, c_e). An article's score accumulates weighted confidence:
score(a) = Ξ£_{e : a_e = a} w_e Β· c_e
winner = argmax_a score(a)
coherence(a) = 100 Β· score(a) β [0, 400]
confidence(winner) = score(winner) / 4.0 β [0, 1]
| engine | w | points |
|---|---|---|
| snake | 2.0 | 200 |
| knowledge | 1.0 | 100 |
| fuzzy | 0.5 | 50 |
| lookup | 0.5 | 50 |
| pool | 4.0 | 400 |
query "44.2 rprotect", factory 4, verre1: snake β #60442 c=1.00 β 2.0Β·1.00 = 2.00 (200) knowledge β #60442 c=1.00 β 1.0Β·1.00 = 1.00 (100) fuzzy β #50023 c=0.02 β 0.5Β·0.02 β 0.01 ( 1) lookup β abstain score(#60442) = 3.00 β coherence 300/400, confidence 0.75 β CONSENSUS (2 engines)
query "4ITR", factory 4, verre1: snake β #98219 c=0.556 β 1.112 (111) β confidently wrong (field model) knowledge β #1004 c=1.00 β 1.000 (100) β trained on the truth table fuzzy β #61004 c=0.025 β 0.012 ( 1) winner = #98219 (111) over #1004 (100) β CONFLICT β gap < 100, single-engine lead
The conflict gloss (gap < 100 points β a split, not a consensus) is what routes the case to a human instead of silently shipping the higher-weighted-but-wrong answer.
Type any glass text; the 400-point sum is computed live against the fleet and drawn as the weighted stack for the winning article:
Coherence measures agreement mass, not correctness. A lone fuzzy vote at 0.02 confidence yields ~1/400 β visibly weak. The honest reading is: high coherence with β₯2 engines is trustworthy; a single-engine lead under a near-tie is the review queue. See the live disagreements at /assess/ui.