From 1309a734739ca0e47b478bdea8c28c0c47424112 Mon Sep 17 00:00:00 2001
From: Hanako Maintainer
-
+
-
+
@@ -60,7 +60,7 @@ npm run install-plugin
固定版本安装:
```powershell
-git clone --branch v4.3.22 https://github.com/326sun/Hanako-runtime-learner.git
+git clone --branch v4.3.23 https://github.com/326sun/Hanako-runtime-learner.git
cd Hanako-runtime-learner
npm run install-plugin
```
@@ -210,10 +210,10 @@ npm run perf -- --json
npm run release:check
```
-`v4.3.22` 的预期结果:
+`v4.3.23` 的预期结果:
```text
-package version: 4.3.22
+package version: 4.3.23
npm run check: passed
npm test: 665 tests, 660 passed, 5 skipped
npm run benchmark: passed, 17 scenarios
@@ -240,7 +240,7 @@ npm run release:check: Score 100
| [docs/MIGRATION_v3_to_v4.md](docs/MIGRATION_v3_to_v4.md) | v3 到 v4 迁移说明。 |
| [docs/LTS_MAINTENANCE_PLAN.md](docs/LTS_MAINTENANCE_PLAN.md) | v4.x LTS 维护策略。 |
| [docs/DESIGN_GOAL_COMPLETION_MATRIX.md](docs/DESIGN_GOAL_COMPLETION_MATRIX.md) | 设计目标完成矩阵。 |
-| [docs/ACCEPTANCE-v4.3.22.md](docs/ACCEPTANCE-v4.3.22.md) | 当前版本验收记录。 |
+| [docs/ACCEPTANCE-v4.3.23.md](docs/ACCEPTANCE-v4.3.23.md) | 当前版本验收记录。 |
| [CHANGELOG.md](CHANGELOG.md) | 版本历史。 |
## 许可证
diff --git a/benchmark-results/benchmark-report.json b/benchmark-results/benchmark-report.json
index 0181acc..cc2259c 100644
--- a/benchmark-results/benchmark-report.json
+++ b/benchmark-results/benchmark-report.json
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
- "generatedAt": "2026-06-15T04:52:50.839Z",
+ "generatedAt": "2026-06-24T11:23:09.438Z",
"runs": [
{
"scenarioId": "audit.dashboard_surface",
@@ -15,14 +15,14 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 6,
+ "durationMs": 7,
"stepResults": [
{
"ok": true,
"status": "generated",
- "dir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark",
- "jsonPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark\\dashboard.json",
- "mdPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark\\dashboard.md",
+ "dir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark",
+ "jsonPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark\\dashboard.json",
+ "mdPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark\\dashboard.md",
"summary": {
"benchmarkAvailable": true,
"benchmarkOk": true,
@@ -86,14 +86,14 @@
"rollbackOk": true,
"repairAttempted": true,
"repairOk": true,
- "durationMs": 117,
+ "durationMs": 92,
"stepResults": [
{
"ok": true,
"state": {
"schemaVersion": 1,
"taskId": "task:e006b07b0464",
- "runId": "agent_run:13f9cbfff254",
+ "runId": "agent_run:d31f86c0b5e7",
"state": "completed",
"currentNode": "finalize",
"graph": {
@@ -118,7 +118,7 @@
"files": []
}
},
- "updatedAt": "2026-06-15T04:52:49.757Z"
+ "updatedAt": "2026-06-24T11:23:08.702Z"
},
{
"id": "plan",
@@ -156,7 +156,7 @@
}
]
},
- "updatedAt": "2026-06-15T04:52:49.757Z"
+ "updatedAt": "2026-06-24T11:23:08.703Z"
},
{
"id": "policy",
@@ -184,12 +184,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
},
- "updatedAt": "2026-06-15T04:52:49.758Z"
+ "updatedAt": "2026-06-24T11:23:08.704Z"
},
{
"id": "scope",
@@ -224,7 +224,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-15T04:52:49.759Z"
+ "updatedAt": "2026-06-24T11:23:08.704Z"
},
{
"id": "execute",
@@ -242,7 +242,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169760:65edf3f9",
+ "warnings": [],
+ "transactionId": "txn:1782300188705:65edf3f9",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -257,13 +258,13 @@
"command": "node --check src/repair-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-EJdIcg\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-KVoI2g\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 54,
+ "durationMs": 45,
"verification": {
"verified": false,
"checks": [
@@ -290,7 +291,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-15T04:52:49.815Z"
+ "updatedAt": "2026-06-24T11:23:08.752Z"
},
{
"id": "verify_initial",
@@ -328,7 +329,7 @@
"error": "verification failed"
},
"recoveryTarget": "repair",
- "updatedAt": "2026-06-15T04:52:49.815Z"
+ "updatedAt": "2026-06-24T11:23:08.752Z"
},
{
"id": "repair",
@@ -353,7 +354,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169815:3416c35d",
+ "warnings": [],
+ "transactionId": "txn:1782300188753:3416c35d",
"changedFiles": [
"src\\repair-target.mjs"
],
@@ -375,7 +377,7 @@
"error": null
}
],
- "durationMs": 55,
+ "durationMs": 40,
"verification": {
"verified": true,
"checks": [
@@ -420,7 +422,7 @@
"confidence": 0.86
}
},
- "updatedAt": "2026-06-15T04:52:49.870Z"
+ "updatedAt": "2026-06-24T11:23:08.792Z"
},
{
"id": "verify_after_repair",
@@ -456,7 +458,7 @@
},
"sourceNode": "repair"
},
- "updatedAt": "2026-06-15T04:52:49.871Z"
+ "updatedAt": "2026-06-24T11:23:08.792Z"
},
{
"id": "feedback",
@@ -471,7 +473,7 @@
"status": "succeeded",
"note": "FeedbackNode recorded"
},
- "updatedAt": "2026-06-15T04:52:49.871Z"
+ "updatedAt": "2026-06-24T11:23:08.792Z"
},
{
"id": "finalize",
@@ -486,91 +488,91 @@
"status": "succeeded",
"note": "finalized"
},
- "updatedAt": "2026-06-15T04:52:49.871Z"
+ "updatedAt": "2026-06-24T11:23:08.792Z"
}
],
- "createdAt": "2026-06-15T04:52:49.756Z"
+ "createdAt": "2026-06-24T11:23:08.702Z"
},
"history": [
{
- "at": "2026-06-15T04:52:49.756Z",
+ "at": "2026-06-24T11:23:08.702Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.702Z",
"from": "created",
"to": "observing",
"node": "observe",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.703Z",
"from": "observing",
"to": "planning",
"node": "observe",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.703Z",
"from": "planning",
"to": "policy_checking",
"node": "plan",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-15T04:52:49.758Z",
+ "at": "2026-06-24T11:23:08.704Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "policy",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-15T04:52:49.759Z",
+ "at": "2026-06-24T11:23:08.704Z",
"from": "scope_checking",
"to": "executing",
"node": "scope",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"from": "executing",
"to": "verifying",
"node": "execute",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"from": "verifying",
"to": "repairing",
"node": "verify_initial",
"reason": "VerifyNode routed to RepairNode"
},
{
- "at": "2026-06-15T04:52:49.870Z",
+ "at": "2026-06-24T11:23:08.792Z",
"from": "repairing",
"to": "verifying",
"node": "repair",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"from": "verifying",
"to": "learning",
"node": "verify_after_repair",
"reason": "advance to FeedbackNode"
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"from": "learning",
"to": "learning",
"node": "feedback",
"reason": "advance to FinalizeNode"
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"from": "learning",
"to": "completed",
"node": "finalize",
@@ -579,7 +581,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-15T04:52:49.757Z",
+ "createdAt": "2026-06-24T11:23:08.702Z",
"kind": "node_result",
"node": "observe",
"nodeType": "ObserveNode",
@@ -593,7 +595,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.757Z",
+ "createdAt": "2026-06-24T11:23:08.703Z",
"kind": "node_result",
"node": "plan",
"nodeType": "PlanNode",
@@ -626,7 +628,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.758Z",
+ "createdAt": "2026-06-24T11:23:08.704Z",
"kind": "node_result",
"node": "policy",
"nodeType": "PolicyNode",
@@ -647,14 +649,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
}
},
{
- "createdAt": "2026-06-15T04:52:49.759Z",
+ "createdAt": "2026-06-24T11:23:08.704Z",
"kind": "node_result",
"node": "scope",
"nodeType": "ScopeNode",
@@ -684,7 +686,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.815Z",
+ "createdAt": "2026-06-24T11:23:08.752Z",
"kind": "node_result",
"node": "execute",
"nodeType": "ExecuteNode",
@@ -695,7 +697,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169760:65edf3f9",
+ "warnings": [],
+ "transactionId": "txn:1782300188705:65edf3f9",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -710,13 +713,13 @@
"command": "node --check src/repair-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-EJdIcg\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-KVoI2g\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 54,
+ "durationMs": 45,
"verification": {
"verified": false,
"checks": [
@@ -745,7 +748,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.815Z",
+ "createdAt": "2026-06-24T11:23:08.752Z",
"kind": "node_result",
"node": "verify_initial",
"nodeType": "VerifyNode",
@@ -777,7 +780,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.870Z",
+ "createdAt": "2026-06-24T11:23:08.792Z",
"kind": "node_result",
"node": "repair",
"nodeType": "RepairNode",
@@ -795,7 +798,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169815:3416c35d",
+ "warnings": [],
+ "transactionId": "txn:1782300188753:3416c35d",
"changedFiles": [
"src\\repair-target.mjs"
],
@@ -817,7 +821,7 @@
"error": null
}
],
- "durationMs": 55,
+ "durationMs": 40,
"verification": {
"verified": true,
"checks": [
@@ -864,7 +868,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.871Z",
+ "createdAt": "2026-06-24T11:23:08.792Z",
"kind": "node_result",
"node": "verify_after_repair",
"nodeType": "VerifyNode",
@@ -895,7 +899,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.871Z",
+ "createdAt": "2026-06-24T11:23:08.792Z",
"kind": "node_result",
"node": "feedback",
"nodeType": "FeedbackNode",
@@ -905,7 +909,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.871Z",
+ "createdAt": "2026-06-24T11:23:08.792Z",
"kind": "node_result",
"node": "finalize",
"nodeType": "FinalizeNode",
@@ -920,17 +924,17 @@
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-15T04:52:49.756Z",
- "updatedAt": "2026-06-15T04:52:49.871Z"
+ "createdAt": "2026-06-24T11:23:08.702Z",
+ "updatedAt": "2026-06-24T11:23:08.792Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:e006b07b0464:1781499169756",
+ "traceId": "audit:task:e006b07b0464:1782300188702",
"taskId": "task:e006b07b0464",
- "runId": "agent_run:13f9cbfff254",
+ "runId": "agent_run:d31f86c0b5e7",
"events": [
{
- "at": "2026-06-15T04:52:49.756Z",
+ "at": "2026-06-24T11:23:08.702Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -938,7 +942,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.702Z",
"type": "node.start",
"node": "observe",
"state": "observing",
@@ -946,7 +950,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.702Z",
"type": "node.completed",
"node": "observe",
"state": "observing",
@@ -956,7 +960,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.703Z",
"type": "node.start",
"node": "plan",
"state": "planning",
@@ -964,7 +968,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.703Z",
"type": "node.completed",
"node": "plan",
"state": "planning",
@@ -974,7 +978,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.757Z",
+ "at": "2026-06-24T11:23:08.703Z",
"type": "node.start",
"node": "policy",
"state": "policy_checking",
@@ -982,7 +986,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.758Z",
+ "at": "2026-06-24T11:23:08.704Z",
"type": "node.completed",
"node": "policy",
"state": "policy_checking",
@@ -992,7 +996,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.758Z",
+ "at": "2026-06-24T11:23:08.704Z",
"type": "node.start",
"node": "scope",
"state": "scope_checking",
@@ -1000,7 +1004,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.759Z",
+ "at": "2026-06-24T11:23:08.704Z",
"type": "node.completed",
"node": "scope",
"state": "scope_checking",
@@ -1010,7 +1014,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.759Z",
+ "at": "2026-06-24T11:23:08.704Z",
"type": "node.start",
"node": "execute",
"state": "executing",
@@ -1018,7 +1022,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"type": "node.completed",
"node": "execute",
"state": "executing",
@@ -1028,7 +1032,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"type": "node.start",
"node": "verify_initial",
"state": "verifying",
@@ -1036,7 +1040,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"type": "node.recovery_branch",
"node": "verify_initial",
"state": "repairing",
@@ -1068,7 +1072,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.815Z",
+ "at": "2026-06-24T11:23:08.752Z",
"type": "node.start",
"node": "repair",
"state": "repairing",
@@ -1076,7 +1080,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.870Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.completed",
"node": "repair",
"state": "repairing",
@@ -1086,7 +1090,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.start",
"node": "verify_after_repair",
"state": "verifying",
@@ -1094,7 +1098,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.completed",
"node": "verify_after_repair",
"state": "verifying",
@@ -1104,7 +1108,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.start",
"node": "feedback",
"state": "learning",
@@ -1112,7 +1116,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.completed",
"node": "feedback",
"state": "learning",
@@ -1122,7 +1126,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.start",
"node": "finalize",
"state": "learning",
@@ -1130,7 +1134,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.792Z",
"type": "node.completed",
"node": "finalize",
"state": "learning",
@@ -1140,7 +1144,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.871Z",
+ "at": "2026-06-24T11:23:08.793Z",
"type": "state.completed",
"node": "finalize",
"state": "completed",
@@ -1148,8 +1152,8 @@
"data": {}
}
],
- "createdAt": "2026-06-15T04:52:49.756Z",
- "updatedAt": "2026-06-15T04:52:49.871Z"
+ "createdAt": "2026-06-24T11:23:08.702Z",
+ "updatedAt": "2026-06-24T11:23:08.793Z"
},
"status": "completed",
"type": "run_agent_controller",
@@ -1181,14 +1185,14 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 130,
+ "durationMs": 44,
"stepResults": [
{
"ok": true,
"state": {
"schemaVersion": 1,
"taskId": "task:b932bd6c5854",
- "runId": "agent_run:6717a622eb02",
+ "runId": "agent_run:369051c672ab",
"state": "completed",
"currentNode": "finalize",
"graph": {
@@ -1213,7 +1217,7 @@
"files": []
}
},
- "updatedAt": "2026-06-15T04:52:49.873Z"
+ "updatedAt": "2026-06-24T11:23:08.794Z"
},
{
"id": "plan",
@@ -1252,7 +1256,7 @@
}
]
},
- "updatedAt": "2026-06-15T04:52:49.873Z"
+ "updatedAt": "2026-06-24T11:23:08.794Z"
},
{
"id": "policy",
@@ -1280,12 +1284,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
},
- "updatedAt": "2026-06-15T04:52:49.873Z"
+ "updatedAt": "2026-06-24T11:23:08.794Z"
},
{
"id": "scope",
@@ -1320,7 +1324,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-15T04:52:49.873Z"
+ "updatedAt": "2026-06-24T11:23:08.794Z"
},
{
"id": "execute",
@@ -1338,7 +1342,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169874:92b7d810",
+ "warnings": [],
+ "transactionId": "txn:1782300188795:92b7d810",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -1353,13 +1358,13 @@
"command": "node --check src/rollback-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-GMapTz\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-8A2sXa\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 125,
+ "durationMs": 40,
"verification": {
"verified": false,
"checks": [
@@ -1391,7 +1396,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-15T04:52:50.000Z"
+ "updatedAt": "2026-06-24T11:23:08.836Z"
},
{
"id": "verify",
@@ -1434,7 +1439,7 @@
"error": "verification failed"
},
"recoveryTarget": "rollback",
- "updatedAt": "2026-06-15T04:52:50.000Z"
+ "updatedAt": "2026-06-24T11:23:08.836Z"
},
{
"id": "rollback",
@@ -1479,7 +1484,7 @@
},
"sourceNode": "execute"
},
- "updatedAt": "2026-06-15T04:52:50.000Z"
+ "updatedAt": "2026-06-24T11:23:08.836Z"
},
{
"id": "feedback",
@@ -1494,7 +1499,7 @@
"status": "succeeded",
"note": "FeedbackNode recorded"
},
- "updatedAt": "2026-06-15T04:52:50.000Z"
+ "updatedAt": "2026-06-24T11:23:08.836Z"
},
{
"id": "finalize",
@@ -1509,84 +1514,84 @@
"status": "succeeded",
"note": "finalized"
},
- "updatedAt": "2026-06-15T04:52:50.001Z"
+ "updatedAt": "2026-06-24T11:23:08.837Z"
}
],
- "createdAt": "2026-06-15T04:52:49.873Z"
+ "createdAt": "2026-06-24T11:23:08.794Z"
},
"history": [
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": "created",
"to": "observing",
"node": "observe",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": "observing",
"to": "planning",
"node": "observe",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": "planning",
"to": "policy_checking",
"node": "plan",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "policy",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"from": "scope_checking",
"to": "executing",
"node": "scope",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"from": "executing",
"to": "verifying",
"node": "execute",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"from": "verifying",
"to": "rolling_back",
"node": "verify",
"reason": "VerifyNode routed to RollbackNode"
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"from": "rolling_back",
"to": "learning",
"node": "rollback",
"reason": "advance to FeedbackNode"
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"from": "learning",
"to": "learning",
"node": "feedback",
"reason": "advance to FinalizeNode"
},
{
- "at": "2026-06-15T04:52:50.001Z",
+ "at": "2026-06-24T11:23:08.837Z",
"from": "learning",
"to": "completed",
"node": "finalize",
@@ -1595,7 +1600,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-15T04:52:49.873Z",
+ "createdAt": "2026-06-24T11:23:08.794Z",
"kind": "node_result",
"node": "observe",
"nodeType": "ObserveNode",
@@ -1609,7 +1614,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.873Z",
+ "createdAt": "2026-06-24T11:23:08.794Z",
"kind": "node_result",
"node": "plan",
"nodeType": "PlanNode",
@@ -1643,7 +1648,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:49.873Z",
+ "createdAt": "2026-06-24T11:23:08.794Z",
"kind": "node_result",
"node": "policy",
"nodeType": "PolicyNode",
@@ -1664,14 +1669,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
}
},
{
- "createdAt": "2026-06-15T04:52:49.873Z",
+ "createdAt": "2026-06-24T11:23:08.794Z",
"kind": "node_result",
"node": "scope",
"nodeType": "ScopeNode",
@@ -1701,7 +1706,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.000Z",
+ "createdAt": "2026-06-24T11:23:08.836Z",
"kind": "node_result",
"node": "execute",
"nodeType": "ExecuteNode",
@@ -1712,7 +1717,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499169874:92b7d810",
+ "warnings": [],
+ "transactionId": "txn:1782300188795:92b7d810",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -1727,13 +1733,13 @@
"command": "node --check src/rollback-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-GMapTz\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-8A2sXa\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 125,
+ "durationMs": 40,
"verification": {
"verified": false,
"checks": [
@@ -1767,7 +1773,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.000Z",
+ "createdAt": "2026-06-24T11:23:08.836Z",
"kind": "node_result",
"node": "verify",
"nodeType": "VerifyNode",
@@ -1804,7 +1810,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.000Z",
+ "createdAt": "2026-06-24T11:23:08.836Z",
"kind": "node_result",
"node": "rollback",
"nodeType": "RollbackNode",
@@ -1844,7 +1850,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.000Z",
+ "createdAt": "2026-06-24T11:23:08.836Z",
"kind": "node_result",
"node": "feedback",
"nodeType": "FeedbackNode",
@@ -1854,7 +1860,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.001Z",
+ "createdAt": "2026-06-24T11:23:08.837Z",
"kind": "node_result",
"node": "finalize",
"nodeType": "FinalizeNode",
@@ -1869,17 +1875,17 @@
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-15T04:52:49.873Z",
- "updatedAt": "2026-06-15T04:52:50.001Z"
+ "createdAt": "2026-06-24T11:23:08.794Z",
+ "updatedAt": "2026-06-24T11:23:08.837Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:b932bd6c5854:1781499169873",
+ "traceId": "audit:task:b932bd6c5854:1782300188794",
"taskId": "task:b932bd6c5854",
- "runId": "agent_run:6717a622eb02",
+ "runId": "agent_run:369051c672ab",
"events": [
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -1887,7 +1893,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.start",
"node": "observe",
"state": "observing",
@@ -1895,7 +1901,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.completed",
"node": "observe",
"state": "observing",
@@ -1905,7 +1911,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.start",
"node": "plan",
"state": "planning",
@@ -1913,7 +1919,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.completed",
"node": "plan",
"state": "planning",
@@ -1923,7 +1929,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.start",
"node": "policy",
"state": "policy_checking",
@@ -1931,7 +1937,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.completed",
"node": "policy",
"state": "policy_checking",
@@ -1941,7 +1947,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.start",
"node": "scope",
"state": "scope_checking",
@@ -1949,7 +1955,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.completed",
"node": "scope",
"state": "scope_checking",
@@ -1959,7 +1965,7 @@
}
},
{
- "at": "2026-06-15T04:52:49.873Z",
+ "at": "2026-06-24T11:23:08.794Z",
"type": "node.start",
"node": "execute",
"state": "executing",
@@ -1967,7 +1973,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.completed",
"node": "execute",
"state": "executing",
@@ -1977,7 +1983,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.start",
"node": "verify",
"state": "verifying",
@@ -1985,7 +1991,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.recovery_branch",
"node": "verify",
"state": "rolling_back",
@@ -2022,7 +2028,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.start",
"node": "rollback",
"state": "rolling_back",
@@ -2030,7 +2036,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.completed",
"node": "rollback",
"state": "rolling_back",
@@ -2040,7 +2046,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.start",
"node": "feedback",
"state": "learning",
@@ -2048,7 +2054,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.000Z",
+ "at": "2026-06-24T11:23:08.836Z",
"type": "node.completed",
"node": "feedback",
"state": "learning",
@@ -2058,7 +2064,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.001Z",
+ "at": "2026-06-24T11:23:08.837Z",
"type": "node.start",
"node": "finalize",
"state": "learning",
@@ -2066,7 +2072,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.001Z",
+ "at": "2026-06-24T11:23:08.837Z",
"type": "node.completed",
"node": "finalize",
"state": "learning",
@@ -2076,7 +2082,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.001Z",
+ "at": "2026-06-24T11:23:08.837Z",
"type": "state.completed",
"node": "finalize",
"state": "completed",
@@ -2084,8 +2090,8 @@
"data": {}
}
],
- "createdAt": "2026-06-15T04:52:49.873Z",
- "updatedAt": "2026-06-15T04:52:50.001Z"
+ "createdAt": "2026-06-24T11:23:08.794Z",
+ "updatedAt": "2026-06-24T11:23:08.837Z"
},
"status": "completed",
"type": "run_agent_controller",
@@ -2117,14 +2123,14 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 163,
+ "durationMs": 44,
"stepResults": [
{
"ok": false,
"state": {
"schemaVersion": 1,
"taskId": "task:35fc503854cd",
- "runId": "agent_run:4f72b86cbac8",
+ "runId": "agent_run:7ac251f04f53",
"state": "waiting_for_human",
"currentNode": "VerifyNode",
"graph": {
@@ -2149,7 +2155,7 @@
"files": []
}
},
- "updatedAt": "2026-06-15T04:52:50.003Z"
+ "updatedAt": "2026-06-24T11:23:08.838Z"
},
{
"id": "PlanNode",
@@ -2187,7 +2193,7 @@
}
]
},
- "updatedAt": "2026-06-15T04:52:50.003Z"
+ "updatedAt": "2026-06-24T11:23:08.838Z"
},
{
"id": "PolicyNode",
@@ -2215,12 +2221,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
},
- "updatedAt": "2026-06-15T04:52:50.003Z"
+ "updatedAt": "2026-06-24T11:23:08.838Z"
},
{
"id": "ScopeNode",
@@ -2255,7 +2261,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-15T04:52:50.003Z"
+ "updatedAt": "2026-06-24T11:23:08.838Z"
},
{
"id": "ExecuteNode",
@@ -2273,7 +2279,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499170004:2f563147",
+ "warnings": [],
+ "transactionId": "txn:1782300188839:2f563147",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -2288,13 +2295,13 @@
"command": "node --check src/controller.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-bvDdsu\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-7HeDIR\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 158,
+ "durationMs": 41,
"verification": {
"verified": false,
"checks": [
@@ -2321,7 +2328,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-15T04:52:50.164Z"
+ "updatedAt": "2026-06-24T11:23:08.880Z"
},
{
"id": "VerifyNode",
@@ -2364,60 +2371,60 @@
"status": "pending"
}
],
- "createdAt": "2026-06-15T04:52:50.003Z"
+ "createdAt": "2026-06-24T11:23:08.838Z"
},
"history": [
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": "created",
"to": "observing",
"node": "ObserveNode",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": "observing",
"to": "planning",
"node": "ObserveNode",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": "planning",
"to": "policy_checking",
"node": "PlanNode",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "PolicyNode",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"from": "scope_checking",
"to": "executing",
"node": "ScopeNode",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-15T04:52:50.164Z",
+ "at": "2026-06-24T11:23:08.880Z",
"from": "executing",
"to": "verifying",
"node": "ExecuteNode",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-15T04:52:50.164Z",
+ "at": "2026-06-24T11:23:08.881Z",
"from": "verifying",
"to": "waiting_for_human",
"node": "VerifyNode",
@@ -2426,7 +2433,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-15T04:52:50.003Z",
+ "createdAt": "2026-06-24T11:23:08.838Z",
"kind": "node_result",
"node": "ObserveNode",
"nodeType": "ObserveNode",
@@ -2440,7 +2447,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.003Z",
+ "createdAt": "2026-06-24T11:23:08.838Z",
"kind": "node_result",
"node": "PlanNode",
"nodeType": "PlanNode",
@@ -2473,7 +2480,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.003Z",
+ "createdAt": "2026-06-24T11:23:08.838Z",
"kind": "node_result",
"node": "PolicyNode",
"nodeType": "PolicyNode",
@@ -2494,14 +2501,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "R2"
+ "message": "base=R2; declared=R2; effective=R2"
}
]
}
}
},
{
- "createdAt": "2026-06-15T04:52:50.003Z",
+ "createdAt": "2026-06-24T11:23:08.838Z",
"kind": "node_result",
"node": "ScopeNode",
"nodeType": "ScopeNode",
@@ -2531,7 +2538,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.164Z",
+ "createdAt": "2026-06-24T11:23:08.880Z",
"kind": "node_result",
"node": "ExecuteNode",
"nodeType": "ExecuteNode",
@@ -2542,7 +2549,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499170004:2f563147",
+ "warnings": [],
+ "transactionId": "txn:1782300188839:2f563147",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -2557,13 +2565,13 @@
"command": "node --check src/controller.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-bvDdsu\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-7HeDIR\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 158,
+ "durationMs": 41,
"verification": {
"verified": false,
"checks": [
@@ -2592,7 +2600,7 @@
}
},
{
- "createdAt": "2026-06-15T04:52:50.164Z",
+ "createdAt": "2026-06-24T11:23:08.881Z",
"kind": "node_result",
"node": "VerifyNode",
"nodeType": "VerifyNode",
@@ -2626,7 +2634,7 @@
],
"approvalRequests": [
{
- "id": "approval:629395d18b23",
+ "id": "approval:df0a2552cfc8",
"taskId": "task:35fc503854cd",
"node": "VerifyNode",
"status": "pending",
@@ -2639,25 +2647,25 @@
"reject",
"cancel"
],
- "createdAt": "2026-06-15T04:52:50.164Z",
- "updatedAt": "2026-06-15T04:52:50.164Z"
+ "createdAt": "2026-06-24T11:23:08.881Z",
+ "updatedAt": "2026-06-24T11:23:08.881Z"
}
],
"budget": {},
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-15T04:52:50.003Z",
- "updatedAt": "2026-06-15T04:52:50.164Z"
+ "createdAt": "2026-06-24T11:23:08.838Z",
+ "updatedAt": "2026-06-24T11:23:08.881Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:35fc503854cd:1781499170003",
+ "traceId": "audit:task:35fc503854cd:1782300188838",
"taskId": "task:35fc503854cd",
- "runId": "agent_run:4f72b86cbac8",
+ "runId": "agent_run:7ac251f04f53",
"events": [
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -2665,7 +2673,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.start",
"node": "ObserveNode",
"state": "observing",
@@ -2673,7 +2681,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.completed",
"node": "ObserveNode",
"state": "observing",
@@ -2683,7 +2691,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.start",
"node": "PlanNode",
"state": "planning",
@@ -2691,7 +2699,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.completed",
"node": "PlanNode",
"state": "planning",
@@ -2701,7 +2709,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.start",
"node": "PolicyNode",
"state": "policy_checking",
@@ -2709,7 +2717,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.completed",
"node": "PolicyNode",
"state": "policy_checking",
@@ -2719,7 +2727,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.start",
"node": "ScopeNode",
"state": "scope_checking",
@@ -2727,7 +2735,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.completed",
"node": "ScopeNode",
"state": "scope_checking",
@@ -2737,7 +2745,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.003Z",
+ "at": "2026-06-24T11:23:08.838Z",
"type": "node.start",
"node": "ExecuteNode",
"state": "executing",
@@ -2745,7 +2753,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.164Z",
+ "at": "2026-06-24T11:23:08.880Z",
"type": "node.completed",
"node": "ExecuteNode",
"state": "executing",
@@ -2755,7 +2763,7 @@
}
},
{
- "at": "2026-06-15T04:52:50.164Z",
+ "at": "2026-06-24T11:23:08.881Z",
"type": "node.start",
"node": "VerifyNode",
"state": "verifying",
@@ -2763,7 +2771,7 @@
"data": {}
},
{
- "at": "2026-06-15T04:52:50.164Z",
+ "at": "2026-06-24T11:23:08.881Z",
"type": "human.interrupt",
"node": "VerifyNode",
"state": "waiting_for_human",
@@ -2772,12 +2780,12 @@
"reasons": [
"verification_failed"
],
- "requestId": "approval:629395d18b23"
+ "requestId": "approval:df0a2552cfc8"
}
}
],
- "createdAt": "2026-06-15T04:52:50.003Z",
- "updatedAt": "2026-06-15T04:52:50.164Z"
+ "createdAt": "2026-06-24T11:23:08.838Z",
+ "updatedAt": "2026-06-24T11:23:08.881Z"
},
"status": "waiting_for_human",
"type": "run_agent_controller",
@@ -2804,7 +2812,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 180,
+ "durationMs": 82,
"stepResults": [
{
"actionId": "bench:plugin_process_isolation",
@@ -2813,6 +2821,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -2846,12 +2855,12 @@
"required": false,
"strategy": null
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action\\verify.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action\\verify.js",
"rollbackModulePath": null,
"handler": null,
- "registeredAt": "2026-06-15T04:52:50.169Z",
+ "registeredAt": "2026-06-24T11:23:08.884Z",
"metadata": {}
},
"riskTier": "R1"
@@ -2864,7 +2873,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -2881,31 +2890,33 @@
},
"output": {
"status": "succeeded",
- "pid": 17596,
+ "pid": 19840,
"hanakoChild": "1",
"nodeOptions": null,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl"
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18"
},
"pluginProcess": {
"execute": {
"status": "succeeded",
"result": {
"status": "succeeded",
- "pid": 17596,
+ "pid": 19840,
"hanakoChild": "1",
"nodeOptions": null,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl"
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18"
},
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 17596,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
+ "pid": 19840,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 110
+ "durationMs": 39
}
},
"verification": {
@@ -2931,20 +2942,22 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 19436,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
+ "pid": 22680,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 64
+ "durationMs": 38
}
}
],
"required": true
},
"rollback": null,
- "durationMs": 177,
+ "durationMs": 80,
"type": "execute_action",
"name": "isolated_plugin_action"
},
@@ -2968,7 +2981,7 @@
},
{
"ok": true,
- "actual": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
+ "actual": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
"type": "assert_last_result",
"name": "assert_last_result"
}
@@ -2987,7 +3000,7 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 151,
+ "durationMs": 121,
"stepResults": [
{
"actionId": "bench:plugin_rollback_on_verify_failure",
@@ -2996,6 +3009,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -3029,12 +3043,12 @@
"required": true,
"strategy": "plugin_rollback"
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\verify.js",
- "rollbackModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\rollback.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\verify.js",
+ "rollbackModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\rollback.js",
"handler": null,
- "registeredAt": "2026-06-15T04:52:50.349Z",
+ "registeredAt": "2026-06-24T11:23:08.966Z",
"metadata": {}
},
"riskTier": "R2"
@@ -3047,7 +3061,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -3074,13 +3088,15 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 17840,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
+ "pid": 9784,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 53
+ "durationMs": 40
}
},
"error": "registered action verification failed",
@@ -3109,13 +3125,15 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 17872,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
+ "pid": 18380,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 47
+ "durationMs": 37
}
}
],
@@ -3136,16 +3154,18 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 18288,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
+ "pid": 23164,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 46
+ "durationMs": 40
}
},
- "durationMs": 147,
+ "durationMs": 119,
"type": "execute_action",
"name": "plugin_write_then_fail"
},
@@ -3175,7 +3195,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 126,
+ "durationMs": 116,
"stepResults": [
{
"actionId": "bench:plugin_verify_command_success",
@@ -3184,6 +3204,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -3219,12 +3240,12 @@
"required": false,
"strategy": null
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action\\verify.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action\\verify.js",
"rollbackModulePath": null,
"handler": null,
- "registeredAt": "2026-06-15T04:52:50.500Z",
+ "registeredAt": "2026-06-24T11:23:09.087Z",
"metadata": {}
},
"riskTier": "R1"
@@ -3237,7 +3258,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -3266,13 +3287,15 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 23348,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM",
+ "pid": 6384,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 42
+ "durationMs": 38
}
},
"verification": {
@@ -3300,13 +3323,15 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 23032,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM",
+ "pid": 5960,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux",
+ "workspaceRootImplicit": false,
+ "warnings": [],
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 42
+ "durationMs": 40
}
},
{
@@ -3327,7 +3352,7 @@
"required": true
},
"rollback": null,
- "durationMs": 123,
+ "durationMs": 113,
"type": "execute_action",
"name": "verified_plugin_action"
},
@@ -3352,7 +3377,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 39,
+ "durationMs": 38,
"stepResults": [
{
"status": "succeeded",
@@ -3379,20 +3404,20 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 3,
+ "durationMs": 16,
"stepResults": [
{
"schemaVersion": 1,
- "generatedAt": "2026-06-15T04:52:50.664Z",
- "projectRoot": "D:\\openhanako\\hanako-supplement\\self-evolve",
+ "generatedAt": "2026-06-24T11:23:09.254Z",
+ "projectRoot": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner",
"summary": {
"status": "ready",
"ok": true,
- "version": "4.3.2",
+ "version": "4.3.23",
"score": 100,
- "passed": 15,
+ "passed": 16,
"failed": 0,
- "total": 15,
+ "total": 16,
"failedChecks": [],
"nextAction": "release can proceed after npm run check, npm test, and npm run benchmark pass"
},
@@ -3401,9 +3426,9 @@
"id": "package.version_lts_format",
"ok": true,
"status": "passed",
- "message": "package version is release-formatted: 4.3.2",
+ "message": "package version is release-formatted: 4.3.23",
"details": {
- "version": "4.3.2"
+ "version": "4.3.23"
}
},
{
@@ -3412,9 +3437,9 @@
"status": "passed",
"message": "package-lock root versions match package.json",
"details": {
- "packageVersion": "4.3.2",
- "lockVersion": "4.3.2",
- "rootPackageVersion": "4.3.2"
+ "packageVersion": "4.3.23",
+ "lockVersion": "4.3.23",
+ "rootPackageVersion": "4.3.23"
}
},
{
@@ -3428,61 +3453,61 @@
{
"path": "docs/ACTION_API.md",
"exists": true,
- "sizeBytes": 3197,
+ "sizeBytes": 2613,
"ok": true
},
{
"path": "docs/POLICY.md",
"exists": true,
- "sizeBytes": 2335,
+ "sizeBytes": 1364,
"ok": true
},
{
"path": "docs/TRANSACTION.md",
"exists": true,
- "sizeBytes": 1596,
+ "sizeBytes": 933,
"ok": true
},
{
"path": "docs/SANDBOX.md",
"exists": true,
- "sizeBytes": 2018,
+ "sizeBytes": 1057,
"ok": true
},
{
"path": "docs/SKILL_PROMOTION.md",
"exists": true,
- "sizeBytes": 2302,
+ "sizeBytes": 1127,
"ok": true
},
{
"path": "docs/AUDIT.md",
"exists": true,
- "sizeBytes": 1594,
+ "sizeBytes": 1137,
"ok": true
},
{
"path": "docs/BENCHMARKS.md",
"exists": true,
- "sizeBytes": 2238,
+ "sizeBytes": 967,
"ok": true
},
{
"path": "docs/MIGRATION_v3_to_v4.md",
"exists": true,
- "sizeBytes": 2191,
+ "sizeBytes": 1363,
"ok": true
},
{
"path": "docs/API_FREEZE.md",
"exists": true,
- "sizeBytes": 1827,
+ "sizeBytes": 1606,
"ok": true
},
{
"path": "docs/DESIGN_GOAL_COMPLETION_MATRIX.md",
"exists": true,
- "sizeBytes": 3152,
+ "sizeBytes": 981,
"ok": true
}
],
@@ -3493,18 +3518,18 @@
"id": "docs.acceptance_current_version",
"ok": true,
"status": "passed",
- "message": "current acceptance report exists: docs/ACCEPTANCE-v4.3.2.md",
+ "message": "current acceptance report exists: docs/ACCEPTANCE-v4.3.23.md",
"details": {
- "acceptancePath": "docs/ACCEPTANCE-v4.3.2.md"
+ "acceptancePath": "docs/ACCEPTANCE-v4.3.23.md"
}
},
{
"id": "docs.changelog_current_section",
"ok": true,
"status": "passed",
- "message": "CHANGELOG has current section ## 4.3.2",
+ "message": "CHANGELOG has current section ## 4.3.23",
"details": {
- "heading": "## 4.3.2"
+ "heading": "## 4.3.23"
}
},
{
@@ -3513,7 +3538,7 @@
"status": "passed",
"message": "design goal matrix references current package version",
"details": {
- "version": "4.3.2"
+ "version": "4.3.23"
}
},
{
@@ -3551,49 +3576,49 @@
"id": "readme.version_badge",
"ok": true,
"status": "passed",
- "message": "README version badge matches package version: 4.3.2",
+ "message": "README version badge matches package version: 4.3.23",
"details": {
- "expected": "4.3.2",
- "found": "4.3.2-lts"
+ "expected": "4.3.23",
+ "found": "4.3.23-lts"
}
},
{
"id": "readme.test_badge",
"ok": true,
"status": "passed",
- "message": "README test badge matches: 515/515",
+ "message": "README test badge matches: 665/665",
"details": {
- "expected": 515,
- "found": 515
+ "expected": 665,
+ "found": 665
}
},
{
"id": "readme.clone_branch",
"ok": true,
"status": "passed",
- "message": "README fixed clone branch matches: v4.3.2",
+ "message": "README fixed clone branch matches: v4.3.23",
"details": {
- "expected": "v4.3.2",
- "found": "v4.3.2"
+ "expected": "v4.3.23",
+ "found": "v4.3.23"
}
},
{
"id": "manifest.version",
"ok": true,
"status": "passed",
- "message": "manifest version matches package.json: 4.3.2",
+ "message": "manifest version matches package.json: 4.3.23",
"details": {
- "expected": "4.3.2",
- "found": "4.3.2"
+ "expected": "4.3.23",
+ "found": "4.3.23"
}
},
{
"id": "docs.api_freeze_version",
"ok": true,
"status": "passed",
- "message": "API_FREEZE.md references current version or major.minor: 4.3.2",
+ "message": "API_FREEZE.md references current version or major.minor: 4.3.23",
"details": {
- "expected": "4.3.2",
+ "expected": "4.3.23",
"majorMinor": "4.3"
}
},
@@ -3601,10 +3626,38 @@
"id": "readme.test_count_text",
"ok": true,
"status": "passed",
- "message": "README test count text matches: 515",
+ "message": "README test count text matches: 665",
"details": {
- "expected": 515,
- "found": 515
+ "expected": 665,
+ "found": 665
+ }
+ },
+ {
+ "id": "complexity.within_budget",
+ "ok": true,
+ "status": "passed",
+ "message": "complexity within budget: 185 files, max 648 LOC, 0 TODO/FIXME (3 soft warning(s))",
+ "details": {
+ "totals": {
+ "fileCount": 185,
+ "libModuleCount": 88,
+ "loc": 26920,
+ "codeLoc": 22461,
+ "imports": 857,
+ "exports": 443,
+ "todos": 0,
+ "maxLoc": 648,
+ "maxImports": 32,
+ "maxExports": 17
+ },
+ "violations": [],
+ "softWarningCount": 3,
+ "dirs": [
+ "lib",
+ "scripts",
+ "tests",
+ "tools"
+ ]
}
}
],
@@ -3640,7 +3693,7 @@
"rollbackOk": false,
"repairAttempted": true,
"repairOk": true,
- "durationMs": 79,
+ "durationMs": 78,
"stepResults": [
{
"actionId": "bench:repair_once_explicit_patch",
@@ -3649,7 +3702,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499170665:7b0daa0c",
+ "warnings": [],
+ "transactionId": "txn:1782300189255:7b0daa0c",
"changedFiles": [
"src\\target.mjs"
],
@@ -3754,6 +3808,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"diagnosis": "The failure is deterministic and should not be retried blindly.",
"durationMs": 0,
"verification": {
@@ -3796,7 +3851,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 0,
+ "durationMs": 1,
"stepResults": [
{
"actionId": "bench:split_context",
@@ -3805,6 +3860,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"artifact": {
"kind": "split_context",
"content": "Section A: inspect runtime. Section B: inspect safety. Section C: inspect feedback. Section D: inspect audit. Section E: inspect benchmark. Section F: inspect rollback. Section G: inspect repair. Section H: inspect governance. Section I: inspect transfer. Section J: inspect controller. Section K: inspect registry. Section L: inspect docs.",
@@ -3879,7 +3935,7 @@
"status": "pending"
}
],
- "createdAt": "2026-06-15T04:52:50.744Z"
+ "createdAt": "2026-06-24T11:23:09.333Z"
}
},
"before": {
@@ -3889,7 +3945,7 @@
"chars": 340,
"subtasks": 3
},
- "durationMs": 0,
+ "durationMs": 1,
"verification": {
"verified": true,
"checks": [
@@ -3939,6 +3995,7 @@
"logs": [],
"artifacts": [],
"errors": [],
+ "warnings": [],
"error": "scope gate rejected: file not in allowed scope: src/out-of-scope.js; scope_violation: src/out-of-scope.js outside explicit scope",
"scopeGate": {
"decision": "reject",
@@ -4020,7 +4077,7 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 40,
+ "durationMs": 48,
"stepResults": [
{
"actionId": "bench:rollback_failed_verification",
@@ -4029,7 +4086,8 @@
"logs": [],
"artifacts": [],
"errors": [],
- "transactionId": "txn:1781499170746:34461105",
+ "warnings": [],
+ "transactionId": "txn:1782300189334:34461105",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -4049,7 +4107,7 @@
"error": null
}
],
- "durationMs": 37,
+ "durationMs": 45,
"verification": {
"verified": false,
"checks": [
@@ -4143,7 +4201,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 10,
+ "durationMs": 12,
"stepResults": [
{
"ok": true,
@@ -4193,10 +4251,10 @@
},
"tokenCost": 0,
"status": "staged",
- "createdAt": "2026-06-15T04:52:50.788Z",
- "updatedAt": "2026-06-15T04:52:50.788Z",
+ "createdAt": "2026-06-24T11:23:09.385Z",
+ "updatedAt": "2026-06-24T11:23:09.385Z",
"decayed": false,
- "stagedAt": "2026-06-15T04:52:50.788Z"
+ "stagedAt": "2026-06-24T11:23:09.385Z"
}
],
"activeSkills": [],
@@ -4277,11 +4335,11 @@
},
"tokenCost": 0,
"status": "active",
- "createdAt": "2026-06-15T04:52:50.788Z",
- "updatedAt": "2026-06-15T04:52:50.796Z",
+ "createdAt": "2026-06-24T11:23:09.385Z",
+ "updatedAt": "2026-06-24T11:23:09.393Z",
"decayed": false,
- "stagedAt": "2026-06-15T04:52:50.788Z",
- "activatedAt": "2026-06-15T04:52:50.796Z"
+ "stagedAt": "2026-06-24T11:23:09.385Z",
+ "activatedAt": "2026-06-24T11:23:09.393Z"
}
],
"activeSkills": [
@@ -4313,7 +4371,7 @@
"tokenCost": 0,
"status": "active",
"source": "reflexion_cluster",
- "activatedAt": "2026-06-15T04:52:50.796Z"
+ "activatedAt": "2026-06-24T11:23:09.393Z"
}
],
"events": [
@@ -4375,7 +4433,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 41,
+ "durationMs": 42,
"stepResults": [
{
"ok": true,
@@ -4416,8 +4474,8 @@
"latestValidationStatus": "passed",
"manualPromotionEligible": true,
"autoPromotionBlocked": true,
- "createdAt": "2026-06-15T04:52:50.798Z",
- "updatedAt": "2026-06-15T04:52:50.837Z"
+ "createdAt": "2026-06-24T11:23:09.396Z",
+ "updatedAt": "2026-06-24T11:23:09.436Z"
},
"type": "transfer_validate",
"name": "validate_transfer_candidate"
@@ -4446,16 +4504,16 @@
"false_auto_apply_rate": 0,
"manual_escalation_rate": 0.11764705882352941,
"token_overhead": null,
- "latency_overhead": 64,
+ "latency_overhead": 43.76470588235294,
"skill_effectiveness": null
},
"corpus": {
- "root": "D:\\openhanako\\hanako-supplement\\self-evolve\\benchmarks",
+ "root": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner\\benchmarks",
"scenarioCount": 17,
"selectedScenarioCount": 17
},
"baseline": {
- "path": "D:\\openhanako\\hanako-supplement\\self-evolve\\benchmarks\\baseline-v4.0.9.json",
+ "path": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner\\benchmarks\\baseline-v4.0.9.json",
"metrics": {
"task_success_rate": 1,
"auto_execution_success_rate": 1,
diff --git a/benchmark-results/benchmark-report.md b/benchmark-results/benchmark-report.md
index 6c0381e..fcc223d 100644
--- a/benchmark-results/benchmark-report.md
+++ b/benchmark-results/benchmark-report.md
@@ -1,6 +1,6 @@
# Benchmark Report
-Generated at: 2026-06-15T04:52:50.839Z
+Generated at: 2026-06-24T11:23:09.438Z
Scenarios: 17
Status: passed
@@ -16,7 +16,7 @@ Status: passed
| false_auto_apply_rate | 0.0000 |
| manual_escalation_rate | 0.1176 |
| token_overhead | null |
-| latency_overhead | 64.0000 |
+| latency_overhead | 43.7647 |
| skill_effectiveness | null |
## Scenario Results
diff --git a/docs/ACCEPTANCE-v4.3.23.md b/docs/ACCEPTANCE-v4.3.23.md
new file mode 100644
index 0000000..3e66959
--- /dev/null
+++ b/docs/ACCEPTANCE-v4.3.23.md
@@ -0,0 +1,38 @@
+# v4.3.23 验收记录
+
+## 版本目标
+
+`v4.3.23` 在 `v4.3.22` 自学习控制台基础上,补齐 v4.x LTS 的复杂度治理门:把维护期预算写成可机读规则、发布门检查和可审计文档,同时拆分控制面热点文件,降低后续维护风险。该版本不新增自动化能力。
+
+## 实现
+
+- `lib/complexity.js`:定义复杂度扫描、hard limit、soft target、报告构建和预算判定。
+- `scripts/complexity-check.js` / `scripts/complexity-report.js`:新增本地门禁与报告生成脚本,均只依赖 Node 内置模块。
+- `lib/release-readiness.js`:发布门新增 `complexity.within_budget` 检查,默认测试基线同步到 665。
+- `docs/COMPLEXITY_BUDGET.md`:记录 v4.x LTS 复杂度预算、模块新增规则和预算调整流程。
+- `docs/COMPLEXITY_DEBT.md` / `docs/COMPLEXITY_REPORT.md`:登记 soft target 债务并生成当前复杂度快照。
+- `tools/control-parameters.js`、`tools/control-summaries.js`、`tools/control-handlers/*`:从 `tools/control.js` 抽出参数解析、摘要格式化和部分控制面 handler,保留行为特征回归覆盖。
+
+## 验收结果
+
+| 项目 | 结果 |
+|---|---|
+| `npm run check` | 通过 |
+| `npm test` | 665 个测试,660 通过,5 跳过 |
+| `npm run benchmark` | 17/17 通过 |
+| `npm run perf` | 通过,无阈值越界 |
+| `npm run complexity:check` | 通过,0 hard violations |
+| `npm run release:check` | Score 100 |
+
+## 本版确认项
+
+1. 复杂度治理扫描范围限定为 `lib/`、`scripts/`、`tests/`、`tools/` 下的 JS/CJS/MJS 文件。
+2. hard limit 超出会阻断 `complexity:check` 和 `release:check`;soft target 只登记债务,不阻断发布。
+3. `docs/COMPLEXITY_BUDGET.md` 与 `lib/complexity.js` 中的预算数值保持一致。
+4. `tools/control.js` 已拆分到 602 LOC,仍仅略高于 600 LOC soft target,登记在复杂度债务中。
+5. README、INSTALL、CHANGELOG、ARCHITECTURE、设计目标矩阵、package/manifest/lockfile 版本均同步到 `4.3.23`。
+6. 自动化边界未放宽:新增的是本地静态治理与文档/测试,不执行 `git tag`、`git push`、`npm publish` 或外部副作用。
+
+## 结论
+
+`v4.3.23` 满足当前 release gate,作为 v4.x LTS 的复杂度治理与发布门加固版本发布。
diff --git a/docs/COMPLEXITY_REPORT.md b/docs/COMPLEXITY_REPORT.md
index 78449fa..8843a31 100644
--- a/docs/COMPLEXITY_REPORT.md
+++ b/docs/COMPLEXITY_REPORT.md
@@ -3,7 +3,7 @@
> 自动生成,请勿手工编辑。运行 `npm run complexity:report` 刷新。
> 预算与规则见 [COMPLEXITY_BUDGET.md](COMPLEXITY_BUDGET.md),债务清单见 [COMPLEXITY_DEBT.md](COMPLEXITY_DEBT.md)。
-Generated at: 2026-06-24T10:44:26.734Z
+Generated at: 2026-06-24T11:22:40.919Z
Scan scope: lib, scripts, tests, tools
Status: within budget
diff --git a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
index 73a9866..69889cc 100644
--- a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
+++ b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
@@ -1,6 +1,6 @@
# 设计目标完成矩阵
-当前版本:`v4.3.22`
+当前版本:`v4.3.23`
## 总体状态
@@ -18,7 +18,7 @@
| 项目 | 预期 |
|---|---|
| `npm run check` | 通过 |
-| `npm test` | 570 个测试,565 通过,5 跳过 |
+| `npm test` | 665 个测试,660 通过,5 跳过 |
| `npm run benchmark` | 17/17 通过 |
| `npm run perf` | 无阈值越界 |
| `npm run release:check` | Score 100 |
diff --git a/manifest.json b/manifest.json
index 82b28f1..9f6755a 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "hanako-runtime-learner",
"name": "Runtime Self-Learning",
- "version": "4.3.22",
+ "version": "4.3.23",
"description": "运行时自学习引擎:观察本地交互,归纳重复工作流、偏好与错误,并生成保守的经验提示。",
"author": "Sun",
"trust": "full-access",
diff --git a/package-lock.json b/package-lock.json
index 0bffa57..3b17763 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"license": "MIT"
}
}
diff --git a/package.json b/package.json
index 06485d0..d3b5d78 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"description": "Runtime self-learning engine for Hanako: observe local interaction patterns, learn repeated workflows and errors, inject conservative skill hints.",
"author": "Sun",
"license": "MIT",
From 1bff40d2aa50fbe8ab3cefe58b32c71f58a7b58b Mon Sep 17 00:00:00 2001
From: Hanako Maintainer
-
+
@@ -60,7 +60,7 @@ npm run install-plugin
固定版本安装:
```powershell
-git clone --branch v4.3.23 https://github.com/326sun/Hanako-runtime-learner.git
+git clone --branch v4.3.22 https://github.com/326sun/Hanako-runtime-learner.git
cd Hanako-runtime-learner
npm run install-plugin
```
@@ -210,10 +210,10 @@ npm run perf -- --json
npm run release:check
```
-`v4.3.23` 的预期结果:
+`v4.3.22` 的预期结果:
```text
-package version: 4.3.23
+package version: 4.3.22
npm run check: passed
npm test: 665 tests, 660 passed, 5 skipped
npm run benchmark: passed, 17 scenarios
@@ -240,7 +240,7 @@ npm run release:check: Score 100
| [docs/MIGRATION_v3_to_v4.md](docs/MIGRATION_v3_to_v4.md) | v3 到 v4 迁移说明。 |
| [docs/LTS_MAINTENANCE_PLAN.md](docs/LTS_MAINTENANCE_PLAN.md) | v4.x LTS 维护策略。 |
| [docs/DESIGN_GOAL_COMPLETION_MATRIX.md](docs/DESIGN_GOAL_COMPLETION_MATRIX.md) | 设计目标完成矩阵。 |
-| [docs/ACCEPTANCE-v4.3.23.md](docs/ACCEPTANCE-v4.3.23.md) | 当前版本验收记录。 |
+| [docs/ACCEPTANCE-v4.3.22.md](docs/ACCEPTANCE-v4.3.22.md) | 当前版本验收记录。 |
| [CHANGELOG.md](CHANGELOG.md) | 版本历史。 |
## 许可证
diff --git a/benchmark-results/benchmark-report.json b/benchmark-results/benchmark-report.json
index cc2259c..0181acc 100644
--- a/benchmark-results/benchmark-report.json
+++ b/benchmark-results/benchmark-report.json
@@ -1,6 +1,6 @@
{
"schemaVersion": 1,
- "generatedAt": "2026-06-24T11:23:09.438Z",
+ "generatedAt": "2026-06-15T04:52:50.839Z",
"runs": [
{
"scenarioId": "audit.dashboard_surface",
@@ -15,14 +15,14 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 7,
+ "durationMs": 6,
"stepResults": [
{
"ok": true,
"status": "generated",
- "dir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark",
- "jsonPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark\\dashboard.json",
- "mdPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-gOxHEA\\.hanako\\audit-dashboard\\benchmark\\dashboard.md",
+ "dir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark",
+ "jsonPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark\\dashboard.json",
+ "mdPath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-audit.dashboard_surface-1FS50v\\.hanako\\audit-dashboard\\benchmark\\dashboard.md",
"summary": {
"benchmarkAvailable": true,
"benchmarkOk": true,
@@ -86,14 +86,14 @@
"rollbackOk": true,
"repairAttempted": true,
"repairOk": true,
- "durationMs": 92,
+ "durationMs": 117,
"stepResults": [
{
"ok": true,
"state": {
"schemaVersion": 1,
"taskId": "task:e006b07b0464",
- "runId": "agent_run:d31f86c0b5e7",
+ "runId": "agent_run:13f9cbfff254",
"state": "completed",
"currentNode": "finalize",
"graph": {
@@ -118,7 +118,7 @@
"files": []
}
},
- "updatedAt": "2026-06-24T11:23:08.702Z"
+ "updatedAt": "2026-06-15T04:52:49.757Z"
},
{
"id": "plan",
@@ -156,7 +156,7 @@
}
]
},
- "updatedAt": "2026-06-24T11:23:08.703Z"
+ "updatedAt": "2026-06-15T04:52:49.757Z"
},
{
"id": "policy",
@@ -184,12 +184,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
},
- "updatedAt": "2026-06-24T11:23:08.704Z"
+ "updatedAt": "2026-06-15T04:52:49.758Z"
},
{
"id": "scope",
@@ -224,7 +224,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-24T11:23:08.704Z"
+ "updatedAt": "2026-06-15T04:52:49.759Z"
},
{
"id": "execute",
@@ -242,8 +242,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188705:65edf3f9",
+ "transactionId": "txn:1781499169760:65edf3f9",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -258,13 +257,13 @@
"command": "node --check src/repair-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-KVoI2g\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-EJdIcg\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 45,
+ "durationMs": 54,
"verification": {
"verified": false,
"checks": [
@@ -291,7 +290,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-24T11:23:08.752Z"
+ "updatedAt": "2026-06-15T04:52:49.815Z"
},
{
"id": "verify_initial",
@@ -329,7 +328,7 @@
"error": "verification failed"
},
"recoveryTarget": "repair",
- "updatedAt": "2026-06-24T11:23:08.752Z"
+ "updatedAt": "2026-06-15T04:52:49.815Z"
},
{
"id": "repair",
@@ -354,8 +353,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188753:3416c35d",
+ "transactionId": "txn:1781499169815:3416c35d",
"changedFiles": [
"src\\repair-target.mjs"
],
@@ -377,7 +375,7 @@
"error": null
}
],
- "durationMs": 40,
+ "durationMs": 55,
"verification": {
"verified": true,
"checks": [
@@ -422,7 +420,7 @@
"confidence": 0.86
}
},
- "updatedAt": "2026-06-24T11:23:08.792Z"
+ "updatedAt": "2026-06-15T04:52:49.870Z"
},
{
"id": "verify_after_repair",
@@ -458,7 +456,7 @@
},
"sourceNode": "repair"
},
- "updatedAt": "2026-06-24T11:23:08.792Z"
+ "updatedAt": "2026-06-15T04:52:49.871Z"
},
{
"id": "feedback",
@@ -473,7 +471,7 @@
"status": "succeeded",
"note": "FeedbackNode recorded"
},
- "updatedAt": "2026-06-24T11:23:08.792Z"
+ "updatedAt": "2026-06-15T04:52:49.871Z"
},
{
"id": "finalize",
@@ -488,91 +486,91 @@
"status": "succeeded",
"note": "finalized"
},
- "updatedAt": "2026-06-24T11:23:08.792Z"
+ "updatedAt": "2026-06-15T04:52:49.871Z"
}
],
- "createdAt": "2026-06-24T11:23:08.702Z"
+ "createdAt": "2026-06-15T04:52:49.756Z"
},
"history": [
{
- "at": "2026-06-24T11:23:08.702Z",
+ "at": "2026-06-15T04:52:49.756Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-24T11:23:08.702Z",
+ "at": "2026-06-15T04:52:49.757Z",
"from": "created",
"to": "observing",
"node": "observe",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-24T11:23:08.703Z",
+ "at": "2026-06-15T04:52:49.757Z",
"from": "observing",
"to": "planning",
"node": "observe",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-24T11:23:08.703Z",
+ "at": "2026-06-15T04:52:49.757Z",
"from": "planning",
"to": "policy_checking",
"node": "plan",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.758Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "policy",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.759Z",
"from": "scope_checking",
"to": "executing",
"node": "scope",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"from": "executing",
"to": "verifying",
"node": "execute",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"from": "verifying",
"to": "repairing",
"node": "verify_initial",
"reason": "VerifyNode routed to RepairNode"
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.870Z",
"from": "repairing",
"to": "verifying",
"node": "repair",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"from": "verifying",
"to": "learning",
"node": "verify_after_repair",
"reason": "advance to FeedbackNode"
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"from": "learning",
"to": "learning",
"node": "feedback",
"reason": "advance to FinalizeNode"
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"from": "learning",
"to": "completed",
"node": "finalize",
@@ -581,7 +579,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-24T11:23:08.702Z",
+ "createdAt": "2026-06-15T04:52:49.757Z",
"kind": "node_result",
"node": "observe",
"nodeType": "ObserveNode",
@@ -595,7 +593,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.703Z",
+ "createdAt": "2026-06-15T04:52:49.757Z",
"kind": "node_result",
"node": "plan",
"nodeType": "PlanNode",
@@ -628,7 +626,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.704Z",
+ "createdAt": "2026-06-15T04:52:49.758Z",
"kind": "node_result",
"node": "policy",
"nodeType": "PolicyNode",
@@ -649,14 +647,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
}
},
{
- "createdAt": "2026-06-24T11:23:08.704Z",
+ "createdAt": "2026-06-15T04:52:49.759Z",
"kind": "node_result",
"node": "scope",
"nodeType": "ScopeNode",
@@ -686,7 +684,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.752Z",
+ "createdAt": "2026-06-15T04:52:49.815Z",
"kind": "node_result",
"node": "execute",
"nodeType": "ExecuteNode",
@@ -697,8 +695,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188705:65edf3f9",
+ "transactionId": "txn:1781499169760:65edf3f9",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -713,13 +710,13 @@
"command": "node --check src/repair-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-KVoI2g\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.repair_branch-EJdIcg\\src\\repair-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 45,
+ "durationMs": 54,
"verification": {
"verified": false,
"checks": [
@@ -748,7 +745,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.752Z",
+ "createdAt": "2026-06-15T04:52:49.815Z",
"kind": "node_result",
"node": "verify_initial",
"nodeType": "VerifyNode",
@@ -780,7 +777,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.792Z",
+ "createdAt": "2026-06-15T04:52:49.870Z",
"kind": "node_result",
"node": "repair",
"nodeType": "RepairNode",
@@ -798,8 +795,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188753:3416c35d",
+ "transactionId": "txn:1781499169815:3416c35d",
"changedFiles": [
"src\\repair-target.mjs"
],
@@ -821,7 +817,7 @@
"error": null
}
],
- "durationMs": 40,
+ "durationMs": 55,
"verification": {
"verified": true,
"checks": [
@@ -868,7 +864,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.792Z",
+ "createdAt": "2026-06-15T04:52:49.871Z",
"kind": "node_result",
"node": "verify_after_repair",
"nodeType": "VerifyNode",
@@ -899,7 +895,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.792Z",
+ "createdAt": "2026-06-15T04:52:49.871Z",
"kind": "node_result",
"node": "feedback",
"nodeType": "FeedbackNode",
@@ -909,7 +905,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.792Z",
+ "createdAt": "2026-06-15T04:52:49.871Z",
"kind": "node_result",
"node": "finalize",
"nodeType": "FinalizeNode",
@@ -924,17 +920,17 @@
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-24T11:23:08.702Z",
- "updatedAt": "2026-06-24T11:23:08.792Z"
+ "createdAt": "2026-06-15T04:52:49.756Z",
+ "updatedAt": "2026-06-15T04:52:49.871Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:e006b07b0464:1782300188702",
+ "traceId": "audit:task:e006b07b0464:1781499169756",
"taskId": "task:e006b07b0464",
- "runId": "agent_run:d31f86c0b5e7",
+ "runId": "agent_run:13f9cbfff254",
"events": [
{
- "at": "2026-06-24T11:23:08.702Z",
+ "at": "2026-06-15T04:52:49.756Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -942,7 +938,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.702Z",
+ "at": "2026-06-15T04:52:49.757Z",
"type": "node.start",
"node": "observe",
"state": "observing",
@@ -950,7 +946,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.702Z",
+ "at": "2026-06-15T04:52:49.757Z",
"type": "node.completed",
"node": "observe",
"state": "observing",
@@ -960,7 +956,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.703Z",
+ "at": "2026-06-15T04:52:49.757Z",
"type": "node.start",
"node": "plan",
"state": "planning",
@@ -968,7 +964,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.703Z",
+ "at": "2026-06-15T04:52:49.757Z",
"type": "node.completed",
"node": "plan",
"state": "planning",
@@ -978,7 +974,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.703Z",
+ "at": "2026-06-15T04:52:49.757Z",
"type": "node.start",
"node": "policy",
"state": "policy_checking",
@@ -986,7 +982,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.758Z",
"type": "node.completed",
"node": "policy",
"state": "policy_checking",
@@ -996,7 +992,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.758Z",
"type": "node.start",
"node": "scope",
"state": "scope_checking",
@@ -1004,7 +1000,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.759Z",
"type": "node.completed",
"node": "scope",
"state": "scope_checking",
@@ -1014,7 +1010,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.704Z",
+ "at": "2026-06-15T04:52:49.759Z",
"type": "node.start",
"node": "execute",
"state": "executing",
@@ -1022,7 +1018,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"type": "node.completed",
"node": "execute",
"state": "executing",
@@ -1032,7 +1028,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"type": "node.start",
"node": "verify_initial",
"state": "verifying",
@@ -1040,7 +1036,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"type": "node.recovery_branch",
"node": "verify_initial",
"state": "repairing",
@@ -1072,7 +1068,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.752Z",
+ "at": "2026-06-15T04:52:49.815Z",
"type": "node.start",
"node": "repair",
"state": "repairing",
@@ -1080,7 +1076,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.870Z",
"type": "node.completed",
"node": "repair",
"state": "repairing",
@@ -1090,7 +1086,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.start",
"node": "verify_after_repair",
"state": "verifying",
@@ -1098,7 +1094,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.completed",
"node": "verify_after_repair",
"state": "verifying",
@@ -1108,7 +1104,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.start",
"node": "feedback",
"state": "learning",
@@ -1116,7 +1112,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.completed",
"node": "feedback",
"state": "learning",
@@ -1126,7 +1122,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.start",
"node": "finalize",
"state": "learning",
@@ -1134,7 +1130,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.792Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "node.completed",
"node": "finalize",
"state": "learning",
@@ -1144,7 +1140,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.793Z",
+ "at": "2026-06-15T04:52:49.871Z",
"type": "state.completed",
"node": "finalize",
"state": "completed",
@@ -1152,8 +1148,8 @@
"data": {}
}
],
- "createdAt": "2026-06-24T11:23:08.702Z",
- "updatedAt": "2026-06-24T11:23:08.793Z"
+ "createdAt": "2026-06-15T04:52:49.756Z",
+ "updatedAt": "2026-06-15T04:52:49.871Z"
},
"status": "completed",
"type": "run_agent_controller",
@@ -1185,14 +1181,14 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 44,
+ "durationMs": 130,
"stepResults": [
{
"ok": true,
"state": {
"schemaVersion": 1,
"taskId": "task:b932bd6c5854",
- "runId": "agent_run:369051c672ab",
+ "runId": "agent_run:6717a622eb02",
"state": "completed",
"currentNode": "finalize",
"graph": {
@@ -1217,7 +1213,7 @@
"files": []
}
},
- "updatedAt": "2026-06-24T11:23:08.794Z"
+ "updatedAt": "2026-06-15T04:52:49.873Z"
},
{
"id": "plan",
@@ -1256,7 +1252,7 @@
}
]
},
- "updatedAt": "2026-06-24T11:23:08.794Z"
+ "updatedAt": "2026-06-15T04:52:49.873Z"
},
{
"id": "policy",
@@ -1284,12 +1280,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
},
- "updatedAt": "2026-06-24T11:23:08.794Z"
+ "updatedAt": "2026-06-15T04:52:49.873Z"
},
{
"id": "scope",
@@ -1324,7 +1320,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-24T11:23:08.794Z"
+ "updatedAt": "2026-06-15T04:52:49.873Z"
},
{
"id": "execute",
@@ -1342,8 +1338,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188795:92b7d810",
+ "transactionId": "txn:1781499169874:92b7d810",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -1358,13 +1353,13 @@
"command": "node --check src/rollback-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-8A2sXa\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-GMapTz\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 40,
+ "durationMs": 125,
"verification": {
"verified": false,
"checks": [
@@ -1396,7 +1391,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-24T11:23:08.836Z"
+ "updatedAt": "2026-06-15T04:52:50.000Z"
},
{
"id": "verify",
@@ -1439,7 +1434,7 @@
"error": "verification failed"
},
"recoveryTarget": "rollback",
- "updatedAt": "2026-06-24T11:23:08.836Z"
+ "updatedAt": "2026-06-15T04:52:50.000Z"
},
{
"id": "rollback",
@@ -1484,7 +1479,7 @@
},
"sourceNode": "execute"
},
- "updatedAt": "2026-06-24T11:23:08.836Z"
+ "updatedAt": "2026-06-15T04:52:50.000Z"
},
{
"id": "feedback",
@@ -1499,7 +1494,7 @@
"status": "succeeded",
"note": "FeedbackNode recorded"
},
- "updatedAt": "2026-06-24T11:23:08.836Z"
+ "updatedAt": "2026-06-15T04:52:50.000Z"
},
{
"id": "finalize",
@@ -1514,84 +1509,84 @@
"status": "succeeded",
"note": "finalized"
},
- "updatedAt": "2026-06-24T11:23:08.837Z"
+ "updatedAt": "2026-06-15T04:52:50.001Z"
}
],
- "createdAt": "2026-06-24T11:23:08.794Z"
+ "createdAt": "2026-06-15T04:52:49.873Z"
},
"history": [
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": "created",
"to": "observing",
"node": "observe",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": "observing",
"to": "planning",
"node": "observe",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": "planning",
"to": "policy_checking",
"node": "plan",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "policy",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"from": "scope_checking",
"to": "executing",
"node": "scope",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"from": "executing",
"to": "verifying",
"node": "execute",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"from": "verifying",
"to": "rolling_back",
"node": "verify",
"reason": "VerifyNode routed to RollbackNode"
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"from": "rolling_back",
"to": "learning",
"node": "rollback",
"reason": "advance to FeedbackNode"
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"from": "learning",
"to": "learning",
"node": "feedback",
"reason": "advance to FinalizeNode"
},
{
- "at": "2026-06-24T11:23:08.837Z",
+ "at": "2026-06-15T04:52:50.001Z",
"from": "learning",
"to": "completed",
"node": "finalize",
@@ -1600,7 +1595,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-24T11:23:08.794Z",
+ "createdAt": "2026-06-15T04:52:49.873Z",
"kind": "node_result",
"node": "observe",
"nodeType": "ObserveNode",
@@ -1614,7 +1609,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.794Z",
+ "createdAt": "2026-06-15T04:52:49.873Z",
"kind": "node_result",
"node": "plan",
"nodeType": "PlanNode",
@@ -1648,7 +1643,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.794Z",
+ "createdAt": "2026-06-15T04:52:49.873Z",
"kind": "node_result",
"node": "policy",
"nodeType": "PolicyNode",
@@ -1669,14 +1664,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
}
},
{
- "createdAt": "2026-06-24T11:23:08.794Z",
+ "createdAt": "2026-06-15T04:52:49.873Z",
"kind": "node_result",
"node": "scope",
"nodeType": "ScopeNode",
@@ -1706,7 +1701,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.836Z",
+ "createdAt": "2026-06-15T04:52:50.000Z",
"kind": "node_result",
"node": "execute",
"nodeType": "ExecuteNode",
@@ -1717,8 +1712,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188795:92b7d810",
+ "transactionId": "txn:1781499169874:92b7d810",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -1733,13 +1727,13 @@
"command": "node --check src/rollback-target.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-8A2sXa\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.rollback_branch-GMapTz\\src\\rollback-target.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 40,
+ "durationMs": 125,
"verification": {
"verified": false,
"checks": [
@@ -1773,7 +1767,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.836Z",
+ "createdAt": "2026-06-15T04:52:50.000Z",
"kind": "node_result",
"node": "verify",
"nodeType": "VerifyNode",
@@ -1810,7 +1804,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.836Z",
+ "createdAt": "2026-06-15T04:52:50.000Z",
"kind": "node_result",
"node": "rollback",
"nodeType": "RollbackNode",
@@ -1850,7 +1844,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.836Z",
+ "createdAt": "2026-06-15T04:52:50.000Z",
"kind": "node_result",
"node": "feedback",
"nodeType": "FeedbackNode",
@@ -1860,7 +1854,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.837Z",
+ "createdAt": "2026-06-15T04:52:50.001Z",
"kind": "node_result",
"node": "finalize",
"nodeType": "FinalizeNode",
@@ -1875,17 +1869,17 @@
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-24T11:23:08.794Z",
- "updatedAt": "2026-06-24T11:23:08.837Z"
+ "createdAt": "2026-06-15T04:52:49.873Z",
+ "updatedAt": "2026-06-15T04:52:50.001Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:b932bd6c5854:1782300188794",
+ "traceId": "audit:task:b932bd6c5854:1781499169873",
"taskId": "task:b932bd6c5854",
- "runId": "agent_run:369051c672ab",
+ "runId": "agent_run:6717a622eb02",
"events": [
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -1893,7 +1887,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.start",
"node": "observe",
"state": "observing",
@@ -1901,7 +1895,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.completed",
"node": "observe",
"state": "observing",
@@ -1911,7 +1905,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.start",
"node": "plan",
"state": "planning",
@@ -1919,7 +1913,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.completed",
"node": "plan",
"state": "planning",
@@ -1929,7 +1923,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.start",
"node": "policy",
"state": "policy_checking",
@@ -1937,7 +1931,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.completed",
"node": "policy",
"state": "policy_checking",
@@ -1947,7 +1941,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.start",
"node": "scope",
"state": "scope_checking",
@@ -1955,7 +1949,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.completed",
"node": "scope",
"state": "scope_checking",
@@ -1965,7 +1959,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.794Z",
+ "at": "2026-06-15T04:52:49.873Z",
"type": "node.start",
"node": "execute",
"state": "executing",
@@ -1973,7 +1967,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.completed",
"node": "execute",
"state": "executing",
@@ -1983,7 +1977,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.start",
"node": "verify",
"state": "verifying",
@@ -1991,7 +1985,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.recovery_branch",
"node": "verify",
"state": "rolling_back",
@@ -2028,7 +2022,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.start",
"node": "rollback",
"state": "rolling_back",
@@ -2036,7 +2030,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.completed",
"node": "rollback",
"state": "rolling_back",
@@ -2046,7 +2040,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.start",
"node": "feedback",
"state": "learning",
@@ -2054,7 +2048,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.836Z",
+ "at": "2026-06-15T04:52:50.000Z",
"type": "node.completed",
"node": "feedback",
"state": "learning",
@@ -2064,7 +2058,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.837Z",
+ "at": "2026-06-15T04:52:50.001Z",
"type": "node.start",
"node": "finalize",
"state": "learning",
@@ -2072,7 +2066,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.837Z",
+ "at": "2026-06-15T04:52:50.001Z",
"type": "node.completed",
"node": "finalize",
"state": "learning",
@@ -2082,7 +2076,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.837Z",
+ "at": "2026-06-15T04:52:50.001Z",
"type": "state.completed",
"node": "finalize",
"state": "completed",
@@ -2090,8 +2084,8 @@
"data": {}
}
],
- "createdAt": "2026-06-24T11:23:08.794Z",
- "updatedAt": "2026-06-24T11:23:08.837Z"
+ "createdAt": "2026-06-15T04:52:49.873Z",
+ "updatedAt": "2026-06-15T04:52:50.001Z"
},
"status": "completed",
"type": "run_agent_controller",
@@ -2123,14 +2117,14 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 44,
+ "durationMs": 163,
"stepResults": [
{
"ok": false,
"state": {
"schemaVersion": 1,
"taskId": "task:35fc503854cd",
- "runId": "agent_run:7ac251f04f53",
+ "runId": "agent_run:4f72b86cbac8",
"state": "waiting_for_human",
"currentNode": "VerifyNode",
"graph": {
@@ -2155,7 +2149,7 @@
"files": []
}
},
- "updatedAt": "2026-06-24T11:23:08.838Z"
+ "updatedAt": "2026-06-15T04:52:50.003Z"
},
{
"id": "PlanNode",
@@ -2193,7 +2187,7 @@
}
]
},
- "updatedAt": "2026-06-24T11:23:08.838Z"
+ "updatedAt": "2026-06-15T04:52:50.003Z"
},
{
"id": "PolicyNode",
@@ -2221,12 +2215,12 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
},
- "updatedAt": "2026-06-24T11:23:08.838Z"
+ "updatedAt": "2026-06-15T04:52:50.003Z"
},
{
"id": "ScopeNode",
@@ -2261,7 +2255,7 @@
"requiresTestsUpdate": false
}
},
- "updatedAt": "2026-06-24T11:23:08.838Z"
+ "updatedAt": "2026-06-15T04:52:50.003Z"
},
{
"id": "ExecuteNode",
@@ -2279,8 +2273,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188839:2f563147",
+ "transactionId": "txn:1781499170004:2f563147",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -2295,13 +2288,13 @@
"command": "node --check src/controller.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-7HeDIR\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-bvDdsu\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 41,
+ "durationMs": 158,
"verification": {
"verified": false,
"checks": [
@@ -2328,7 +2321,7 @@
"changedFiles": []
}
},
- "updatedAt": "2026-06-24T11:23:08.880Z"
+ "updatedAt": "2026-06-15T04:52:50.164Z"
},
{
"id": "VerifyNode",
@@ -2371,60 +2364,60 @@
"status": "pending"
}
],
- "createdAt": "2026-06-24T11:23:08.838Z"
+ "createdAt": "2026-06-15T04:52:50.003Z"
},
"history": [
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": null,
"to": "created",
"node": null,
"reason": "created"
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": "created",
"to": "observing",
"node": "ObserveNode",
"reason": "enter ObserveNode"
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": "observing",
"to": "planning",
"node": "ObserveNode",
"reason": "advance to PlanNode"
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": "planning",
"to": "policy_checking",
"node": "PlanNode",
"reason": "advance to PolicyNode"
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": "policy_checking",
"to": "scope_checking",
"node": "PolicyNode",
"reason": "advance to ScopeNode"
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"from": "scope_checking",
"to": "executing",
"node": "ScopeNode",
"reason": "advance to ExecuteNode"
},
{
- "at": "2026-06-24T11:23:08.880Z",
+ "at": "2026-06-15T04:52:50.164Z",
"from": "executing",
"to": "verifying",
"node": "ExecuteNode",
"reason": "advance to VerifyNode"
},
{
- "at": "2026-06-24T11:23:08.881Z",
+ "at": "2026-06-15T04:52:50.164Z",
"from": "verifying",
"to": "waiting_for_human",
"node": "VerifyNode",
@@ -2433,7 +2426,7 @@
],
"artifacts": [
{
- "createdAt": "2026-06-24T11:23:08.838Z",
+ "createdAt": "2026-06-15T04:52:50.003Z",
"kind": "node_result",
"node": "ObserveNode",
"nodeType": "ObserveNode",
@@ -2447,7 +2440,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.838Z",
+ "createdAt": "2026-06-15T04:52:50.003Z",
"kind": "node_result",
"node": "PlanNode",
"nodeType": "PlanNode",
@@ -2480,7 +2473,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.838Z",
+ "createdAt": "2026-06-15T04:52:50.003Z",
"kind": "node_result",
"node": "PolicyNode",
"nodeType": "PolicyNode",
@@ -2501,14 +2494,14 @@
{
"name": "risk_tier",
"status": "pass",
- "message": "base=R2; declared=R2; effective=R2"
+ "message": "R2"
}
]
}
}
},
{
- "createdAt": "2026-06-24T11:23:08.838Z",
+ "createdAt": "2026-06-15T04:52:50.003Z",
"kind": "node_result",
"node": "ScopeNode",
"nodeType": "ScopeNode",
@@ -2538,7 +2531,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.880Z",
+ "createdAt": "2026-06-15T04:52:50.164Z",
"kind": "node_result",
"node": "ExecuteNode",
"nodeType": "ExecuteNode",
@@ -2549,8 +2542,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300188839:2f563147",
+ "transactionId": "txn:1781499170004:2f563147",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -2565,13 +2557,13 @@
"command": "node --check src/controller.mjs",
"status": "failed",
"stdout": "",
- "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-7HeDIR\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
+ "stderr": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-controller.verification_human_interrupt-bvDdsu\\src\\controller.mjs:1\r\nexport const broken = ;\r\n ^\r\n\r\nSyntaxError: Unexpected token ';'\r\n at checkSyntax (node:internal/main/check_syntax:72:5)\r\n\r\nNode.js v24.15.0\r\n",
"exitCode": 1,
"error": "command exited with code 1"
}
],
"error": "verification command failed",
- "durationMs": 41,
+ "durationMs": 158,
"verification": {
"verified": false,
"checks": [
@@ -2600,7 +2592,7 @@
}
},
{
- "createdAt": "2026-06-24T11:23:08.881Z",
+ "createdAt": "2026-06-15T04:52:50.164Z",
"kind": "node_result",
"node": "VerifyNode",
"nodeType": "VerifyNode",
@@ -2634,7 +2626,7 @@
],
"approvalRequests": [
{
- "id": "approval:df0a2552cfc8",
+ "id": "approval:629395d18b23",
"taskId": "task:35fc503854cd",
"node": "VerifyNode",
"status": "pending",
@@ -2647,25 +2639,25 @@
"reject",
"cancel"
],
- "createdAt": "2026-06-24T11:23:08.881Z",
- "updatedAt": "2026-06-24T11:23:08.881Z"
+ "createdAt": "2026-06-15T04:52:50.164Z",
+ "updatedAt": "2026-06-15T04:52:50.164Z"
}
],
"budget": {},
"risk": {
"riskTier": "R2"
},
- "createdAt": "2026-06-24T11:23:08.838Z",
- "updatedAt": "2026-06-24T11:23:08.881Z"
+ "createdAt": "2026-06-15T04:52:50.003Z",
+ "updatedAt": "2026-06-15T04:52:50.164Z"
},
"trace": {
"schemaVersion": 1,
- "traceId": "audit:task:35fc503854cd:1782300188838",
+ "traceId": "audit:task:35fc503854cd:1781499170003",
"taskId": "task:35fc503854cd",
- "runId": "agent_run:7ac251f04f53",
+ "runId": "agent_run:4f72b86cbac8",
"events": [
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "state.created",
"node": null,
"state": "created",
@@ -2673,7 +2665,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.start",
"node": "ObserveNode",
"state": "observing",
@@ -2681,7 +2673,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.completed",
"node": "ObserveNode",
"state": "observing",
@@ -2691,7 +2683,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.start",
"node": "PlanNode",
"state": "planning",
@@ -2699,7 +2691,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.completed",
"node": "PlanNode",
"state": "planning",
@@ -2709,7 +2701,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.start",
"node": "PolicyNode",
"state": "policy_checking",
@@ -2717,7 +2709,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.completed",
"node": "PolicyNode",
"state": "policy_checking",
@@ -2727,7 +2719,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.start",
"node": "ScopeNode",
"state": "scope_checking",
@@ -2735,7 +2727,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.completed",
"node": "ScopeNode",
"state": "scope_checking",
@@ -2745,7 +2737,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.838Z",
+ "at": "2026-06-15T04:52:50.003Z",
"type": "node.start",
"node": "ExecuteNode",
"state": "executing",
@@ -2753,7 +2745,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.880Z",
+ "at": "2026-06-15T04:52:50.164Z",
"type": "node.completed",
"node": "ExecuteNode",
"state": "executing",
@@ -2763,7 +2755,7 @@
}
},
{
- "at": "2026-06-24T11:23:08.881Z",
+ "at": "2026-06-15T04:52:50.164Z",
"type": "node.start",
"node": "VerifyNode",
"state": "verifying",
@@ -2771,7 +2763,7 @@
"data": {}
},
{
- "at": "2026-06-24T11:23:08.881Z",
+ "at": "2026-06-15T04:52:50.164Z",
"type": "human.interrupt",
"node": "VerifyNode",
"state": "waiting_for_human",
@@ -2780,12 +2772,12 @@
"reasons": [
"verification_failed"
],
- "requestId": "approval:df0a2552cfc8"
+ "requestId": "approval:629395d18b23"
}
}
],
- "createdAt": "2026-06-24T11:23:08.838Z",
- "updatedAt": "2026-06-24T11:23:08.881Z"
+ "createdAt": "2026-06-15T04:52:50.003Z",
+ "updatedAt": "2026-06-15T04:52:50.164Z"
},
"status": "waiting_for_human",
"type": "run_agent_controller",
@@ -2812,7 +2804,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 82,
+ "durationMs": 180,
"stepResults": [
{
"actionId": "bench:plugin_process_isolation",
@@ -2821,7 +2813,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -2855,12 +2846,12 @@
"required": false,
"strategy": null
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action\\verify.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action\\verify.js",
"rollbackModulePath": null,
"handler": null,
- "registeredAt": "2026-06-24T11:23:08.884Z",
+ "registeredAt": "2026-06-15T04:52:50.169Z",
"metadata": {}
},
"riskTier": "R1"
@@ -2873,7 +2864,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18\\actions\\isolated_action",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl\\actions\\isolated_action",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -2890,33 +2881,31 @@
},
"output": {
"status": "succeeded",
- "pid": 19840,
+ "pid": 17596,
"hanakoChild": "1",
"nodeOptions": null,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18"
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl"
},
"pluginProcess": {
"execute": {
"status": "succeeded",
"result": {
"status": "succeeded",
- "pid": 19840,
+ "pid": 17596,
"hanakoChild": "1",
"nodeOptions": null,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18"
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl"
},
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 19840,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 17596,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 39
+ "durationMs": 110
}
},
"verification": {
@@ -2942,22 +2931,20 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 22680,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 19436,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 38
+ "durationMs": 64
}
}
],
"required": true
},
"rollback": null,
- "durationMs": 80,
+ "durationMs": 177,
"type": "execute_action",
"name": "isolated_plugin_action"
},
@@ -2981,7 +2968,7 @@
},
{
"ok": true,
- "actual": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-zqxS18",
+ "actual": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.process_isolation-R4RYHl",
"type": "assert_last_result",
"name": "assert_last_result"
}
@@ -3000,7 +2987,7 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 121,
+ "durationMs": 151,
"stepResults": [
{
"actionId": "bench:plugin_rollback_on_verify_failure",
@@ -3009,7 +2996,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -3043,12 +3029,12 @@
"required": true,
"strategy": "plugin_rollback"
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\verify.js",
- "rollbackModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail\\rollback.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\verify.js",
+ "rollbackModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail\\rollback.js",
"handler": null,
- "registeredAt": "2026-06-24T11:23:08.966Z",
+ "registeredAt": "2026-06-15T04:52:50.349Z",
"metadata": {}
},
"riskTier": "R2"
@@ -3061,7 +3047,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU\\actions\\write_then_fail",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ\\actions\\write_then_fail",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -3088,15 +3074,13 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 9784,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 17840,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 40
+ "durationMs": 53
}
},
"error": "registered action verification failed",
@@ -3125,15 +3109,13 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 18380,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 17872,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 37
+ "durationMs": 47
}
}
],
@@ -3154,18 +3136,16 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 23164,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-OOZRcU",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 18288,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.rollback_on_verify_failure-gVwBMZ",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 40
+ "durationMs": 46
}
},
- "durationMs": 119,
+ "durationMs": 147,
"type": "execute_action",
"name": "plugin_write_then_fail"
},
@@ -3195,7 +3175,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 116,
+ "durationMs": 126,
"stepResults": [
{
"actionId": "bench:plugin_verify_command_success",
@@ -3204,7 +3184,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"registry": {
"ok": true,
"decision": "allow",
@@ -3240,12 +3219,12 @@
"required": false,
"strategy": null
},
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action",
- "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action\\execute.js",
- "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action\\verify.js",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action",
+ "executeModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action\\execute.js",
+ "verifyModulePath": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action\\verify.js",
"rollbackModulePath": null,
"handler": null,
- "registeredAt": "2026-06-24T11:23:09.087Z",
+ "registeredAt": "2026-06-15T04:52:50.500Z",
"metadata": {}
},
"riskTier": "R1"
@@ -3258,7 +3237,7 @@
"rejected": 0,
"results": [
{
- "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux\\actions\\verified_action",
+ "packageDir": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM\\actions\\verified_action",
"ok": true,
"decision": "loaded",
"errors": [],
@@ -3287,15 +3266,13 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 6384,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 23348,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 38
+ "durationMs": 42
}
},
"verification": {
@@ -3323,15 +3300,13 @@
"exitCode": 0,
"signal": null,
"isolated": true,
- "pid": 5960,
- "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-IKmvux",
- "workspaceRootImplicit": false,
- "warnings": [],
+ "pid": 23032,
+ "cwd": "C:\\Users\\24089\\AppData\\Local\\Temp\\hanako-benchmark-plugin.verify_command_success-QqzbeM",
"stdout": "",
"stderr": "",
"stdoutTruncated": false,
"stderrTruncated": false,
- "durationMs": 40
+ "durationMs": 42
}
},
{
@@ -3352,7 +3327,7 @@
"required": true
},
"rollback": null,
- "durationMs": 113,
+ "durationMs": 123,
"type": "execute_action",
"name": "verified_plugin_action"
},
@@ -3377,7 +3352,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 38,
+ "durationMs": 39,
"stepResults": [
{
"status": "succeeded",
@@ -3404,20 +3379,20 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 16,
+ "durationMs": 3,
"stepResults": [
{
"schemaVersion": 1,
- "generatedAt": "2026-06-24T11:23:09.254Z",
- "projectRoot": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner",
+ "generatedAt": "2026-06-15T04:52:50.664Z",
+ "projectRoot": "D:\\openhanako\\hanako-supplement\\self-evolve",
"summary": {
"status": "ready",
"ok": true,
- "version": "4.3.23",
+ "version": "4.3.2",
"score": 100,
- "passed": 16,
+ "passed": 15,
"failed": 0,
- "total": 16,
+ "total": 15,
"failedChecks": [],
"nextAction": "release can proceed after npm run check, npm test, and npm run benchmark pass"
},
@@ -3426,9 +3401,9 @@
"id": "package.version_lts_format",
"ok": true,
"status": "passed",
- "message": "package version is release-formatted: 4.3.23",
+ "message": "package version is release-formatted: 4.3.2",
"details": {
- "version": "4.3.23"
+ "version": "4.3.2"
}
},
{
@@ -3437,9 +3412,9 @@
"status": "passed",
"message": "package-lock root versions match package.json",
"details": {
- "packageVersion": "4.3.23",
- "lockVersion": "4.3.23",
- "rootPackageVersion": "4.3.23"
+ "packageVersion": "4.3.2",
+ "lockVersion": "4.3.2",
+ "rootPackageVersion": "4.3.2"
}
},
{
@@ -3453,61 +3428,61 @@
{
"path": "docs/ACTION_API.md",
"exists": true,
- "sizeBytes": 2613,
+ "sizeBytes": 3197,
"ok": true
},
{
"path": "docs/POLICY.md",
"exists": true,
- "sizeBytes": 1364,
+ "sizeBytes": 2335,
"ok": true
},
{
"path": "docs/TRANSACTION.md",
"exists": true,
- "sizeBytes": 933,
+ "sizeBytes": 1596,
"ok": true
},
{
"path": "docs/SANDBOX.md",
"exists": true,
- "sizeBytes": 1057,
+ "sizeBytes": 2018,
"ok": true
},
{
"path": "docs/SKILL_PROMOTION.md",
"exists": true,
- "sizeBytes": 1127,
+ "sizeBytes": 2302,
"ok": true
},
{
"path": "docs/AUDIT.md",
"exists": true,
- "sizeBytes": 1137,
+ "sizeBytes": 1594,
"ok": true
},
{
"path": "docs/BENCHMARKS.md",
"exists": true,
- "sizeBytes": 967,
+ "sizeBytes": 2238,
"ok": true
},
{
"path": "docs/MIGRATION_v3_to_v4.md",
"exists": true,
- "sizeBytes": 1363,
+ "sizeBytes": 2191,
"ok": true
},
{
"path": "docs/API_FREEZE.md",
"exists": true,
- "sizeBytes": 1606,
+ "sizeBytes": 1827,
"ok": true
},
{
"path": "docs/DESIGN_GOAL_COMPLETION_MATRIX.md",
"exists": true,
- "sizeBytes": 981,
+ "sizeBytes": 3152,
"ok": true
}
],
@@ -3518,18 +3493,18 @@
"id": "docs.acceptance_current_version",
"ok": true,
"status": "passed",
- "message": "current acceptance report exists: docs/ACCEPTANCE-v4.3.23.md",
+ "message": "current acceptance report exists: docs/ACCEPTANCE-v4.3.2.md",
"details": {
- "acceptancePath": "docs/ACCEPTANCE-v4.3.23.md"
+ "acceptancePath": "docs/ACCEPTANCE-v4.3.2.md"
}
},
{
"id": "docs.changelog_current_section",
"ok": true,
"status": "passed",
- "message": "CHANGELOG has current section ## 4.3.23",
+ "message": "CHANGELOG has current section ## 4.3.2",
"details": {
- "heading": "## 4.3.23"
+ "heading": "## 4.3.2"
}
},
{
@@ -3538,7 +3513,7 @@
"status": "passed",
"message": "design goal matrix references current package version",
"details": {
- "version": "4.3.23"
+ "version": "4.3.2"
}
},
{
@@ -3576,49 +3551,49 @@
"id": "readme.version_badge",
"ok": true,
"status": "passed",
- "message": "README version badge matches package version: 4.3.23",
+ "message": "README version badge matches package version: 4.3.2",
"details": {
- "expected": "4.3.23",
- "found": "4.3.23-lts"
+ "expected": "4.3.2",
+ "found": "4.3.2-lts"
}
},
{
"id": "readme.test_badge",
"ok": true,
"status": "passed",
- "message": "README test badge matches: 665/665",
+ "message": "README test badge matches: 515/515",
"details": {
- "expected": 665,
- "found": 665
+ "expected": 515,
+ "found": 515
}
},
{
"id": "readme.clone_branch",
"ok": true,
"status": "passed",
- "message": "README fixed clone branch matches: v4.3.23",
+ "message": "README fixed clone branch matches: v4.3.2",
"details": {
- "expected": "v4.3.23",
- "found": "v4.3.23"
+ "expected": "v4.3.2",
+ "found": "v4.3.2"
}
},
{
"id": "manifest.version",
"ok": true,
"status": "passed",
- "message": "manifest version matches package.json: 4.3.23",
+ "message": "manifest version matches package.json: 4.3.2",
"details": {
- "expected": "4.3.23",
- "found": "4.3.23"
+ "expected": "4.3.2",
+ "found": "4.3.2"
}
},
{
"id": "docs.api_freeze_version",
"ok": true,
"status": "passed",
- "message": "API_FREEZE.md references current version or major.minor: 4.3.23",
+ "message": "API_FREEZE.md references current version or major.minor: 4.3.2",
"details": {
- "expected": "4.3.23",
+ "expected": "4.3.2",
"majorMinor": "4.3"
}
},
@@ -3626,38 +3601,10 @@
"id": "readme.test_count_text",
"ok": true,
"status": "passed",
- "message": "README test count text matches: 665",
+ "message": "README test count text matches: 515",
"details": {
- "expected": 665,
- "found": 665
- }
- },
- {
- "id": "complexity.within_budget",
- "ok": true,
- "status": "passed",
- "message": "complexity within budget: 185 files, max 648 LOC, 0 TODO/FIXME (3 soft warning(s))",
- "details": {
- "totals": {
- "fileCount": 185,
- "libModuleCount": 88,
- "loc": 26920,
- "codeLoc": 22461,
- "imports": 857,
- "exports": 443,
- "todos": 0,
- "maxLoc": 648,
- "maxImports": 32,
- "maxExports": 17
- },
- "violations": [],
- "softWarningCount": 3,
- "dirs": [
- "lib",
- "scripts",
- "tests",
- "tools"
- ]
+ "expected": 515,
+ "found": 515
}
}
],
@@ -3693,7 +3640,7 @@
"rollbackOk": false,
"repairAttempted": true,
"repairOk": true,
- "durationMs": 78,
+ "durationMs": 79,
"stepResults": [
{
"actionId": "bench:repair_once_explicit_patch",
@@ -3702,8 +3649,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300189255:7b0daa0c",
+ "transactionId": "txn:1781499170665:7b0daa0c",
"changedFiles": [
"src\\target.mjs"
],
@@ -3808,7 +3754,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"diagnosis": "The failure is deterministic and should not be retried blindly.",
"durationMs": 0,
"verification": {
@@ -3851,7 +3796,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 1,
+ "durationMs": 0,
"stepResults": [
{
"actionId": "bench:split_context",
@@ -3860,7 +3805,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"artifact": {
"kind": "split_context",
"content": "Section A: inspect runtime. Section B: inspect safety. Section C: inspect feedback. Section D: inspect audit. Section E: inspect benchmark. Section F: inspect rollback. Section G: inspect repair. Section H: inspect governance. Section I: inspect transfer. Section J: inspect controller. Section K: inspect registry. Section L: inspect docs.",
@@ -3935,7 +3879,7 @@
"status": "pending"
}
],
- "createdAt": "2026-06-24T11:23:09.333Z"
+ "createdAt": "2026-06-15T04:52:50.744Z"
}
},
"before": {
@@ -3945,7 +3889,7 @@
"chars": 340,
"subtasks": 3
},
- "durationMs": 1,
+ "durationMs": 0,
"verification": {
"verified": true,
"checks": [
@@ -3995,7 +3939,6 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
"error": "scope gate rejected: file not in allowed scope: src/out-of-scope.js; scope_violation: src/out-of-scope.js outside explicit scope",
"scopeGate": {
"decision": "reject",
@@ -4077,7 +4020,7 @@
"rollbackOk": true,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 48,
+ "durationMs": 40,
"stepResults": [
{
"actionId": "bench:rollback_failed_verification",
@@ -4086,8 +4029,7 @@
"logs": [],
"artifacts": [],
"errors": [],
- "warnings": [],
- "transactionId": "txn:1782300189334:34461105",
+ "transactionId": "txn:1781499170746:34461105",
"changedFiles": [],
"applied": {
"writeResults": [
@@ -4107,7 +4049,7 @@
"error": null
}
],
- "durationMs": 45,
+ "durationMs": 37,
"verification": {
"verified": false,
"checks": [
@@ -4201,7 +4143,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 12,
+ "durationMs": 10,
"stepResults": [
{
"ok": true,
@@ -4251,10 +4193,10 @@
},
"tokenCost": 0,
"status": "staged",
- "createdAt": "2026-06-24T11:23:09.385Z",
- "updatedAt": "2026-06-24T11:23:09.385Z",
+ "createdAt": "2026-06-15T04:52:50.788Z",
+ "updatedAt": "2026-06-15T04:52:50.788Z",
"decayed": false,
- "stagedAt": "2026-06-24T11:23:09.385Z"
+ "stagedAt": "2026-06-15T04:52:50.788Z"
}
],
"activeSkills": [],
@@ -4335,11 +4277,11 @@
},
"tokenCost": 0,
"status": "active",
- "createdAt": "2026-06-24T11:23:09.385Z",
- "updatedAt": "2026-06-24T11:23:09.393Z",
+ "createdAt": "2026-06-15T04:52:50.788Z",
+ "updatedAt": "2026-06-15T04:52:50.796Z",
"decayed": false,
- "stagedAt": "2026-06-24T11:23:09.385Z",
- "activatedAt": "2026-06-24T11:23:09.393Z"
+ "stagedAt": "2026-06-15T04:52:50.788Z",
+ "activatedAt": "2026-06-15T04:52:50.796Z"
}
],
"activeSkills": [
@@ -4371,7 +4313,7 @@
"tokenCost": 0,
"status": "active",
"source": "reflexion_cluster",
- "activatedAt": "2026-06-24T11:23:09.393Z"
+ "activatedAt": "2026-06-15T04:52:50.796Z"
}
],
"events": [
@@ -4433,7 +4375,7 @@
"rollbackOk": false,
"repairAttempted": false,
"repairOk": false,
- "durationMs": 42,
+ "durationMs": 41,
"stepResults": [
{
"ok": true,
@@ -4474,8 +4416,8 @@
"latestValidationStatus": "passed",
"manualPromotionEligible": true,
"autoPromotionBlocked": true,
- "createdAt": "2026-06-24T11:23:09.396Z",
- "updatedAt": "2026-06-24T11:23:09.436Z"
+ "createdAt": "2026-06-15T04:52:50.798Z",
+ "updatedAt": "2026-06-15T04:52:50.837Z"
},
"type": "transfer_validate",
"name": "validate_transfer_candidate"
@@ -4504,16 +4446,16 @@
"false_auto_apply_rate": 0,
"manual_escalation_rate": 0.11764705882352941,
"token_overhead": null,
- "latency_overhead": 43.76470588235294,
+ "latency_overhead": 64,
"skill_effectiveness": null
},
"corpus": {
- "root": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner\\benchmarks",
+ "root": "D:\\openhanako\\hanako-supplement\\self-evolve\\benchmarks",
"scenarioCount": 17,
"selectedScenarioCount": 17
},
"baseline": {
- "path": "D:\\openhanako\\official-worktree\\Hanako-runtime-learner\\benchmarks\\baseline-v4.0.9.json",
+ "path": "D:\\openhanako\\hanako-supplement\\self-evolve\\benchmarks\\baseline-v4.0.9.json",
"metrics": {
"task_success_rate": 1,
"auto_execution_success_rate": 1,
diff --git a/benchmark-results/benchmark-report.md b/benchmark-results/benchmark-report.md
index fcc223d..6c0381e 100644
--- a/benchmark-results/benchmark-report.md
+++ b/benchmark-results/benchmark-report.md
@@ -1,6 +1,6 @@
# Benchmark Report
-Generated at: 2026-06-24T11:23:09.438Z
+Generated at: 2026-06-15T04:52:50.839Z
Scenarios: 17
Status: passed
@@ -16,7 +16,7 @@ Status: passed
| false_auto_apply_rate | 0.0000 |
| manual_escalation_rate | 0.1176 |
| token_overhead | null |
-| latency_overhead | 43.7647 |
+| latency_overhead | 64.0000 |
| skill_effectiveness | null |
## Scenario Results
diff --git a/docs/ACCEPTANCE-v4.3.23.md b/docs/ACCEPTANCE-v4.3.23.md
deleted file mode 100644
index 3e66959..0000000
--- a/docs/ACCEPTANCE-v4.3.23.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# v4.3.23 验收记录
-
-## 版本目标
-
-`v4.3.23` 在 `v4.3.22` 自学习控制台基础上,补齐 v4.x LTS 的复杂度治理门:把维护期预算写成可机读规则、发布门检查和可审计文档,同时拆分控制面热点文件,降低后续维护风险。该版本不新增自动化能力。
-
-## 实现
-
-- `lib/complexity.js`:定义复杂度扫描、hard limit、soft target、报告构建和预算判定。
-- `scripts/complexity-check.js` / `scripts/complexity-report.js`:新增本地门禁与报告生成脚本,均只依赖 Node 内置模块。
-- `lib/release-readiness.js`:发布门新增 `complexity.within_budget` 检查,默认测试基线同步到 665。
-- `docs/COMPLEXITY_BUDGET.md`:记录 v4.x LTS 复杂度预算、模块新增规则和预算调整流程。
-- `docs/COMPLEXITY_DEBT.md` / `docs/COMPLEXITY_REPORT.md`:登记 soft target 债务并生成当前复杂度快照。
-- `tools/control-parameters.js`、`tools/control-summaries.js`、`tools/control-handlers/*`:从 `tools/control.js` 抽出参数解析、摘要格式化和部分控制面 handler,保留行为特征回归覆盖。
-
-## 验收结果
-
-| 项目 | 结果 |
-|---|---|
-| `npm run check` | 通过 |
-| `npm test` | 665 个测试,660 通过,5 跳过 |
-| `npm run benchmark` | 17/17 通过 |
-| `npm run perf` | 通过,无阈值越界 |
-| `npm run complexity:check` | 通过,0 hard violations |
-| `npm run release:check` | Score 100 |
-
-## 本版确认项
-
-1. 复杂度治理扫描范围限定为 `lib/`、`scripts/`、`tests/`、`tools/` 下的 JS/CJS/MJS 文件。
-2. hard limit 超出会阻断 `complexity:check` 和 `release:check`;soft target 只登记债务,不阻断发布。
-3. `docs/COMPLEXITY_BUDGET.md` 与 `lib/complexity.js` 中的预算数值保持一致。
-4. `tools/control.js` 已拆分到 602 LOC,仍仅略高于 600 LOC soft target,登记在复杂度债务中。
-5. README、INSTALL、CHANGELOG、ARCHITECTURE、设计目标矩阵、package/manifest/lockfile 版本均同步到 `4.3.23`。
-6. 自动化边界未放宽:新增的是本地静态治理与文档/测试,不执行 `git tag`、`git push`、`npm publish` 或外部副作用。
-
-## 结论
-
-`v4.3.23` 满足当前 release gate,作为 v4.x LTS 的复杂度治理与发布门加固版本发布。
diff --git a/docs/COMPLEXITY_REPORT.md b/docs/COMPLEXITY_REPORT.md
index 8843a31..603e107 100644
--- a/docs/COMPLEXITY_REPORT.md
+++ b/docs/COMPLEXITY_REPORT.md
@@ -3,7 +3,7 @@
> 自动生成,请勿手工编辑。运行 `npm run complexity:report` 刷新。
> 预算与规则见 [COMPLEXITY_BUDGET.md](COMPLEXITY_BUDGET.md),债务清单见 [COMPLEXITY_DEBT.md](COMPLEXITY_DEBT.md)。
-Generated at: 2026-06-24T11:22:40.919Z
+Generated at: 2026-06-24T11:43:28.674Z
Scan scope: lib, scripts, tests, tools
Status: within budget
diff --git a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
index 69889cc..73a9866 100644
--- a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
+++ b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
@@ -1,6 +1,6 @@
# 设计目标完成矩阵
-当前版本:`v4.3.23`
+当前版本:`v4.3.22`
## 总体状态
@@ -18,7 +18,7 @@
| 项目 | 预期 |
|---|---|
| `npm run check` | 通过 |
-| `npm test` | 665 个测试,660 通过,5 跳过 |
+| `npm test` | 570 个测试,565 通过,5 跳过 |
| `npm run benchmark` | 17/17 通过 |
| `npm run perf` | 无阈值越界 |
| `npm run release:check` | Score 100 |
diff --git a/manifest.json b/manifest.json
index 9f6755a..82b28f1 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "hanako-runtime-learner",
"name": "Runtime Self-Learning",
- "version": "4.3.23",
+ "version": "4.3.22",
"description": "运行时自学习引擎:观察本地交互,归纳重复工作流、偏好与错误,并生成保守的经验提示。",
"author": "Sun",
"trust": "full-access",
diff --git a/package-lock.json b/package-lock.json
index 3b17763..0bffa57 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.23",
+ "version": "4.3.22",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hanako-runtime-learner",
- "version": "4.3.23",
+ "version": "4.3.22",
"license": "MIT"
}
}
diff --git a/package.json b/package.json
index d3b5d78..06485d0 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.23",
+ "version": "4.3.22",
"description": "Runtime self-learning engine for Hanako: observe local interaction patterns, learn repeated workflows and errors, inject conservative skill hints.",
"author": "Sun",
"license": "MIT",
From 6d65a499123b36feb95cecdb5b7093952363a966 Mon Sep 17 00:00:00 2001
From: Hanako Maintainer
-
+
@@ -60,7 +60,7 @@ npm run install-plugin
固定版本安装:
```powershell
-git clone --branch v4.3.22 https://github.com/326sun/Hanako-runtime-learner.git
+git clone --branch v4.3.23 https://github.com/326sun/Hanako-runtime-learner.git
cd Hanako-runtime-learner
npm run install-plugin
```
@@ -210,12 +210,12 @@ npm run perf -- --json
npm run release:check
```
-`v4.3.22` 的预期结果:
+`v4.3.23` 的预期结果:
```text
-package version: 4.3.22
+package version: 4.3.23
npm run check: passed
-npm test: 665 tests, 660 passed, 5 skipped
+npm test: 665 tests, 665 passed, 0 skipped
npm run benchmark: passed, 17 scenarios
npm run perf: passed, no threshold breaches
npm run release:check: Score 100
@@ -240,7 +240,7 @@ npm run release:check: Score 100
| [docs/MIGRATION_v3_to_v4.md](docs/MIGRATION_v3_to_v4.md) | v3 到 v4 迁移说明。 |
| [docs/LTS_MAINTENANCE_PLAN.md](docs/LTS_MAINTENANCE_PLAN.md) | v4.x LTS 维护策略。 |
| [docs/DESIGN_GOAL_COMPLETION_MATRIX.md](docs/DESIGN_GOAL_COMPLETION_MATRIX.md) | 设计目标完成矩阵。 |
-| [docs/ACCEPTANCE-v4.3.22.md](docs/ACCEPTANCE-v4.3.22.md) | 当前版本验收记录。 |
+| [docs/ACCEPTANCE-v4.3.23.md](docs/ACCEPTANCE-v4.3.23.md) | 当前版本验收记录。 |
| [CHANGELOG.md](CHANGELOG.md) | 版本历史。 |
## 许可证
diff --git a/docs/ACCEPTANCE-v4.3.23.md b/docs/ACCEPTANCE-v4.3.23.md
new file mode 100644
index 0000000..8aefc92
--- /dev/null
+++ b/docs/ACCEPTANCE-v4.3.23.md
@@ -0,0 +1,49 @@
+# v4.3.23 验收记录
+
+## 版本目标
+
+`v4.3.23` 在 `v4.3.22` 的自学习控制台版本基础上,引入 v4.x LTS 的复杂度治理基础设施,并完成 C-001(`tools/control.js`)低风险拆分。本版目标是让复杂度预算、复杂度债务和发布门形成可审计闭环,同时不放宽运行时安全边界。
+
+## 实现范围
+
+- 新增 `lib/complexity.js` 作为复杂度预算单一事实源,扫描 `lib/`、`scripts/`、`tests/`、`tools/` 的 LOC、import/export 数和 TODO/FIXME 标记。
+- 新增 `scripts/complexity-check.js` 与 `scripts/complexity-report.js`,分别提供 hard-limit 门禁与 `docs/COMPLEXITY_REPORT.md` 报告生成。
+- 新增 `docs/COMPLEXITY_BUDGET.md` 与 `docs/COMPLEXITY_DEBT.md`,把 v4.x LTS 的复杂度预算、软警告和 deferred 项写入文档。
+- `lib/release-readiness.js` 新增 `complexity.within_budget` 检查项,作为发布就绪度的一部分,保持本地 in-process 检查,无新增外部副作用。
+- C-001 低风险拆分:抽出 `tools/control-parameters.js`、`tools/control-summaries.js`、`tools/control-handlers/skill-policy.js`、`tools/control-handlers/events.js`,降低 `tools/control.js` 热点复杂度。
+- C-004 公共面收敛:`lib/json-io.js` 对外导出面从 17 收敛到 15。
+- 新增 characterization tests,覆盖 control parameters、summaries、redaction、handlers 与 release-readiness complexity gate。
+
+## 边界确认
+
+| 项目 | 结论 |
+|---|---|
+| 运行时依赖 | 未新增 |
+| 安全策略 | 未放宽 |
+| `execute` / `sessionPermission` / `*_ACTIONS` / `describeControlSideEffect` | 未改语义边界 |
+| 自动放行 / 网络 / 发布 / 外部副作用能力 | 未新增 |
+| 高风险 control handler 迁移 | deferred,不纳入本版 |
+
+## 验收结果
+
+| 项目 | 结果 |
+|---|---|
+| `npm run check` | 通过 |
+| `npm test` | 665 个测试,665 通过,0 跳过 |
+| `npm run complexity:check` | 通过,0 violation,3 soft warning |
+| `npm run complexity:report` | 通过,生成 `docs/COMPLEXITY_REPORT.md` |
+| `npm run release:check` | Score 100 |
+| `npm run benchmark` | 17/17 通过 |
+| `npm run perf` | 通过,无阈值越界 |
+
+## 本版确认项
+
+1. 复杂度预算成为发布门的一部分,`complexity.within_budget` 可在 `release:check` 中审计。
+2. 复杂度治理只读取本地源码并生成本地报告,不引入网络、凭证、外部写入或发布动作。
+3. `tools/control.js` 的低风险拆分保持参数 schema、摘要输出、脱敏行为和 handler 行为回归稳定。
+4. `docs/COMPLEXITY_DEBT.md` 明确记录 C-001 中高风险/低收益部分为 deferred,避免为了追求 LOC 指标扩大重构风险。
+5. README、CHANGELOG、设计矩阵、package/manifest/package-lock 版本号同步至 `4.3.23`。
+
+## 结论
+
+`v4.3.23` 满足当前 release gate,可作为 v4.x LTS 的复杂度治理正式版准备发布。实际 tag、GitHub Release 与合并动作仍应由维护者在 PR 审查通过后显式执行。
diff --git a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
index 73a9866..0815d6c 100644
--- a/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
+++ b/docs/DESIGN_GOAL_COMPLETION_MATRIX.md
@@ -1,6 +1,6 @@
# 设计目标完成矩阵
-当前版本:`v4.3.22`
+当前版本:`v4.3.23`
## 总体状态
@@ -18,7 +18,7 @@
| 项目 | 预期 |
|---|---|
| `npm run check` | 通过 |
-| `npm test` | 570 个测试,565 通过,5 跳过 |
+| `npm test` | 665 个测试,665 通过,0 跳过 |
| `npm run benchmark` | 17/17 通过 |
| `npm run perf` | 无阈值越界 |
| `npm run release:check` | Score 100 |
diff --git a/manifest.json b/manifest.json
index 82b28f1..9f6755a 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "hanako-runtime-learner",
"name": "Runtime Self-Learning",
- "version": "4.3.22",
+ "version": "4.3.23",
"description": "运行时自学习引擎:观察本地交互,归纳重复工作流、偏好与错误,并生成保守的经验提示。",
"author": "Sun",
"trust": "full-access",
diff --git a/package-lock.json b/package-lock.json
index 0bffa57..3b17763 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"license": "MIT"
}
}
diff --git a/package.json b/package.json
index 06485d0..d3b5d78 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "hanako-runtime-learner",
- "version": "4.3.22",
+ "version": "4.3.23",
"description": "Runtime self-learning engine for Hanako: observe local interaction patterns, learn repeated workflows and errors, inject conservative skill hints.",
"author": "Sun",
"license": "MIT",