muse-agent-example/docs/2026-07-24-work8-窗108-116续跑修复记录.md
zizi abadaa15e9 框架: 正文评测链职责重构收口(writer/detector/judge 单一职责)+决策修复+加固门+探针刷新
- writer/detector/judge 按父仓专题-03/04 单一职责拆分:WriterDraft v2(仅 candidateBody)、CandidateEnvelope v2(adapter 确定性绑定)、SemanticDetection v3(quote 唯一匹配/unknown-gapReason)、blind judge v3(双盲第三评中位);预算两层(启动预留=Σ plannedCalls×cap,修正旧 maxCalls×cap 的 $2250 阻断 bug)。

- 决策修复:补第六类混淆项「场景选择偏差」(集合级、只标注不改终态);模型归属口径(planner/writer/judge 固定 opus,extractor/detector 可用它模型,拆书走 M3 不经角色派发);eval 评分尺改链接+一句话引用 quality-gate。

- 加固执行门:探针合同绑定(probe.executionProfileSha256 须等于 writer profile 身份哈希),陈旧探针被机械阻断 EXECUTE_PROBE_CONTRACT_MISMATCH。

- 新增探针刷新工具 refresh_runtime_probe.py(可注入 invoker+失败关闭+重签同源 canonical_sha256),并已按新合同真实重测探针(绑定 9d319ea0,成本 $0.155)。

- 逐行复核后修复:省略号被当路径穿越误杀(claude_runtime 共用精确判定 contains_path_traversal,盲评/检测统一引用);检测 failed 分支测试缺口;评委报告↔模型原始输出绑定恢复(reviewerStructuredOutputs,防一致篡改报告评分);上下文 purpose 词汇两层对齐;盲评死代码清理。

- 全量离线测试约 800+ 项全绿(continuation/detect/quality-gate/read-context/replay-eval/parse-book 572/llm),不连库不调模型。
2026-07-25 04:44:10 +08:00

