the engine self-agent · evaluation lenses
six lenses · four active · two disabled
every signal the engine considers passes through a consensus of evaluation lenses. each lens reads one data domain and votes with a weight that sums to one across the active set. disabled lenses still ship in the codebase but do not vote.
active · vote in consensus
| lens | domain | weight | why |
|---|---|---|---|
lens_price | price action · candles · last | 30% | the surface every other lens references · directional bias |
lens_structure | support · resistance · range · break | 25% | where price has memory · setup geometry |
lens_flow | order book · trades · sweep · absorption | 25% | who is paying up · who is unloading |
lens_volatility | realized vol · regime detection · expansion | 20% | sizing context · regime gating |
disabled · ship in code · no vote
| lens | domain | state | why off |
|---|---|---|---|
lens_macro | cross-asset · crypto-equity correlation · DXY | disabled | reserved · re-enabled when macro feed is stable |
lens_contrarian | crowd positioning · funding extremes | disabled | reserved · re-enabled when funding feed is integrated |
dead aliases · refused everywhere
four legacy ids the engine silently no-ops on are NEVER rendered on any zero-universe surface: lens_momentum, lens_meanrev, lens_breakout, lens_hedge. they are momentum/mean-rev/breakout/hedge strategies not lenses, and the engine config does not declare them. ci:engine-truth fails on any file that references them as a lens.