6.6 KiB
QPI Contextual Routing Rules
Date: 2026-06-17
Status: draft rule hardening for model_library_mvp
1. Updated Definition
QPI is not a text classifier.
QPI judges how a cognitive subject, in a concrete context, frames an expectation-reality gap as question, problem, issue, mixed, or no_call.
The model must therefore inspect:
- who the subject is;
- what responsibility position they occupy;
- what scenario the gap appears in;
- what the expected outcome and current reality are;
- what resources, authority, time scale, and feedback loops are available;
- whether the frame is stable, provisional, mixed, or changing.
2. Source Structure
QPI currently draws from two non-substitutable source layers:
article_qpi_contextual_2025_001: subjectivity, context, expectation-reality gap, dynamic lifecycle, and semantic foundation.article_qpi_primary_001: core scarcity, cognitive optics, power-framed misclassification, violent reduction, and malicious inflation.
The 2025 article is not obsolete. It supplies the subject-context-dynamic foundation that prevents QPI from becoming a shallow text classifier.
3. No-Call Gate
Return classification_scope=no_call when the input is only:
- fact lookup;
- rewrite, polish, or typo correction;
- translation;
- direct file or formatting execution;
- a low-risk instruction where the user explicitly says not to analyze.
Exception: if the user explicitly says not to execute literally and asks for analysis of the underlying problem, the no-call gate may be bypassed.
4. Subject-Context Gate
QPI must not produce high-confidence classification without enough context.
Rules:
- If
subject_positionis missing,classification_confidencemust not behigh. - If
scenario_contextis missing,dominant_scarcitymust not be high-confidence. - If both subject and scenario are missing, set
is_provisional=true. - If context is insufficient, fill
missing_contextandrecommended_clarifying_questions.
Example:
Input: 如何提高流量?
This is not automatically problem or mixed. It is insufficient_context until the subject, responsibility scope, goal, resources, and time scale are known.
5. Expectation-Reality Gap
Every non-no-call QPI output should extract:
- expected state;
- current reality;
- gap summary.
If any part is unknown, write unknown instead of inventing context.
6. Mixed Versus Multi-Perspective
QPI must distinguish two different kinds of complexity.
intra_frame_mixed:
Same subject, same scenario, same stage. Multiple scarcities coexist inside one problem frame.
Example:
我是集团营销负责人,既缺流量增长方法,也担心销售、库存、客服和激励机制跟不上。
inter_viewpoint_divergence:
The same surface input would be framed differently by different subjects or responsibility positions.
Example:
如何提高流量?
For a student this may be question; for a marketing manager this may be problem; for a group marketing director this may be issue.
Do not collapse inter_viewpoint_divergence into mixed.
7. Scarcity Profile
Use three scarcity channels:
data_scarcity: facts, concepts, examples, source location, or basic knowledge are missing.path_or_resource_scarcity: goal is clear, but method, resource, decomposition, or implementation path is missing.consensus_or_order_scarcity: success depends on alignment, incentives, governance, stability, authority, or system order.
Dominant scarcity rules:
- If exactly one channel is
high, use its corresponding dominant scarcity. - If two or three channels are
highfor the same subject and scenario, usemixed. - If evidence is insufficient, use
unknown. - For
mixedorlowconfidence,evidence_gapmust be non-empty.
8. Issue As Governance Load
issue does not require a multi-person organization.
Raise issue weight when any of these are present:
- success criteria are not unique, and multiple standards are reasonable;
- the task cannot be solved once and closed;
- the action will change the future problem structure;
- multiple valid goals require ongoing tradeoff;
- state continuity, role boundaries, invocation authenticity, audit trail, or downstream reuse matters;
- the validator is part of the system being designed;
- local truth can masquerade as global structure;
- the next step depends on human confirmation, authority, or boundary protocol.
This covers personal workflow redesign cases where the owner, future owner, agents, source materials, token budget, audit boundary, and downstream projects behave like proxy stakeholders.
9. Misframing Risks
QPI must identify these risks when present:
violent_reduction: compressing an issue into a personal execution problem.malicious_inflation: inflating a concrete problem into an untouchable issue.tool_solutionism: treating subject-context-governance work as mere tool unfamiliarity.premature_classification: assigning Q/P/I before subject and scenario are known.
10. Routing Output
The required QPI runtime output fields are declared in models/qpi.model.json under structured_output_contract and enforced by scripts/validate_model_library.py.
Do not write draft-callable into model status. QPI remains:
{
"status": "draft",
"stability_level": "B",
"regression_status": "pending"
}
11. Raw Case Preprocessing
Owner-provided raw cases should not be compressed into short classification prompts.
Each case digest should preserve:
subject_position;responsibility_scope;scenario_context;experience_level;goal;expected_outcome;current_reality;hard_feedback_availability;success_criteria;proxy_stakeholders;dynamic_shift;possible_qpi_by_viewpoint;owner_expected_judgment;codex_candidate_judgment;owner_review_needed.
Round 03 completed the first owner-reviewed QPI case promotion into:
reports/model_case_preprocessing/qpi/round-01/*.cases.md;selector/qpi_case_digests.json;selector/selector_calibration_inputs.json;tests/qpi.regression.json.
Round 03.1 digest field rules:
- Use
misclassification_risk, notmisframing_risks, to match the QPI structured output contract. - Use
qpi_complexity_pattern, notmixed_or_multi_perspective, for judgment-structure complexity. qpi_complexity_pattern=intra_frame_mixeddoes not requireclassification=mixed; final routing classification and judgment complexity are separate.- If
classification_scope=multi_perspectiveorqpi_complexity_pattern=inter_viewpoint_divergence, the digest must includeclassification_by_viewpointorviewpoint_summary.