From 77114cee5b79d27bf9378efb330e56a0cca0b177 Mon Sep 17 00:00:00 2001 From: wantsong Date: Wed, 17 Jun 2026 23:49:35 +0800 Subject: [PATCH] Close Round 03 selector review --- README.md | 4 +- cards/qpi.md | 12 +- ...OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md | 52 ++++++++ .../01_PATCH_MATRIX_03.2a.md | 43 +++++++ .../02_CURRENT_ASSET_PACK_03.2a.md | 51 ++++++++ .../03_VALIDATION_AND_COMMAND_LOG_03.2a.md | 49 ++++++++ .../04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md | 27 +++++ .../BUNDLE_FILE_MANIFEST_03.2a.md | 46 +++++++ .../optional_raw_changed_files_03.2a.zip | Bin 0 -> 69228 bytes docs/DECISIONS.md | 33 ++++++ models/model_index.json | 2 +- ...话交接文档_Round03.2a评审准备_2026-06-17.md | 112 ++++++++++++++++++ reports/content_review_report_v0.2.md | 4 +- reports/selector_calibration_smoke_report.md | 7 +- reports/selector_regression_report_v0.2.md | 5 +- scripts/run_selector_demo.py | 19 ++- selector/README.md | 5 + selector/selector_calibration_inputs.json | 35 ++++++ selector/selector_rules.json | 18 ++- tests/qpi.regression.json | 87 ++++++++++++++ tests/regression_cases.json | 87 ++++++++++++++ tests/regression_index.json | 4 +- 22 files changed, 688 insertions(+), 14 deletions(-) create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/01_PATCH_MATRIX_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/02_CURRENT_ASSET_PACK_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/03_VALIDATION_AND_COMMAND_LOG_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/BUNDLE_FILE_MANIFEST_03.2a.md create mode 100644 ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/optional_raw_changed_files_03.2a.zip create mode 100644 reports/Codex新会话交接文档_Round03.2a评审准备_2026-06-17.md diff --git a/README.md b/README.md index d0e9406..ef8e377 100644 --- a/README.md +++ b/README.md @@ -174,8 +174,8 @@ Files intended for GPT / CCRA upload inside a review bundle should include the r ## 13. Next Steps -1. Submit the Round 03.2 selector negative-gate patch for GPT / CCRA review. +1. Round 03 is closed after the Round 03.2a CCRA / GPT pass decision. 2. Keep QPI and Intellectual Archaeology at `draft / B / pending` until Owner / CCRA review accepts stronger status. -3. Run a QPI blind-test round with new unlabelled inputs only after Round 03.2 passes. +3. Start Round 04 blind input routing evaluation only after an explicit owner instruction; do not modify selector rules before that evaluation. 4. Defer any third-model expansion until the current QPI selector and case layer are accepted. 5. Route missing reusable extraction, inspection, or stability-scoring tools to `requirements/skills-vault/` or `requirements/ccpe/` instead of improvising local platform features. diff --git a/cards/qpi.md b/cards/qpi.md index c659c1d..4657e04 100644 --- a/cards/qpi.md +++ b/cards/qpi.md @@ -145,6 +145,8 @@ QPI 必须区分: - 不要展开 - 只改错别字 +说明:`不要展开` / `不要深入分析` 默认抑制 QPI;但如果同时出现 `只做 QPI`、`只做问题定性`、`只判断主导稀缺` 等限定分析意图,则允许 QPI 做窄范围判断,并拒绝进入思想考古。 + ## 相关模型 - `intellectual_archaeology`: 当 QPI 判断问题偏中重型难题或课题时,可进入思想考古做深度建模。 @@ -202,7 +204,7 @@ QPI 的三分结构、核心匮乏物、主体性和动态性有清晰来源支 - 机制稳定性:中高,扫描匮乏物和匹配处理范式的机制明确。 - 边界清晰度:中等,混合型问题、多视角分歧和上下文不足场景仍需更多测试。 - 来源证据质量:较高,主体性和动态性来自 2025 原文,核心匮乏物和误框定规则来自 2026 原文,应用规则来自综合文档。 -- 回归测试表现:pending,当前已有 55 条 QPI 回归用例;其中 Round 03 / 03.1 已纳入 owner-reviewed case layer、selector no-call、multi-perspective 和低上下文 provisional 边界用例,Round 03.2 已纳入普通 how-to / 词义判断 no-call 陷阱。生命周期仍保持 draft。 +- 回归测试表现:pending,当前已有 58 条 QPI 回归用例;其中 Round 03 / 03.1 已纳入 owner-reviewed case layer、selector no-call、multi-perspective 和低上下文 provisional 边界用例,Round 03.2 已纳入普通 how-to / 词义判断 no-call 陷阱,Round 03.2a 已纳入 depth-limiting QPI override 陷阱。生命周期仍保持 draft。 评级理由:三分结构清晰,适合作为入口路由模型,但需要补充大量边界案例,防止过度升维或降维。 @@ -212,7 +214,7 @@ QPI 的三分结构、核心匮乏物、主体性和动态性有清晰来源支 `pending` -当前已有 55 条 QPI 回归用例,覆盖 positive、boundary、misuse、no_call、selector_gate 和 pipeline。Round 03 / 03.1 重点新增: +当前已有 58 条 QPI 回归用例,覆盖 positive、boundary、misuse、no_call、selector_gate 和 pipeline。Round 03 / 03.1 重点新增: - owner-reviewed flow / disappointment / organizational year-end-review cases; - `case_qpi_international_logistics_no_call_001` @@ -228,6 +230,12 @@ Round 03.2 重点新增: - `case_qpi_how_to_markdown_pdf_no_call_001` - `case_qpi_dictionary_judgment_no_call_001` +Round 03.2a 重点新增: + +- `case_qpi_depth_limited_qpi_only_001` +- `case_qpi_depth_limited_problem_definition_001` +- `case_qpi_depth_limited_dominant_scarcity_001` + ## 示例输入 - “我们团队每次都说要长期主义,但一到季度 KPI 就回到短期动作,这到底是什么问题?” diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md new file mode 100644 index 0000000..7beb167 --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md @@ -0,0 +1,52 @@ +# Round 03.2a CCRA Review Brief + +Date: 2026-06-17 + +Repository: `C:\Users\wangq\Documents\Codex\work-projects\the-mindscape-of-bro-tsong` + +Patch title: Depth-Limiting Override For QPI + +## Scope + +Round 03.2a is a micro-patch after GPT's Round 03.2 `REVISE-light` review. + +It fixes one selector precedence issue: + +> `不要展开` / `不要深入分析` should remain global no-call by default, but when paired with explicit QPI-limited intent such as `只做 QPI`, `只做问题定性`, or `只判断主导稀缺`, they should allow QPI and reject IA. + +This patch does not: + +- add a third model; +- upgrade QPI or Intellectual Archaeology lifecycle status; +- introduce an LLM selector; +- introduce RAG, database, frontend, backend, user accounts, or platform features; +- start Round 04 blind testing. + +Current model status remains: + +```text +qpi: draft / B / pending +intellectual_archaeology: draft / B / pending +``` + +## What Changed + +1. Added `depth_limiting_no_call_signals`. +2. Added `qpi_limited_analysis_override_phrases`. +3. Modified hard no-call precedence so depth-limiting phrases do not globally no-call when QPI-limited intent is explicit. +4. Suppressed QPI's own depth-limiting negative penalty only in that explicit QPI-limited combination. +5. Expanded IA hard exclusion triggers to cover QPI-limited judgment phrases. +6. Added 3 selector regression cases and 5 calibration smoke inputs. + +## Suggested Review Order + +1. `00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md` +2. `01_PATCH_MATRIX_03.2a.md` +3. `02_CURRENT_ASSET_PACK_03.2a.md` +4. `03_VALIDATION_AND_COMMAND_LOG_03.2a.md` +5. `04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md` +6. `optional_raw_changed_files_03.2a.zip` only if exact changed-file inspection is needed + +## Primary Review Question + +Does Round 03.2a close the depth-limiting override issue enough to close Round 03 and proceed to Round 04 blind input evaluation? diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/01_PATCH_MATRIX_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/01_PATCH_MATRIX_03.2a.md new file mode 100644 index 0000000..62c9d15 --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/01_PATCH_MATRIX_03.2a.md @@ -0,0 +1,43 @@ +# Round 03.2a Patch Matrix + +## GPT Requirement Mapping + +| Requirement | Implementation | Files | +| --- | --- | --- | +| Add QPI-limited override phrases | Added `qpi_limited_analysis_override_phrases` | `selector/selector_rules.json` | +| Keep `不要展开` / `不要深入分析` as no-call by default | Added separate `depth_limiting_no_call_signals`; did not remove original hard no-call phrases | `selector/selector_rules.json` | +| Let QPI-limited depth requests continue scoring | Hard no-call branch now skips global no-call only when depth-limiting and QPI-limited phrases both hit | `scripts/run_selector_demo.py` | +| Do not let QPI's own negative trigger penalty suppress the override | Suppressed QPI depth-limiting penalty only for explicit QPI-limited combinations | `scripts/run_selector_demo.py` | +| IA must remain rejected | Added QPI-limited judgment phrases to IA hard exclusion triggers | `selector/selector_rules.json` | +| Add regression / calibration cases | Added 3 regression cases and 5 calibration inputs | `tests/qpi.regression.json`, `selector/selector_calibration_inputs.json` | + +## Added Regression Cases + +- `case_qpi_depth_limited_qpi_only_001` +- `case_qpi_depth_limited_problem_definition_001` +- `case_qpi_depth_limited_dominant_scarcity_001` + +## Added Calibration Inputs + +- `selector_calibration_qpi_depth_limited_qpi_only_001` +- `selector_calibration_qpi_depth_limited_problem_definition_001` +- `selector_calibration_qpi_depth_limited_problem_definition_002` +- `selector_calibration_qpi_depth_limited_problem_or_issue_001` +- `selector_calibration_qpi_depth_limited_dominant_scarcity_001` + +## Current Counts + +| Asset | Round 03.2 | Round 03.2a | +| --- | ---: | ---: | +| QPI regression cases | 55 | 58 | +| IA regression cases | 19 | 19 | +| Aggregate regression cases | 74 | 77 | +| Selector calibration inputs | 90 | 95 | + +## Non-Goals Preserved + +- No new model. +- No lifecycle upgrade. +- No LLM selector. +- No RAG / database / frontend / backend. +- No Round 04 blind-test execution. diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/02_CURRENT_ASSET_PACK_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/02_CURRENT_ASSET_PACK_03.2a.md new file mode 100644 index 0000000..e592b1d --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/02_CURRENT_ASSET_PACK_03.2a.md @@ -0,0 +1,51 @@ +# Round 03.2a Current Asset Pack + +## Canonical Changed Assets + +- `selector/selector_rules.json` +- `selector/selector_calibration_inputs.json` +- `tests/qpi.regression.json` +- `tests/regression_cases.json` +- `tests/regression_index.json` +- `scripts/run_selector_demo.py` + +## Generated / Derived Assets + +- `models/model_index.json` +- `cards/card_index.md` +- `reports/index_rebuild_report.md` +- `reports/validation_report.md` +- `reports/selector_regression_report_v0.2.md` +- `reports/selector_calibration_smoke_report.md` +- `reports/model_card_sync_report_v0.2.md` + +## Documentation Updated + +- `README.md` +- `docs/DECISIONS.md` +- `selector/README.md` +- `cards/qpi.md` +- `reports/content_review_report_v0.2.md` + +## Required Behavior + +The following inputs should now select QPI, reject IA, and set `no_call=false`: + +```text +不要展开到思想考古,只做 QPI 复核。 +不要展开到思想考古,只做问题定性。 +不要深入分析,只做问题定性。 +不要深入分析背后的理论,只判断这是问题还是课题。 +不要展开,只判断主导稀缺。 +``` + +Depth-limiting phrases without explicit QPI-limited intent remain no-call / low-depth signals. + +## Current Lifecycle State + +No lifecycle upgrade was made. + +```text +qpi: draft / B / pending +intellectual_archaeology: draft / B / pending +``` diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/03_VALIDATION_AND_COMMAND_LOG_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/03_VALIDATION_AND_COMMAND_LOG_03.2a.md new file mode 100644 index 0000000..4c4216d --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/03_VALIDATION_AND_COMMAND_LOG_03.2a.md @@ -0,0 +1,49 @@ +# Round 03.2a Validation and Command Log + +Date: 2026-06-17 + +## Red Evidence + +After adding the 03.2a traps and before implementation, selector checks failed as expected. + +`python scripts\run_selector_regression.py` + +- `case_qpi_depth_limited_qpi_only_001`: expected primary QPI, got none. +- `case_qpi_depth_limited_problem_definition_001`: expected primary QPI, got none. +- `case_qpi_depth_limited_dominant_scarcity_001`: expected primary QPI, got none. + +`python scripts\run_selector_calibration_smoke.py` + +- five depth-limiting QPI override inputs failed with expected QPI selection missing. + +## Green Verification + +The following commands passed after the Round 03.2a patch: + +```powershell +python scripts\rebuild_indexes.py --check +python -m unittest discover -s tests -p "test*.py" -v +python scripts\validate_model_library.py +python scripts\check_card_contract.py +python scripts\run_selector_demo.py +python scripts\run_selector_regression.py +python scripts\run_selector_calibration_smoke.py +python scripts\check_model_card_sync.py +``` + +Results: + +- Index check: PASS +- Unit tests: PASS, 17 tests +- Model library validation: PASS +- Card contract: PASS +- Selector demo: PASS +- Selector regression: PASS +- Selector calibration smoke: PASS, 95 inputs, 0 failures, 0 warnings +- Model/card sync: PASS + +## Important Interpretation + +Validation pass does not mean model content is stable or owner-approved. + +It only means the Round 03.2a selector precedence patch is structurally consistent and passes current local checks. diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md new file mode 100644 index 0000000..cfbfe57 --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md @@ -0,0 +1,27 @@ +# Round 03.2a Review Questions for GPT + +Please review Round 03.2a only. + +Do not expand into Round 04 blind testing yet. + +## Questions + +1. Does the selector now correctly treat `不要展开 / 不要深入分析 + 只做 QPI / 只做问题定性` as QPI-limited analysis rather than global no-call? +2. Does IA remain properly rejected in all five depth-limiting override cases? +3. Is it acceptable that depth-limiting phrases without QPI-limited intent still remain no-call / low-depth signals? +4. Can Round 03 now be closed with the following conclusion? + +```text +QPI and Intellectual Archaeology remain draft / B / pending. +QPI is accepted as a draft-callable routing asset at report level. +Selector v0.2 passes no-call, calibration smoke, model-level exclusion, QPI-before-IA, and depth-limiting override gates. +Proceed to Round 04 blind input evaluation. +``` + +## Suggested Answer Format + +Please answer with: + +- `pass`, `revise`, or `block`; +- specific failing cases if `revise` or `block`; +- whether Round 04 blind input evaluation may start after this patch. diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/BUNDLE_FILE_MANIFEST_03.2a.md b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/BUNDLE_FILE_MANIFEST_03.2a.md new file mode 100644 index 0000000..0e0702e --- /dev/null +++ b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/BUNDLE_FILE_MANIFEST_03.2a.md @@ -0,0 +1,46 @@ +# Round 03.2a Bundle File Manifest + +## Review Files + +- `00_OPEN_THIS_FIRST_CCRA_REVIEW_BRIEF_03.2a.md` +- `01_PATCH_MATRIX_03.2a.md` +- `02_CURRENT_ASSET_PACK_03.2a.md` +- `03_VALIDATION_AND_COMMAND_LOG_03.2a.md` +- `04_REVIEW_QUESTIONS_FOR_GPT_03.2a.md` +- `BUNDLE_FILE_MANIFEST_03.2a.md` +- `optional_raw_changed_files_03.2a.zip` + +## Optional Raw Changed Files + +The zip is optional and should be used only if exact file inspection is needed. + +It preserves source-relative paths. + +It excludes: + +- `knowledge_assets/` +- `__pycache__/` +- `*.pyc` +- previous review bundle zip files + +## Source-Relative Files Included in Raw Zip + +- `README.md` +- `cards/qpi.md` +- `docs/DECISIONS.md` +- `reports/content_review_report_v0.2.md` +- `reports/Codex新会话交接文档_Round03.2a评审准备_2026-06-17.md` +- `reports/index_rebuild_report.md` +- `reports/model_card_sync_report_v0.2.md` +- `reports/selector_calibration_smoke_report.md` +- `reports/selector_regression_report_v0.2.md` +- `reports/validation_report.md` +- `scripts/run_selector_demo.py` +- `selector/README.md` +- `selector/selector_calibration_inputs.json` +- `selector/selector_rules.json` +- `tests/qpi.regression.json` +- `tests/regression_cases.json` +- `tests/regression_index.json` +- `models/model_index.json` +- `cards/card_index.md` diff --git a/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/optional_raw_changed_files_03.2a.zip b/ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/optional_raw_changed_files_03.2a.zip new file mode 100644 index 0000000000000000000000000000000000000000..dd8630ce3039da2eae5ee5d3eb0b2affe0843b3a GIT binary patch literal 69228 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 literal 0 HcmV?d00001 diff --git a/docs/DECISIONS.md b/docs/DECISIONS.md index 0280494..0c1a33a 100644 --- a/docs/DECISIONS.md +++ b/docs/DECISIONS.md @@ -181,3 +181,36 @@ The current Round 03.2 implementation keeps this scoped: - It does not add an LLM selector, RAG, database, service, frontend, backend, or third model. - It preserves QPI explicit-analysis override, but QPI selection does not re-enable IA when IA is explicitly refused. - Generic bare QPI gate words such as `如何` and `判断` are removed in favor of compound problem-definition phrases. + +## Decision 015: Treat depth-limiting QPI requests as scoped analysis, not global no-call + +Status: Accepted + +Reason: + +Round 03.2 review found that global hard no-call phrases such as `不要展开` and `不要深入分析` could incorrectly block QPI when the user also asked for a limited QPI action such as `只做 QPI`, `只做问题定性`, or `只判断主导稀缺`. + +The correct interpretation is scoped depth control: + +- `不要展开` or `不要深入分析` alone remains a no-call / low-depth signal. +- When paired with explicit QPI-limited intent, it means do not enter deeper models such as Intellectual Archaeology. +- QPI may still be selected for problem definition, problem-type judgment, or dominant-scarcity judgment. +- IA remains rejected through model-level hard exclusion. + +This remains a selector precedence rule only. It does not add a new model, lifecycle upgrade, LLM selector, RAG, database, service, frontend, backend, user system, or Round 04 blind-test behavior. + +## Decision 016: Close Round 03 after the Round 03.2a pass decision + +Status: Accepted + +Reason: + +The Round 03.2a review accepted the depth-limiting QPI override patch and confirmed that Round 03 can close. + +Closure statement: + +- Round 03 is closed. +- QPI and Intellectual Archaeology remain `draft / B / pending`. +- QPI is accepted as a draft-callable routing asset at report level only; this does not change JSON model lifecycle status. +- Selector v0.2 passes no-call, calibration smoke, model-level exclusion, QPI-before-IA, and depth-limiting override gates. +- Round 04 blind input routing evaluation is the next candidate phase, but it is not started by this closure. diff --git a/models/model_index.json b/models/model_index.json index dee950e..4e7be4d 100644 --- a/models/model_index.json +++ b/models/model_index.json @@ -26,7 +26,7 @@ "card_file": "cards/qpi.md", "source_article_count": 3, "source_evidence_count": 10, - "regression_case_count": 55, + "regression_case_count": 58, "stability_level": "B", "regression_status": "pending", "status": "draft", diff --git a/reports/Codex新会话交接文档_Round03.2a评审准备_2026-06-17.md b/reports/Codex新会话交接文档_Round03.2a评审准备_2026-06-17.md new file mode 100644 index 0000000..4bb58c0 --- /dev/null +++ b/reports/Codex新会话交接文档_Round03.2a评审准备_2026-06-17.md @@ -0,0 +1,112 @@ +# Codex 新会话交接文档:Round 03.2a 评审准备与关闭记录 + +Date: 2026-06-17 + +Repository: `C:\Users\wangq\Documents\Codex\work-projects\the-mindscape-of-bro-tsong` + +Current phase: `model_library_mvp` + +## 1. 本轮目标 + +根据 GPT 对 Round 03.2 的 `REVISE-light` 评审意见,完成 03.2a 微修: + +```text +不要展开 / 不要深入分析 ++ +只做 QPI / 只做问题定性 / 只判断主导稀缺 += +允许 QPI,拒绝 IA,不做全局 no-call +``` + +## 2. 已完成 + +- 新增 `depth_limiting_no_call_signals`。 +- 新增 `qpi_limited_analysis_override_phrases`。 +- 修改 selector hard no-call precedence: + - depth-limiting phrase 单独出现时仍可 no-call; + - depth-limiting phrase 与 QPI-limited intent 同时出现时继续评分; + - QPI 可被选中; + - IA 仍通过 hard exclusion 被拒绝。 +- 避免 QPI 自身 negative trigger penalty 在该组合下把 QPI 压到阈值以下。 +- 新增 3 条 QPI regression: + - `case_qpi_depth_limited_qpi_only_001` + - `case_qpi_depth_limited_problem_definition_001` + - `case_qpi_depth_limited_dominant_scarcity_001` +- 新增 5 条 selector calibration input。 +- 同步 aggregate regression、regression index、model/card index 和 reports。 +- 生成 03.2a 评审包: + +```text +ccra_review_bundle/round-03.2a_2026-06-17_depth-limiting-qpi-override-patch/ +``` + +## 3. 当前计数 + +- QPI regression cases: 58 +- Intellectual Archaeology regression cases: 19 +- Aggregate regression cases: 77 +- Selector calibration inputs: 95 + +模型状态没有升级: + +```text +qpi: draft / B / pending +intellectual_archaeology: draft / B / pending +``` + +## 4. 验证结果 + +以下命令已通过: + +```powershell +python scripts\rebuild_indexes.py --check +python -m unittest discover -s tests -p "test*.py" -v +python scripts\validate_model_library.py +python scripts\check_card_contract.py +python scripts\run_selector_demo.py +python scripts\run_selector_regression.py +python scripts\run_selector_calibration_smoke.py +python scripts\check_model_card_sync.py +``` + +结果: + +- Index check: PASS +- Unit tests: PASS, 17 tests +- Model library validation: PASS +- Card contract: PASS +- Selector demo: PASS +- Selector regression: PASS +- Selector calibration smoke: PASS, 95 inputs, 0 failures, 0 warnings +- Model/card sync: PASS + +## 5. 需要 GPT / Owner 判断 + +- Round 03.2a 已经由 GPT / CCRA 判断为 `pass`。 +- Round 03 系列可以正式关闭。 +- Round 04 blind input evaluation 可以作为下一候选阶段,但本次关闭动作不进入 Round 04。 + +## 6. 建议下一步 + +1. 记录 Round 03 closure。 +2. 提交并同步 Round 03.2a 工程资产、评审包、交接文档和关闭记录。 +3. 仅在后续 Owner 明确要求时启动 Round 04 blind input evaluation;启动前不修改 selector 规则。 + +## 7. Round 03 关闭结论 + +```text +Round 03 closed. + +QPI and Intellectual Archaeology remain draft / B / pending. +QPI is accepted as a draft-callable routing asset at report level. +Selector v0.2 passes no-call, calibration smoke, model-level exclusion, QPI-before-IA, and depth-limiting override gates. +Round 04 blind input routing evaluation is not started in this closeout. +``` + +注意:`draft-callable` 只能作为评审报告语言,不改变 JSON model lifecycle status。 + +## 8. 本次关闭修复 + +- 按评审意见在 `cards/qpi.md` 补充 depth-limiting override 的说明:`不要展开` / `不要深入分析` 默认抑制 QPI,但与 `只做 QPI`、`只做问题定性`、`只判断主导稀缺` 等限定分析意图组合时,允许 QPI 窄范围判断并拒绝思想考古。 +- 在 `docs/DECISIONS.md` 记录 Round 03 关闭决策。 +- 在 `README.md` 更新下一步状态:Round 03 已关闭,Round 04 只作为后续候选阶段,不在本轮启动。 diff --git a/reports/content_review_report_v0.2.md b/reports/content_review_report_v0.2.md index 52834c0..34c2568 100644 --- a/reports/content_review_report_v0.2.md +++ b/reports/content_review_report_v0.2.md @@ -2,7 +2,7 @@ Date: 2026-06-16 -Status note: this report is a pre-case-promotion review snapshot. It remains useful for the v0.2 evidence / contract / selector baseline, but its regression counts do not reflect the Round 03 / 03.1 QPI owner-reviewed case promotion or the Round 03.2 selector negative-gate patch. Current regression counts are tracked in `tests/*.regression.json`, `models/model_index.json`, and the latest review bundle. +Status note: this report is a pre-case-promotion review snapshot. It remains useful for the v0.2 evidence / contract / selector baseline, but its regression counts do not reflect the Round 03 / 03.1 QPI owner-reviewed case promotion, the Round 03.2 selector negative-gate patch, or the Round 03.2a depth-limiting override patch. Current regression counts are tracked in `tests/*.regression.json`, `models/model_index.json`, and the latest review bundle. ## 1. 本轮修改摘要 @@ -111,7 +111,7 @@ Coverage: - 已覆盖误用、防误召回、no-call 和 pipeline gate。 - 仍需人工审查用例真实性和遗漏边界。 -Round 03 / 03.1 / 03.2 update: QPI has since expanded to 55 regression cases after owner-reviewed case promotion, selector/no-call repair, and broad-gate no-call traps. Intellectual Archaeology has expanded to 19 regression cases after Round 03.2 IA hard-exclusion traps. This v0.2 table is retained as a historical baseline, not the current count. +Round 03 / 03.1 / 03.2 / 03.2a update: QPI has since expanded to 58 regression cases after owner-reviewed case promotion, selector/no-call repair, broad-gate no-call traps, and depth-limiting QPI override traps. Intellectual Archaeology has expanded to 19 regression cases after Round 03.2 IA hard-exclusion traps. This v0.2 table is retained as a historical baseline, not the current count. ## 6. Selector Regression 结论 diff --git a/reports/selector_calibration_smoke_report.md b/reports/selector_calibration_smoke_report.md index 6a4c630..aca0a0b 100644 --- a/reports/selector_calibration_smoke_report.md +++ b/reports/selector_calibration_smoke_report.md @@ -4,7 +4,7 @@ Status: `PASS` Command: `python scripts/run_selector_calibration_smoke.py` -Calibration inputs checked: 90 +Calibration inputs checked: 95 Failures: 0 Warnings: 0 @@ -99,4 +99,9 @@ Warnings: 0 - `selector_calibration_qpi_how_to_excel_no_call_001`: PASS; expected=no_call; selected=[]; no_call=True - `selector_calibration_qpi_how_to_markdown_pdf_no_call_001`: PASS; expected=no_call; selected=[]; no_call=True - `selector_calibration_qpi_dictionary_judgment_no_call_001`: PASS; expected=no_call; selected=[]; no_call=True +- `selector_calibration_qpi_depth_limited_qpi_only_001`: PASS; expected=select_qpi_reject_ia; selected=['qpi']; no_call=False +- `selector_calibration_qpi_depth_limited_problem_definition_001`: PASS; expected=select_qpi_reject_ia; selected=['qpi']; no_call=False +- `selector_calibration_qpi_depth_limited_problem_definition_002`: PASS; expected=select_qpi_reject_ia; selected=['qpi']; no_call=False +- `selector_calibration_qpi_depth_limited_problem_or_issue_001`: PASS; expected=select_qpi_reject_ia; selected=['qpi']; no_call=False +- `selector_calibration_qpi_depth_limited_dominant_scarcity_001`: PASS; expected=select_qpi_reject_ia; selected=['qpi']; no_call=False - `selector_calibration_analysis_override_should_call_001`: PASS; expected=select_qpi; selected=['qpi']; no_call=False diff --git a/reports/selector_regression_report_v0.2.md b/reports/selector_regression_report_v0.2.md index 9ba39dc..c062fe5 100644 --- a/reports/selector_regression_report_v0.2.md +++ b/reports/selector_regression_report_v0.2.md @@ -2,7 +2,7 @@ Status: `PASS` -Cases checked: 18 +Cases checked: 21 Failures: 0 ## Cases @@ -24,4 +24,7 @@ Failures: 0 - `case_qpi_how_to_excel_no_call_001`: PASS; selected=[]; no_call=True - `case_qpi_how_to_markdown_pdf_no_call_001`: PASS; selected=[]; no_call=True - `case_qpi_dictionary_judgment_no_call_001`: PASS; selected=[]; no_call=True +- `case_qpi_depth_limited_qpi_only_001`: PASS; selected=['qpi']; no_call=False +- `case_qpi_depth_limited_problem_definition_001`: PASS; selected=['qpi']; no_call=False +- `case_qpi_depth_limited_dominant_scarcity_001`: PASS; selected=['qpi']; no_call=False - `case_qpi_analysis_override_should_call_001`: PASS; selected=['qpi']; no_call=False diff --git a/scripts/run_selector_demo.py b/scripts/run_selector_demo.py index d928003..2c9a0c3 100644 --- a/scripts/run_selector_demo.py +++ b/scripts/run_selector_demo.py @@ -33,6 +33,12 @@ def hard_no_call_hits(user_input, global_rules): return hit_any(user_input, signals) +def depth_limited_qpi_override_hits(user_input, global_rules): + depth_hits = hit_any(user_input, global_rules.get("depth_limiting_no_call_signals", [])) + override_hits = hit_any(user_input, global_rules.get("qpi_limited_analysis_override_phrases", [])) + return depth_hits, override_hits + + def model_hard_exclusion_hits(user_input, model_rule): return hit_any(user_input, model_rule.get("hard_exclusion_triggers", [])) @@ -45,7 +51,9 @@ def score_model(model, model_rule, global_rules, user_input, task_type="", pipel penalties = [] negative_hits = hit_any(user_input, model_rule.get("negative_triggers", [])) + hit_any(user_input, model.get("negative_triggers", [])) - if negative_hits and not has_analysis_override(user_input, global_rules): + depth_hits, qpi_limited_hits = depth_limited_qpi_override_hits(user_input, global_rules) + suppress_qpi_depth_penalty = model_id == "qpi" and depth_hits and qpi_limited_hits + if negative_hits and not has_analysis_override(user_input, global_rules) and not suppress_qpi_depth_penalty: penalty_key = "model_negative_penalty_qpi" if model_id == "qpi" else "model_negative_penalty_default" score -= weights.get(penalty_key, 0.5) penalties.append("negative trigger: " + "、".join(sorted(set(negative_hits))[:4])) @@ -146,7 +154,14 @@ def recommend(root, user_input, task_type="", pipeline_position="", threshold=No threshold = global_rules.get("no_call_threshold", 0.35) if threshold is None else threshold no_call_hits = hard_no_call_hits(user_input, global_rules) - if global_rules.get("hard_no_call_first", True) and no_call_hits and not has_analysis_override(user_input, global_rules): + depth_hits, qpi_limited_hits = depth_limited_qpi_override_hits(user_input, global_rules) + has_depth_limited_qpi_override = bool(depth_hits and qpi_limited_hits) + if ( + global_rules.get("hard_no_call_first", True) + and no_call_hits + and not has_analysis_override(user_input, global_rules) + and not has_depth_limited_qpi_override + ): return hard_no_call_result(root, user_input, no_call_hits) model_rules = rules_by_model(selector_rules) diff --git a/selector/README.md b/selector/README.md index 3cb4556..10304b6 100644 --- a/selector/README.md +++ b/selector/README.md @@ -25,6 +25,11 @@ Round 03.2 selector rule: - A hard exclusion rejects only the named model; it does not globally no-call the request. - Generic bare QPI gate words such as `如何` and `判断` should not be used alone. Use compound problem-definition phrases instead. +Round 03.2a selector rule: + +- Depth-limiting phrases such as `不要展开` and `不要深入分析` remain global no-call signals by default. +- If a depth-limiting phrase is paired with explicit QPI-limited intent such as `只做 QPI`, `只做问题定性`, or `只判断主导稀缺`, the selector should continue scoring, allow QPI, and still reject IA. + Current files: - `selector_rules.json` diff --git a/selector/selector_calibration_inputs.json b/selector/selector_calibration_inputs.json index 1f7e5fe..1c788c3 100644 --- a/selector/selector_calibration_inputs.json +++ b/selector/selector_calibration_inputs.json @@ -626,6 +626,41 @@ "expected_selector_behavior": "no_call", "expected_notes": "Dictionary meaning request should not be routed to QPI by bare 判断." }, + { + "case_id": "selector_calibration_qpi_depth_limited_qpi_only_001", + "category": "round_03_2a_depth_limited_qpi_override", + "input": "不要展开到思想考古,只做 QPI 复核。", + "expected_selector_behavior": "select_qpi_reject_ia", + "expected_notes": "Depth-limiting phrase should not become global no-call when QPI-only intent is explicit." + }, + { + "case_id": "selector_calibration_qpi_depth_limited_problem_definition_001", + "category": "round_03_2a_depth_limited_qpi_override", + "input": "不要展开到思想考古,只做问题定性。", + "expected_selector_behavior": "select_qpi_reject_ia", + "expected_notes": "Do not call IA, but still route to QPI for problem definition." + }, + { + "case_id": "selector_calibration_qpi_depth_limited_problem_definition_002", + "category": "round_03_2a_depth_limited_qpi_override", + "input": "不要深入分析,只做问题定性。", + "expected_selector_behavior": "select_qpi_reject_ia", + "expected_notes": "Depth-limiting no-call phrase should be overridden by explicit QPI-limited problem definition." + }, + { + "case_id": "selector_calibration_qpi_depth_limited_problem_or_issue_001", + "category": "round_03_2a_depth_limited_qpi_override", + "input": "不要深入分析背后的理论,只判断这是问题还是课题。", + "expected_selector_behavior": "select_qpi_reject_ia", + "expected_notes": "Problem-or-issue judgment is QPI-limited analysis, not global no-call." + }, + { + "case_id": "selector_calibration_qpi_depth_limited_dominant_scarcity_001", + "category": "round_03_2a_depth_limited_qpi_override", + "input": "不要展开,只判断主导稀缺。", + "expected_selector_behavior": "select_qpi_reject_ia", + "expected_notes": "Dominant-scarcity-only judgment should select QPI and reject IA." + }, { "case_id": "selector_calibration_analysis_override_should_call_001", "category": "round_03_1_analysis_override", diff --git a/selector/selector_rules.json b/selector/selector_rules.json index faec365..41068a6 100644 --- a/selector/selector_rules.json +++ b/selector/selector_rules.json @@ -35,6 +35,18 @@ "不用解释", "生成图片" ], + "depth_limiting_no_call_signals": [ + "不要展开", + "不要深入分析" + ], + "qpi_limited_analysis_override_phrases": [ + "只做 QPI", + "只做问题定性", + "只做问题定性复核", + "只判断主导稀缺", + "只判断这是问题还是课题", + "只判断问题类型" + ], "direct_execution_no_call_signals": [ "排一下", "排床位", @@ -217,7 +229,11 @@ "不要调用思想考古", "不调用思想考古", "只做 QPI", - "只做问题定性" + "只做问题定性", + "只做问题定性复核", + "只判断主导稀缺", + "只判断这是问题还是课题", + "只判断问题类型" ], "pipeline_position": "modeling_depth_analysis", "selection_priority": 7, diff --git a/tests/qpi.regression.json b/tests/qpi.regression.json index 4b3a6ba..38a9b79 100644 --- a/tests/qpi.regression.json +++ b/tests/qpi.regression.json @@ -1634,6 +1634,93 @@ "evaluation_mode": "structured", "notes": "Round 03.2 no-call trap: dictionary judgment is not QPI." }, + { + "case_id": "case_qpi_depth_limited_qpi_only_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要展开到思想考古,只做 QPI 复核。", + "expected_behavior": "应选择 QPI 并拒绝 IA;“不要展开”在此表示限制深度,不是全局 no-call。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "depth_limited_qpi_override" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: global no-call phrase plus QPI-only intent." + }, + { + "case_id": "case_qpi_depth_limited_problem_definition_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要深入分析,只做问题定性。", + "expected_behavior": "应选择 QPI 并拒绝 IA;“不要深入分析”限制深度,但问题定性仍需要 QPI。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "depth_limited_problem_definition" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: limited problem definition should route to QPI." + }, + { + "case_id": "case_qpi_depth_limited_dominant_scarcity_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要展开,只判断主导稀缺。", + "expected_behavior": "应选择 QPI 并拒绝 IA;主导稀缺判断属于 QPI 限定分析。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "dominant_scarcity_gate" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: dominant-scarcity-only judgment should route to QPI." + }, { "case_id": "case_qpi_analysis_override_should_call_001", "model_id": "qpi", diff --git a/tests/regression_cases.json b/tests/regression_cases.json index dc74827..f3e122a 100644 --- a/tests/regression_cases.json +++ b/tests/regression_cases.json @@ -1633,6 +1633,93 @@ "evaluation_mode": "structured", "notes": "Round 03.2 no-call trap: dictionary judgment is not QPI." }, + { + "case_id": "case_qpi_depth_limited_qpi_only_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要展开到思想考古,只做 QPI 复核。", + "expected_behavior": "应选择 QPI 并拒绝 IA;“不要展开”在此表示限制深度,不是全局 no-call。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "depth_limited_qpi_override" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: global no-call phrase plus QPI-only intent." + }, + { + "case_id": "case_qpi_depth_limited_problem_definition_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要深入分析,只做问题定性。", + "expected_behavior": "应选择 QPI 并拒绝 IA;“不要深入分析”限制深度,但问题定性仍需要 QPI。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "depth_limited_problem_definition" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: limited problem definition should route to QPI." + }, + { + "case_id": "case_qpi_depth_limited_dominant_scarcity_001", + "model_id": "qpi", + "case_type": "selector_gate", + "input": "不要展开,只判断主导稀缺。", + "expected_behavior": "应选择 QPI 并拒绝 IA;主导稀缺判断属于 QPI 限定分析。", + "failure_signal": "selector 返回 no_call=true 或选中 IA。", + "expected_output_elements": [ + "selected=qpi", + "rejected=intellectual_archaeology", + "no_call=false" + ], + "should_call_model": true, + "expected_primary_model": "qpi", + "negative_expected_models": [ + "intellectual_archaeology" + ], + "expected_classification": "mixed", + "expected_dominant_scarcity": "unknown", + "expected_max_depth": "not_applicable", + "minimum_required_elements": [ + "dominant_scarcity_gate" + ], + "forbidden_elements": [ + "global_no_call" + ], + "evaluation_mode": "structured", + "notes": "Round 03.2a depth-limiting override trap: dominant-scarcity-only judgment should route to QPI." + }, { "case_id": "case_qpi_analysis_override_should_call_001", "model_id": "qpi", diff --git a/tests/regression_index.json b/tests/regression_index.json index c1daee7..6334cd3 100644 --- a/tests/regression_index.json +++ b/tests/regression_index.json @@ -7,14 +7,14 @@ { "model_id": "qpi", "regression_file": "tests/qpi.regression.json", - "case_count": 55, + "case_count": 58, "case_type_counts": { "boundary": 13, "misuse": 16, "no_call": 6, "pipeline": 1, "positive": 16, - "selector_gate": 3 + "selector_gate": 6 } }, {