the-mindscape-of-bro-tsong/selector/README.md

44 lines
1.5 KiB
Markdown

# Selector
This folder contains rule-based selector configuration and examples.
The v0.2 selector should not call an LLM.
It should use simple matching rules:
- Trigger keywords
- Input types
- Negative triggers
- Pipeline position
- Selection priority
- Negative trigger first
- No-call threshold
- QPI-before-IA gate
- QPI positive-signal gate
- Direct-execution no-call signals
- Calibration smoke checks
Current files:
- `selector_rules.json`
- `selector_examples.json`
- `selector_calibration_inputs.json`
- `qpi_case_digests.json`
The selector does not call an LLM.
The executable demo is `scripts/run_selector_demo.py`.
Selector regression is `scripts/run_selector_regression.py`.
Selector calibration smoke check is `scripts/run_selector_calibration_smoke.py`.
`qpi_case_digests.json` stores owner-reviewed QPI case digests that can feed selector calibration or later regression selection. It is not a model status upgrade and should not include unreviewed draft cases.
Digest field notes:
- `misclassification_risk` is the canonical digest field matching QPI's structured output contract.
- `qpi_complexity_pattern` records judgment complexity: `not_mixed`, `intra_frame_mixed`, or `inter_viewpoint_divergence`.
- `qpi_complexity_pattern=intra_frame_mixed` does not imply `classification=mixed`; `classification` is the final routing class, while `qpi_complexity_pattern` records the structure of the judgment.
- Multi-perspective / inter-viewpoint cases require `classification_by_viewpoint` or `viewpoint_summary`.