- 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),不连库不调模型。
72 lines
5.5 KiB
Markdown
72 lines
5.5 KiB
Markdown
# 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:本次未启动。
|