fix(rectification): fail-close snapshot fingerprints without rewinding discrimination
Missing evidence fingerprints are stale, not current. Stale snapshots keep asking discriminators when a probe exists, and offer-candidates refuses until the ledger matches. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6365,6 +6365,22 @@
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-420 | 候选快照缺指纹被当成 current,stale 时把区分打回采集
|
||||
|
||||
- 状态:resolved
|
||||
- 首次发现:2026-08-28
|
||||
- 最近更新:2026-08-28
|
||||
- 影响面:`decideFromDossier`、`scoreableSnapshotIsCurrent`、`decideRectification`、GET/工具 `candidate_snapshot`
|
||||
- 用户现象:已进入区分的 Case 在快照过期或缺证据指纹时,下一问变回采集,点选卡消失。工具侧和 dossier 侧对同一份账本可能一个判 stale、一个判 current。
|
||||
- 触发条件:已有区分探针和训练门;`latest_result` 缺少 `evidence_ledger_fingerprint`,或账本指纹已变但决策器仍走 `snapshotCurrent === false → collect`。
|
||||
- 根因:dossier 用 `!storedFingerprint || stored === current` fail-open;工具用 `!storedSnapshot || !fingerprint || scoreableSnapshotIsCurrent` 同样 fail-open。`decideRectification` 把 `snapshotCurrent === false` 与方法覆盖缺失绑在一起打回 `event_collection`。
|
||||
- 修复:两处都走 `candidateSnapshotSource` + `storedSnapshotIsCurrent`。指纹缺失判 `fingerprint_missing`,不得当 current。没有已存快照仍不算 stale。快照 stale 且仍有区分探针时保持 `ask_candidate_discriminator`,receipt 写 `stale_reason`,要求重算;不把区分打回采集。不改 Skill。
|
||||
- 验证:`rectification-decide-next-action` 锁定缺指纹为 stale;训练已开+探针时 `snapshotCurrent: false` 仍是 `ask_candidate_discriminator`;训练未开仍采集。`rectification-decision-authority` 无指纹的事业/感情训练账本仍区分。`rectification-eight-method` 锁定缺指纹拒绝 `offer-candidates`;暂停逃生口和覆盖后的 34/33/33 平局只在指纹匹配时出牌。
|
||||
- 防复发:不得把空指纹写成 current。不得在已有区分探针时用 stale 快照把 `nextAction` 改成 `ask_fact_collection`。不得为了暂停出牌或平局出牌把空指纹 fail-open。`occupation_note` 仍不得单独让 scoreable 快照失效。
|
||||
- 相关记录:BUG-410、#40
|
||||
- 复发自:无
|
||||
- 修复版本:待发布
|
||||
|
||||
## BUG-410 | 训练已齐仍因家人/职业方法层停在采集,Agent 只确认后截断
|
||||
|
||||
- 状态:resolved
|
||||
|
||||
Reference in New Issue
Block a user