context-infra 检查与复盘infra.guiming.net · 全内容自包含呈现 · 生成于 2026-07-21 16:28 UTC

三层运行时统一机制(Phase 安排 / Skill 确认使用 / Trace)

Z3 全文↑ Z2 条目

术-运行时 · 术层 skill 全文

← 返回术层 skill 索引 · 返回方法论区

本页是 <code>rules/skills/drafts/workflow_phase_skill_trace_runtime.md</code> 的逐字投影(仅隐私清洗,零改写)。

时点提示:本页是仓内文件 rules/skills/drafts/workflow_phase_skill_trace_runtime.md 的逐字投影(仅做隐私清洗:仓库根绝对路径→相对路径、家目录→~/;除此零改写)。若源文件后续有修订,以仓内真源为准。

报告元数据(frontmatter)
name: workflow_phase_skill_trace_runtime
description: 把一个非 trivial 多 phase 任务真正跑起来的运行时(术·运行时,配套确定层工具链)。两个模式:模式A=交互式钩子链(默认入口,live)——用户敲 claude(或 claude -p 非交互)后,hook 自动注入排 phase 指令、逐 turn 注入当前 phase 的 skill 要求、Stop 驱动器机械核验义务并自动推进 phase、全程 receipt 留痕;模式B=spawn 派发(内部机制)——主 session 经 session_dispatch / phase_runtime 派独立 phase-session 或 skill-session(Codex/CC),dispatch 时注入 + canary 验证。区别于 workflow_phase_framework(道,怎么排 phase 计划),本 skill 是那份计划怎么被机械执行下去。
type: Workflow(术·运行时 / 三层统一机制执行面)
status: draft (Beta) — 模式A 已 live 接线(settings.json Stop + UserPromptSubmit,2026-06-09 W2,commit a14a3eb2f);晋级前需 ≥2 个真实任务经模式A 端到端(含 1 个非交互 claude -p)+ 模式B 对比实验
created: 2026-06-09
updated: 2026-06-09 (W2 两模式重构,取代「每 phase 派独立 session 为默认」的旧框定;旧版见 git 历史)

三层运行时统一机制(Phase 安排 / Skill 确认使用 / Trace)

一句话

一个非 trivial 任务排成几个 phase 依次穿过:每个 phase 有必用 skill 与机械 exit 判据,进入时要求被注入、退出时被确定层核验、推进自动发生、全程动作锚 task_id 留痕。入口是用户的交互式(或 -p 非交互)CC/Codex session 本身(corrected frame);派发独立 session 是服务它的内部机制。

模式A:交互式钩子链(默认入口,live)

载体 = CC 的 UserPromptSubmit + PostToolUse + Stop 三个 hook(全部已接线,确定层必发)。从冷启动到完成:

  1. 自动 arm:非 trivial prompt(≥200 字符或 ≥2 条 dao 路由命中)触发 arm 指令注入:按 workflow_phase_framework 排 phase 计划写成 plan.yaml(schema = tools/phase_runtime/plan_loader.py,每 phase 带 skill_injection.dao_skills/shu_skills + exit_criteria),然后 python3 -m tools.phase_state.cli arm --plan <plan.yaml> --session <sid>。确认 trivial 用 ... decline --session <sid> --reason <原因>
  2. 逐 phase 注入:每条 prompt,route_on_prompt 读本 session cursor,注入当前 phase 的必用 skill 指针 + task_prompt 重锚(每 turn 重注不去重,候选 B)。
  3. 记录:usage_hook 给本 session 的 skill 读取/调用 receipt 打 phase / phase_id 标签;task_id 来自 dispatch env 或 todo 锚。
  4. Stop 驱动器(自动推进,核心):每个 turn 结束 stop_phase_check.py 机械核验当前 phase——required_skills 是否有本 session 本 phase 的 receipt + artifact_exists: / artifact_contains: exit 判据。未满足 → 写 correction + exit 2 阻断停止(agent 继续干,缺口逐条可操作);满足 → 自动 advance,还有下一 phase 就带着新 phase 要求继续;全部完成 → 发 phase_plan_complete 事件放行。被阻断时先跑 python3 -m tools.phase_state.cli status --session <sid> 看缺口。防卡死:每 phase 最多 3 次、全程最多 12 次阻断,超限发 phase_drive_giveup(FLAG)放行;CC 自身另有连续 block 上限兜底。
  5. 纠正桥:Stop 写的 correction 在下一条 UserPromptSubmit 被一次性注入(中断/resume 也不丢)。

适用:CC 交互式与 claude -p 非交互(hook 同样触发)。Codex 交互式无 hook,只有 AGENTS.md 静态指引 + 事后 rollout 解析(不对称如实呈现)。

模式B:spawn 派发(内部机制;Codex 象限与重型子事务的主形态)

主 session(编排者)把 phase 或 skill 子事务派给独立 session 执行,clean context:

验收标准(无上下文 agent 可自判)

已知陷阱(全部真实踩过)

输出规格与可用资源

诚实 claim ceiling

模式A:机制 live 接线 + 全套件隔离测试绿 ×2 + 脚本级端到端(arm→block→advance→complete)跑通;真实无提示冷启动 E2E 见 adhoc_jobs/context_infra_base_tooling_buildout_20260615/phase_skill_trace_runtime_20260609/impl/e2e_probe_t652/(以该目录验证记录为准)。模式B:1 个真实端到端(T789,真实 Codex 派发)+ 6 件工具逐件独立核验。未做:多任务泛化、Stop-自驱 vs /goal vs 定时唤醒 vs 嵌套 phase-session 的对比实验(ORIGINAL_PROMPT 3d,下一步)、Codex 适配器任务级注入段(step 8)。


← 返回术层 skill 索引 · 返回方法论区