fix(reasoning): exclude terminal nodes from active selector
This commit is contained in:
@@ -226,6 +226,14 @@ Experiment 54N tested whether an interpretation disagreement can be judged for m
|
||||
- £700k figure preserved semantically (in reason text, not dedicated value field). No directional recommendation recorded for the decision.
|
||||
- Status pending Rob's review.
|
||||
|
||||
### 60B.42 active selector terminal-status guard
|
||||
|
||||
- 60B.41 confirmed `selectActiveUnknownCandidate(...)` filtered only by `kind === "unknown"` and `resolvedNodeIds`, so terminal-status unknown nodes could still enter scoring when absent from `resolvedNodeIds`.
|
||||
- Added a bounded selector-only guard in `lib/graph/utils.js`: active-selector candidates now exclude `status in ["known", "resolved", "contradicted"]` before scoring.
|
||||
- Focused tests added in `tests/graph/apply-proposal.test.js` cover known-only null return, known/resolved/contradicted exclusion, and unchanged unresolved ranking.
|
||||
- Focused preservation run passed via `npx vitest run tests/graph/apply-proposal.test.js -t "60B.42|60B.11|replaces downstream pricing"`.
|
||||
- Broader duplicated post-mutation eligibility checks remain unchanged; this fixes the selector contract only, not the full stale-question lifecycle.
|
||||
|
||||
### When This Knowledge-Management Phase Is Complete
|
||||
|
||||
Provisional criteria for review (all confirmed met by Experiment 38 cold-start test):
|
||||
|
||||
Reference in New Issue
Block a user