Skip to content

fix(dag): resolve audit defects DAG-01..04 (fixed-point loop converged) - #335

Merged
LeXwDeX merged 9 commits into
devfrom
fix/dag-batch
Aug 18, 2026
Merged

fix(dag): resolve audit defects DAG-01..04 (fixed-point loop converged)#335
LeXwDeX merged 9 commits into
devfrom
fix/dag-batch

Conversation

@LeXwDeX

Copy link
Copy Markdown
Owner

概要

workflows/audit-fix-loop.md 固定点循环(开发切片 → 红绿变异 → 双镜独立审阅 → 收敛)偿付审计文档 DAG 章节全部 4 项缺陷。验收 primary source:docs/audit-dag-memory-goal-2026-08-18.md。上一批 GOAL 见 PR #334;本 PR 为 DAG 批次(基于 origin/dev,不含 GOAL 改动)。

缺陷 → 修复(按审计处置顺序)

ID严重性修复提交
DAG-01 + DAG-02High (P0,审计要求一并修)运行时:spawnReady 条件求值前对字符串依赖输出做 parseJsonOption 归一化(与 #322 verdict 门同源;非 JSON 回退原串,整串等值可用、字段路径仍 false、数值比较仍 loudly-fail)。authoringcheckpointGateDiagnostics 追加「被门控 checkpoint 必须声明 output_schema」;门禁接入 replan/extend 双层——validatePostCompile 不再随 structural:false 关闭(fragment 内生效)+ replanStructuralDiagnostics 对 merged 图补检(覆盖 fragment 挂既有 checkpoint),豁免持久图已终态 checkpoint(settled and immutable,加波/重开语义保留);runtime 路径 requireOutputSchema:false(runtime-created 图按 CONTEXT.md 豁免 authoring 校验);ADR-0003 同步71ab1bd
DAG-03Medium (P1)replan-verdict pause 门 fail-closed(恒 setPaused(true) + vetoHold);Effect.catchcatchCause(hasInterrupts 再抛)折叠 defect;logError 含 durableStatus;F2 加固(审阅轮):vetoHold 跨 node 终态/refreshControlFlags 的 durable re-sync 存活,由父控制事件(replan/step 恒可达,resume 于非 running 态)释放,Replanned 处理器补上从未有过的 flag 重同步1c4f1ad / 3378146
DAG-04Medium (P1,#316 机制)summary-publisher 外层 catchCause 依 F1 模式 hasInterrupts 再抛;disposeAllInstancesAndEmitGlobalDisposed 10s timeoutOption 有界化(超时即放弃且不产生错误,保住 HttpApi dispose endpoint 错误通道),去 uninterruptible;Disposed 事件超时/吞错后仍落地;真实失败非 swallow 路径仍传播。触发源不追查(审计原缺口)db626d4

证据

  • 红-绿-变异:每切片先红后绿,全部关键线做过 revert 翻红验证(含 F2 双向:re-sync 存活 + replan 释放)。
  • 审阅收敛:6 轮双镜独立审阅(Spec 镜对照审计条目 + Standards 镜对照仓库规约/effect-smol 源码),R1-R4 findings 全部修复关闭,R5+R6 连续两轮零 findings。全账目:docs/findings/dag-batch-findings.md
  • 测试:dag 簇 579/579 绿(新增 19 条回归);全量 4157 tests 仅 2 失败为已在干净基线证实的 darwin 环境既有失败(help-snapshots、project-copy),与本批无因果;bun typecheck + pre-push 钩子 turbo typecheck 29/29 绿。
  • 波及适配 2 个既有 harness(rev-view / stale-nodefailed 按 门禁语义补 condition);wake-integration 加波/重开经终态豁免免改。

关联

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@LeXwDeX