@tea-agent/loop-agent 0.43.0 → 0.44.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +408 -367
- package/dist/application/evaluation/budget.js +21 -0
- package/dist/application/evaluation/corpus-hash.js +10 -15
- package/dist/application/evaluation/corpus.js +2 -1
- package/dist/application/evaluation/frontend-browser-acceptance.js +77 -0
- package/dist/application/evaluation/frontend-corpus-browser-acceptance.js +175 -0
- package/dist/application/evaluation/frontend-gateway-evidence.js +226 -0
- package/dist/application/evaluation/frontend-pair-registration.js +143 -0
- package/dist/application/evaluation/frontend-paired-summary.js +150 -0
- package/dist/application/evaluation/frontend-run-observation.js +144 -0
- package/dist/application/evaluation/frontend-shared-evidence.js +105 -0
- package/dist/application/evaluation/types.js +45 -12
- package/dist/application/task-lifecycle/observe.js +26 -1
- package/dist/build-stamp.json +3 -3
- package/dist/cli/command-definitions.js +11 -0
- package/dist/cli/program.js +4 -0
- package/dist/commands/task-advance.js +3 -5
- package/dist/commands/task-source-prepare.js +13 -1
- package/dist/executors/dag-pi/guards.js +4 -0
- package/dist/executors/dag-pi/model-config.js +30 -0
- package/dist/executors/dag-pi/plan/fact-adoption.js +55 -0
- package/dist/{workflows/dag/frontend-plan-completeness.js → executors/dag-pi/plan/facts.js} +22 -28
- package/dist/executors/dag-pi/plan/finalize-tools.js +259 -0
- package/dist/executors/dag-pi/plan/ledger-contract.js +55 -0
- package/dist/executors/dag-pi/plan/record-tools.js +861 -0
- package/dist/executors/dag-pi/plan/schema.js +129 -0
- package/dist/executors/dag-pi/plan/session.js +1 -0
- package/dist/executors/dag-pi/plan/tool-helpers.js +16 -0
- package/dist/executors/dag-pi/tools/contract-tools.js +515 -0
- package/dist/executors/dag-pi/tools/design-terminal-tools.js +159 -0
- package/dist/executors/dag-pi/tools/plan-decision-tools.js +529 -0
- package/dist/executors/dag-pi/tools/review-terminal-tools.js +159 -0
- package/dist/executors/dag-pi/tools/scout-evidence-tools.js +270 -0
- package/dist/executors/dag-pi-executor.js +398 -3384
- package/dist/executors/pi-executor.js +6 -1
- package/dist/executors/pi-sdk-executor.js +112 -19
- package/dist/executors/shell-executor.js +88 -12
- package/dist/executors/shell-presets.js +1 -1
- package/dist/executors/shell-write-guard.js +26 -3
- package/dist/infrastructure/console/operation-store.js +48 -14
- package/dist/infrastructure/evaluation/corpus-store.js +37 -12
- package/dist/shared/file-identity.js +23 -0
- package/dist/shared/git-workspace-status.js +482 -0
- package/dist/shared/operator/capabilities.js +10 -5
- package/dist/shared/path-safety.js +2 -2
- package/dist/shared/wizard-local-telemetry.js +51 -0
- package/dist/task/config-types.js +22 -8
- package/dist/task/contract/project.js +13 -0
- package/dist/task/contract/schema.js +2 -7
- package/dist/task/frontend-preflight.js +1 -1
- package/dist/task/source-prepare/parse-intent.js +124 -5
- package/dist/task/source-prepare/prepare.js +6 -1
- package/dist/task/source-prepare/semantic-intake.js +18 -3
- package/dist/task/source-prepare/source-execution.js +65 -0
- package/dist/task/source-prepare/source-fidelity-pi.js +22 -9
- package/dist/task/source-prepare/source-provider-budget.js +290 -0
- package/dist/worker/console/chat/assistant-content.js +5 -34
- package/dist/worker/console/chat/chat-event-store.js +62 -10
- package/dist/worker/console/chat/context-insights.js +723 -0
- package/dist/worker/console/chat/conversation-nodes.js +383 -0
- package/dist/worker/console/chat/db-connections.js +854 -0
- package/dist/worker/console/chat/pi-runtime/custom-tools/operator-tools.js +1 -1
- package/dist/worker/console/chat/pi-runtime/custom-tools/sql-tools.js +655 -0
- package/dist/worker/console/chat/pi-runtime.js +445 -36
- package/dist/worker/console/chat/provider-error.js +0 -12
- package/dist/worker/console/chat/repo-browser.js +52 -4
- package/dist/worker/console/chat/routes.js +577 -72
- package/dist/worker/console/chat/sdd-data-alignment.js +8 -31
- package/dist/worker/console/chat/session-store.js +147 -19
- package/dist/worker/console/chat/shortcuts.js +7 -0
- package/dist/worker/console/chat/timeline-message-order.js +22 -0
- package/dist/worker/console/chat/tools.js +34 -0
- package/dist/worker/console/chat/turn-process.js +237 -66
- package/dist/worker/console/chat/user-turn-outline.js +19 -0
- package/dist/worker/console/console-update-runtime.js +2 -2
- package/dist/worker/console/dag-confirmation.js +3 -0
- package/dist/worker/console/dag-execution-receipt.js +3 -0
- package/dist/worker/console/operator-actions.js +32 -3
- package/dist/worker/console/operator-user-error.js +28 -1
- package/dist/worker/console/pi-readiness.js +4 -4
- package/dist/worker/console/prd-intake-bridge.js +5 -12
- package/dist/worker/console/recovery-cta.js +14 -14
- package/dist/worker/console/server.js +5 -1
- package/dist/worker/console/static/assets/{abnfDiagram-N423BO3Z-8-j6y-sd.js → abnfDiagram-N423BO3Z-r1NAPU_5.js} +1 -1
- package/dist/worker/console/static/assets/{arc-eoQiMvuk.js → arc-dT5T4sVL.js} +1 -1
- package/dist/worker/console/static/assets/{architectureDiagram-T3A2C74G-C4A3uMcI.js → architectureDiagram-T3A2C74G-CP_cOq46.js} +1 -1
- package/dist/worker/console/static/assets/{blockDiagram-VBNYF7ZC-D4zD2F-Q.js → blockDiagram-VBNYF7ZC-sToEZxEf.js} +1 -1
- package/dist/worker/console/static/assets/{c4Diagram-5PPSVZJV-j1RkJziL.js → c4Diagram-5PPSVZJV-DSxwwi2m.js} +1 -1
- package/dist/worker/console/static/assets/channel-CyBY_yGk.js +1 -0
- package/dist/worker/console/static/assets/{chunk-2GRJ4B5K-YBHmhik1.js → chunk-2GRJ4B5K-B9fh0IkF.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-2Q5K7J3B-COfWyo9P.js → chunk-2Q5K7J3B-CAUNl-A6.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5RXB4S5H-I99OUkHY.js → chunk-5RXB4S5H-BomeqbNX.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-5VM5RSS4-XKxoJNJ4.js → chunk-5VM5RSS4-BNAuTOLE.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-6Q2QTUOP-DLT_cYx1.js → chunk-6Q2QTUOP-DfzjRD5y.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-GF5L2VYU-CxcKZ9mV.js → chunk-GF5L2VYU-C3uE-yc2.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-JWPE2WC7-V1EqXdjY.js → chunk-JWPE2WC7-C3sQMMYr.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-KBJHAD2P-DebTtdFp.js → chunk-KBJHAD2P-D_AtEYQL.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-RYQCIY6F-B-ivNRDf.js → chunk-RYQCIY6F-DW4TwhKv.js} +1 -1
- package/dist/worker/console/static/assets/{chunk-XXDRQBXY-DC_Ds11b.js → chunk-XXDRQBXY-CTQDmJcp.js} +1 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-D5lN4E_E.js +1 -0
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-D5lN4E_E.js +1 -0
- package/dist/worker/console/static/assets/{cose-bilkent-JH36ORCC-sWEqKwIb.js → cose-bilkent-JH36ORCC-iMqPuBsL.js} +1 -1
- package/dist/worker/console/static/assets/{cynefin-VYW2F7L2-BXa_dcu4.js → cynefin-VYW2F7L2-DktIuDWs.js} +1 -1
- package/dist/worker/console/static/assets/{cynefinDiagram-MW4NZA55-C-Mle84F.js → cynefinDiagram-MW4NZA55-BgVnjyEs.js} +1 -1
- package/dist/worker/console/static/assets/{dagre-VZM6K2ZE-CXPDBITe.js → dagre-VZM6K2ZE-CR25E4bu.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-7IWD3JNH-CC-WJQfa.js → diagram-7IWD3JNH-CPM2h5HY.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-B4RE2ZJO-CDAV5Vs4.js → diagram-B4RE2ZJO-DqF0x2g1.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-LBJQPF4R-CmFiAcNz.js → diagram-LBJQPF4R-G8BYp2eb.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-Q27KOJAE-DPBZHuyn.js → diagram-Q27KOJAE-BbC4kT_D.js} +1 -1
- package/dist/worker/console/static/assets/{diagram-UB23O5K3-jUlm_Ds3.js → diagram-UB23O5K3-CKZwZ-G5.js} +1 -1
- package/dist/worker/console/static/assets/{ebnfDiagram-BXEA7PRR-DWhQ3mfY.js → ebnfDiagram-BXEA7PRR-kJDmheia.js} +1 -1
- package/dist/worker/console/static/assets/{erDiagram-JOGREHBK-Tr2gMqet.js → erDiagram-JOGREHBK-DFTVHyxB.js} +1 -1
- package/dist/worker/console/static/assets/{flowDiagram-UKHOOZJN-DJjVQHPA.js → flowDiagram-UKHOOZJN-BqdN5_os.js} +1 -1
- package/dist/worker/console/static/assets/{ganttDiagram-PKOTCBZU-D74dQ4u0.js → ganttDiagram-PKOTCBZU-SYDjVakh.js} +1 -1
- package/dist/worker/console/static/assets/{gitGraphDiagram-DS77QQ5N-DwW0tZ0X.js → gitGraphDiagram-DS77QQ5N-Bf8bNpGA.js} +1 -1
- package/dist/worker/console/static/assets/index-B28Onmfy.css +1 -0
- package/dist/worker/console/static/assets/index-CTMZsDmh.js +486 -0
- package/dist/worker/console/static/assets/{infoDiagram-6WML65LV-ILCbxJyb.js → infoDiagram-6WML65LV-DIeAmJ45.js} +1 -1
- package/dist/worker/console/static/assets/{ishikawaDiagram-WSZJBQD7-DeuWBQ89.js → ishikawaDiagram-WSZJBQD7-oikqUAlo.js} +1 -1
- package/dist/worker/console/static/assets/{journeyDiagram-NVQOT4AX-CF5ih8Fk.js → journeyDiagram-NVQOT4AX-mKEF_xYT.js} +1 -1
- package/dist/worker/console/static/assets/{kanban-definition-27J2QSJJ-C7yOSuRO.js → kanban-definition-27J2QSJJ-BdWJHPnN.js} +1 -1
- package/dist/worker/console/static/assets/{linear-BDZ9riWi.js → linear-DGRlieMH.js} +1 -1
- package/dist/worker/console/static/assets/{mermaid.core-7pKqYtpZ.js → mermaid.core-4P9yPC9c.js} +5 -5
- package/dist/worker/console/static/assets/{mindmap-definition-FAOFIHXS-LeJDybSU.js → mindmap-definition-FAOFIHXS-5PTSkos6.js} +1 -1
- package/dist/worker/console/static/assets/{pegDiagram-VL7TDLO6-BJvT3pMD.js → pegDiagram-VL7TDLO6-DONIFpG5.js} +1 -1
- package/dist/worker/console/static/assets/{pieDiagram-7S7Q4E2Y-_rGqpMan.js → pieDiagram-7S7Q4E2Y-D_Z4S70M.js} +1 -1
- package/dist/worker/console/static/assets/{quadrantDiagram-CIZ2JOQS-DPcSv5aA.js → quadrantDiagram-CIZ2JOQS-CAsjh8iY.js} +1 -1
- package/dist/worker/console/static/assets/{railroadDiagram-AXF67PYL-Drxx4hkJ.js → railroadDiagram-AXF67PYL-Cx4Dd6ac.js} +1 -1
- package/dist/worker/console/static/assets/{requirementDiagram-LRYGKXZP-BCTUdU4z.js → requirementDiagram-LRYGKXZP-cQb7mwyH.js} +1 -1
- package/dist/worker/console/static/assets/{sankeyDiagram-W5VNT64P-B6wzbZmB.js → sankeyDiagram-W5VNT64P-Cd-DhUdf.js} +1 -1
- package/dist/worker/console/static/assets/{sequenceDiagram-SI44F4Z6-BGt8d3QQ.js → sequenceDiagram-SI44F4Z6-AlKYRgIk.js} +1 -1
- package/dist/worker/console/static/assets/{sizeCapture-X5ZJPWSS-7nlhJKo7.js → sizeCapture-X5ZJPWSS-CUy_ET4e.js} +1 -1
- package/dist/worker/console/static/assets/{stateDiagram-OKZ733FA-Cv2stqMA.js → stateDiagram-OKZ733FA-CTuVe6Sa.js} +1 -1
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-BsWhs8O7.js +1 -0
- package/dist/worker/console/static/assets/{swimlanes-SLNWSIFB-qDAo4Yc1.js → swimlanes-SLNWSIFB-ChFLJb-v.js} +2 -2
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-CJcioYGH.js +8 -0
- package/dist/worker/console/static/assets/{timeline-definition-Z64GVDOM-CKbDNKTr.js → timeline-definition-Z64GVDOM-DZZeiAPr.js} +1 -1
- package/dist/worker/console/static/assets/{vennDiagram-T6HMQDX7-DI-9EHic.js → vennDiagram-T6HMQDX7-t4O91cZU.js} +1 -1
- package/dist/worker/console/static/assets/{wardleyDiagram-T6FBY63Y-BrzzRDpX.js → wardleyDiagram-T6FBY63Y-CV5qGHZu.js} +1 -1
- package/dist/worker/console/static/assets/{xychartDiagram-ELKLHX3M-BclH5hGh.js → xychartDiagram-ELKLHX3M-DyXbytUI.js} +1 -1
- package/dist/worker/console/static/index.html +2 -2
- package/dist/worker/console/static-src/app/console-types.js +9 -1
- package/dist/worker/console/static-src/operator-chat/animation-frame-batcher.js +38 -0
- package/dist/worker/console/static-src/operator-chat/chat-link.js +20 -0
- package/dist/worker/console/static-src/operator-chat/chat-sse-events.js +186 -5
- package/dist/worker/console/static-src/operator-chat/chat-stream-continuity.js +101 -0
- package/dist/worker/console/static-src/operator-chat/compaction-message.js +18 -3
- package/dist/worker/console/static-src/operator-chat/context-insights-store.js +64 -0
- package/dist/worker/console/static-src/operator-chat/details-rail-surfaces.js +98 -0
- package/dist/worker/console/static-src/operator-chat/file-palette-nav.js +81 -0
- package/dist/worker/console/static-src/operator-chat/pending-user-message.js +17 -3
- package/dist/worker/console/static-src/operator-chat/process-label.js +27 -5
- package/dist/worker/console/static-src/operator-chat/tools-catalog.js +16 -7
- package/dist/worker/console/static-src/operator-chat/transcript-mode.js +21 -0
- package/dist/worker/console/static-src/operator-chat/turn-group-equality.js +4 -1
- package/dist/worker/console/static-src/operator-chat/turn-process-disclosure.js +13 -5
- package/dist/worker/console/static-src/operator-chat/turn-state-projection.js +166 -0
- package/dist/worker/console/static-src/operator-chat/turn-stream-controller.js +56 -2
- package/dist/worker/console/static-src/operator-chat/useChatSessions.js +211 -40
- package/dist/worker/console/static-src/operator-chat/useChatStream.js +124 -27
- package/dist/worker/console/static-src/operator-chat/useChatThread.js +88 -20
- package/dist/worker/console/static-src/operator-chat/useComposer.js +80 -6
- package/dist/worker/console/static-src/operator-chat/useRepoBrowser.js +13 -3
- package/dist/worker/console/static-src/operator-chat/useRuntimeControls.js +36 -17
- package/dist/worker/console/static-src/operator-chat/useRuntimeSnapshot.js +18 -0
- package/dist/worker/console/static-src/operator-chat/useWorkspaceBrowserGate.js +4 -0
- package/dist/worker/console/static-src/shell/console-update-reload.js +1 -1
- package/dist/worker/console/workspace-context.js +2 -0
- package/dist/worker/console/workspace-initialization.js +3 -3
- package/dist/worker/observability/read-model.js +23 -2
- package/dist/worker/observe/node-context-insights.js +479 -0
- package/dist/worker/observe/static/console-theme.css +174 -0
- package/dist/worker/observe/static/console-theme.js +36 -0
- package/dist/worker/observe/static/operator-chrome.css +85 -0
- package/dist/worker/observe/static/operator-chrome.js +51 -0
- package/dist/worker/scheduler/scheduled-goal-dispatch.js +3 -2
- package/dist/worker/scheduler/scheduled-goal-evidence.js +66 -3
- package/dist/worker/scheduler/scheduled-goal-store.js +10 -0
- package/dist/workflows/dag/budget-enforcement.js +31 -2
- package/dist/workflows/dag/frontend-closeout.js +3 -1
- package/dist/workflows/dag/frontend-contract-facts.js +11 -8
- package/dist/workflows/dag/frontend-design-policy.js +6 -6
- package/dist/workflows/dag/frontend-durable-tools.js +90 -70
- package/dist/workflows/dag/frontend-implementation-contract.js +146 -57
- package/dist/workflows/dag/frontend-plan-canary.js +66 -16
- package/dist/workflows/dag/frontend-plan-decision-contract.js +13 -21
- package/dist/workflows/dag/frontend-plan-progress.js +92 -0
- package/dist/workflows/dag/frontend-recovery-plan.js +10 -5
- package/dist/workflows/dag/frontend-recovery-run.js +51 -46
- package/dist/workflows/dag/frontend-repair-assertions.js +36 -0
- package/dist/workflows/dag/frontend-review-context.js +29 -1
- package/dist/workflows/dag/frontend-review-scopes.js +92 -2
- package/dist/workflows/dag/frontend-risk.js +8 -3
- package/dist/workflows/dag/frontend-root-observation.js +261 -0
- package/dist/workflows/dag/frontend-session-budget.js +52 -39
- package/dist/workflows/dag/frontend-session-context.js +10 -0
- package/dist/workflows/dag/frontend-test-execution-evidence.js +206 -48
- package/dist/workflows/dag/frontend-typed-event-store.js +11 -1
- package/dist/workflows/dag/frontend-verification-trace.js +6 -0
- package/dist/workflows/dag/frontend-writer-admission.js +3 -1
- package/dist/workflows/dag/init-hybrid.js +108 -37
- package/dist/workflows/dag/node-execution.js +11 -11
- package/dist/workflows/dag/output-protocol.js +1 -0
- package/dist/workflows/dag/rerun-feedback.js +35 -4
- package/dist/workflows/dag/rerun-task.js +62 -66
- package/dist/workflows/dag/runner.js +58 -12
- package/dist/workflows/dag/types.js +15 -8
- package/dist/workflows/loop/benchmark.js +11 -8
- package/docs/README.md +1 -1
- package/docs/architecture/runtime-boundaries.md +1 -1
- package/docs/governance/harness-methodology-verification.md +11 -0
- package/docs/templates/backend-test-dag.json +5 -4
- package/docs/templates/frontend-implementation-contract.schema.json +31 -11
- package/package.json +6 -4
- package/skills/frontend-design-review/SKILL.md +8 -11
- package/skills/frontend-design-review/references/review-checklist.md +3 -4
- package/skills/frontend-review/SKILL.md +5 -1
- package/skills/loop-agent/references/command-reference.md +8 -0
- package/skills/loop-agent/references/hybrid-dag.md +1 -1
- package/dist/worker/console/static/assets/channel-ChE7y-cx.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-JCYQIIEL-C01TCf2X.js +0 -1
- package/dist/worker/console/static/assets/classDiagram-v2-OCEON4UE-C01TCf2X.js +0 -1
- package/dist/worker/console/static/assets/index-BWkIfcrK.css +0 -1
- package/dist/worker/console/static/assets/index-Cdkvw_H6.js +0 -469
- package/dist/worker/console/static/assets/stateDiagram-v2-UEYNNEHI-DC7V5vcq.js +0 -1
- package/dist/worker/console/static/assets/swimlanesDiagram-ULZ7WXOC-Bwy4QUTO.js +0 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,543 +2,585 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
-
## [0.43.0] - 2026-09-14
|
|
6
|
-
|
|
7
5
|
### 新增
|
|
8
6
|
|
|
9
|
-
-
|
|
7
|
+
- main 上的 npm `next` 预发布改为跑默认测试(fast + integration),不再在每次发布时重复跑约 6 分钟的 I/O-heavy 池;完整三池仍由 PR、正式 release 线、本地推送前检查与发布前钩子承担。同时把该预发布任务的 I/O 并发从 1 调到 2,并把 npm 包可见性确认的等待窗口从约 3 分钟拉长到约 10 分钟,避免包已发出却因仓库异步处理未完成而被判失败。
|
|
10
8
|
|
|
11
|
-
|
|
9
|
+
- 修复 main 分支的 next 发布链在类型检查阶段内存溢出失败的问题:完整源码与测试的类型图已超过 Node 默认约 2 GiB 堆上限,类型检查进程因此中止(exit 134),导致 `next` 发布无法完成。此前该上限只在部分验证入口生效,其余入口直接运行类型检查就会因默认堆不足而失败;现把上限固化到类型检查命令本身,各验证入口与本地开发统一生效,不再依赖各入口自行声明。
|
|
10
|
+
- 数据库连接支持断线自动重连:MySQL/PostgreSQL 空闲会话被服务端超时杀掉后,下一次查询会用同一配置透明重开连接并重试一次,不再需要手动重连或重启 Console;MySQL 适配器同时吸收服务端主动断开产生的异步错误,避免未处理错误事件影响进程。
|
|
12
11
|
|
|
13
|
-
-
|
|
12
|
+
- 修复 Operator Chat 冷启动卡在检查面板的问题:模型列表和 runtime-snapshot 改为读工作区目录,不再为了展示技能或系统提示去打开 Pi 历史 JSONL;发消息、切换模型、reload 仍会激活会话。会话栏也不再等 Pi 重开,工作区列表未返回前不再把侧栏滤空。
|
|
13
|
+
- 修复 Operator Chat 发送消息或重连刷新后会话历史偶发全部消失的问题:列表刷新现在保留上次成功结果,非 JSON、缺字段、错误版本和部分工作区失败不再被误判为空列表;并发刷新与新建/删除会话按最新权威结果收敛,只有经过校验的真实空列表才显示“暂无会话”。
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
- 修复 Operator Chat 在工作区尚未选中时抢先请求仓库树和能力目录、浏览器 Network 出现 400 的问题;等 `workspaceId` 就绪后再请求,不再把启动竞态显示成功能异常。
|
|
16
16
|
|
|
17
|
-
-
|
|
17
|
+
- 修复 Console 成功更新后历史接棒记录仍占用操作位、导致工作区初始化持续被拒绝的问题;通用「需要核对」提示现在引导先核实实际执行结果,不再误导为重新更新程序。
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
- Console 更新前保留当前实例身份,修复重启断线后首次响应已来自新进程时仍等待超时、无法自动刷新的问题;关闭重开设置保留该身份,所有刷新等待分支均反馈超时。
|
|
20
|
+
- 修复观测页「执行历史」把仍在重试的节点误报为「最终失败」的问题:只要节点最后一个已记录的尝试失败,就会显示「N 次 · 最终失败」,即使该节点仍在运行、重试已经排队,会让人误判运行已结束。现在节点处于运行/已启动/暂停状态时改为「N 次 · 最近一次失败,仍在重试」,真正到达终态才显示「最终失败」;修复轮次的多轮标签同样处理。
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
- 修复 Console「更新程序」被一条卡住的旧操作永久堵死的问题:停在「等待核对」的操作记录已被启动对账跳过、自身无法再推进,却又被当成「仍在运行」,导致之后每次更新都提示「另一个 Console 操作正在进行」。现将其明确归为已结束、不再占用操作位,并在恢复页保留可见;同时补全「已安装成功但接棒失败」记录的自动收敛,不再永久停留。
|
|
22
23
|
|
|
23
|
-
- Console
|
|
24
|
+
- Console 操作文案改为面向操作者的说明并给出下一步:等待超时不再伪装成「需要核对」,改为提示操作可能仍在后台运行;「源内容已变更」「前端拆分状态被并发修改」等原本直接展示英文原文的错误,改为说明原因与具体处理步骤;恢复页按钮与提示去掉 reconcile / supersede / orphan / Human Gate 等术语。
|
|
24
25
|
|
|
25
|
-
- Operator Chat
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
- Operator Chat 终端管理(DSH 风格):模型获得 `terminal` 持久 PTY 工具(跨平台 shell 目录——Windows 提供 powershell/bash/cmd,macOS/Linux 提供 bash/zsh,pwsh 7 装了即用;cwd/环境变量/后台任务跨调用保留,完成标记协议 + 超时与截断保护,枚举与默认值按平台动态生成);Console 右侧辅助栏新增「终端」面板(xterm.js 渲染,实时查看/接管模型的 shell,按平台动态展示可创建的 shell,支持发送输入、Ctrl+C、终止并关闭);模型 shell 与用户面板共用同一会话注册表并开在工作区仓库根目录,命名区分来源。
|
|
29
|
-
- Windows 原生 `cmd.exe` 终端体验补全:仅 Windows 平台提供 `cmd` shell,使用经典 `C:\path>` 提示符、cmd 黑底浅灰配色与方块光标,并补回 ConPTY 丢失的 `Microsoft Windows [版本 …]` 启动横幅;bash 与 PowerShell 保持各自原生输出,不注入 Windows 横幅。
|
|
30
|
-
- Operator Chat 详情栏调整:「源码」tab 紧邻「文件」tab,便于在文件预览与源码管理之间快速切换。
|
|
26
|
+
- Operator Chat 新增对话驱动的真实浏览器自动化:右侧「浏览器」面板同步共享状态,登录态与下载隔离在仓库外;模型可操作同一浏览器完成导航、搜索、结构化快照、元素操作与截图,不读写仓库文件,也不暴露页面脚本执行。
|
|
27
|
+
- 模型驱动的共享浏览器默认改为可见外部窗口,并保留右侧预览;地址、搜索与元素操作不再默认生成大截图,搜索逐字填写并提交真实表单,启动时降低自动化指纹;无法嵌入的页面提供外部打开与聚焦入口,同一持久配置可完成站点安全验证。
|
|
28
|
+
- 修复观测页「执行历史」把仍在重试的节点误报为「最终失败」的问题:只要节点最后一个已记录的尝试失败,就会显示「N 次 · 最终失败」,即使该节点仍在运行、重试已经排队,会让人误判运行已结束。现在节点处于运行/已启动/暂停状态时改为「N 次 · 最近一次失败,仍在重试」,真正到达终态才显示「最终失败」;修复轮次的多轮标签同样处理。
|
|
31
29
|
|
|
32
|
-
|
|
30
|
+
- 修复重试额度提升到 5 次后遗留的过期说明:只读 Pi 节点的默认重试次数已在 2026-09-05 由 3 次提升到 5 次,但运行时文档、模板示例与 npm 包内置的 `backend-test-dag.json` 仍写着 3 次,导致目标项目看到的仍是旧额度。现已同步为 5 次,并把模板漂移检查扩展到重试策略字段,避免同类过期再次漏过。
|
|
31
|
+
|
|
32
|
+
- 修复 Console「更新程序」被一条卡住的旧操作永久堵死的问题:停在「等待核对」的操作记录已被启动对账跳过、自身无法再推进,却又被当成「仍在运行」,导致之后每次更新都提示「另一个 Console 操作正在进行」。现将其明确归为已结束、不再占用操作位,并在恢复页保留可见;同时补全「已安装成功但接棒失败」记录的自动收敛,不再永久停留。
|
|
33
|
+
|
|
34
|
+
- Console 操作文案改为面向操作者的说明并给出下一步:等待超时不再伪装成「需要核对」,改为提示操作可能仍在后台运行;「源内容已变更」「前端拆分状态被并发修改」等原本直接展示英文原文的错误,改为说明原因与具体处理步骤;恢复页按钮与提示去掉 reconcile / supersede / orphan / Human Gate 等术语。
|
|
35
|
+
|
|
36
|
+
- 前端配对观测支持核对六类浏览器报告的登记、终态资源和检查结果,拒绝矛盾或缺失证据;浏览器通过与完整产品验收分开记录,环境异常保留未知。
|
|
37
|
+
|
|
38
|
+
- 实验语料登记新增六类前端配对格式,核对需求、初始文件与检查器实物摘要;复用现有实验计划生成器,保留通用语料原有约束。
|
|
39
|
+
|
|
40
|
+
- 前端配对验收可读取任务已登记的网关快照,按实验格归属汇总供应商调用;拒绝缺失或摘要不符的证据,明确区分观测记录与尚未证明的全任务统计。
|
|
41
|
+
|
|
42
|
+
- 前端配对任务可冻结网关布局,启动前核对实验计划、全部实验格、合同和登记顺序;网关引用先登记的计划摘要,避免摘要相互依赖。
|
|
43
|
+
|
|
44
|
+
- 前端实验日志可按预登记拓扑核对跨网关请求图,只汇总供应商边并追溯实验格;断链、串网关与重复ID拒绝,未解析的失败转发保持未知成本。
|
|
45
|
+
|
|
46
|
+
- 前端实验支持按固定摘要核对单网关合同、逐请求日志和总账,拒绝缺行/重复/身份或用量冲突;未知用量继续区别于保守预留,不将单网关记录冒充全任务证据。
|
|
47
|
+
|
|
48
|
+
- 修复实验计量网关多实例同时打开同一账本可超额的问题:增加独占writer锁,正常关闭和启动失败释放,旧锁不自动夺取或重置预算。
|
|
49
|
+
|
|
50
|
+
- 实验网关记录请求转发关联和上游类型,区分多层日志与供应商侧调用尝试;内部关联头不发送给供应商,共享总额度经过跨实验格HTTP回归验证。
|
|
51
|
+
|
|
52
|
+
- 归档前端实验计量网关,补充实验格绑定、请求正文摘要、选定显式参数和响应模型记录;日志不保存提示词或凭据,重启时拒绝实验身份漂移。
|
|
53
|
+
|
|
54
|
+
- 修正前端评测的任务成本口径:预算预留数和DAG阶段耗时单独保留,缺少全任务实采时不再当成实际请求数或总耗时;缺来源用量时不把局部token当成总量。
|
|
55
|
+
|
|
56
|
+
- 前端配对统计补充首次和最终成功率差异的保守置信区间,保留缺失样本与小样本不确定性,不自动据此晋升候选。
|
|
57
|
+
|
|
58
|
+
- 前端配对验收可核对预登记的来源、预算、初始树及全任务模型收据;快照漂移拒绝,缺少采样参数或供应商实际模型版本证据时继续保留未知。
|
|
59
|
+
|
|
60
|
+
- 修复前端计划把现有只读测试误判为写入越界的问题;计划预检和正式策略门禁均允许安全读取已有测试,新增或修改文件仍严格受写入范围约束。
|
|
61
|
+
|
|
62
|
+
- 前端评审按合同核验行为测试报告覆盖,缺失整组报告、仅执行其他文件、失败或跳过用例时阻止进入评审;完整原始报告与分片继续按摘要复核。
|
|
63
|
+
|
|
64
|
+
- 修正旧计数器浏览器证据把任务成功率误计为通过的问题:浏览器成功仅保留局部事实,完整质量门禁缺失时交付结论保持未知,已证实的行为失败仍保留。
|
|
65
|
+
|
|
66
|
+
- Counter 独立浏览器报告可接入任务统计,核对登记的检查器、终态产物和完整检查项;自测、串运行与矛盾通过标记被拒绝,执行错误保留未知。
|
|
67
|
+
|
|
68
|
+
- 前端任务统计可读取冻结运行和完整根账本,保留失败消耗;缺少来源或独立行为验收时保留未知,避免将 DAG 完成状态直接计为正确交付。
|
|
69
|
+
|
|
70
|
+
- 显式前端配对评测可在运行前核验协议摘要、已登记样本和实际控制器指纹,并将绑定冻结进运行事实;恢复时重新核验,版本不符在分配运行目录前拒绝。
|
|
71
|
+
|
|
72
|
+
- 前端配对评测新增预登记身份核验,重验候选文件、计划内容和登记时间,仅接受明确登记的版本差异,共同模型/输入/预算/验收身份变化继续拒绝。
|
|
73
|
+
|
|
74
|
+
- 前端评测新增基于已登记样本的任务级描述统计,区分首次成功与最终完成,保留失败成本和未知观测;统计本身不构成验收或晋升结论。
|
|
75
|
+
|
|
76
|
+
- 修复 Console 放弃或替代孤立运行时的命令参数错误;运行器收到退出信号时保留监听器直到状态保存结束,避免 Pi 的退出依赖提前终止进程。
|
|
77
|
+
|
|
78
|
+
- 前端 SDK 收到明确预算耗尽错误时主动结束自动重试等待,处理重试对象延后创建的取消时序;普通限流仍可重试,退出未确认仍阻断后续执行。
|
|
79
|
+
|
|
80
|
+
- 前端风险分级与流程路由统一识别明确的排除条款,避免“无需新增依赖或构建系统”误升级;有例外条件或正向需求时仍保留风险信号。
|
|
81
|
+
|
|
82
|
+
- 修复前端契约补充分组信息后,规划阶段重复计算同一需求、错误阻断执行的问题;按需求 ID 读取最新记录并保留完整历史。
|
|
83
|
+
|
|
84
|
+
- 来源成本证据绑定冻结合同版本,区分当前与历史批次,拒绝同版本内容冲突和版本归属漂移。
|
|
85
|
+
|
|
86
|
+
- 来源成本验收核对批次记录、请求时间与任务归属;缺批次编号或记录损坏时保留未知,防止旧记录混入完整证据。
|
|
87
|
+
|
|
88
|
+
- 前端来源准备记录独立执行编号及前后合同版本,请求可追溯到具体重试批次,失败记录继续保留。
|
|
89
|
+
|
|
90
|
+
- 前端配对验收新增全任务成本检查,避免 Plan 局部节省掩盖来源和后续执行成本上涨;用量未知不再获得整体通过。
|
|
91
|
+
|
|
92
|
+
- 前端 DAG 将已确认的来源处理 token 纳入累计预算;验收核对冻结收据,证据丢失或变化时保留未知状态,避免漏算成本。
|
|
93
|
+
|
|
94
|
+
- 任务请求预留记录所属观测会话,来源用量可按会话核对;缺失、冲突或无法归属的用量继续标为未知,避免漏算为零。
|
|
95
|
+
|
|
96
|
+
- 前端语义整理接入共享任务请求额度,预算停止后不再换模型重试,并为用量记录保存输入文档指纹。
|
|
97
|
+
|
|
98
|
+
- 前端 DAG 冻结并继承任务请求账本,来源与后续 DAG 共用预留额度;账本缺失、身份漂移或计数回退拒绝运行,未知来源 token 保留缺失标记。
|
|
99
|
+
|
|
100
|
+
- 来源整理与复核默认使用任务持久请求账本,先保存预留再调用模型;重启不清零,损坏账本、额度漂移及未绑定旧用量会阻断。来源账本与 DAG 的累计继承仍待完成。
|
|
33
101
|
|
|
34
|
-
-
|
|
102
|
+
- 来源整理与复核适配器支持传递共享请求预算预留回调,供统一预算账本接入;默认任务的来源费用与 DAG 账本整合仍在进行中。
|
|
35
103
|
|
|
36
|
-
-
|
|
37
|
-
- 前端恢复轮不再丢 run 级产物:imported 节点(如 writer-admission)在自身节点目录之外写出的文件(worktree baseline 等)会随继承搬运到子 run,修复恢复轮 `frontend-review-context-shell` 因产物缺失 ENOENT 而必然失败的死结。
|
|
38
|
-
- 前端 Plan finalize 的确定性前置检查要求**每个**冻结静态命令都被验证目标覆盖(此前只要求覆盖其中一个),把历史上只能由评审散文提出的类型检查缺口变成计划节点可机器修复的项;恢复 finalize 的 identical-plan 门改用**决策身份**(忽略 `rationale`/`purpose`/`notApplicableReason`/`specReference`),只改文案或引用不再算作修复。
|
|
39
|
-
- 失败分类不再被模型正文污染:provider/传输类判定只读 stderr、非 JSON 子进程输出与结构化错误字段,模型正文与工具参数不参与 auth/rate-limit/quota/网络判定(修复 finding id 等自产文本把可重试的 empty-output 误判为不可重试 auth 而拖垮整轮的问题);工具终态型节点(design/review)在本轮已提交终态却没有收尾文本时直接判成功,不再空转一次重试。
|
|
40
|
-
- 修复 Console 中 `newTask` 与 `importPrd` 并发创建同一任务时 `task already exists` 导致 intake 卡死;前端 run 的 `dag rerun --from-node` 不再因只读 artifact shell(review-context/closeout)被判 unsafe 而永远 ineligible(hard budget 模板仍按设计不支持 rerun)。
|
|
104
|
+
- 修复前端验收漏算 continuation 父运行成本、同一模型列表掩盖实际模型变化、回归场景仅凭声明通过的问题;恢复预算账本拒绝用量倒退、额度漂移和缺失事实丢失。
|
|
41
105
|
|
|
42
|
-
-
|
|
106
|
+
- 来源整理与独立复核收到预算耗尽后立即停止模型回退,失败信息按实际尝试数记录。
|
|
107
|
+
- 前端 canary 支持从独立评测目录读取绑定运行指纹的验收记录和配对文件;核对真实 Plan 模型、设计评审终态和逐项验收结果,缺证据、错配或行为漏检继续阻断整体通过。
|
|
43
108
|
|
|
44
|
-
-
|
|
109
|
+
- 明确的模型调用预算耗尽错误保留为预算停止,不再被网络错误覆盖并触发节点重试或模型回退。
|
|
45
110
|
|
|
46
|
-
-
|
|
111
|
+
- 前端 Scout 同一次节点执行中重试时复用已成功提交事实的分支,仅补失败或缺事实分支;模型变更不复用,已消耗 token 不重复累计。明确设计与测试入口的调查分工,减少重复查看依赖内部实现。
|
|
47
112
|
|
|
48
|
-
-
|
|
113
|
+
- 来源保真复核仅在项目配置的模型档位间回退,不再自动尝试全局目录中的其他模型。
|
|
49
114
|
|
|
50
|
-
-
|
|
115
|
+
- 修复结构化 draft 创建前端任务时漏建来源账本、导致 Contract 节点在模型调用前失败的问题;统一使用现有来源保真校验。
|
|
51
116
|
|
|
52
|
-
-
|
|
117
|
+
- 前端评审获得合同引用的未修改测试源码与实际测试执行记录,按 hash 复核来源及完整性;data/Mock 分批不再重复扣除固定提示词预算,共享领域仍完整处理。
|
|
53
118
|
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- 对话页「过程折叠」对齐 DSH 细节:模型回复完成时直接进入折叠态,不再先展开再跳动;折叠摘要、过程内容和最终回答采用与 DSH 一致的间距,折叠内容仍保留在页面中,浏览器 Ctrl+F 可直接命中并自动展开;折叠行展开时不再多出底部空隙;箭头改为 16px、颜色更淡的固定图标(靠旋转而非换图标),并补齐系统「减少动态效果」偏好;汇总文案新增「N 个 subagent」,内置 Explore 子代理不再计入普通工具调用。
|
|
60
|
-
- 恢复前端 Plan 实时事实分页读取、逐需求 UX 遗漏检查与已完成范围复用;超限时补齐剩余验证目标,并接通 DAG 到 SDK 的原会话续跑。局部状态修改保留其他需求的关联,沿用耐久账本、显式替换和冻结分片边界。
|
|
119
|
+
- 前端 DAG 恢复按问题归属从 Contract、Scout、Plan 或实现节点重跑,清除失效的下游批准;父 Plan 快照绑定来源、账本和当前评审,避免复用过期问题。
|
|
120
|
+
- 前端评审支持受冻结需求约束的修复断言;无效断言保留阻断问题。Plan 无进展时停止追加模型请求,成功终态不被迟到错误推翻。
|
|
121
|
+
- 前端测试执行前核对 Vitest 报告能力和 npm 测试脚本(含前后置钩子);保留计划证据等级与接口边界,明确测试文件通过不等于需求行为已充分验证。
|
|
122
|
+
- 前端合同保留必须遵守的能力条款,交付文件进入写入范围;交付义务不再豁免真实实现位置的归属检查。
|
|
123
|
+
- 修复后端测试 DAG 模板遗漏 `upstream-unavailable` 重试类别的问题:内置模板的 Markdown 计划节点缺少该类别,与运行时生成器不一致,导致照模板配置的项目少一类重试;现已补齐,并把模板漂移检查扩展到重试策略字段,避免同类不一致再次漏过。
|
|
61
124
|
|
|
62
|
-
-
|
|
63
|
-
- 修复前端 Design Review 成功后可能清空原 Plan 账本的问题,撤回未接通合同校验和物化的修订工具;同时移除误加在实施后 Review 的修订指令。Review 节点内局部修订尚未实现,设计缺陷仍走原有拒绝与恢复流程。
|
|
64
|
-
- 前端 Plan 输出超限后按已提交事实续跑:带部分结果或网关诊断也会保留进度,自动缩小剩余需求;单个过大需求进一步按缺失事实逐项恢复,并在恢复耗尽时输出剩余范围。
|
|
65
|
-
- 大需求前端 Plan 增加可分页的实时事实读取,保留长标识和跨批验收绑定;UX 按有限需求范围执行,重试复用完整批次和全局命名表,逐需求检查遗漏。冻结交付文件超过单 writer 容量时在 Contract 后提前识别拆分需求;自动子任务执行链路尚未接通,此项不代表自动拆分已可用。
|
|
125
|
+
- Operator Chat 右侧辅助栏改为三个表面:仓库、会话、工作台。点上下文环进入「会话 / 上下文」,文件和终端不再与会话检查挤在同一条标签上;工作台用内侧图标轨切换终端、浏览器和数据库。
|
|
66
126
|
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
127
|
+
- Operator Chat 侧栏折叠后改为 56px 图标轨:可直接点新建会话、搜索、添加工作区和设置,不再留下空槽。
|
|
128
|
+
- Operator Chat 的 `@` 文件面板改为按当前目录一层浏览:空 `@` 不再倒出整库路径,点文件默认隐藏,Tab 进入目录、Enter 选定,插入仍是 `@path` 文本。文件行改为左对齐菜单,不再被全局按钮样式居中成胶囊;目录右侧常驻进入箭头,浮层圆角与投影贴近 DSH 菜单。
|
|
129
|
+
- Pi SDK 运行时依赖升级:`@earendil-works/pi-ai` 与 `@earendil-works/pi-coding-agent` 从精确 pin `0.83.0` 升到 `0.84.4`(顺带修复其携带的 `undici` 高危漏洞与 `brace-expansion` DoS 告警)。适配 0.84 破坏性变更:`getApiKeyAndHeaders` 返回的 headers 现可含 `null` 删除标记、`setRuntimeApiKey` 第三参改为认证取消选项;扩展加载 fixture 改为 ESM(pi-ai 子路径导出不再提供 CJS 条件)。SDK 契约探针文案、发布包契约测试与自举 canary 同步对齐 0.84.4。
|
|
130
|
+
|
|
131
|
+
- 修复 Windows 上 pi 节点零提交失败的读写守卫误报:libuv 在 win32 的 `fstat` 返回卷序列号而 `lstat` 恒为 0,跨 API 比较必然失败并误报“文件在打开期间被替换”;现新建共享身份比较 helper,win32 跳过跨 API `dev` 比较但保留 `ino` 与其余全部防护,Console 仓库预览同类比较一并修复(用户 0.42.1/0.43.0 两次实测上报)。
|
|
132
|
+
- 修复研发工作流对 Git submodule 的误拦截:父仓库 `git status` 只能看到 submodule 目录级条目,子仓库内合法写入会被误判 `empty-diff`(脏基线)或越界(净基线),导致 verify/review/closeout 全部跳过;现在状态采集会展开到已初始化子仓库的文件级事实(含嵌套 submodule、中文/带引号路径解码、未初始化与采集失败时如实报错不吞证据),合法子仓库写入正常进入验证链,真实越界仍按文件精确拦截,无 submodule 仓库行为字节级不变。
|
|
133
|
+
|
|
134
|
+
- Console 新增「暮色蓝」深色和「雾光白」浅色主题。主题选择会被记住,浏览器存储不可用时仍可在当前页面切换。
|
|
135
|
+
- Operator Chat 新增「上下文洞察」面板,可通过 `/context` 或详情栏「洞察」查看上下文构成、趋势、token、缓存、费用、耗时,以及剪枝和压缩记录。
|
|
136
|
+
- `/sdd-bingo` 会显示上报的 Skill 和 Session ID,并在轨迹中保留可复制的会话身份。
|
|
137
|
+
|
|
138
|
+
### 改进
|
|
139
|
+
|
|
140
|
+
- Operator Chat 输入框下方的会话统计对齐 DSH:长串静态文字收敛为两个可点击摘要,可分别查看模型/工具用时、TTFT、TPS 与 Token 分项;详情卡互斥并支持外部点击或 Escape 关闭,窄屏打开时不会推动输入框或消息流。
|
|
141
|
+
- Operator Chat 长会话新增完整轮次轨道与按需历史定位,可从任意用户消息精确新建会话;历史图片刷新后仍可预览,仓库文件链接可直接定位到行,最终回答显示单轮 token/耗时,并支持可持久化的紧凑/完整阅读模式。图片文件与消息记录分离保存,删除、分叉和失败回滚会同步清理,附件读取重新校验类型与引用。
|
|
142
|
+
- 本地分支合并默认只执行与影响面匹配的定向测试、类型检查、构建和治理检查;完整测试推迟到 push 或完整交付前,并通过 receipt、`verify:tree` 或 pre-push 在最终 tree 上只执行一次。发布与推送门禁仍包含 I/O-heavy 测试。
|
|
143
|
+
- Operator Chat 重新整理消息时间线:思考、工具、重试、命令和回答按实际顺序展示,工具调用不再被误标为“未识别事件”,未知事件只显示简短摘要。
|
|
144
|
+
- 用户发送消息后会立即看到“正在思考”。请求上下文、模型步骤和生命周期事件不再混入消息数量或干扰主要对话。
|
|
145
|
+
- 只有正常完成且存在最终回答的轮次才会自动折叠过程。停止、失败或只有部分回答时,已有内容仍保留在过程区。
|
|
146
|
+
- 主时间线、轨迹页和 HTML 导出采用相同的消息顺序与折叠结果,实时插入新事件时不再造成思考或工具行跳动。
|
|
147
|
+
- 断线重连会自动补回缺失消息,并避免把正常的历史回放误判为连接故障。
|
|
148
|
+
- 移除工作区只会将其会话从侧栏和搜索中隐藏,不会删除目录或运行记录;重新添加同一路径即可恢复原有会话。
|
|
76
149
|
|
|
77
150
|
### 修复
|
|
78
151
|
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
- 修复 Operator Chat 消息流的六处实际使用问题:
|
|
84
|
-
- **回复被吞**:断线/重连(含每 25 秒的 SSE 事件窗口轮转)后,保留事件里已经生成的正文会在事件流恢复时重新应用到对应回合,不再被静默丢弃;仅当该回合已有更新内容时才跳过,避免重复气泡。
|
|
85
|
-
- **用户输入消失或重复**:新消息发送后会在每一帧模型输出中持续显示,不再等回复结束才重新出现;服务端确认后,提交回滚(排队抢占、被拒绝、连接失败)不再删掉已确认的消息;确认帧到达时会原地合并临时消息与会话快照,不再重复显示同一条输入。
|
|
86
|
-
- **回复重复**:上下文溢出自动压缩并重新生成后,被打断的旧回复会被取代,不再与重新生成的回复同时显示。
|
|
87
|
-
- **只有思考没有正文**:模型回复以工具调用或思考结尾时,正文会作为回答显示,不再被折叠进「过程」区。
|
|
88
|
-
- **空气泡误删**:只包含思考或工具内容、正文为空的回合不再被清理掉。
|
|
89
|
-
- **停止语义**:被停止中断的工具调用显示「已停止」,不再显示为「出错」并强制展开、计入「N 次出错」。
|
|
152
|
+
- 修复 macOS/Linux 开发路径在 Windows 暴露的三类兼容问题:前端组合验证夹具不再依赖 POSIX 单引号;无 `.gitmodules` 的仓库不再把 Git 空结果误判为启动失败;定时任务用 Git 规范化内容生成稳定树指纹,CRLF checkout 不再造成虚假 evidence drift。托管任务路径与嵌套 submodule 测试也统一使用跨平台路径语义。
|
|
153
|
+
- 切换会话后,旧会话尚未确认的输入不会再出现在新会话中。
|
|
154
|
+
- 修复 Windows 上 Pi 节点在没有提交改动时误报“文件在打开期间被替换”的问题,同时保留原有文件安全检查。
|
|
155
|
+
- 工作流现在能识别 Git submodule 内的实际文件变化。合法写入可继续验证,真实越界仍会按文件拦截。
|
|
90
156
|
|
|
91
|
-
|
|
157
|
+
## [0.43.0] - 2026-09-14
|
|
92
158
|
|
|
93
|
-
|
|
94
|
-
- 执行记录搜索直接高亮命中文字,标识当前跳转记录;未搜索或无匹配时禁用上下箭头,清空搜索恢复原文。
|
|
159
|
+
### 新增
|
|
95
160
|
|
|
96
|
-
-
|
|
97
|
-
-
|
|
161
|
+
- `dag doctor` 正式支持 `--json`,并在同时传入时优先于 `--markdown`;默认输出保持不变。
|
|
162
|
+
- 新增统一的 `dogfood:backend` 入口。默认只检查控制器身份和发布信息,显式传入 `--execute` 才会运行真实任务。
|
|
163
|
+
- Operator Chat 支持确认后预约工作流,并在「观测 → 定时任务」集中展示状态、执行记录和验收结果。
|
|
164
|
+
- 预约会冻结执行时间、范围与预算,到点后在后台执行并把结果回传原对话。取消或失败不会删除历史记录。
|
|
165
|
+
- 新增按需工具模式:预约、执行和恢复工具常驻,其余能力按用户意图启用;发生异常时会恢复完整工具集。
|
|
166
|
+
- Operator Chat 新增共享浏览器自动化,可由模型完成导航、搜索、元素操作和截图,并在右侧「浏览器」面板同步显示;浏览器不会读写仓库文件或执行页面脚本。
|
|
167
|
+
- 共享浏览器默认使用可见外部窗口并保留右侧预览。登录态和下载保存在仓库外,危险协议仍会被拦截。
|
|
168
|
+
- 工作区设置会区分程序更新与当前仓库初始化,并逐项说明待处理文件、原因和下一步操作。
|
|
169
|
+
- `loop-agent init` 生成的 `.gitignore` 托管块新增治理目录、`scripts/` 和 `harness.json`,仍保留 `AGENTS.md` 与 `README.md`。
|
|
98
170
|
|
|
99
|
-
|
|
171
|
+
### 改进
|
|
100
172
|
|
|
101
|
-
|
|
173
|
+
- 自然语言预约只开放工作流动作和本地只读文件能力,不会在准备阶段使用终端、浏览器或扩展工具提前执行任务。
|
|
174
|
+
- 后端测试计划统一模块清单格式,并在计划阶段检查场景分区、重复路径和非法链接,格式问题可提前修正。
|
|
175
|
+
- 后端测试计划不会再为执行次数或报告存在性编造文件断言,也不会在验收阶段重复运行 pytest。
|
|
176
|
+
- 前端实现会沿用项目现有测试入口。没有测试框架时不会强制引入,新旧测试一旦存在仍必须执行。
|
|
177
|
+
- 前端工作流不再要求测试标题携带 VT 编号,需求与验证目标的关系由契约记录。
|
|
178
|
+
- 没有构建脚本的合法项目可以使用实际存在的检查完成验证,不会因缺少 `npm run build` 被误判失败;lint 仍不属于该工作流。
|
|
179
|
+
- `AC1` 等验收编号会统一规范为 `AC-1`,非法格式的错误信息会直接说明预期写法。
|
|
180
|
+
- 计划声明的必需交付物只检查文件是否存在;需求由交付物或测试覆盖时不再误报范围违规,真正超出声明范围的写入仍会被拦截。
|
|
181
|
+
- 前端计划会合并重复需求编号,并修正 Mock 策略提示中的冲突约束,减少无法自行恢复的计划失败。
|
|
182
|
+
- 大小任务都按实际模型容量组织计划材料,减少因固定字节门槛造成的不必要分片。
|
|
183
|
+
- Operator Chat 可在未执行 `loop-agent init` 的仓库中重试网络波动和 502 等瞬态故障;认证、权限和配额错误仍会立即返回。
|
|
184
|
+
- 设置弹窗优先展示当前工作区,窄屏导航改为横向排列,只剩合并或确认事项时不再显示无效更新按钮。
|
|
185
|
+
- 侧边栏会清楚标出当前工作区和会话,使用浅色主题标记且不会被悬停样式覆盖。
|
|
186
|
+
- `ask_user_question` 工具卡改为可读的问答视图,显示回答进度,不再直接暴露 JSON。
|
|
187
|
+
- 用户消息、过程折叠和工具卡的配色、间距与排序规则统一,对话在刷新和重连后仍保持原有顺序。
|
|
188
|
+
- 待发送消息会插入正确的历史位置。服务端确认后会就地替换临时消息,不再出现重复气泡。
|
|
189
|
+
- Operator Chat 浏览器面板可直接访问本地开发服务,危险协议和无法嵌入页面的安全出口保持不变。
|
|
190
|
+
- 节点侧栏会直接显示失败尝试的简要原因,下拉菜单不再被工具栏遮挡。
|
|
102
191
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
192
|
+
### 修复
|
|
193
|
+
|
|
194
|
+
- 后端用例审查完成修改后,即使模型漏写状态行也可以正常结束;空改动、越界写入和阻断状态仍会被拒绝。
|
|
195
|
+
- 前端验证可在 Bash 包装命令中正确生成测试报告,已完成的行为验证不再因报告缺失而失败。
|
|
196
|
+
- 修复前端计划无法提交实施步骤、最终审查猜错范围,以及重复需求导致计划阶段中断的问题。
|
|
197
|
+
- 修复前端 Mock 策略、测试名称和构建要求相互冲突时造成的反复失败。
|
|
198
|
+
- 修复 Operator Chat 中用户消息漏显示、重复分组、历史加载后滚动跳动,以及删除会话后旧请求重新出现的问题。
|
|
199
|
+
- 修复跨会话输入污染和快速重复提交:草稿、附件与输入历史按会话隔离,相同内容的连续双击只会发送一次。
|
|
200
|
+
- 前端设计审查只依据已提交的最终结论决定是否允许写入,具体修改意见仍会完整保留。
|
|
201
|
+
|
|
202
|
+
### 破坏性变更
|
|
203
|
+
|
|
204
|
+
- 定时任务默认改为在当前项目目录执行,不再自动创建 worktree 或重复初始化;执行前仍会检查干净的 Git 基线和写入范围。
|
|
205
|
+
- Pi 模式默认不再注入初始化治理内容和内置 Skills;可通过 `/skills:<name>` 手动调用,也可以显式重新开启自动注入。
|
|
206
|
+
|
|
207
|
+
## [0.42.1] - 2026-09-09
|
|
208
|
+
|
|
209
|
+
### 新增
|
|
210
|
+
|
|
211
|
+
- Pi 模式支持 `/goal` 持续目标,可在会话中创建、编辑、暂停、恢复和清除。只有显式启动的目标会自动续跑,并受轮次上限约束。
|
|
212
|
+
- Console 右侧栏新增「浏览器」,支持地址输入、前进、后退、刷新和跳转系统浏览器;页面默认在无法访问 Console 数据的沙箱中打开,也可以临时解锁,危险地址仍会被拦截。
|
|
213
|
+
- Operator Chat 新增源码管理,可查看状态和差异、暂存或撤销暂存、放弃更改、提交、切换分支以及推拉代码。
|
|
214
|
+
- Operator Chat 新增持久终端,可在右侧「终端」面板查看、接管、中断并继续模型使用的 shell。
|
|
215
|
+
- Windows 用户可选择 PowerShell、Bash 或 CMD,CMD 会显示熟悉的提示符和启动信息。
|
|
216
|
+
- 具备 Aimax 凭据时,Operator Chat 中的 Skills 可以直接使用对应认证;凭据无效时不会注入错误信息。
|
|
109
217
|
|
|
110
218
|
### 改进
|
|
111
219
|
|
|
220
|
+
- 502、503、Bad Gateway 等网关故障会按上游暂时不可用处理并自动重试,不再误判为模型不兼容。
|
|
221
|
+
- 前端验证会按每条命令的真实退出结果判断成功与否,未声明的 lint 不会被虚构为已执行。
|
|
222
|
+
- 恢复运行会保留节点写入自身目录外的运行产物,避免因基线或报告丢失而必然失败。
|
|
223
|
+
- 前端计划会在执行前检查所有静态验证是否都有对应目标,遗漏项可在计划阶段修正。
|
|
224
|
+
- 认证、限流、配额和网络错误只依据实际进程错误判断,不会再被模型正文或工具参数误导。
|
|
225
|
+
- 同时新建任务并导入需求文档时,不会再因“任务已存在”卡住流程。
|
|
226
|
+
- `dag rerun --from-node` 可用于符合安全条件的前端运行,硬预算模板仍不支持这种重跑。
|
|
227
|
+
- 对话内容、人工确认、任务活动和产物卡片会绑定到所属工作区,旧链接也会先定位真实记录,避免误入其他工作区。
|
|
228
|
+
- 侧边栏统一为一个「新会话」入口。空白会话可选择工作区和模式,有历史后选择器自动收起。
|
|
229
|
+
- 取消后的部分回复不会再被标记为成功,认证、限流和策略失败也不会被容量恢复逻辑掩盖。
|
|
230
|
+
- 长会话的输入、流式回答和工具卡更新更流畅,不会因历史内容增多而反复重绘整段对话。
|
|
231
|
+
- 完成的回复会直接折叠过程,Ctrl+F 命中折叠内容时会自动展开,并支持系统“减少动态效果”设置。
|
|
232
|
+
- Pi 节点遇到输出截断时会在原会话内最多续跑 3 次,保留已完成内容;仍未完成时再按原策略重试。
|
|
233
|
+
- 大型前端计划会保留已提交结果并只补齐缺失部分,减少超限后从头开始的情况。
|
|
234
|
+
- 前端冻结阶段的覆盖并发上限可设为 1–4,默认 4;限流后会降低后续并发。
|
|
235
|
+
- 观测台会优先展示失败原因,日志支持搜索、错误筛选、下载和“回到底部”,并记住各次执行的阅读位置。
|
|
236
|
+
- 检查器会隐藏没有内容或不适用的入口,任务筛选和历史分页也会保留当前阅读状态。
|
|
112
237
|
|
|
238
|
+
### 修复
|
|
113
239
|
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
120
|
-
-
|
|
121
|
-
-
|
|
122
|
-
-
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
- 前端 Micro/Small shape 路由不再把 `test/`、`e2e/`、`docs/` 等验证或文档根目录误计为业务跨域;`src/**` + `test/**` 的局部 UI 改动现在可以正确命中轻量拓扑,真实跨包路径仍保持升级。
|
|
126
|
-
- 修复前端 Plan 漏读独立行为证据、重试丢失已重新录入的 UX 名称的问题;必交付文件改由 Contract 显式声明并绑定原始来源,避免把允许修改或参考路径误判为交付义务。缺失交付物和 UX 名称冲突现在可在 Plan 提交前发现并修正,发布 schema 同步支持组件覆盖与复用证据字段。
|
|
127
|
-
- 修复前端 DAG 的 Plan 按 AC 分片重复发明同一批需求、交互和 UI 状态的问题:Contract 的 canonical requirement 文本与来源片段改由 runtime 从冻结 ledger 写入,Plan 先基于全部需求提交一次全局 UX registry,再在单一全局 UX 会话中建模组件、状态和交互;来源声明的 UI 状态必须完整闭合,复用既有组件必须提供真实存在的文件证据,交付文件完整性与逐状态/交互组件覆盖由确定性 gate 校验。
|
|
128
|
-
- 修复顶部一级「观测」入口被恢复工作区残留的 DAG 或上次观测对象劫持的问题:现在点击该入口始终回到当前 Workspace 的运行总览,具体 DAG 仍通过「全屏观测」等显式入口打开。
|
|
129
|
-
- 修复节点检查器通俗字段旁的问号只有图标、悬浮时看不到具体说明的问题;问号现在支持鼠标悬浮和键盘聚焦,并显示对应字段含义及原技术字段。
|
|
130
|
-
- Next 发布测试升级到 Vitest 4.1.11,采用上游 worker RPC 修复,避免所有断言通过后仍因 `onTaskUpdate` 通讯超时阻断发包;同时隔离会改写构建产物的 package-surface 测试,并恢复两条此前被错误嵌套、实际未执行的 Console 更新回归;发布门禁继续严格检查 unhandled errors。
|
|
131
|
-
- 前端计划契约新增确定性锚定校验(恶劣网关冒烟 4 轮 design 拒绝的主因):behavior 验证目标必须至少引用一个 requirement,且在契约声明了 UI 状态或交互时必须引用至少一个已声明的 UI 状态(纯逻辑契约豁免)。校验位于共享 schema refine,plan 节点的自修阶梯当场拿到精确到字段的报错并修复,不再烧一整轮 design-review 才发现映射缺失;`skills/frontend-plan` 决策契约参考同步补充 canonical 示例(behavior target 形态、状态名逐字引用、stylingStrategy 禁止承诺任务源非目标能力)。
|
|
132
|
-
- 修复前端 design 拒绝后自动恢复子 run 无法启动的问题(恶劣网关前端冒烟三轮复现):staging 物化 child state 时现在按 child spec 写入 `frontendShapeState` 冻结拓扑绑定(此前 execute 前的绑定断言以 `frontend topology binding is missing` 在 398ms 内 fail-closed),并把父 run 中已导入边界节点(contract/scout 等 FINISHED 导入节点)的 committed shape facts 一并继承——否则 child 会在首个 shape 门禁以 `frontend-shape-fact-invalid` 整体 SKIPPED;reset 边界由重跑节点重新提交。同时修复 recovery child runId 派生误传参导致碰撞安全后缀失效、可与已归档 run 同名的问题(默认 `buildDagRunId` 现在正确收到 `{ cwd }` options)。
|
|
133
|
-
- 修复 backend-test N2 把 provider `stopReason=length` 的截断 Markdown 计划误判为 `FINISHED`、继而延迟到 N3 `missing-module-index` 的问题:长度截断现在在 producer 节点归类为 `output-too-large`;正常结束但缺少必需 heading、Module Index 八列表/模块行或使用代码围栏时归类为 `invalid-output`。两类失败均使用有界 artifact-first retry,下一 attempt 只携带控制器生成的限长协议诊断;N3 ownership/path/模块数门禁与业务 pytest 单次执行不放宽。
|
|
134
|
-
- 可选依赖 `@agent-context/sift` 从 `0.0.1-alpha.6` 精确 pin 升级到 `0.0.1-alpha.7`:新增 `retrieveLines` 行级分片取回与省略点内联 stash 路径/起始行号(模型可直接换算 read 行号),纯文本压缩策略更保守(不同编号/状态的内容不因句式相似而合并);桥接层沿用既有 `createSift`/`siftRequest`/`retrieve` API,行为与回退开关不变,仍不投影 init。
|
|
135
|
-
- 修复后端实现 DAG Pi 扩展 resolver 无法解析版本 pin spec 的问题:`packageNameFromSpec` 现在剥除尾部 `@<version>`/`@<dist-tag>`(保留 scoped 包名开头的 `@`),与 Console 插件面语义对齐。此前 settings 中的 `npm:pi-lens@3.8.72`(Console 升级插件写入的形式)会被当作包名 `pi-lens@3.8.72`,永远匹配不上别名表,读侧节点(contract/scout/plan/verify)的 `pi-lens` 全部静默降级为 `not-installed`;`pi-extensions.json` 观测产物可鉴别此场景。
|
|
136
|
-
- 修复前端自动恢复实际重跑整棵 DAG、忽略已冻结 reset plan 的问题:恢复 operation 现在校验 operationId/lease 归属,按 parent recovery plan 导入已完成事实并只执行 reset 子图;设计拒绝缺少 typed findings 时 fail-closed;多轮 continuation 会继续注入共享 recovery controller、递增并校验完整 lineage;崩溃重放会复用 completed child;缺少已绑定 child lineage 的伪成功 operation 不再标记 recovered;rerun-task 的全局 requestId 重放会校验请求类型、父 run 与完整 payload,避免串用其它请求结果。
|
|
137
|
-
- 冒烟再暴露 writeSet 授权缺口:冻结验证命令引用的基建文件(如 `--config` 的 vitest 配置)不在 plan verification targets 内时,writer 被具体 writeSet 拦住无法创建、verify-shell 必然失败。现在 admission 生效边界确定性并入冻结命令引用的文件(机械提取、仍受 allowedPaths/forbiddenPaths 约束),writer 聚焦检查失败后可自行补齐基建文件。
|
|
138
|
-
- 前端 verification contract v2:plan 不再手写五值 `type`,改为引用生成期冻结命令目录的 `commandId`,`mode(static|behavior)` 与 `commandLabel` 由 runtime 在物化时解析——`type: component + npm run build` 这类非法组合在 Plan 工具边界(`verification-target-unknown-command`)与物化校验(`verification-target-phase-mismatch`,behavior 命令必须绑定测试文件)即被拒绝,不再拖到 writer focused-check 才以 `invalid-output` 失败;展示用的 `scope` 不参与控制流。
|
|
139
|
-
- 修复 /inspect/* 静态资源(operator-chrome.js/css、观测文档)缺少 Cache-Control 的问题:现在与 Console SPA 一律 `no-store`。此前浏览器启发式缓存会让 Console 更新/重启后继续挂旧版导航模块,表现为顶部导航「回退」到只有操作/观测、缺少对话入口的旧版布局。
|
|
140
|
-
- 新建、删除和切换对话的反馈更及时;会话列表默认展示 5 条,“展开其余会话”和“收起”也更整齐易用。
|
|
141
|
-
- 发送消息后会立即显示在对话流中,完成回合的过程摘要也更清晰,长时间等待连接时不会让输入内容消失。
|
|
142
|
-
- 文件预览支持页面内交互和独立窗口阅读,大型 HTML 内容也能完整打开。
|
|
143
|
-
- 模型配置更新后,继续使用旧会话时会自动采用最新认证信息,消息流顺序也更加稳定。
|
|
144
|
-
- 执行记录默认跟随最新内容,也可以暂停自动滚动并保留当前阅读位置。
|
|
145
|
-
- 任务执行、恢复和结果查看更加稳定,工作区和滚动区域的使用体验得到改进。
|
|
146
|
-
|
|
147
|
-
<details>
|
|
148
|
-
<summary>实现细节(开发者参考)</summary>
|
|
149
|
-
|
|
150
|
-
- Operator Chat 会话列表默认收敛为最近 5 条;展开与收起控件采用稳定的整行布局,折叠工作区后恢复默认列表;长历史会话改为分页加载,并在加载更早消息后保持原有滚动位置。
|
|
151
|
-
- Operator Chat 长会话增量构建活动 turn、复用已完成过程节点,并支持对已完成且无错误的历史 turn 进行 Compact,降低长消息流的渲染开销。
|
|
152
|
-
- 修复 backend-test Manifest 把模型生成的 Module Stem 展示单元格当成模块身份真源、导致 low-tier 输出(缺 `test_` 前缀或整段 Markdown 链接)在 N3 `module-markdown-path-mismatch` 反复失败的问题:N3 现在先解析唯一合法 Markdown Path 与 `<stem>.md` 相对链接作为 canonical 身份,再校验业务 ownership/split 与路径安全;Stem 单元格只作冗余展示并能确定性重写为 canonical 文件名 stem。strict `backendTest.moduleLayout` 改为先按唯一 required Markdown Path 定位模块,再恢复冻结 Markdown/Pytest path pair,避免错误 stem 提前丢弃整行,同时保留 Plan-only pytest path 修复。Markdown Path 缺失/多候选/越界或与 strict path pair 冲突、以及多行 canonicalize 后同 identity(`duplicate-canonical-module-stem`)继续 fail-closed,不再静默去重。同步加强 N2 prompt(Stem 单元格仅允许纯文件名 stem)。
|
|
153
|
-
- 修复 Next Release 的 io-heavy 测试不稳定:在保留发布单 worker、完整测试集合和严格 unhandled-error 门禁的同时,将 Vitest 升级到包含上游 RPC settlement 修复的 4.1.11,避免全绿测试因 `onTaskUpdate` timeout 退出 1;会重建共享 `dist/**` 的 package-surface 测试改由单 worker integration 池持有,避免与 controller identity 指纹检查竞态;并把误嵌套在 `dagDoctor` stub 中的 `consoleUpdateAndInit` suite 移回顶层、补齐 `workspaceId` 契约,使两条回归重新进入真实执行。
|
|
154
|
-
- 修复 backend-test 唯一 pytest collection repair 已产生受控非空修改、却因模型遗漏 `IMPLEMENTATION_OUTCOME` 而阻断整条执行链的问题:仅 N11 exact repair writer 可把完全缺失的 outcome 确定性恢复为候选 changed,随后仍必须由 N12 重新通过 scenario、correspondence、payload、collection、fixture 和 readiness 门禁;unknown/conflicting/blocked、空 diff、越界写入及 provider/context failure 继续 fail-closed。
|
|
155
|
-
- 新建和删除对话现在会立即在侧栏中反馈:新建时先显示“正在创建”,删除时平滑淡出;网络失败会自动恢复原会话,不再需要等待整张会话列表刷新后才看到变化。
|
|
156
|
-
- 新建对话会优先复用当前工作区中真正的空白会话,避免重复创建;有历史消息、工具调用、待发送内容或正在运行的会话不会被复用。
|
|
157
|
-
- 会话列表刷新现在会复用未变化的行和列表引用,标题、运行状态或队列变化时只更新对应会话,侧栏切换和刷新更平滑。
|
|
158
|
-
- Operator Chat 新增仅对具备 Aimax 凭证的用户可见的 `/sdd-bingo` 数据对齐命令;`wizard-local` 模型请求会自动携带与上报一致的 OpenCode 风格会话身份、当前模型和最新 API key,请求头与资格文件变更均在下一次操作自动生效。
|
|
159
|
-
- DAG 节点检查器的「执行记录」默认自动跟随最新内容;右下角新增纯图标悬浮开关,可显式暂停并保留阅读位置,恢复后立即回到底部,悬停时显示当前可执行动作。
|
|
160
|
-
- 修复前端任务产物派生续跑无法识别当前节点链的问题;从实现节点继续时,设计约束、写入准入、验证和收尾步骤会按现行流程安全重放。
|
|
161
|
-
- 统一工作区、Todo 和其他滚动区域的滚动条样式,默认更轻巧,鼠标悬浮时也更容易辨认。
|
|
162
|
-
- HTML 文件预览现在支持页面内的标签切换等交互;较大的自包含 HTML 可以在新窗口中直接完整加载,不再受源码摘要长度影响。
|
|
163
|
-
- 修复 Operator Chat 长工具链的消息错序:模型过程文字、思考和工具卡片现在按服务端事件顺序稳定交替展示,刷新历史会话后也保持相同顺序。
|
|
164
|
-
- 修复 Operator Chat 旧会话继续使用过期模型认证的问题:模型配置变化后,下一轮发送或手动重新加载会自动刷新模型目录和当前模型认证。
|
|
165
|
-
|
|
166
|
-
</details>
|
|
240
|
+
- 修复侧栏菜单遮挡 Pi、工作流徽章和相对时间的问题。
|
|
241
|
+
- 修复新建 Pi 会话发送消息后被错误显示为工作流的问题。
|
|
242
|
+
- 手动压缩上下文后会直接更新当前消息流,不再清空并重绘整段历史。
|
|
243
|
+
- 修复右侧栏展开按钮遮挡“运行活动”提示的问题。
|
|
244
|
+
- Operator Chat 在重连后会补回已生成的回答,用户输入和重新生成的回答也不会重复显示。
|
|
245
|
+
- 以工具调用或思考结束的回复仍会保留可见正文,只包含过程内容的轮次也不会被误删。
|
|
246
|
+
- 用户停止的工具调用会显示“已停止”,不会被误计为错误。
|
|
247
|
+
- 更新需求后只认可匹配当前契约的运行结果,旧成功记录不会阻止重新执行。
|
|
248
|
+
- 前端重试会沿用首次确定的需求范围,不会重复处理已完成内容;计划损坏或范围变化时会保留证据并停止执行。
|
|
249
|
+
- 恢复运行会检查工作区变化是否影响已复用节点,无法确认安全时仍会阻断。
|
|
250
|
+
- 子目录中的 Vitest 结果会统一转换为仓库相对路径,已通过的测试不再被误判为未执行。
|
|
167
251
|
|
|
168
|
-
|
|
252
|
+
### 已知限制
|
|
253
|
+
|
|
254
|
+
- 前端设计审查仍不能在审查节点内直接修改计划;发现设计问题时会沿用拒绝并恢复的流程。
|
|
255
|
+
- 大需求可以提前识别需要拆分的交付范围,但自动创建子任务的链路尚未开放。
|
|
256
|
+
|
|
257
|
+
## [0.42.0] - 2026-09-07
|
|
258
|
+
|
|
259
|
+
### 重点更新
|
|
260
|
+
|
|
261
|
+
- Operator Chat 新增只读 Explore 子 Agent,可委派代码搜索、符号查找和调用链分析;主回合停止时,子任务也会停止。
|
|
262
|
+
- 前端实现工作流增强了规划、重试和恢复能力,默认重试次数从 3 次提高到 5 次。
|
|
263
|
+
- 前端验证会使用计划中确认的实际命令,非法组合会提前报错,验证所需配置文件也会自动纳入允许范围。
|
|
264
|
+
- 后端测试计划在输出截断、结构缺失或模块路径不一致时会给出可重试诊断,不再把不完整计划误判为完成。
|
|
265
|
+
- 重复提交相同契约会直接复用当前版本和已批准结果,不再重复执行完整审批流程。
|
|
266
|
+
- 工具参数预览上限提高到 4000 字,并支持展开查看,长任务说明不再因截断产生误解。
|
|
169
267
|
|
|
170
268
|
### 改进
|
|
171
269
|
|
|
172
|
-
-
|
|
270
|
+
- DAG 退出诊断不会再影响其他并发任务,退出码会反映真实结果。
|
|
271
|
+
- `dag rerun --from-node` 会在工作区变化全部属于重跑范围时继续执行,其余输入漂移仍会被阻断。
|
|
272
|
+
- 被取代的运行可以作为局部重跑来源,已完成的只读步骤可直接复用。
|
|
273
|
+
- 前端计划会保留已完成需求并补齐剩余范围,输出截断会按可重试问题处理。
|
|
274
|
+
- 中高复杂度前端任务可以并行收集信息并按稳定顺序合并结果,缩短规划等待时间。
|
|
275
|
+
- 相同的验证命令会在一次执行中复用结果,避免静态检查、行为测试和 Mock 验证重复启动。
|
|
276
|
+
- 局部修改同时涉及 `src/`、`test/`、`e2e/` 或 `docs/` 时,不再被误判为跨包大改。
|
|
277
|
+
- 前端计划会提前检查交付文件、界面名称和行为验证目标的引用关系,具体缺失项可在提交时修正。
|
|
278
|
+
- 顶部「观测」入口始终返回当前工作区总览,不会被上次打开的运行劫持。
|
|
279
|
+
- 节点检查器中的问号支持鼠标悬停和键盘聚焦,并显示对应字段说明。
|
|
280
|
+
- 发布测试更加稳定,断言通过后不会再因测试进程通讯超时阻断发包。
|
|
281
|
+
- `npm:pi-lens@3.8.72` 这类带版本号的扩展声明可以被正确识别。
|
|
282
|
+
- 新建、删除和切换会话会立即反馈,历史会话支持分页加载并保留滚动位置。
|
|
283
|
+
- 文件预览支持页面内交互和独立窗口阅读,大型 HTML 文件也可以完整打开。
|
|
284
|
+
- 模型配置更新后,旧会话下一轮会自动使用最新认证信息。
|
|
285
|
+
- 执行记录默认跟随最新内容,用户上翻后会暂停,并可随时回到底部。
|
|
173
286
|
|
|
174
287
|
### 修复
|
|
175
288
|
|
|
176
|
-
-
|
|
289
|
+
- 修复前端规划提前停止后重复创建会话、重复生成需求,以及设计被拒后无法启动恢复流程的问题。
|
|
290
|
+
- 修复恢复流程误跑整棵 DAG 的问题;恢复只执行确定的范围,并复用已经完成的结论。
|
|
291
|
+
- 修复后端测试模块显示名称影响模块身份判断,以及有效收集修复因缺少结果声明而中断的问题。
|
|
292
|
+
- 修复 `/inspect/*` 使用旧缓存导致顶部导航缺少对话入口的问题。
|
|
293
|
+
- 修复 Operator Chat 中用户消息等待回复时暂时消失、工具链顺序错乱和旧会话继续使用过期认证的问题。
|
|
294
|
+
|
|
295
|
+
## [0.41.3] - 2026-09-04
|
|
296
|
+
|
|
297
|
+
- 本版本没有用户可见的功能变化,仅修正版本号和发布说明。
|
|
177
298
|
|
|
178
299
|
## [0.41.2] - 2026-09-04
|
|
179
300
|
|
|
180
301
|
### 修复
|
|
181
302
|
|
|
182
|
-
-
|
|
183
|
-
-
|
|
303
|
+
- 修复 DAG 扩展解析和会话恢复问题,重启后可以继续使用原有任务与会话。
|
|
304
|
+
- 修复观测页面资源缓存和入口偶发失效问题,升级后刷新即可加载当前版本。
|
|
184
305
|
|
|
185
306
|
## [0.41.1] - 2026-09-02
|
|
186
307
|
|
|
187
308
|
### 修复
|
|
188
309
|
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
193
|
-
- 改进 HTML 文件预览,支持页面内交互和独立窗口完整阅读。
|
|
194
|
-
|
|
195
|
-
### 测试
|
|
196
|
-
|
|
197
|
-
- Pi MED 档测试改为校验模型档位形状,避免具体模型切换造成误报。
|
|
310
|
+
- 模型配置更新后,旧会话会在下一轮发送或手动重新加载时使用最新认证信息。
|
|
311
|
+
- 长工具链中的思考、过程文字和工具卡片会按实际发生顺序展示,刷新历史会话后顺序也不会改变。
|
|
312
|
+
- 工作区、Todo 和其他滚动区域采用一致的轻量滚动条,鼠标悬浮时更容易辨认。
|
|
313
|
+
- HTML 文件预览支持页面内交互;较大的自包含页面也可以在新窗口中完整打开。
|
|
198
314
|
|
|
199
315
|
## [0.41.1-beta.0] - 2026-08-31
|
|
200
316
|
|
|
201
317
|
### 用户可见更新
|
|
202
318
|
|
|
203
|
-
-
|
|
204
|
-
-
|
|
205
|
-
-
|
|
206
|
-
|
|
207
|
-
实现细节与逐项变更记录(开发者参考)见 [`docs/reports/dogfood/2026-08-31-0.41.1-beta.0-implementation-details.md`](docs/reports/dogfood/2026-08-31-0.41.1-beta.0-implementation-details.md)。
|
|
319
|
+
- 前端自动化任务从规划到验收更加稳定,失败后可以从已有进度继续处理。
|
|
320
|
+
- 长任务和复杂工作区中的进度、文件与运行结果更容易查看。
|
|
321
|
+
- 插件管理、文件预览和任务详情等常用操作更加顺手。
|
|
208
322
|
|
|
209
323
|
## [0.41.0] - 2026-08-31
|
|
210
324
|
|
|
211
325
|
### 新增
|
|
212
326
|
|
|
213
|
-
-
|
|
327
|
+
- 后端测试可通过 `backendTest.executeTimeoutMs` 为单次 pytest 或 HTML 执行设置 1 分钟到 2 小时的超时;未配置时仍为 5 分钟。
|
|
214
328
|
|
|
215
329
|
### 改进
|
|
216
330
|
|
|
217
|
-
-
|
|
331
|
+
- 对话中的长时间 DAG 会持续显示运行时间、当前阶段、完成进度和最近一次有效进展,点击状态即可打开对应运行。
|
|
332
|
+
- 「Pi 插件」安装页会在获取版本时显示进度;内网访问较慢或失败时可以直接重试,不会阻塞其他操作。
|
|
218
333
|
|
|
219
334
|
### 修复
|
|
220
335
|
|
|
221
|
-
-
|
|
336
|
+
- DAG 节点导出的「执行过程」HTML 在深色模式下保持清晰可读,在反向代理或子路径部署时也能完整加载样式。
|
|
337
|
+
- 「Pi 插件」在企业 npm 镜像下可以正常获取作用域包的版本列表。
|
|
222
338
|
|
|
223
339
|
## [0.40.0] - 2026-08-31
|
|
224
340
|
|
|
225
341
|
### 重点更新
|
|
226
342
|
|
|
227
|
-
-
|
|
228
|
-
-
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
-
|
|
343
|
+
- Console 对话页新增「轨迹」视图,按真实顺序展示用户消息、模型过程和最终回复,并可展开、收起或导出自包含 HTML。
|
|
344
|
+
- 「轨迹」视图会显示系统提示词、工具目录、步骤数、耗时和 token 成本,刷新页面后统计仍会保留。
|
|
345
|
+
- Operator Chat 和 DAG 默认在接近模型上下文上限时先压缩再继续请求,遇到网关返回的上下文过大错误也会自动恢复。
|
|
346
|
+
- 「Pi 插件」成为独立页面,支持搜索、分页、选择版本以及一键安装或卸载,并兼容企业 npm 镜像。
|
|
347
|
+
- Operator Chat 新增持续目标模式,可用 `/goal` 创建跨回合目标,并暂停、继续、编辑或清除;刷新或重启后目标仍会保留。
|
|
348
|
+
- Console 支持同时管理多个工作区,会话始终归属创建它的工作区;移除工作区不会删除其中的会话。
|
|
349
|
+
- `--help` 会直接显示真实用法,`task advance`、`task status`、`dag` 和 `task source prepare` 的参数说明也已补齐。
|
|
234
350
|
|
|
235
|
-
###
|
|
351
|
+
### 新增
|
|
236
352
|
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
240
|
-
-
|
|
241
|
-
-
|
|
242
|
-
- DAG 节点检查器「节点输出」在整段内容为完整 JSON 对象或数组时改为缩进代码块展示,不再把紧凑 `JSON.stringify` 挤成一段 Markdown 段落;截断或非法 JSON、普通 Markdown 仍走原阅读器。
|
|
243
|
-
- frontend DAG 的 materialized source references 恢复统一的有界 excerpt 与按需 read 指针,不再把 requirement/acceptance 文档全文复制进每个相关节点,也不再强制 contract/plan 重读全部绑定源文件,降低长需求在多节点中的重复上下文占用。
|
|
244
|
-
- frontend-test prepare-package 会从 `docs/templates/`、`harness.json` `governanceRoot`/templates 以及 init 投影的 `ai_workspace/loop-agent/templates/` 拷贝标准场景;full init 目标仓不再静默落到仅含 `STD-FE-SMOKE-ENTRY` 的 fallback。
|
|
245
|
-
- frontend-test 环境探测区分 connection-refused(curl 7)与 HTTP 4xx/5xx,并提示先启动本地前端后再从 probe 节点续跑;不再把所有不可达都写成同一句 `frontend-base-url-unreachable`。
|
|
246
|
-
- frontend-test 报告解析用例 Markdown 的 `##`/`###` 标题与有序列表(`测试步骤` / `预期结果` / `前置条件与重置`);缺 `测试目的` 时回退到用例 H1,避免主 HTML 出现空步骤。
|
|
247
|
-
- `dag rerun --from-node` 把尚未启动的 writer/map 视为首次执行;frontend-test probe 这种失败的 exclusive shell 可以带着下游未跑节点续跑,不必整图 `standaloneTaskRerun`。
|
|
248
|
-
- Pi SDK 节点在 stall watchdog(默认 15 分钟无 provider 活动)触发后,会先 abort 当前等待,并在同一会话自动发送一次「继续」;仅 abort 已确认且尚未调用 write 工具时恢复,失败仍判 timeout。绝对墙钟超时与 CLI 后端不走这条恢复。
|
|
249
|
-
- DAG 节点检查器「执行过程」时间线默认隐藏原始协议事件(`message_start` / `message_end`),按钮文案为「展开原始协议事件」;用户可点选展开,同会话内选择会保持。
|
|
250
|
-
- Operator Chat 的乐观停止现在把“视觉已停止”和 Turn ownership 分开:Abort 获得可靠终态前明确显示“正在停止”,此时可为原会话保存一条服务端持久化的“停止后发送”消息;后一次覆盖前一次,切换会话、刷新页面或 Console 重启不会丢失,旧 Turn 结束后复用正常 Turn 准入路径自动发送,并以固定 `clientRequestId` 防止重复执行。
|
|
251
|
-
- Operator Chat 修复快速终止时“停止后发送”与普通发送之间的准入空洞:发送路径改读实时 ownership;若 deferred 请求恰好撞上旧 Turn 终态,会先按服务端状态对账,再使用同一 `clientRequestId` 自动转为普通发送,不再要求用户刷新重试或丢失本次提交。
|
|
252
|
-
- `dag rerun-task` 现在会把父 run 最后一轮仍未解决的 `verify-pi` / review 反馈、证据引用和修订轮次带入新完整 DAG;planner、implementer 与 verifier/reviewer 必须修复或举证说明不再适用,不能仅因文件已存在就返回 `already-satisfied`。Console 同步区分「自动修订」「从失败节点恢复」「带反馈重新执行任务」。
|
|
253
|
-
- DAG 恢复与治理收敛收窄为两条最小路径:标准治理 `request-revision` 仅在 `maxFixLoops > 0` 时同 run 回到 `implement-pi`;writer 遇到 `unavailable` / `network` / `rate-limit` / `timeout` 时,`dag rerun --from-node` 重跑 writer 本身及安全下游,不再把 parent `ERROR` 改写成 `FINISHED`,任意自定义 shell 也不能仅凭 `verifyEvidence` 获得续跑资格。
|
|
254
|
-
- `frontend-plan-pi` 改为 runtime skeleton + editable RFC 7386 patch:`schemaVersion`、source binding、risk、writer target files 与生产 Mock 安全位由 DAG 冻结且不可被 plan/revision 覆盖;节点 validator 将补丁编译为 canonical 完整契约后再交给 review/prewrite,并在 `contracts/candidates/<nodeId>/` 保存每次 raw/extracted/normalized/validation 证据。任务提示与三类结构化重试(invalid-output / provider length 截断 / output-too-large)同步收敛为单一 patch + 唯一 `openspec-citations`;无法在声明文件中解析的可选 verification symbol 会被确定性移除并留下 normalization action,避免格式冲突、完整契约重复输出和说明性 symbol 延迟到 trace 才失败。
|
|
255
|
-
- Operator Chat 恢复工具对齐真实能力:系统提示改用 `dagReport` / `dagRerunPlan` / `dagRerun` / `standaloneTaskRerun` / `workerTaskRetry` 真名,不再写 `operator_*` 或把 `dagResume` 当成模型可执行项;`dagDoctor` / `dagStatus` / `workerPoolDoctor` 改为 typed `runId`/`taskId`,不再让模型猜 CLI `args[]`。ADR 0013 自定义 base prompt 上限由 1900 统一调整为 2500(2026-08-18,废止 0.8×2498 比例),预算用于写清节点续跑 / 整单重生 / Worker 重排队分流,以及多轮迭代恢复纪律(先一句话总结上一轮错误、修根因不修症状、禁止原样重交、同错两轮后停下报告)。
|
|
256
|
-
- Operator Chat 模型工具面收敛:`advanced` 分类的命令(workflow/loop/benchmark/knowledge-graph 等 8 个只读低频入口)不再进入模型工具白名单,模型注意力集中到高频工具;保留的 27 个 model-callable 官方 CLI 动作全部换上「做什么 + 何时用」语义描述,不再是无信息的 `Official CLI action coverage for ...` 模板;dispatcher 对官方尾部动作的识别从描述前缀匹配改为结构化 `OFFICIAL_TAIL_ACTION_IDS` 集合判断。审查收口:`knowledgeCurate` 纠正为 `mutation`/`advanced`(条件写盘,移出模型面,防经 read 通道传 `--output` 写盘);`promoteRun`/`closeoutTask` 描述去掉 dispatch 不保证的生命周期断言,如实标注为 task-advance 别名并提示先核 run/任务状态。工具清单渲染修复:promptSnippet 去掉重复工具名前缀(SDK 渲染自带 `- name:`,原实现名字出现两遍);`inspect`/`status`/`spineCheck`/`sourceInstructions` 四条占位描述换成语义描述;task-advance 家族(`newTask`/`dagRunTask`)标注与标准流 `taskAdvance` 的关系,避免模型在 5 个相似入口间选错。可调用性修复:`observeLink` 补上 4 个可选参数 schema(dagRunId/taskId/featureId/workerRunId,原空 schema + additionalProperties:false 导致模型传参必被拒、工具名存实亡);Pi 工具参数 schema 现在携带注册表里的参数描述(Type.String/Boolean/Number/Array 注入 `description`,原实现丢弃参数描述、模型只能看到参数名)。
|
|
257
|
-
|
|
258
|
-
- Operator Chat 对齐 pi-web:建会话不再传封闭 `tools` 白名单(避免 SDK 把扩展 MCP 工具滤出 registry),创建后 `bindExtensions` 发 `session_start`,再钉激活集。扩展注册的 MCP 工具可被模型调用;`apply_patch` / `full-tools` / `shell` / `coding-chat` 仍排除。
|
|
259
|
-
- 对话侧栏 Plugins 右侧新增只读 MCP 弹窗:展示 `mcp.json` 配置的服务,以及当前会话真正注册/激活的 MCP 工具;没有配置也没有工具时保持真实空态。
|
|
260
|
-
- 对话侧栏原 Packages 入口改名为 Plugins,与 pi-web / Pi 用户面一致;内部仍是 package inventory。
|
|
261
|
-
- 对话进行中底部上下文占用百分比保持常驻:token 用量事件不再冲掉上一帧的 contextUsage,并在回合中持续刷新。
|
|
262
|
-
- 上一轮大量 bash 结束后再发新消息,旧工具条不再整批挂到新气泡下面:无主工具不再丢进最新一组,历史按完整回合裁切,空助手气泡若还挂着工具会留下来当锚点。
|
|
263
|
-
- 侧栏文件树点击目录行直接插入 `@目录/` 引用(箭头单独负责展开/收起);输入框 @ 补全也列出目录,排在文件前面。
|
|
264
|
-
- 对话进行中点「停止」立即安静下来(乐观停止,对齐 pi-web):不再等 POST /abort 往返;后端 abort 等待从 8s 降到 2.5s,未终结时由状态对账收敛。
|
|
265
|
-
- 侧栏文件树实时刷新:agent 回合结束、浏览器标签页回到前台、手动点「刷新」时重拉根目录+全部已展开目录(此前手动刷新只拉根目录,子目录永远旧缓存)。
|
|
266
|
-
- Skills / Packages / Models 面板不再把 Pi 的 warning / collision 原文堆在列表上方:改成标题条一颗摘要芯片(如「14 条提示」),点开按「需要处理 / 名称不规范 / 同名未生效」分组,文案用自然语言,路径只显示末两段;名称不规范的技能在列表旁标「提示」,详情里说明「现在这样也能用」。加载失败仍单独成组,可点「再读一次」。
|
|
267
|
-
- Skills / Packages 双栏改为左右各自滚动;资源弹窗挂到 `document.body`,按顶部对话导航的实时高度在剩余视口居中,不再被 sticky 顶栏挡住上沿。
|
|
268
|
-
- 标准、评审和监督型 DAG 现在会在当前运行中重试短暂的验证故障;写入节点只有在确认工作区完全未变更时才会重试,避免因网络波动重新执行整条任务。
|
|
269
|
-
- 后端测试支持自定义目录、公共前置说明、查询场景分区和增量补缺模式;相关布局可通过 `task advance --backend-test` 纳入受管任务契约,不再需要手工修改 `task.json`。
|
|
270
|
-
|
|
271
|
-
- 裸 `agent-worker console` 在 listen 前会按本机自然日询问一次 npm `latest` 升级;继承当前 npm registry,失败不阻断启动,Console URL 仍只写 stdout。
|
|
272
|
-
- npm `next` 发布成功后会更新 `npm-next` 分支锚点;可用 `loop-agent inspect next` 查看已发布版本、源码提交、构建时间和本地尚未发布的提交。
|
|
273
|
-
- Operator Chat 的文件预览可在新窗口中打开,并可切换排版预览与原始内容;弹窗被浏览器拦截时会保留当前抽屉并给出提示。
|
|
274
|
-
- Pi SDK 的会话事件可透出模型明确返回的结束原因,便于诊断截断、停止和异常结束。
|
|
275
|
-
|
|
276
|
-
- 初始化模型配置新增 Pi/OpenCode 脱敏目录:代码只暴露白名单模型元数据和凭据就绪状态,执行初始化的模型结合目标项目自主选择并直接写入 LOW/MED/HIGH;只有实质歧义才询问用户。
|
|
277
|
-
- npm `next` 自动发布改为每累计 5 个提交触发一次,减少无意义构建;手动发布仍可随时执行。
|
|
278
|
-
- `dag rerun-task` 会继承上一轮尚未解决的验证和评审反馈,避免新一轮忽略旧问题或误判为已经完成。
|
|
279
|
-
- DAG 恢复入口会根据失败类型区分“从节点继续”和“完整重跑”,并避免把失败节点改写成成功状态。
|
|
280
|
-
- Operator Chat 停止会话时会显示真实进度;用户可预先提交一条“停止后发送”的消息,刷新页面或重启 Console 也不会丢失。
|
|
281
|
-
- Operator Chat 的命令说明和参数提示与实际能力保持一致,减少选错恢复入口或误用占位参数。
|
|
282
|
-
- 测试套件按 CPU、内存、平台和当前 DAG 压力动态分配资源,并减少重复启动进程,完整验证耗时更稳定。
|
|
283
|
-
|
|
284
|
-
- Operator Chat 发送前会在接近模型窗口时主动压缩,压缩失败仍发送当前输入,不会把消息丢掉。DAG 节点同步启用 overflow 识别与线路压缩,但不在 streaming 中主动 compact。
|
|
285
|
-
- 网关「请求上下文过大」及常见包装/嵌套 JSON 由共享分类器识别;目标项目 `loop-agent init` 生成的 Pi overflow extension 与控制器使用同一套短语表。
|
|
286
|
-
- `@agent-context/sift@0.0.1-alpha.6` 作为可选依赖接入 Console 与 DAG:默认开启,`HARNESS_CONSOLE_SIFT` / `HARNESS_DAG_SIFT` 设为 `0`、`false` 或 `off` 即可关闭。Anthropic 缺省 prompt cache 形态保持 no-op,避免破坏缓存。
|
|
287
|
-
- 后端测试的计划与生成阶段只读取任务明确绑定的需求、环境报告和本轮产物,减少无关仓库内容干扰结果,并让后续步骤继续使用同一份已确认计划。
|
|
288
|
-
- Operator Chat 的任务清单工具描述补齐多步骤与 DAG 使用纪律:开始前按具体步骤规划、保持进行中约束、完成后立即更新完整列表,并用面向用户的阶段呈现 DAG 进度,简单任务自动跳过。
|
|
289
|
-
- 右侧文件工作台打开 `.html` 或 `.htm` 文件时默认直接预览:沙箱会完整加载页面及同项目的相对样式、图片和字体,同时阻止脚本及外部网络访问;大体积源码不再直接报错,而是展示前 512 KiB 并清晰提示内容已截断。
|
|
290
|
-
- 排队消息改为由输入框上方的队列面板统一展示;正常排队、撤回和删除不再反复弹出提示,当前会话也不再显示重复的“待发送”,其他会话只保留低调的排队数量。
|
|
291
|
-
- 正式发布会自动同步更新版本日志和文档站摘要;发布说明优先生成简洁自然的中文,生成服务不可用时也能安全完成发布。
|
|
292
|
-
- 输入框整合模型与推理等级选择,并只展示有真实数据的轮次、耗时、速度和缓存统计。
|
|
293
|
-
- 工作区、会话列表、文件标签和侧栏交互更加紧凑自然,折叠、切换和页面过渡更加流畅。
|
|
294
|
-
- 左侧多个工作区可以独立展开;展开工作区不再切换当前作用域,跨工作区打开会话时也不会闪出错误的空列表。
|
|
295
|
-
- 多个 Console 同时运行时会安全合并工作区增删,并把变更实时同步到已打开的页面,避免旧缓存覆盖新工作区。
|
|
296
|
-
- 设置页改用自然中文展示当前工作区的模型状态,减少内部状态和重复信息。
|
|
297
|
-
- DAG 检查器简化节点说明、执行记录和提示词重启面板,长内容更容易阅读和定位。
|
|
353
|
+
- DAG 检查器可以保存失败尝试的脱敏提示词候选,并从选定版本重新执行;被截断的候选只供预览,不能直接用于续跑。
|
|
354
|
+
- Operator Chat 可以调用扩展注册的 MCP 工具;侧栏会显示 `mcp.json` 中配置的服务和本会话实际启用的工具。
|
|
355
|
+
- 后端测试支持自定义目录、公共前置说明、查询场景分区和增量补缺,可通过 `task advance --backend-test` 写入任务契约。
|
|
356
|
+
- `agent-worker console` 每个自然日会询问一次是否升级到最新版;检查失败不会阻止 Console 启动。
|
|
357
|
+
- Pi SDK 会返回模型明确提供的结束原因,便于区分正常结束、截断、停止和异常。
|
|
298
358
|
|
|
299
|
-
###
|
|
359
|
+
### 改进
|
|
300
360
|
|
|
301
|
-
-
|
|
302
|
-
-
|
|
303
|
-
-
|
|
304
|
-
-
|
|
305
|
-
-
|
|
306
|
-
-
|
|
307
|
-
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
310
|
-
-
|
|
311
|
-
-
|
|
312
|
-
|
|
313
|
-
-
|
|
314
|
-
-
|
|
315
|
-
-
|
|
316
|
-
-
|
|
317
|
-
-
|
|
318
|
-
-
|
|
319
|
-
-
|
|
320
|
-
- 修复文档审计扫描本地 `.scratch/` 临时证据与打包目录、导致仓库 preflight 和发布前验证被非治理文件阻断的问题。
|
|
321
|
-
- 修复 backend-test 把 Markdown 明确声明的 enum-invalid、wrong-type、null、empty 和精确非法 custom literal 当作 payload enum 契约漂移、错误消耗唯一一次 pytest repair 的问题;豁免现在按 pytest parameter ID、目标字段和值逐 TP 绑定,positive/nominal drift 与 path 缺陷仍严格阻断。
|
|
322
|
-
- 修复 backend-test 无法从同一生成模块的安全 payload helper 中绑定 field-target positional/keyword/default 参数,以及无法识别精确 `_without(payload, field)` 删除语义的问题;computed、动态、二层、跨模块和危险 helper 仍保持 `UNDETERMINED`。
|
|
323
|
-
- 修复 backend-test 无法静态证明同一生成模块内安全 payload helper、导致 request-level nominal 场景长期停留在 `UNDETERMINED` 的问题;超长边界 observed 现在持久化为有界摘要并保留真实长度,空白修复建议也明确使用真实空格而非字面 escape 文本。
|
|
324
|
-
- 修复 backend-test 把 Markdown 中 `\\u0020`/`\\x20` 空白表示与 pytest 真实空白字符串误判为 scenario-param 不一致的问题;readiness 的逐项排除现在携带有界的 TP、字段、expected/observed raw/normalized 和源码位置诊断,同时不对普通业务字符做 trim、大小写折叠或宽松解码。
|
|
325
|
-
- 修复 Console 把 backend-test writer 的局部保护文件误判为整个 writeSet 越界的问题;任务级禁止路径仍保持硬阻断,合法 DAG 可继续取得 autonomous execution receipt。
|
|
326
|
-
- 修复 backend-test 对 `resource_client.call(..., payload=...)` 一类本地 transport 的 payload AST 假阴性;readiness 新增固定分类/Case 排除汇总和 pytest 启动事实,payload repair finding 同时携带 expected/observed/missing path 清单。
|
|
327
|
-
- 修复后端测试在 payload、fixture 与 Markdown→pytest 对应关系同时异常时只修复其中一类问题的问题;pytest 侧缺陷现在通过结构化 `repairFindings` 合并进入唯一一次有界 repair,Markdown Test Point 未分类或重复分类则在生成阶段定向重试并禁止下游猜修。
|
|
328
|
-
- 修复重命名会话时输入框没有回显当前标题的问题。
|
|
329
|
-
- 修复自动压缩提示长期停在输入框上方、恢复输出跑到压缩前面,以及回复文字在工具出现时突然跳位的问题;消息流会按顺序保留模型提供商的原始错误、压缩过程和恢复结果,刷新后也保持一致。
|
|
330
|
-
- 工作区列表支持像 DSH Web 一样上下拖动调整顺序;新的顺序会自动保存,刷新页面或重新启动看板后仍然保持。
|
|
331
|
-
- 修复多工作区下已有会话只显示在对话正文、却没有出现在左侧列表的问题;会话会稳定归属到创建它的工作区,旧会话也会自动恢复到列表中。
|
|
332
|
-
- 会话列表改为独立的全局目录:启动时一次恢复历史归属,之后随会话变化实时更新;移除工作区不会删除或隐藏其中的会话,它们会保留在“未归类”中并可继续打开。
|
|
333
|
-
- 修复停止回复后输入区恢复迟缓、排队消息偶发丢失,以及切换会话后旧状态残留的问题。
|
|
334
|
-
- 修复宽表格、文件预览、滚动条和窄屏布局中的多处显示异常。
|
|
335
|
-
- 修复部分 Windows 环境读取运行状态时的偶发失败,并提高前后端任务验证的可靠性。
|
|
336
|
-
- 初始化选择模型时识别公司内部 `wizard-local` 的 AICoder 型号梯度(default/plus/pro/max),作为 LOW/MED/HIGH 参考但不机械分档。
|
|
337
|
-
- 右侧文件工作台打开 HTML 默认沙箱预览(同项目相对资源可用、脚本与外部网络阻断),超大源码显示前 512 KiB 并明确提示截断。
|
|
338
|
-
- 工作区列表支持拖动排序并自动保存;多个 Console 同时运行时安全合并工作区增删并实时同步。
|
|
339
|
-
- 设置页用自然中文展示模型状态;DAG 检查器简化节点说明与提示词重启面板,长内容更易定位。
|
|
340
|
-
- 输入框整合模型与推理等级选择,只展示有真实数据的轮次、耗时、速度与缓存统计。
|
|
341
|
-
- 修复 Console「更新并初始化」被观测顶栏遮挡(入口改到操作 → 设置)、内嵌观测样式泄漏与「提示词重启」入口丢失、宽表格/窄屏多处显示异常、部分 Windows 偶发读取失败等。
|
|
361
|
+
- DAG 检查器会用自然语言说明节点用途,并按 Pi、shell 或内部处理分别展示执行记录和输出。
|
|
362
|
+
- `loop-agent inspect next` 会补充显示预发布版本、对应源码提交、构建时间和本地尚未发布的提交。
|
|
363
|
+
- 节点输出为完整 JSON 时会自动格式化;原始协议事件默认收起,需要时可以展开查看。
|
|
364
|
+
- 长前端需求只向相关节点提供必要片段,减少重复上下文;来源、风险和目标文件等关键约束不会被计划内容覆盖。
|
|
365
|
+
- frontend-test 会从项目模板复制标准场景,并支持自定义测试目录和文件布局,不再默认为单一冒烟用例。
|
|
366
|
+
- frontend-test 会区分端口未监听和服务返回错误,并给出对应处理建议;报告也能识别常见标题和有序列表写法。
|
|
367
|
+
- `dag rerun --from-node` 可以从失败节点继续运行尚未执行的安全下游,无需整图重跑。
|
|
368
|
+
- `dag rerun-task` 会继承上一轮未解决的验证和评审意见,避免重新执行时遗漏旧问题。
|
|
369
|
+
- 短暂验证故障会在当前 DAG 内重试;写入节点只在确认工作区未变化时重试。
|
|
370
|
+
- Pi 节点连续 15 分钟没有活动时会尝试中断并在原会话中继续;已开始写文件或恢复失败时仍按超时处理。
|
|
371
|
+
- Operator Chat 停止回复时会立即显示「正在停止」,并允许预先提交一条「停止后发送」的消息;刷新或重启后消息也不会丢失。
|
|
372
|
+
- Operator Chat 的恢复工具、参数和说明与实际命令保持一致,减少选错入口或提交无效参数;自定义系统提示词上限从 1900 字提高到 2500 字。
|
|
373
|
+
- 对话中的上下文占用会在整个回合中持续显示,模型和推理等级也可以直接在输入区选择。
|
|
374
|
+
- 排队消息统一显示在输入框上方,可撤回或删除,不再反复弹出提示。
|
|
375
|
+
- 文件树支持插入 `@目录/` 引用,并会在回合结束、页面重新激活或手动刷新时更新已展开目录。
|
|
376
|
+
- HTML 文件默认以沙箱方式预览同项目资源,并阻止脚本和外部网络;超过 512 KiB 的源码会显示截断提示。
|
|
377
|
+
- 多个 Console 可以安全同步工作区增删;同一浏览器中不同端口的 Console 也能分别保持登录状态。
|
|
378
|
+
- 初始化模型配置时只提供脱敏后的可用信息,并保留已有有效档位;只有确有歧义时才询问用户。
|
|
379
|
+
- 测试会根据 CPU、内存、平台和当前 DAG 压力分配资源,减少低性能机器上的重复进程和并发压力。
|
|
342
380
|
|
|
343
|
-
###
|
|
381
|
+
### 修复
|
|
344
382
|
|
|
345
|
-
-
|
|
346
|
-
-
|
|
383
|
+
- 上下文压缩失败时不会丢失原消息,压缩提示、提供商错误和恢复结果会按发生顺序展示。
|
|
384
|
+
- 上下文压缩可分别在 Console 和 DAG 中关闭;启用 Anthropic 默认提示缓存时会跳过主动压缩,DAG 也不会在流式输出中途压缩。
|
|
385
|
+
- 修复停止回复后输入区恢复迟缓、排队消息偶发丢失,以及快速停止时消息卡住的问题。
|
|
386
|
+
- 修复长工具链结束后旧工具卡片挂到新消息下方的问题,历史会话会按完整回合稳定展示。
|
|
387
|
+
- 修复多工作区中会话未出现在左侧列表的问题;移除工作区后,会话会保留在「未归类」中并可继续打开。
|
|
388
|
+
- 修复重命名会话时输入框未显示当前标题的问题。
|
|
389
|
+
- 修复 backend-test 对空请求体、空白字符串、负向非法取值、本地请求和安全辅助函数的多类误判;动态、跨模块或危险写法仍会被阻止。
|
|
390
|
+
- 修复 backend-test 场景分区、补集槽位和 pytest 用例之间不一致的问题,计划、Markdown 和实际执行会使用同一份覆盖要求。
|
|
391
|
+
- 修复仅提供 `python3` 的环境无法完成后端测试分析,以及 Windows 将 Microsoft Store 占位程序误当作可用 Python 的问题。
|
|
392
|
+
- 修复旧版前端 DAG 无法识别增量计划修订的问题;确实无法合并时会提示重新生成 DAG。
|
|
393
|
+
- 修复 Windows 读取运行中 DAG 状态时偶发失败的问题,并减少进程启动压力造成的验证误报。
|
|
394
|
+
- 修复多次执行的节点记录混在一起的问题,选择某次执行后只会显示该次内容。
|
|
395
|
+
- 修复 Console 内嵌观测的样式、顶栏和「提示词重启」入口异常;「更新并初始化」入口已移到「操作 → 设置」。
|
|
396
|
+
- 修复 npm 包缺少 `loop-agent inspect next` 依赖文件的问题,安装后的命令可以正常启动。
|
|
397
|
+
- `init upgrade` 会保留项目配置,并沿用项目、用户或全局 npm 镜像;`--status` 和 `--report` 直接复用已有证据,不会重复运行项目脚本。
|
|
398
|
+
- `npm test` 因前置阶段失败而跳过后续检查时,会明确提示缺失的验证和补跑命令。
|
|
399
|
+
- Markdown 表格只处理横向溢出,鼠标位于表格上方时仍可正常上下滚动对话。
|
|
347
400
|
|
|
348
401
|
## [0.39.3] - 2026-08-28
|
|
349
402
|
|
|
350
403
|
### 新增
|
|
351
404
|
|
|
352
|
-
-
|
|
405
|
+
- 前端实现任务开始记录需求来源;来源格式暂不完整时不会阻断现有流程。
|
|
353
406
|
|
|
354
407
|
## [0.39.2] - 2026-08-28
|
|
355
408
|
|
|
356
|
-
###
|
|
409
|
+
### 改进
|
|
357
410
|
|
|
358
|
-
- DAG
|
|
411
|
+
- DAG 检查器会用节点用途代替重复的节点编号,原始协议事件默认收起;提示词重启面板也能在有限空间内完整滚动查看长内容。
|
|
359
412
|
|
|
360
413
|
### 修复
|
|
361
414
|
|
|
362
|
-
-
|
|
363
|
-
- 记录 release/0.39 上 observe 面板改动的回移植入 0.39.2,方便追溯修复来源。
|
|
415
|
+
- 修复预发布通道因类型检查失败而无法发布的问题。
|
|
364
416
|
|
|
365
417
|
## [0.39.1] - 2026-08-25
|
|
366
418
|
|
|
367
419
|
### 重点更新
|
|
368
420
|
|
|
369
|
-
-
|
|
370
|
-
- Console
|
|
421
|
+
- 前端实现流程会逐项核对原始需求和验收标准,减少长需求被遗漏、误解或静默排除的情况。
|
|
422
|
+
- Console 新增更新入口,可选择稳定版或预发布版;更新前会检查运行中的任务,完成后自动恢复当前页面。
|
|
371
423
|
|
|
372
424
|
### 新增
|
|
373
425
|
|
|
374
426
|
- DAG 检查器可以查看失败节点的提示词版本,并在确认后从选定内容重新执行。
|
|
375
|
-
-
|
|
427
|
+
- 后端测试会核对本轮文件清单和实际引用,避免历史文件或错误依赖混入测试结果。
|
|
376
428
|
|
|
377
429
|
### 改进
|
|
378
430
|
|
|
379
|
-
-
|
|
380
|
-
- 关键治理文档完成复核,当前能力、限制和操作方式保持一致。
|
|
431
|
+
- 设置页移除重复的模型配置入口,模型管理集中到对话页。
|
|
381
432
|
|
|
382
433
|
## [0.39.0] - 2026-08-23
|
|
383
434
|
|
|
384
435
|
### 重点更新
|
|
385
436
|
|
|
386
|
-
- Operator Chat
|
|
387
|
-
-
|
|
437
|
+
- Operator Chat 支持通过方向键找回历史输入,也可以在当前回复进行时预先排队下一条消息。
|
|
438
|
+
- 任务向导会实时显示当前节点、运行时长、整体进度和失败摘要,长任务是否仍在推进更加清楚。
|
|
388
439
|
|
|
389
440
|
### 新增
|
|
390
441
|
|
|
391
|
-
-
|
|
442
|
+
- 前端测试支持自定义测试目录和文件布局,可以适配不同项目结构。
|
|
392
443
|
|
|
393
444
|
### 改进
|
|
394
445
|
|
|
395
|
-
-
|
|
396
|
-
- npm
|
|
446
|
+
- 任务结束后会自动降低刷新频率,失败时也会给出更直接的处理建议。
|
|
447
|
+
- npm 预发布包会记录准确版本,安装后显示的版本与实际制品保持一致。
|
|
397
448
|
|
|
398
449
|
## [0.38.4] - 2026-08-23
|
|
399
450
|
|
|
400
451
|
### 重点更新
|
|
401
452
|
|
|
402
|
-
-
|
|
403
|
-
- Console
|
|
453
|
+
- 初始化和升级现在兼容企业 npm 镜像,能保留已有模型配置,并支持一次性安全更新。
|
|
454
|
+
- Console 和 DAG 检查器可以更直观地查看运行状态、失败节点和提示词重启信息。
|
|
404
455
|
|
|
405
456
|
### 新增
|
|
406
457
|
|
|
407
|
-
- 新增 `inspect next
|
|
408
|
-
-
|
|
458
|
+
- 新增 `inspect next`,用于对比当前 npm 预发布版本的源码与本地尚未发布的变化。
|
|
459
|
+
- 前端测试可以读取项目治理目录和初始化模板中的标准场景,并生成更完整的执行报告。
|
|
409
460
|
|
|
410
461
|
### 修复
|
|
411
462
|
|
|
412
|
-
- 修复 npm
|
|
413
|
-
-
|
|
463
|
+
- 修复 npm 包缺少运行文件,以及 macOS、Windows 上部分命令和场景检查不兼容的问题。
|
|
464
|
+
- 修复复杂项目中前端计划引用、失败恢复和测试回执可能被误判的问题。
|
|
465
|
+
- 修复 Console 部分内容滚动显示异常的问题。
|
|
414
466
|
|
|
415
467
|
## [0.38.3] - 2026-08-22
|
|
416
468
|
|
|
417
469
|
### 重点更新
|
|
418
470
|
|
|
419
|
-
- Operator Chat
|
|
420
|
-
-
|
|
471
|
+
- Operator Chat 的文件预览可以在新窗口打开,也可以随时切换排版预览和原始内容。
|
|
472
|
+
- 长时间模型任务遇到输出截断或短暂停滞时,恢复成功率更高。
|
|
421
473
|
|
|
422
474
|
### 新增
|
|
423
475
|
|
|
424
|
-
- 安装 loop-agent
|
|
425
|
-
- DAG
|
|
476
|
+
- 安装 loop-agent 时默认包含 Pi 运行能力,减少额外配置。
|
|
477
|
+
- DAG 检查器可以区分不同执行器,并展示更清晰的运行过程和节点输出。
|
|
426
478
|
|
|
427
479
|
### 改进
|
|
428
480
|
|
|
429
|
-
-
|
|
430
|
-
-
|
|
481
|
+
- 后端测试更好地支持自定义目录、场景分区和生成文件校验。
|
|
482
|
+
- 文件浏览、任务结束原因和前端计划恢复信息更容易查看。
|
|
431
483
|
|
|
432
484
|
## [0.38.2] - 2026-08-20
|
|
433
485
|
|
|
434
486
|
### 重点更新
|
|
435
487
|
|
|
436
|
-
-
|
|
437
|
-
- Operator Chat
|
|
488
|
+
- 后端测试支持自定义输出目录、公共前置说明、查询场景分区和增量补缺。
|
|
489
|
+
- 在 Operator Chat 停止当前任务时发送的下一条消息,会在停止完成后继续处理,刷新或重启也不会丢失。
|
|
438
490
|
|
|
439
491
|
### 改进
|
|
440
492
|
|
|
441
|
-
- DAG
|
|
442
|
-
-
|
|
443
|
-
- npm
|
|
493
|
+
- DAG 重新执行时会沿用上一轮未解决的验证和评审反馈,减少重复失败。
|
|
494
|
+
- 恢复入口会根据失败原因建议从节点继续或完整重跑,并说明下一步操作。
|
|
495
|
+
- npm 预发布会根据提交数量控制频率,减少内容没有变化时的重复发布。
|
|
444
496
|
|
|
445
497
|
## [0.38.1] - 2026-08-18
|
|
446
498
|
|
|
447
499
|
### 重点更新
|
|
448
500
|
|
|
449
|
-
-
|
|
450
|
-
- Operator Chat
|
|
501
|
+
- 前端实现计划改用结构化契约,并支持只提交本次修订;项目规范引用、组件选择和验证要求会在执行前统一检查。
|
|
502
|
+
- Operator Chat 集中了模型配置、MCP 工具、文件浏览和运行状态,长时间对话更容易跟踪。
|
|
451
503
|
|
|
452
504
|
### 新增
|
|
453
505
|
|
|
454
|
-
- Console「模型与认证」页支持查看和编辑 LOW、MED、HIGH 三档 Pi
|
|
455
|
-
- Operator Chat 支持扩展提供的 MCP
|
|
456
|
-
-
|
|
457
|
-
-
|
|
506
|
+
- Console「模型与认证」页支持查看和编辑 LOW、MED、HIGH 三档 Pi 模型,保存前会校验配置,保存后会刷新模型状态和空闲会话。
|
|
507
|
+
- Operator Chat 支持扩展提供的 MCP 工具,侧栏会同时显示已配置服务和当前会话实际可用的工具。
|
|
508
|
+
- 文件预览改为侧边抽屉,可以切换排版预览和原始内容,不会打断当前对话。
|
|
509
|
+
- 前端计划会说明实施步骤、样式策略、依赖选择、剩余风险和真实集成缺口。
|
|
458
510
|
|
|
459
511
|
### 改进
|
|
460
512
|
|
|
461
|
-
-
|
|
462
|
-
-
|
|
463
|
-
-
|
|
464
|
-
- Skills、Plugins 和 Models
|
|
465
|
-
-
|
|
466
|
-
-
|
|
513
|
+
- 点击“停止”后,对话会立即停止继续输出,并自动确认服务端的最终状态。
|
|
514
|
+
- 对话底部会持续显示上下文占用,历史工具调用也会归入正确的回合。
|
|
515
|
+
- 文件树会在回合结束、页面重新激活或手动刷新时更新已展开目录,并支持直接引用整个目录。
|
|
516
|
+
- Skills、Plugins 和 Models 改用分类摘要,长列表可以独立滚动,弹窗不会再被顶部导航遮挡。
|
|
517
|
+
- 恢复工具的名称、参数和使用建议与实际能力保持一致。
|
|
518
|
+
- 前端计划输出过长、格式不完整或数据不合规时,会说明原因并在限定次数内自动重试。
|
|
467
519
|
|
|
468
520
|
### 修复
|
|
469
521
|
|
|
470
|
-
-
|
|
471
|
-
-
|
|
472
|
-
-
|
|
473
|
-
-
|
|
474
|
-
-
|
|
475
|
-
-
|
|
476
|
-
-
|
|
477
|
-
-
|
|
478
|
-
-
|
|
479
|
-
-
|
|
480
|
-
-
|
|
481
|
-
- Console
|
|
482
|
-
- scenario-param 确定性 rewrite 的 Python 语法校验:Windows 优先 `python`,并把 Microsoft Store `python3` 空壳(非 0 且无语法诊断)视为解释器不可用后回退,避免误回滚合法 rewrite。
|
|
483
|
-
- `frontend-plan-revision-pi` 节点级校验与 merge-patch 输出协议矛盾修复:新增 schemaId `frontend-implementation-contract-revision-patch-v1` 与格式级宽松校验 `validateFrontendRevisionPatchNodeOutput`(至少一个 `openspec-citations` 块 + 剥离引用块后恰好一个 JSON 对象,不做完整契约 schema 校验),revision 节点 `structuredContractOutput.schemaId` 切换(plan-pi 仍为 v1);node-execution 的 invalid-output retry 指令按 schemaId 分支,patch 协议提示 merge-patch delta + 引用块,消除「prompt 要求 patch、retry 要求完整契约」的 retryable 死循环;gate 仍是唯一权威合并/校验点(零改动)。ADR 0015 补「节点级校验」决策 7
|
|
484
|
-
- `frontend-implementation-contract.schema.json` 的 `uiComponentChoices` items 补 `if/then` 决策语义(`specified` ⇒ OpenSpec `specReference` 必填非 null;任务源要求新增的 `new` ⇒ PRD `specReference` 必填非 null);`frontend-plan-render.ts` 空 `section` 不再渲染尾随 `#`;ADR 0016 增补「门禁边界」小节
|
|
485
|
-
- 前端 gate 内容驱动 revisionPatch 兼容 + verdict 归一化统一:旧 DAG(缺 `revisionPatch` 字段)但 revision 节点按协议输出 merge-patch 时,gate 按内容判定自动合并原始契约并走既有校验(不再因 `missing targets.files` 进入 retryable 死循环);patch 形态但无法合并(fallback 缺失/自身、原始节点不可读或非完整契约、apply 失败)→ `blocked` + 新增 `revision-patch-unmergeable`(错误信息含重新生成 DAG 指引);`normalizeVerdictCandidateLine` 增强 backtick 强调剥离,gate 的 `firstNonEmptyVerdictLine` 复用共享 normalize,runIf / output-protocol / gate 三处一致
|
|
486
|
-
|
|
487
|
-
- 前端计划修订能正确识别增量补丁,不再因“提交完整契约”和“只提交变更”两套要求冲突而循环失败。
|
|
488
|
-
- OpenSpec 引用必须来自真实读取记录;缺失、移动或未引用的规范会在写入前给出明确提示。
|
|
489
|
-
- 初始化升级和并发写入不再把构建产物或临时文件误判为越界修改。
|
|
490
|
-
- Console 的授权失效、模型配置错误和资源诊断会显示可操作的中文提示,不再直接暴露内部错误。
|
|
522
|
+
- 前端设计评审会先完成快速校验,再评审最终计划;无效计划会提前停止,评审也不会再读到中间版本。
|
|
523
|
+
- 已主动说明的设计偏差会交由设计评审判断,不再被前置检查直接拒绝。
|
|
524
|
+
- 前端任务不会再把工具缓存、构建产物或临时文件误判为越界修改;真正超出任务范围的产品文件仍会被拦截。
|
|
525
|
+
- 干净仓库和使用通配符声明可写范围的前端任务可以正常执行;无法确认文件范围时仍会停止并说明原因。
|
|
526
|
+
- 使用项目已有依赖或不新增依赖的计划不再被误报;只有实际涉及界面状态时,才要求说明相应状态和交互。
|
|
527
|
+
- 前端计划可以提交增量修订,并自动合并到最终契约;无法合并时会给出明确的重新生成建议。
|
|
528
|
+
- 项目规范引用必须来自真实读取记录,缺失、移动或未引用的规范会在写入前提示。
|
|
529
|
+
- 组件选择必须说明依据:沿用现有组件需引用项目规范,新增组件需引用需求。
|
|
530
|
+
- 验证命令是否成功以实际执行结果为准,设计评审中的预判只作为提示。
|
|
531
|
+
- Markdown 表格不会再截断对话的纵向滚动。
|
|
532
|
+
- Windows 上缺少可用的 `python3` 时,场景参数改写会自动尝试 `python`,避免合法修改被错误回滚。
|
|
533
|
+
- Console 会用可操作的中文说明授权失效、模型配置错误和资源问题,不再直接显示内部错误。
|
|
491
534
|
|
|
492
535
|
## [0.38.0] - 2026-08-17
|
|
493
536
|
|
|
494
537
|
### 重点更新
|
|
495
538
|
|
|
496
|
-
- npm
|
|
539
|
+
- npm 发布分为 `next`、版本发布线和人工 `latest` 三个渠道,开发版本不再自动覆盖稳定版本。
|
|
497
540
|
|
|
498
541
|
### 新增
|
|
499
542
|
|
|
500
|
-
- 主分支持续发布 npm `next
|
|
501
|
-
-
|
|
543
|
+
- 主分支持续发布 npm `next`,发布分支维护对应版本线,`latest` 只通过人工操作提升。
|
|
544
|
+
- 新增双周发布列车,可以从指定 `next` 的源码提交创建发布分支,并确认最终安装包来自同一提交。
|
|
502
545
|
|
|
503
546
|
### 改进
|
|
504
547
|
|
|
505
|
-
-
|
|
506
|
-
-
|
|
548
|
+
- 发布前会同时校验分支、版本和目标渠道,不符合发布矩阵时会直接拒绝。
|
|
549
|
+
- 发布中断后可以从已有分支、版本或标签继续;恢复时会再次核对源码提交,避免发布错误制品。
|
|
507
550
|
|
|
508
551
|
## [0.37.1-beta.0] - 2026-08-16
|
|
509
552
|
|
|
510
553
|
### 重点更新
|
|
511
554
|
|
|
512
|
-
-
|
|
555
|
+
- 后端测试可以更稳定地关联需求、测试点、生成用例和实际执行结果。
|
|
513
556
|
|
|
514
557
|
### 改进
|
|
515
558
|
|
|
516
|
-
-
|
|
559
|
+
- 请求体分析可以识别常见包装函数、数据构造器、补丁合并和参数工厂,减少把准备数据误当成接口请求。
|
|
517
560
|
- 场景参数校验增强了缺失值、空白、边界长度、非法枚举和辅助常量的识别,降低合法用例被误报的概率。
|
|
518
|
-
- 生成的 Markdown 和 pytest
|
|
519
|
-
-
|
|
520
|
-
-
|
|
521
|
-
-
|
|
561
|
+
- 生成的 Markdown 和 pytest 用例必须使用明确且唯一的测试点编号,不会猜测接口未声明的 ID 类型或响应结构。
|
|
562
|
+
- 修复流程会使用上游提供的测试文件路径,并确认确实产生了修改,避免找错文件或空修复。
|
|
563
|
+
- 请求与响应日志支持有界脱敏记录,常见网络异常也能得到清理和说明。
|
|
564
|
+
- 测试结果可以更清楚地区分控制器问题、生成用例问题和真实产品缺陷。
|
|
522
565
|
|
|
523
566
|
## [0.37.0] - 2026-08-16
|
|
524
567
|
|
|
525
568
|
### 新增
|
|
526
569
|
|
|
527
570
|
- Operator Chat 支持 Markdown 语法高亮、数学公式和 Mermaid 图表。
|
|
528
|
-
- 新增 DAG
|
|
529
|
-
-
|
|
530
|
-
-
|
|
571
|
+
- 新增 DAG 操作入口和产物栏,可以从对话中查看运行、门禁和交付结果。
|
|
572
|
+
- 对话中可以查看上下文压缩进度、上下文占用和语义缓存状态。
|
|
573
|
+
- 当前回合的思考、工具调用和过程事件会按发生顺序实时展示。
|
|
531
574
|
|
|
532
575
|
### 改进
|
|
533
576
|
|
|
534
|
-
-
|
|
577
|
+
- 重跑任务会显示运行轮次,运行状态和停止按钮也有更明确的标记。
|
|
535
578
|
- 错误提示改为自动消失的悬浮消息,不再挤压聊天区域。
|
|
536
579
|
|
|
537
580
|
### 修复
|
|
538
581
|
|
|
539
|
-
-
|
|
540
|
-
-
|
|
541
|
-
- 中断能力通过 Worker 边界调用,减少运行时模块之间的耦合。
|
|
582
|
+
- 长会话标题可以稳定显示完整提示,相关活动也能定位到对应 Operation。
|
|
583
|
+
- 不规范的 `newTask` 编号会立即得到修正建议;更多常见的 PRD 标题和引用写法也能正常识别。
|
|
542
584
|
|
|
543
585
|
## [0.36.4-beta.0] - 2026-08-16
|
|
544
586
|
|
|
@@ -546,16 +588,16 @@
|
|
|
546
588
|
|
|
547
589
|
### 新增
|
|
548
590
|
|
|
549
|
-
- 前端 DAG
|
|
591
|
+
- 前端 DAG 会按模板、规则、主题和组件等用途整理项目规范,并在契约、探索、计划和设计评审阶段提供相关内容。
|
|
550
592
|
|
|
551
593
|
### 修复
|
|
552
594
|
|
|
553
|
-
-
|
|
554
|
-
-
|
|
595
|
+
- 有适用规范时,计划和评审必须真实读取并引用;规范缺失、移动或删除时会给出具体诊断。
|
|
596
|
+
- 项目规范不再只读取前 40 个文件,同时会排除 loop-agent 自身的治理目录,减少漏读和误读。
|
|
555
597
|
|
|
556
598
|
### 文档
|
|
557
599
|
|
|
558
|
-
-
|
|
600
|
+
- 初始化生成的前端任务模板补充了可执行的探索和失败处理说明,不再包含待填写占位内容和项目专属示例路径。
|
|
559
601
|
|
|
560
602
|
## [0.36.3-beta.0] - 2026-08-16
|
|
561
603
|
|
|
@@ -563,30 +605,29 @@
|
|
|
563
605
|
|
|
564
606
|
### 新增
|
|
565
607
|
|
|
566
|
-
- npm 发布分为 `next`、版本发布线和人工 `latest`
|
|
567
|
-
-
|
|
608
|
+
- npm 发布分为 `next`、版本发布线和人工 `latest` 三个渠道,避免开发版本自动覆盖稳定版本。
|
|
609
|
+
- 新增双周发布列车,可以从指定 `next` 的源码提交创建发布分支,并校验最终安装包与源码一致。
|
|
568
610
|
|
|
569
611
|
### 改进
|
|
570
612
|
|
|
571
|
-
- 前端设计评审会同时考虑任务声明的 Mock
|
|
572
|
-
-
|
|
613
|
+
- 前端设计评审会同时考虑任务声明的 Mock 策略和验证命令,减少评审通过后才被执行门禁阻断的情况。
|
|
614
|
+
- 任务涉及 API 或 Mock、但契约缺少验证方式时,DAG 会在生成阶段给出修复建议。
|
|
573
615
|
|
|
574
616
|
## [0.36.2] - 2026-08-16
|
|
575
617
|
|
|
576
618
|
### 修复
|
|
577
619
|
|
|
578
|
-
- 仓库治理检查不再把更新日志历史或 `.gitignore`
|
|
620
|
+
- 仓库治理检查不再把更新日志历史或 `.gitignore` 中的托管说明误认为非法任务池路径。
|
|
579
621
|
|
|
580
622
|
## [0.36.1] - 2026-08-16
|
|
581
623
|
|
|
582
624
|
### 新增
|
|
583
625
|
|
|
584
|
-
-
|
|
626
|
+
- 支持安全中断正在运行的 DAG:当前节点结束后停止后续调度,并保留恢复入口。
|
|
585
627
|
|
|
586
628
|
### 修复
|
|
587
629
|
|
|
588
|
-
- 语义导入会在不同 Pi 模型档位之间重试,单次最长等待 300
|
|
589
|
-
- 中断资格判断移到可观测层,避免破坏运行时模块边界。
|
|
630
|
+
- 语义导入会在不同 Pi 模型档位之间重试,单次最长等待 300 秒,减少单一模型暂时不可用造成的阻塞。
|
|
590
631
|
|
|
591
632
|
## [0.36.1-beta.0] - 2026-08-16
|
|
592
633
|
|
|
@@ -594,31 +635,31 @@
|
|
|
594
635
|
|
|
595
636
|
### 改进
|
|
596
637
|
|
|
597
|
-
-
|
|
638
|
+
- 契约或计划输出过长时,会自动重试为精简版本,只保留实施步骤、写入范围和验证命令等必要信息。
|
|
598
639
|
|
|
599
640
|
## [0.36.0] - 2026-08-15
|
|
600
641
|
|
|
601
642
|
### 重点更新
|
|
602
643
|
|
|
603
|
-
- Operator Chat 可以持续监督长时间运行的 DAG
|
|
604
|
-
-
|
|
644
|
+
- Operator Chat 可以持续监督长时间运行的 DAG,并在失败后展示原因、恢复路径和可执行的下一步。
|
|
645
|
+
- 新增任务旅程卡,集中展示任务创建、人工门禁、多次运行、失败和恢复记录。
|
|
605
646
|
|
|
606
647
|
### 新增
|
|
607
648
|
|
|
608
|
-
-
|
|
649
|
+
- 删除会话时会在列表内二次确认,减少误删,也不会再被浏览器原生弹窗打断。
|
|
609
650
|
- 斜杠命令面板优化了卡片布局和键盘操作,在较小窗口中也能完整使用。
|
|
610
651
|
|
|
611
652
|
### 改进
|
|
612
653
|
|
|
613
|
-
-
|
|
614
|
-
-
|
|
654
|
+
- 运行状态、恢复建议和关键操作统一使用自然中文,减少内部状态码直接暴露。
|
|
655
|
+
- 任务监督可以容忍短暂静默和状态延迟,降低正常运行被误判为中断的概率。
|
|
615
656
|
|
|
616
657
|
### 修复
|
|
617
658
|
|
|
618
|
-
-
|
|
619
|
-
- 变更范围以 Git
|
|
620
|
-
- PRD
|
|
621
|
-
- Operator
|
|
659
|
+
- 恢复流程可以正确读取运行报告,不再因响应格式差异误判为无法恢复。
|
|
660
|
+
- 变更范围以 Git 工作区的真实差异为准,不再根据模型回复推测。
|
|
661
|
+
- PRD 验收标题支持更多常见写法,目录文档更新时也会检查索引是否同步。
|
|
662
|
+
- Operator 自定义工具可以正常用于 Pi 会话,命令面板高度和降级提示也更加稳定。
|
|
622
663
|
|
|
623
664
|
## 历史版本
|
|
624
665
|
|