72 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# work8 窗108-116续跑修复记录
## 修复前核验
- 时间:2026-07-24 01:57(Asia/Shanghai);数据库时间以 `muse-example` 返回值为准。
- 作品:work_id=8,《深空之影》,owner_user_id=1。
- 窗状态:窗107=`done`;窗108=`failed`,错误为 `retryable-clean: 跨型 different_entity 拒绝:候选名称已被底册占用:名称=神权之星`;窗109-116=`pending`。
- alias 修复前行:`id=8738, tenant_id=1, work_id=8, canonical_name=天启神国·神之宫殿, alias=神权之星, evidence_window=86, verdict_by=semantic, deleted=false, updater='', create_time=2026-07-23 05:39:35.356543, update_time=2026-07-23 05:39:35.356543`。
- owner 核验:active `muse_knowledge_draft.id=25193`,`source_type=upgrade_book`,`status=pending`,`deleted=false`,`draft_payload.type=location`,名称为 `天启神国·神之宫殿`。
- 冲突候选核验:`muse_knowledge_draft.id=10600` 为 `item/神权之星`,但 `deleted=true`、`updater=upgrade-reset`,无 active 新卡。
- 当前额度快照:窗口 `2026-07-24T00` 为 MiniMax `$1.07425302`、成功调用 `161`;策略保持 MiniMax 路由和 `$24/6000` 本地自限。
- 代码约束核验:`parse_upgrade.py` 的跨型 `different_entity` 硬拒绝保持不变。
- 同书锁键:`(1109005152, -490589832)`,来源为 `upgrade_work_lock.advisory_lock_keys(tenant=1, work=8)`。
## 修复 SQL
仅当 alias 行、作品和 active location owner 仍完全匹配时执行;使用与升格命令相同的事务 advisory lock。SQL 原文:
```sql
WITH work_lock AS (
SELECT pg_advisory_xact_lock(1109005152, -490589832)
)
UPDATE example_upgrade_alias AS a
SET deleted = TRUE,
updater = 'manual-revoke-work8-w108',
update_time = now()
FROM work_lock
WHERE a.id = 8738
AND a.tenant_id = 1
AND a.work_id = 8
AND a.alias = '神权之星'
AND a.canonical_name = '天启神国·神之宫殿'
AND a.deleted = FALSE
AND EXISTS (
SELECT 1
FROM muse_knowledge_draft AS d
WHERE d.tenant_id = 1
AND d.work_id = 8
AND d.source_type = 'upgrade_book'
AND d.status = 'pending'
AND d.deleted = FALSE
AND d.draft_payload->>'type' = 'location'
AND d.draft_payload->>'名称' = a.canonical_name
);
```
原因:窗108正文将“神权之星”作为独立 `item` 使用;active alias 错误地把它映射到 `location`“天启神国·神之宫殿”。只撤销该错误 alias,不删除 location,不修改其他 alias、卡或窗状态。
## 修复后与续跑证据
### DB 修复后
- 执行时间:数据库 `update_time=2026-07-23 17:59:38.731682`(Asia/Shanghai 为 2026-07-24 01:59:38.731682)。
- 执行结果:DB skill 报 `OK(影响 1 行)`。
- alias 修复后行:`id=8738, tenant_id=1, work_id=8, canonical_name=天启神国·神之宫殿, alias=神权之星, evidence_window=86, verdict_by=semantic, deleted=true, updater=manual-revoke-work8-w108, create_time=2026-07-23 05:39:35.356543, update_time=2026-07-23 17:59:38.731682`。
- 保护性复核:location draft 25193 仍 `deleted=false/status=pending/revision=3`;item draft 10600 仍 `deleted=true/updater=upgrade-reset/revision=5`;`神权之星` active alias 数=0,active card 数=0。
### 续跑
以下内容在每个窗口事务成功后追加:
- 窗108:命令退出码 0;`563-565` 章事务提交为 `done`;日志为在场73、新名字17、更新卡26、LLM调用23、嵌入26。状态快照为 `108done/0failed/116total`。提交后 active 产物:alias 3、presence 1、audit 137、card_state 32;无本次运行时间点的 `upgrade-undo` 软删卡。
- 窗108候选留痕:重试提交后的即时 active draft 中未出现 `item/神权之星`;旧 draft 10600 仍为 `deleted=true/updater=upgrade-reset`。本次不人工补卡、不改其他卡,后续仅按已提交窗顺序续跑。
- 窗109:日志为 `窗109✓ (566-568章)`,在场82、新名字29、更新卡36、LLM调用18、嵌入41;DB 状态确认 `done`。该窗新增 active draft `id=25360`,类型 `item`、名称 `神权之星`,审计窗口109,补齐了上述候选的最终 active 卡。
- 窗110:第一次失败 `已知实体新信息缺少有效型:名称=阿曼芬高级议员,型=None`;内置唯一重试后第二次失败 `已知实体新信息出场章必须是列表:名称=那东西`;命令退出码1,DB 保持 `failed/retryable-clean`。110 的 active alias、presence、audit、card_state watermark、embedding 均为0,无 processing 窗。
- 最终进度:`109done/1failed/116total`;111-116 全部 `pending`,停点为110,未启动111-116。
- 最终卡/留档摘要:character 517、item 171、character_relation 144、location 86、faction 41、event 2、power_system 2;留档1489,active alias 675。
- 最终额度快照:`2026-07-24T00` 为 MiniMax `$1.37106630`、成功调用 `204`,低于 `$24/6000` 自限;原始 stderr 保留每次模型的 token/耗时记录。
- 最终异常核验:active card 同型同名重复数=0,active alias 重复数=0,963 个 active embedding 的 content_hash 全唯一;发现既有 active draft `id=24805`(item/沙皇号)仍带 `updater=upgrade-undo`,`update_time=2026-07-23 02:55:30.701594`,早于本次运行,未改动。
- 原始日志:`/private/tmp/work8-window108-resume-20260724.log`、`/private/tmp/work8-windows109-116-resume-20260724.log`;离线机械回归日志:`/private/tmp/work8-window108-preflight-20260724.log`,389项通过,未连真实 PG/网络。
- Gate A:本次未启动。