Repository navigation
Jev 可选观察器:按指定文件变化评估任务进展,接入已有重规划义务——功能、效果与裁判对照 #4838
Replies: 3 comments
|
Update: the progress-review loop now closes inside LoopX, and the differential is reproducible in the repo. Draft PR #4854 has been extended on the same branch. What changed:
Committed live recording (
All six purely cosmetic sequences were flagged at round 1 and would raise the obligation at round 2; the periodic review waits for 20 durable runs. Median assessment latency 807 ms, p95 1.5 s, 1879 median input tokens. What it does not do: cosmetic churn after a real implementation landed in the same file was not flagged ( Details, boundaries and the full table: PR #4854 and |
|
Correction and update (2026-09-22). An external review of the first closed-loop head found that the comparison harness passed a case-derived PR #4854 head Re-recorded v2 differential, reproduced by a second independent live run on all 16 sequences: typed fuse 0/9, |
Implementation update: progress judgments, uncertainty and versioned replayThanks to songoow for the optional-observer → typed-receipt → existing-replan integration in #4854. It merged on September 23. The opening post preserves an earlier, pre-merge checkpoint; the following describes source revision 3203b558, rather than a verified installation on every host. The useful distinction is whether the change serves acceptance and whether it adds evidence, rather than simply whether runtime behavior changed. A useful negative finding can add evidence without changing behavior. Conversely, changing behavior does not establish contribution to the Goal. The core recomputes the receipt's signal from its typed judgments and rejects inconsistent booleans. For
That last row is a version boundary: v2 preserves uncertainty when the classes overlap; historical v1 receipts retain their original tie rule. The Unknown/failed evaluations cannot form a new drift streak, and do not by themselves erase an already formed obligation. I checked the table, historical tie behavior, failed/unknown signals and malformed-receipt rejection against the unchanged receipt module in an isolated namespace, without a model call or live Goal. This checks those mechanics. The recorded comparison above still has its stated non-held-out limitation; it does not establish reliable correction or reduced wasted work on real long-running Goals. 中文补充: songoow 的#4854已于9月23日合入;主帖中的“未合并”是历史检查点。当前规则把“服务验收”和“新增证据”分开判断,不用运行时行为变化替代目标贡献。规则v2在分类重叠处保留未知,旧v1回执仍按原规则回读;问题集v2与信号规则v2不是同一个版本号。未知不等于通过,也不能自动消除已经形成的重规划义务。以上核对的是固定源码中的规则与拒绝路径,没有开启观察器、调用模型或运行真实Goal,也没有新增长程效果结论。 |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
当前结论:指定文件变化采集、独立评估与接入已有重规划义务已实现,可靠纠偏尚未证明
当前实施与评审入口是 PR #4854(head
21922b43e),目标分支为main。它包含基于实际产物的任务进展观察,以及一个默认关闭的核心 capabilityprogress_review(off / shadow / assist):assist下,连续的类型化漂移回执触发已有的autonomous_replan_obligation,不新增任何权限。Jev 是可选观察器,核心不导入它、不调用模型。PR 尚未合并。本帖已按当前范围重写:此前的多方向排序比较和“只保留非主分支”的建议不再作为当前实施结论。讨论演进保留在中文决策记录 / English,这里说明当前功能、实际效果和未完成项。
1. 具体实现了什么
drift init绑定 Goal 契约、精确文件、初始基线drift refresh包装已有核心刷新命令,读取前后限定文件及 deltadrift drain在另一个进程判断“目标关系”和“证据增量”progress_review按严格 schema 读取、重算布尔值、关联 run;assist把连续漂移回执变成已有autonomous_replan_obligationoff/shadow/assist、信号、阈值与 pin 走configure-goal/ Dashboard / chat 配置 API;key 只走TYPESAFE_API_KEYrebind_hintdrift status展示判断、未知、失败和耗时完整操作、关闭与卸载见中文操作指南 / English。这次不包含 D2–D8、不修改核心选择器、没有原生 hook;配置入口有
configure-goal、Dashboard capability 编辑器和 chat 配置 API,没有 Lark 入口。观察范围如何选择
初始化时用
--path指定精确文件,例如src/retry.py、tests/test_retry.py、reports/retry_probe.json。观察器读取清单中文件的前后内容及变化,另外使用 basis 中的目标、验收条件和显式证据引用,不自动扫描全仓或读取所有 Agent 上下文。最多 32 个选定文件,并有字节上限;清单外材料可能影响判断,不能假装不存在。这限制的是观察器输入,不是 Agent 的编辑权限。Agent 可以在其他文件推进工作,因此
no_delta不等于整个任务没有进展。读取测试报告也不意味着观察器执行了测试。当前实际便利是自动整理这些材料、保存可追溯判断;节省多少人工时间尚未测量。2. 当前实现的录制对照结果
对照 harness 回放冻结的 16 序列矩阵(9 个漂移序列:6 个从第 1 轮起纯装饰性、3 个先做真实工作后才漂移;7 个标注 on-goal 的真实上游提交;每轮自报
advanced并更换 hypothesis id)。已提交的 live 录制使用问题集scoped-progress-sentinel-v2、jev-1.13.0、标签阈值 0.6,35 轮,34 轮 completed,1 轮按失败关闭。回放不需要 key,CI 可复现同一组数字。noul回执choice回执assist义务纯装饰性序列第 1 轮被标记、第 2 轮即可触发义务;混合序列恰在各自漂移轮(第 3 轮)被标记:实现落地后的装饰性改动
serves_acceptance为 0.06–0.13,旧措辞下是 0.62–0.90。负结果探测(evidence_increment0.85)与必要失败测试(serves_acceptance0.73)不被标记。第二次独立 live 复现了全部 16 个序列的结果。客户端评估延迟中位 1.45–1.49 s、P95 2.9 s(早先录制 0.74–0.81 s,差异来自网络与 provider 时段),输入 token 中位 1890。必须保留的限定: v2 措辞是在看到 v1 漏检这些构造序列之后修订的,构造用例对新措辞不再是留出集;只有 7 个单轮真实提交未被调参触碰。按失败关闭的那一轮是真实 on-goal 提交
fix_manager_refused_read_argument,它没有判定,既不是误报也不是确认通过,写成“0/7”会夸大证据。此前本帖记录的两道 Choice、5 场景×2 次、4/10 标签匹配的重测属于更早的实现,已被上述结果取代。3. 工程验证与效果验证分开看
21922b43e): 77 项包内测试、80 项引用该能力或共享出口策略的核心测试、46 项 replan-ack/refresh-gate、780 项 ratchet/架构边界、7 项 TSreplan_semantics;kernel mypy(CI 配置)、新模块 strict mypy、typecheck:control-plane、Ruff、文档治理/仓库卫生/sentinel 回放 smoke 通过。真实refresh-state闭环两条序列:义务触发、loopx status显示、改名被拒、pending→failed 之上义务保持、类型化 ack 与continuevision path 解除并重新武装。assist会改变工作契约(产生 required 义务与 stop_condition),但模型不获得任何权限,义务由 Goal 负责人的策略产生、由已有 writeback 契约解除。L1 reliability-diagnostics 的无出站契约与本模型评估保持独立。4. 为什么止于接入已有义务,以及下一步讨论什么
讨论从“规则保险丝有没有盲区”推进到“能否用独立证据更早发现问题”。其中已经修正两点:单个重复触发器漏检,不等于整个 LoopX 看不见;少量案例正确,不证明 Jev 是规则的严格超集。Jev 和独立 Agent 都可以承担额外判断,材料准备与问题定义必须和模型选择分开评价。
本次提交可回退的观察工具和一个默认关闭的核心 capability,复用已有重规划义务而不另建监督器,先让材料采集、结果核查和 ack 契约有真实入口。是否收录这个可选工具,由 PR 评审决定;RFC #4749 的讨论稿收录不自动批准模型采用或干预。
接下来值得明确的是:
在这些问题有证据前:默认
off;真实 Goal 先开shadow并用drift label标注两周;assist只在单个 pin 过的 Goal 上试并读取 Agent 的 ack 行为;不加暂停/升级,不降低阈值追求更好看的命中率。5. Jev、Codex 与 Claude 的裁判方法对照
这部分补充的是同一组十份小 diff 的判断器实验,Claude 是对原 Jev/Codex 对照的补测,不是第二组独立样例,也不是当前观察命令的效果数据。
已重新核对保存结果和脚本,完整模型标识、计时/成本口径和限制见决策记录的“裁判方法对照”。主要修正如下:
summary_supported,没有参与上述计分;不是当前实现的证据增量问题。输入也确实带了统一自报摘要和tests_pass,不能说完全排除了自述。当前观察器同时记录三道 Noul 与两道 Choice,但生产规则
progress_review_signal_rule_v1以serves_acceptance ∧ evidence_increment为门槛,不是这里的 behavior_change 规则(那条规则会误伤没有运行时行为变化的有效测试、文档和前置工作),也没有接入 Claude/Codex 升级复核。这组裁判对照只支持继续在同一批材料和独立标签上比较评估方法。English summary: PR #4854 (head
21922b43e) targets upstream main. An optional Jev observer captures scoped before/after file state at explicitly wrappedrefresh-statecalls, evaluates the change between checkpoints (3 Noul + 2 Choice) out of process, and writes typed receipts; a default-off core capabilityprogress_reviewrecomputes the drift booleans, joins receipts to runs, and underassistraises the existingautonomous_replan_obligation, discharged only by typed evidence (new identifiers with evidence ids absent from the whole obligation window, a concrete blocker, terminal coverage, or an evidence-linked vision path); replaying a claim already made in the window is refused. On the committed v2 recording thenoulsignal flags 9/9 drift sequences and reaches the obligation on all nine, with 0/6 false flags on the real commits that completed evaluation (one failed closed, no verdict). The matrix is not held-out for the v2 wording; no real-Goal shadow data, intervention study or task-benefit evidence exists yet. This discussion supersedes the earlier multi-direction, non-main and two-Choice summaries.All reactions