状态:已实现,实验性 API,M6 前不承诺兼容。
recursive_revision_2_read_only。TaskProgressRevision 是 append-only 的当前 Task 推进记录,只保存 phase、Question、Blocker、Finding、Hypothesis、WorkItem 和简短判断依据。它不复制 Trace 终态、Validator 结论或父级 TaskReview 决策。TaskProtocolService 负责单 Trace 的读取、版本校验、追加和持久化;update_task_progress 提交完整快照并使用 expected_revision 防止并发覆盖。ValidationResult,不修改 Progress。权威实现:
cyber_agent/core/task_protocol.pycyber_agent/core/task_protocol_service.pycyber_agent/core/validation.pycyber_agent/core/agent_mode.pycyber_agent.application 是实验性包,未从 cyber_agent.__init__ 顶层导出。业务代码通过以下对象装配现有 AgentRunner:
AgentApplication / AgentRole / ToolSet / RunLimits:可序列化的应用声明。ApplicationServices:不落盘的 ContextProvider、ArtifactResolver、CandidateRepository、QualityCheckProvider、RunEventProjector 和凭证。ApplicationRegistry:按 application_id + application_version + config_hash 精确解析不可变 Binding。ApplicationRuntime:新建或恢复现有 Runner,不实现第二套 loop。应用 Run 固化 RunConfigSnapshotV2。恢复顺序为:验证 snapshot hash、解析精确 ApplicationRef、重算 config hash、校验 role hash 和 Provider 运行依赖,然后才创建 Runner 并允许状态修改。
CandidateRef 只记录不可变身份、归属、合同、ArtifactRef 和血缘;正文由业务 CandidateRepository 保存。candidate_ledger.json 持久化版本、验收、生命周期和幂等 operation。rule_id/version。框架把确定性 check 和 LLM check 分开编译进同一 ValidationPlan,并严格校验结果集完整性。权威实现:
cyber_agent/application/candidate.pycyber_agent/application/candidate_service.pycyber_agent/application/quality.pyTaskProgress、Candidate、Validation、TaskReview 和 rewind 在权威状态落盘后,向根 Trace 现有 events.jsonl 追加 run_event。稳定 event_key 用于崩溃后对账补发。
RunEventProjector 必须在同一业务事务中完成幂等检查、视图更新和 cursor 推进。RunEventPump 不越过失败事件;投影失败不回滚 Agent Trace,应用恢复和 Run 完成时会继续尝试。
权威实现:cyber_agent/application/events.py。
examples/application_reference/ 是可运行的最小创作应用。它证明:
运行验收:
.venv/bin/python -m unittest tests.test_application_reference
完整回归还包括 tests.test_candidate_quality、tests.test_candidate_service、tests.test_application_events 和 tests.test_application_runtime_integration。