Skip to content

LoopX v0.4.0

Choose a tag to compare

@huangruiteng huangruiteng released this 01 Aug 17:08
· 165 commits to main since this release
a893d22

LoopX v0.4.0

LoopX v0.4.0 strengthens the control plane for long-running agent work: onboarding and turn routing carry clearer machine-readable authority, repair evidence must resolve to real successor state, and optional workflows now expose safer local boundaries. The default quota packet is also bounded for real model-facing turns, while the public README now foregrounds two inspectable 200+ hour loop trajectories. This release does not claim benchmark or long-horizon outcome uplift, so no matched stable/candidate outcome baseline is required.

Highlights

State Kernel & Control Plane

  • Goal startup now projects capability-owned admission routes, actionable connection commands, one activation across phases, and explicit blocked host activation. Active goals continue before bootstrap, while native Goal hosts and delivery workspaces retain their real identity and causality (#2663, #2675, #2680, #2699, #2711, #2716, #2722).
  • Replan acknowledgements now require canonical, agent-visible todo or monitor evidence. Bare delta claims, excluded-agent todos, malformed schedules, and expired watches can no longer clear the frontier (#2714).
  • The default quota should-run JSON projection now stays within a bounded model-facing budget without changing canonical authority. Full diagnostics remain available through explicit detail selectors, and the actual-default qualification checks semantic invariance and sensitivity across clean and noisy packets (#2715).
  • Quota, scheduler, status, history, todo, configure, state refresh, and canary orchestration were simplified around shared contracts, reducing duplicated validation and projection logic without changing their public lifecycle semantics (#2681-#2697, #2700-#2704).

Capabilities & Workflows

  • Issue-Fix can collect complete, source-backed GitHub candidate evidence before implementation. Missing evidence is not treated as an empty result; cross-references, prior PRs, and maintainer comments produce revision-bound verification successors before admission (#2673).
  • Decision Context now emits a public-safe source-coverage receipt that distinguishes complete evidence from uncovered or partial P0 authority sources while keeping the capability experimental and default off (#2679).
  • The new local Integration Branch Reconcile capability previews or executes ordered source-branch integration in a temporary worktree. It preserves reviewed source advances, constrains plans to ignored .loopx/ state, and never fetches, pushes, approves, or merges pull requests (#2705, #2707, #2708, #2709).
  • Planner-Worker ships as an explicitly opt-in experiment with a strict provider-neutral plan, bounded worker writes and validation, and an experimental TraeX adapter. It is deliberately isolated from stable CLI and runtime contracts (#2578, #2718).

User outcome: maintainers can avoid duplicate Issue-Fix work, rebuild a decision from revisioned evidence, reconcile reviewed local branches, and evaluate a bounded planner-worker split.

Shipped layer: v0.4.0 provides built-in Issue-Fix evidence/admission, built-in experimental Decision Context coverage, a local Integration Branch CLI, and a source-checkout Planner-Worker experiment with focused contracts and smokes.

Last-mile boundary: external source profiles, provider credentials, live Planner-Worker adapters, remote Git mutations, review, merge, and publication remain explicit caller or human responsibilities.

Quality & Testing

  • Release qualification now requires bilingual activation, validation, rollback, authority, and documentation guidance for every new optional capability (#2676).
  • Canary source resolution, invoking-checkout auditing, public smoke coverage, readiness warnings, heartbeat fixtures, and compact README/quota smoke contracts were repaired or tightened for release-grade evidence (#2677, #2706, #2717, #2719, #2721, #2726).
  • PR review guidance now requires detailed, evidence-backed findings per pull request, and the contributor task board was refreshed (#2678, #2710).

Benchmarks & Integrations

  • Codex App SSH Goal quiet waits now remain bounded and scheduler-visible instead of turning a quiet remote goal into an unbounded host wait (#2712). No benchmark scoring, submission, or leaderboard behavior changes are claimed in this release.

Documentation & Compatibility

  • v0.4.0 uses package version 0.4.0 and public tag v0.4.0; no persisted-state migration is required (#2713).
  • The public entry now reflects the v0.4.x product shape and leads with two public-safe, inspectable trajectories spanning more than 200 hours of elapsed loop lifetime: OpenViking Issue-Fix and an owner-run Auto ML experiment. These are trajectory and decision-lineage evidence, not claims of continuous model execution or unattended production autonomy (#2723, #2724).
  • Detailed PR-review guidance and the contributor task board make contribution work easier to inspect and pick up without changing runtime authority (#2678, #2710).

Community Contributors

Community work is a product contribution, not a footnote. First-time contributor @maxliux5 designed and implemented the provider-neutral Planner-Worker experiment, including strict plan validation, read-only Planner behavior, scoped Worker writes, bounded validation, workspace protections, and the TraeX adapter in #2578. Thank you for moving a substantial multi-agent idea into a concrete, reviewable prototype.

Optional Capability Activation & Use

Integration Branch Reconcile

Activation: Configure an ignored, repository-local plan explicitly; source order is significant and replacing an existing plan requires --replace.

Validation: Run status, preview sync without --execute, and compare candidate_tree_sha before the executing sync.

Disable / rollback: Stop invoking the capability and remove the ignored .loopx/integration-branch.json plan after confirming no local receipt is still needed. LoopX never rewrites source branches or remote refs.

Authority boundary: Only sync --execute may update the configured local integration branch after all merges validate. Fetch, push, force-push, PR mutation, protected-branch update, and human merge authority remain outside LoopX.

Docs: https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/integration-branch/README.md

loopx integration-branch configure \
  --repo-path . \
  --base-ref origin/main \
  --integration-branch codex/local-integration \
  --source-branch codex/feature-a \
  --execute --format json
loopx integration-branch status --repo-path . --format json
loopx integration-branch sync --repo-path . --format json

Planner-Worker Experiment

Activation: There is no registered stable CLI route. Invoke the experiment-only example or TraeX probe explicitly from a source checkout.

Validation: Run the contract and fixture runtime smokes before any live provider probe; approve each validation command exactly.

Disable / rollback: Stop invoking loopx.experiments.planner_worker or its experiment scripts. No default LoopX path, persisted migration, or compatibility wrapper depends on it.

Authority boundary: The Planner is read only; the Worker is limited to declared files and caller-approved validation commands. The experiment grants no merge, publish, credential, or production authority.

Docs: https://github.com/huangruiteng/loopx/blob/v0.4.0/loopx/experiments/README.md

python3 examples/experiments/planner_worker/contract-smoke.py
python3 examples/experiments/planner_worker/runtime-smoke.py
python3 scripts/experiments/traex_planner_worker_probe.py \
  --cwd . \
  --validation-command "python3 -m pytest tests/selected_test.py"

Issue-Fix Candidate Evidence

Activation: Add --fetch-candidate-evidence to an Issue-Fix workflow preview for a numeric public GitHub issue and bind durable admission to a goal with --goal-id.

Validation: Inspect candidate_preflight.admission.state, the complete/non-truncated source receipts, and any revision-bound successor before patch planning.

Disable / rollback: Omit --fetch-candidate-evidence or add --no-write-domain-state for preview-only use. Without evidence, admission remains evidence_required; it does not silently proceed.

Authority boundary: Collection is bounded and read only through GitHub CLI metadata. Comment bodies, private sources, repository writes, PR mutation, and merge authority require separate explicit gates.

Docs: https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/issue-fix/protocols/issue-fix-workflow-contract-v0.md

loopx issue-fix workflow-plan \
  --url https://github.com/owner/repo/issues/123 \
  --repo-path . \
  --fetch-candidate-evidence \
  --goal-id example-goal \
  --format json

Decision Context Source Coverage

Activation: Decision Context remains experimental and default off. Supply an ignored private source profile explicitly to project or prepare evidence for one goal and agent.

Validation: Inspect the profile, source manifest, and decision_source_coverage_v0; conclusions with uncovered P0 sources must remain labeled partial or be completed through an exact read.

Disable / rollback: Remove the private profile or stop passing it. No default Core lifecycle path depends on Decision Context, and read-only evidence preparation does not commit source cursors.

Authority boundary: Provider recall is advisory. Decision Context cannot grant todo, gate, quota, write, publish, or production authority, and public packets must exclude private locators, source bodies, raw chats, provider payloads, and credentials.

Docs: https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/decision-context/README.md

loopx decision-context inspect-profile \
  --goal-id example-goal --agent-id example-agent --format json
loopx decision-context prepare-evidence \
  --goal-id example-goal \
  --agent-id example-agent \
  --profile .loopx/private/decision-context.json \
  --decision-id decision-001 \
  --format json

Upgrade

New users can install the named stable release through the no-clone path:

curl -fsSL https://raw.githubusercontent.com/huangruiteng/loopx/main/scripts/install-from-github.sh | bash
export PATH="$HOME/.local/bin:$PATH"
loopx doctor

Existing archive installs should use the explicit update flow:

loopx update --check
loopx update --dry-run
loopx update --execute
loopx doctor

No persisted-state migration is required. Experimental and optional capabilities remain opt-in.

Validation

  • Exact release commit a893d221db0b8e028997cefc303f7ec9fa7dbe0a passed 1,814 Python tests with 2 skipped, Ruff, strict mypy, the exact-main Full Public Smoke fleet, install/upgrade/host checks, the exact-release qualification smoke, public/private scanning, and the risk-based canary with no manual holds.
  • The actual-default Doubao portfolio passed 30/30 serial calls across 15 scenarios x2 and 4/4 semantic contrast groups, with zero failures, no retries or tools, and no persisted raw packets, model responses, or credentials.
  • The release commit is the current main head with Git tree 2868c6162e6ed3826d1bc976eb962c5f4e6abe1c; both v0.4.0 and stable are attached to the exact commit that owns the qualification receipts.
  • The release makes no benchmark or long-horizon outcome uplift claim; the matched outcome baseline is therefore not required.

中文摘要

LoopX v0.4.0 继续强化长程 Agent 工作的控制面:onboarding 与 turn 路由携带更明确、机器可判定的权限语义;repair evidence 必须解析到真实 successor 状态;可选工作流也获得了更安全的本地边界。默认 quota packet 也获得面向真实模型 turn 的明确预算,公开 README 则把两条可检查的 200+ 小时 Loop 轨迹放到了更显眼的位置。本版本不声明 benchmark 或长程结果提升,因此不要求 stable/candidate 双臂 outcome baseline。

版本重点

状态内核与控制面

  • Goal 启动现在会投影 capability-owned admission route、可执行连接命令、跨 phase 的单次 activation,以及明确为 false 的阻塞态 host activation。已有 goal 会优先续接,原生 Goal host 与 delivery workspace 也会保留真实身份和因果关系(#2663#2675#2680#2699#2711#2716#2722)。
  • Replan ACK 现在必须绑定 canonical、当前 agent 可见的 todo 或 monitor 证据;裸 delta claim、排除当前 agent 的 todo、畸形 schedule 和过期 watch 都不能再清除 frontier(#2714)。
  • 默认 quota should-run JSON 投影现在能在不改变 canonical authority 的前提下满足 model-facing 预算;完整诊断仍可通过显式 detail selector 获取,actual-default 资格验证则覆盖 clean/noisy packet 的语义不变性与敏感性(#2715)。
  • Quota、scheduler、status、history、todo、configure、state refresh 与 canary 编排围绕共享合同完成简化,减少重复校验和投影逻辑,同时保持公开 lifecycle 语义(#2681-#2697#2700-#2704)。

能力与工作流

  • Issue-Fix 可在实现前收集完整、source-backed 的 GitHub candidate evidence。缺失 evidence 不再被当作空结果;cross-reference、历史 PR 与 maintainer comment 会先生成绑定 revision 的验证 successor,再决定 admission(#2673)。
  • Decision Context 新增 public-safe source coverage receipt,能区分完整证据、未覆盖 P0 authority source 与部分结论;该能力仍为 experimental、default off(#2679)。
  • 新增本地 Integration Branch Reconcile:通过临时 worktree 预览或执行有序 source branch 集成,保留已 review 的 source 更新,把 plan 限制在 ignored .loopx/ 状态中,并且不会 fetch、push、approve 或 merge PR(#2705#2707#2708#2709)。
  • Planner-Worker 以显式 opt-in experiment 交付:包含严格的 provider-neutral plan、受限 Worker 写入与验证,以及 experimental TraeX adapter;它与稳定 CLI/runtime 合同隔离(#2578#2718)。

**用户结果:**维护者现在可以避免重复 Issue-Fix、基于 revisioned evidence 重建决策、对已 review 的本地分支做集成,并评估 bounded planner-worker 分工。

**交付层:**v0.4.0 提供内置 Issue-Fix evidence/admission、内置 experimental Decision Context coverage、本地 Integration Branch CLI,以及带聚焦合同和 smoke 的 source-checkout Planner-Worker experiment。

**最后一公里边界:**外部 source profile、provider credential、live Planner-Worker adapter、远端 Git 变更、review、merge 与 publication 仍由调用方或人工显式负责。

质量与测试

  • Release qualification 现在要求每个新增可选能力都提供中英文的启用、验证、回退、权限边界和文档说明(#2676)。
  • Canary source resolution、invoking checkout 审计、full-public smoke、readiness warning、heartbeat fixture,以及精简后的 README/quota smoke 合同,都获得了面向发布证据的修复或收紧(#2677#2706#2717#2719#2721#2726)。
  • PR review 指南现在要求逐 PR 输出更详细、可核验的结论,contributor task board 也已更新(#2678#2710)。

基准与集成

  • Codex App 的 SSH Goal quiet wait 现在保持 bounded 且对 scheduler 可见,不会把安静的远端 goal 变成无界 host wait(#2712)。本版本不声明 benchmark scoring、submission 或 leaderboard 行为变化。

文档与兼容性

  • v0.4.0 使用 package version 0.4.0 和 public tag v0.4.0;无需持久化状态迁移(#2713)。
  • 公开入口已更新到 v0.4.x 的产品现状,并重点展示两条跨越 200+ 小时自然时长、可公开检查的真实轨迹:OpenViking Issue-Fix 与 owner-run Auto ML experiment。它们证明的是 trajectory 与 decision lineage,而非连续模型执行或无人值守生产自治(#2723#2724)。
  • 更详细的 PR-review 指南和 contributor task board 让社区工作更容易检查和认领,同时不改变 runtime authority(#2678#2710)。

社区贡献者

社区贡献是产品贡献,不是附注。首次贡献者 @maxliux5#2578 中设计并实现了 provider-neutral Planner-Worker experiment,包括严格 plan 校验、只读 Planner、受限 Worker 写入、bounded validation、workspace 防护和 TraeX adapter。感谢他把一个有分量的 multi-agent 思路推进成了具体、可评审的原型。

可选能力启用与使用

Integration Branch Reconcile

**启用:**显式配置 ignored、repository-local 的 plan;source 顺序有语义,替换已有 plan 必须使用 --replace

**验证:**先运行 status,再执行不带 --executesync 预览;执行前比较 candidate_tree_sha

**停用 / 回退:**停止调用该能力;确认不再需要本地 receipt 后,删除 ignored 的 .loopx/integration-branch.json。LoopX 不会改写 source branch 或远端 ref。

**权限边界:**只有 sync --execute 能在所有 merge 验证通过后更新配置的本地 integration branch。Fetch、push、force-push、PR 变更、protected branch 更新和人工 merge 权限都不属于 LoopX。

**文档:**https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/integration-branch/README.md

loopx integration-branch configure \
  --repo-path . \
  --base-ref origin/main \
  --integration-branch codex/local-integration \
  --source-branch codex/feature-a \
  --execute --format json
loopx integration-branch status --repo-path . --format json
loopx integration-branch sync --repo-path . --format json

Planner-Worker Experiment

**启用:**没有注册稳定 CLI route;只能从 source checkout 显式运行 experiment example 或 TraeX probe。

**验证:**任何 live provider probe 之前,先运行 contract smoke 和 fixture runtime smoke;每条 validation command 都必须由调用方精确批准。

**停用 / 回退:**停止调用 loopx.experiments.planner_worker 或对应 experiment script。默认 LoopX 路径、持久化迁移和兼容 wrapper 都不依赖它。

**权限边界:**Planner 只读;Worker 仅限声明文件和调用方批准的 validation command。该实验不授予 merge、publish、credential 或 production 权限。

**文档:**https://github.com/huangruiteng/loopx/blob/v0.4.0/loopx/experiments/README.md

python3 examples/experiments/planner_worker/contract-smoke.py
python3 examples/experiments/planner_worker/runtime-smoke.py
python3 scripts/experiments/traex_planner_worker_probe.py \
  --cwd . \
  --validation-command "python3 -m pytest tests/selected_test.py"

Issue-Fix Candidate Evidence

**启用:**对 numeric public GitHub issue 的 Issue-Fix workflow preview 增加 --fetch-candidate-evidence,并通过 --goal-id 把 durable admission 绑定到一个 goal。

**验证:**在 patch planning 前检查 candidate_preflight.admission.state、complete/non-truncated source receipt,以及任何绑定 revision 的 successor。

**停用 / 回退:**省略 --fetch-candidate-evidence,或加 --no-write-domain-state 只做 preview。没有 evidence 时 admission 会保持 evidence_required,不会静默 proceed。

**权限边界:**收集路径仅通过 GitHub CLI 读取有界 metadata。Comment body、私有 source、repository write、PR mutation 和 merge 权限都需要独立显式 gate。

**文档:**https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/issue-fix/protocols/issue-fix-workflow-contract-v0.md

loopx issue-fix workflow-plan \
  --url https://github.com/owner/repo/issues/123 \
  --repo-path . \
  --fetch-candidate-evidence \
  --goal-id example-goal \
  --format json

Decision Context Source Coverage

**启用:**Decision Context 仍是 experimental、default off;需要为一个 goal/agent 显式传入 ignored private source profile,才会投影或准备 evidence。

**验证:**检查 profile、source manifest 与 decision_source_coverage_v0;存在未覆盖 P0 source 时,结论必须标为 partial,或通过其他路径完成 exact read。

**停用 / 回退:**移除 private profile 或停止传入它。默认 Core lifecycle 不依赖 Decision Context,read-only evidence preparation 也不会提交 source cursor。

**权限边界:**Provider recall 只是 advisory。Decision Context 不能授予 todo、gate、quota、write、publish 或 production 权限;public packet 必须排除 private locator、source body、raw chat、provider payload 和 credential。

**文档:**https://github.com/huangruiteng/loopx/blob/v0.4.0/docs/capabilities/decision-context/README.zh-CN.md

loopx decision-context inspect-profile \
  --goal-id example-goal --agent-id example-agent --format json
loopx decision-context prepare-evidence \
  --goal-id example-goal \
  --agent-id example-agent \
  --profile .loopx/private/decision-context.json \
  --decision-id decision-001 \
  --format json

升级

新用户可通过 no-clone 路径安装 named stable release:

curl -fsSL https://raw.githubusercontent.com/huangruiteng/loopx/main/scripts/install-from-github.sh | bash
export PATH="$HOME/.local/bin:$PATH"
loopx doctor

已有 archive install 使用显式 update 流程:

loopx update --check
loopx update --dry-run
loopx update --execute
loopx doctor

无需持久化状态迁移;experimental 与 optional capability 仍需显式启用。

验证

  • 精确发布 commit a893d221db0b8e028997cefc303f7ec9fa7dbe0a 通过 1,814 个 Python 测试(2 skipped)、Ruff、strict mypy、精确 main 的 Full Public Smoke fleet、安装/升级/host 检查、exact-release qualification smoke、公开/私有边界扫描,以及无 manual hold 的 risk-based canary。
  • Actual-default Doubao portfolio 在 15 个场景 x2 上完成 30/30 次串行调用,并通过 4/4 个语义对比组;零失败、无重试或工具调用,也没有持久化 raw packet、模型响应或凭据。
  • 该发布 commit 是当前 main head,Git tree 为 2868c6162e6ed3826d1bc976eb962c5f4e6abe1cv0.4.0stable 均绑定到拥有精确资格 receipt 的同一 commit。
  • 本版本不声明 benchmark 或长程结果提升,因此不要求 matched outcome baseline。

Full Changelog

v0.3.0...v0.4.0