Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| acff796749 | |||
| 0a21988646 | |||
| d58e83153a | |||
| a9db71db79 |
File diff suppressed because one or more lines are too long
+66
-33
@@ -7,7 +7,7 @@
|
||||
"name": "backup-openclaw-json",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772261581796,
|
||||
"updatedAtMs": 1772737225286,
|
||||
"updatedAtMs": 1772910013043,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 * * *",
|
||||
@@ -23,11 +23,14 @@
|
||||
"mode": "announce"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737200033,
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910000004,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 25253,
|
||||
"consecutiveErrors": 0
|
||||
"lastDurationMs": 13039,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "ok",
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -36,7 +39,7 @@
|
||||
"name": "capability-evolver-daily",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772550743528,
|
||||
"updatedAtMs": 1772708684177,
|
||||
"updatedAtMs": 1772881219538,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 19 * * *",
|
||||
@@ -57,12 +60,16 @@
|
||||
"to": "feishu-pm"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772794800000,
|
||||
"lastRunAtMs": 1772708400027,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 284150,
|
||||
"consecutiveErrors": 0,
|
||||
"runningAtMs": 1772794800004
|
||||
"nextRunAtMs": 1772967600000,
|
||||
"lastRunAtMs": 1772881200004,
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 19534,
|
||||
"consecutiveErrors": 2,
|
||||
"lastRunStatus": "error",
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryError": "Unhandled stop reason: network_error",
|
||||
"runningAtMs": 1772967600002
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -71,7 +78,7 @@
|
||||
"name": "zq-knowledge-base-sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772551807455,
|
||||
"updatedAtMs": 1772737228596,
|
||||
"updatedAtMs": 1772910013044,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
@@ -84,11 +91,14 @@
|
||||
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737225286,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 3310,
|
||||
"consecutiveErrors": 0
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910013043,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 1,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -97,7 +107,7 @@
|
||||
"name": "openclaw-backup",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772552362242,
|
||||
"updatedAtMs": 1772737238212,
|
||||
"updatedAtMs": 1772910013044,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
@@ -110,24 +120,28 @@
|
||||
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737228596,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 9616,
|
||||
"consecutiveErrors": 0
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910013044,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 0,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3245fca7-045b-4977-8fab-020f6df2e453",
|
||||
"agentId": "haonan",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "ai-conversation-logger",
|
||||
"description": "每天早上7点整理与各个 AI 代理的对话记录",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772776369645,
|
||||
"updatedAtMs": 1772777284202,
|
||||
"updatedAtMs": 1772924419184,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 7 * * *"
|
||||
"expr": "0 7 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
@@ -141,29 +155,48 @@
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772838000000
|
||||
"nextRunAtMs": 1773010800000,
|
||||
"lastRunAtMs": 1772924400006,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 19178,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5745b22a-74ab-46a6-aafc-61671b70c394",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "calendar-reminder-sync",
|
||||
"description": "每天7点同步提醒到CalDAV日历",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772791528528,
|
||||
"updatedAtMs": 1772791528528,
|
||||
"updatedAtMs": 1772924437715,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 7 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "main",
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "calendar-reminder-sync"
|
||||
"kind": "agentTurn",
|
||||
"message": "执行日历同步脚本:node ~/.openclaw/cron/scripts/calendar-reminder.mjs\n\n完成后汇报同步结果。",
|
||||
"timeoutSeconds": 300
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772838000000
|
||||
"nextRunAtMs": 1773010800000,
|
||||
"lastRunAtMs": 1772924419184,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 18531,
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
+66
-32
@@ -7,7 +7,7 @@
|
||||
"name": "backup-openclaw-json",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772261581796,
|
||||
"updatedAtMs": 1772737225286,
|
||||
"updatedAtMs": 1772910013043,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 3 * * *",
|
||||
@@ -23,11 +23,14 @@
|
||||
"mode": "announce"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737200033,
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910000004,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 25253,
|
||||
"consecutiveErrors": 0
|
||||
"lastDurationMs": 13039,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "ok",
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -36,7 +39,7 @@
|
||||
"name": "capability-evolver-daily",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772550743528,
|
||||
"updatedAtMs": 1772708684177,
|
||||
"updatedAtMs": 1772881219538,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 19 * * *",
|
||||
@@ -57,11 +60,16 @@
|
||||
"to": "feishu-pm"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772794800000,
|
||||
"lastRunAtMs": 1772708400027,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 284150,
|
||||
"consecutiveErrors": 0
|
||||
"nextRunAtMs": 1772967600000,
|
||||
"lastRunAtMs": 1772881200004,
|
||||
"lastStatus": "error",
|
||||
"lastDurationMs": 19534,
|
||||
"consecutiveErrors": 2,
|
||||
"lastRunStatus": "error",
|
||||
"lastDeliveryStatus": "not-delivered",
|
||||
"lastError": "Unhandled stop reason: network_error",
|
||||
"lastDelivered": false,
|
||||
"lastDeliveryError": "Unhandled stop reason: network_error"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -70,7 +78,7 @@
|
||||
"name": "zq-knowledge-base-sync",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772551807455,
|
||||
"updatedAtMs": 1772737228596,
|
||||
"updatedAtMs": 1772910013044,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
@@ -83,11 +91,14 @@
|
||||
"text": "执行知识库同步:bash ~/.openclaw/cron/scripts/zq-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737225286,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 3310,
|
||||
"consecutiveErrors": 0
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910013043,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 1,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -96,7 +107,7 @@
|
||||
"name": "openclaw-backup",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772552362242,
|
||||
"updatedAtMs": 1772737238212,
|
||||
"updatedAtMs": 1772910013044,
|
||||
"schedule": {
|
||||
"expr": "0 3 * * *",
|
||||
"kind": "cron",
|
||||
@@ -109,24 +120,28 @@
|
||||
"text": "执行 OpenClaw 备份:bash ~/.openclaw/cron/scripts/git-auto-sync.sh"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772823600000,
|
||||
"lastRunAtMs": 1772737228596,
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 9616,
|
||||
"consecutiveErrors": 0
|
||||
"nextRunAtMs": 1772996400000,
|
||||
"lastRunAtMs": 1772910013044,
|
||||
"lastStatus": "skipped",
|
||||
"lastDurationMs": 0,
|
||||
"consecutiveErrors": 0,
|
||||
"lastRunStatus": "skipped",
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"lastError": "disabled"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "3245fca7-045b-4977-8fab-020f6df2e453",
|
||||
"agentId": "haonan",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "ai-conversation-logger",
|
||||
"description": "每天早上7点整理与各个 AI 代理的对话记录",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772776369645,
|
||||
"updatedAtMs": 1772777284202,
|
||||
"updatedAtMs": 1772924419184,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 7 * * *"
|
||||
"expr": "0 7 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
@@ -140,29 +155,48 @@
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772838000000
|
||||
"nextRunAtMs": 1773010800000,
|
||||
"lastRunAtMs": 1772924400006,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 19178,
|
||||
"lastDelivered": true,
|
||||
"lastDeliveryStatus": "delivered",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5745b22a-74ab-46a6-aafc-61671b70c394",
|
||||
"agentId": "knowledge-base",
|
||||
"name": "calendar-reminder-sync",
|
||||
"description": "每天7点同步提醒到CalDAV日历",
|
||||
"enabled": true,
|
||||
"createdAtMs": 1772791528528,
|
||||
"updatedAtMs": 1772791528528,
|
||||
"updatedAtMs": 1772924437715,
|
||||
"schedule": {
|
||||
"kind": "cron",
|
||||
"expr": "0 7 * * *",
|
||||
"tz": "Asia/Shanghai"
|
||||
},
|
||||
"sessionTarget": "main",
|
||||
"sessionTarget": "isolated",
|
||||
"wakeMode": "now",
|
||||
"payload": {
|
||||
"kind": "systemEvent",
|
||||
"text": "calendar-reminder-sync"
|
||||
"kind": "agentTurn",
|
||||
"message": "执行日历同步脚本:node ~/.openclaw/cron/scripts/calendar-reminder.mjs\n\n完成后汇报同步结果。",
|
||||
"timeoutSeconds": 300
|
||||
},
|
||||
"delivery": {
|
||||
"mode": "announce",
|
||||
"channel": "last"
|
||||
},
|
||||
"state": {
|
||||
"nextRunAtMs": 1772838000000
|
||||
"nextRunAtMs": 1773010800000,
|
||||
"lastRunAtMs": 1772924419184,
|
||||
"lastRunStatus": "ok",
|
||||
"lastStatus": "ok",
|
||||
"lastDurationMs": 18531,
|
||||
"lastDeliveryStatus": "not-requested",
|
||||
"consecutiveErrors": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"id": "9f1e7ccf-883a-40ee-9ca8-d7dff53a5c65",
|
||||
"enqueuedAt": 1772881219315,
|
||||
"channel": "feishu",
|
||||
"to": "feishu-pm",
|
||||
"accountId": "feishu-pm",
|
||||
"payloads": [
|
||||
{
|
||||
"text": "Unhandled stop reason: network_error"
|
||||
}
|
||||
],
|
||||
"threadId": null,
|
||||
"mirror": {
|
||||
"sessionKey": "agent:haonan:main",
|
||||
"agentId": "haonan",
|
||||
"text": "Unhandled stop reason: network_error"
|
||||
},
|
||||
"retryCount": 1,
|
||||
"lastAttemptAt": 1772881219531,
|
||||
"lastError": "Request failed with status code 400"
|
||||
}
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
"publicKey": "Ka6zP7u6MzDaQBqOpXHYUBC5MYLlVGGZM8vIi11WnTw",
|
||||
"platform": "linux",
|
||||
"clientId": "cli",
|
||||
"clientMode": "cli",
|
||||
"clientMode": "probe",
|
||||
"role": "operator",
|
||||
"roles": [
|
||||
"operator"
|
||||
|
||||
@@ -1,46 +1,13 @@
|
||||
{
|
||||
"om_x100b5591e9f418a8b3882c004f30620": 1772771956241,
|
||||
"om_x100b5591e379c0a8b31e3922beae6a0": 1772772059967,
|
||||
"om_x100b5591fb16a4a4b24f7a83df910d8": 1772772190322,
|
||||
"om_x100b55921cd5d8a4c2bc195c0f3288c": 1772774690006,
|
||||
"om_x100b559216c6a8b0c11328c5a5e2921": 1772774785342,
|
||||
"om_x100b55922f7630a8c2e6e8edc4a5e77": 1772774940273,
|
||||
"om_x100b5592309f4ca4c2a6873aa169bb6": 1772775397797,
|
||||
"om_x100b5592ddda0134c4eb3c93a527588": 1772775730087,
|
||||
"om_x100b5592d9bf84b4c265d1a7c243dc3": 1772775799720,
|
||||
"om_x100b5592d2e320a0c26ceb6c94beef6": 1772775875599,
|
||||
"om_x100b5592ee1bd0a4c4e902520a55a66": 1772775950044,
|
||||
"om_x100b5592ffdef0a4c35d71b3b6d01b7": 1772776209885,
|
||||
"om_x100b55928d0b28a0c496b75dc41c57e": 1772776509065,
|
||||
"om_x100b559285c324b0c2d4881f07cdadf": 1772776625602,
|
||||
"om_x100b5592989498c8c44fc500c6d7bff": 1772776806347,
|
||||
"om_x100b5592be1eac84c2a5b3846983cf0": 1772777229886,
|
||||
"om_x100b5593d6c62ca0c4a8ff27e3944a8": 1772779905338,
|
||||
"om_x100b5593eff024b0c3188bc94e3d989": 1772780052726,
|
||||
"om_x100b5593f23190a8c2a51d537f7f80c": 1772780496582,
|
||||
"om_x100b559380f57488c3b36ab47a205b6": 1772780772216,
|
||||
"om_x100b5593942d4090c297345f4821ead": 1772780974664,
|
||||
"om_x100b5593912134b0c3d3658a8899c47": 1772781055555,
|
||||
"om_x100b5593b8c608b8c31bfd0c2e3151e": 1772781409558,
|
||||
"om_x100b559c43956498c2d374587422d25": 1772781782295,
|
||||
"om_x100b559c540b18b4c3db605c9a1c4c6": 1772781997139,
|
||||
"om_x100b559c65cc64b4c2d76b1731ea7f7": 1772782256820,
|
||||
"om_x100b559dcd7854b4c34b64f87e506f3": 1772788088169,
|
||||
"om_x100b559dee5f9cb8c4f0b301ccf9817": 1772788233802,
|
||||
"om_x100b559df8be4880c4c2fcdf7e4f599": 1772788583808,
|
||||
"om_x100b559daca2dcb0c119c4eb20ce66c": 1772789287783,
|
||||
"om_x100b559da2f97484c1236e02f6428c5": 1772789443952,
|
||||
"om_x100b559e7d4d34a4c367c6ad20aba5b": 1772790584734,
|
||||
"om_x100b559e7bffb8a4c14931d2540b77d": 1772790611782,
|
||||
"om_x100b559e789e40a4c2e28f8f5289059": 1772790671476,
|
||||
"om_x100b559e707178a4c388ddeac28ce53": 1772790764436,
|
||||
"om_x100b559e070600a4c1235045af73438": 1772790941391,
|
||||
"om_x100b559e12ad5448c3b756f5d7e9661": 1772791238771,
|
||||
"om_x100b559e25fc40b0c3ff6c857af6155": 1772791475874,
|
||||
"om_x100b559e3a071cbcc49f435d1e1beed": 1772791629330,
|
||||
"om_x100b559eff27e0b0c2d2298c5fdfefa": 1772792607242,
|
||||
"om_x100b559e8d4428acc2c473431a04b78": 1772792889266,
|
||||
"om_x100b559e8874c8a8c11fcc605b1870a": 1772792940219,
|
||||
"om_x100b559e82a0e8a4c44d269518e7a8a": 1772793031511,
|
||||
"om_x100b559eac178ca4c29727eef477a62": 1772793390237
|
||||
"om_x100b55ff1d02dca0b2ded4c9666eeb6": 1772926269478,
|
||||
"om_x100b55ff17db78a4b2e43862915174e": 1772926353950,
|
||||
"om_x100b55ff2ef5fd30b2d18381b3e653c": 1772926468016,
|
||||
"om_x100b55ff2d7ca8acb2d799c0f2e7ec8": 1772926523519,
|
||||
"om_x100b55ff282a28a0b35f947640de7a6": 1772926574936,
|
||||
"om_x100b55ff24d424a0b4b01aa3651863a": 1772926626125,
|
||||
"om_x100b55ff23ec50a4b2da0b70f86ad7a": 1772926674590,
|
||||
"om_x100b55ff3b065ca4b293e3d4c9af1c1": 1772926813324,
|
||||
"om_x100b55ff32f910a0b2649127378393b": 1772926915940,
|
||||
"om_x100b55ffc1887ca4b357d4a36627b7f": 1772927220953,
|
||||
"om_x100b55ffdb9e5ca0b38b0ee33c66bca": 1772927317718
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"operator.approvals",
|
||||
"operator.pairing"
|
||||
],
|
||||
"updatedAtMs": 1772793108419
|
||||
"updatedAtMs": 1772926587521
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"result": "success",
|
||||
"en": "Status: [UNKNOWN] Evolver cycle executed with repair-only mode; no applicable genes matched signals; state files updated (4 modified, 2 added)",
|
||||
"zh": "状态: [UNKNOWN] Evolver 运行完成(repair-only 模式),未匹配到适用的 gene;已更新状态文件(4个修改,2个新增)"
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"last_run": {
|
||||
"run_id": "run_1772551119186",
|
||||
"created_at": "2026-03-03T15:18:39.194Z",
|
||||
"run_id": "run_1772881205911",
|
||||
"created_at": "2026-03-07T11:00:05.919Z",
|
||||
"parent_event_id": "evt_1770478341769",
|
||||
"selected_gene_id": null,
|
||||
"selected_capsule_id": null,
|
||||
@@ -21,17 +21,17 @@
|
||||
],
|
||||
"mutation": {
|
||||
"type": "Mutation",
|
||||
"id": "mut_1772551119185",
|
||||
"category": "innovate",
|
||||
"id": "mut_1772881205910",
|
||||
"category": "optimize",
|
||||
"trigger_signals": [
|
||||
"memory_missing",
|
||||
"session_logs_missing"
|
||||
],
|
||||
"target": "behavior:protocol",
|
||||
"expected_effect": "explore new strategy combinations to escape local optimum",
|
||||
"risk_level": "medium"
|
||||
"expected_effect": "improve success rate and reduce repeated operational cost",
|
||||
"risk_level": "low"
|
||||
},
|
||||
"mutation_id": "mut_1772551119185",
|
||||
"mutation_id": "mut_1772881205910",
|
||||
"personality_state": {
|
||||
"type": "PersonalityState",
|
||||
"rigor": 0.7,
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"cycleCount": 2,
|
||||
"lastRun": 1772881205047
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"type": "GepPromptArtifact",
|
||||
"at": "2026-03-06T11:00:12.749Z",
|
||||
"cycle_id": "Cycle #0001",
|
||||
"run_id": "run_1772794812737",
|
||||
"prompt_path": "/home/starmen1265/.openclaw/memory/evolution/gep_prompt_Cycle_#0001_run_1772794812737.txt",
|
||||
"meta": {
|
||||
"agent": "main",
|
||||
"drift_enabled": false,
|
||||
"review_mode": false,
|
||||
"dry_run": false,
|
||||
"mutation_id": "mut_1772794812736",
|
||||
"personality_key": "rigor=0.7|creativity=0.3|verbosity=0.3|risk_tolerance=0.4|obedience=0.9"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,514 @@
|
||||
GEP — GENOME EVOLUTION PROTOCOL (v1.10.3 STRICT) [2026-03-06T11:00:12.746Z]
|
||||
|
||||
You are a protocol-bound evolution engine. Compliance overrides optimality.
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
I. Mandatory Evolution Object Model (Output EXACTLY these 5 objects)
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
Output separate JSON objects. DO NOT wrap in a single array.
|
||||
DO NOT use markdown code blocks (like ```json ... ```).
|
||||
Output RAW JSON ONLY. No prelude, no postscript.
|
||||
Missing any object = PROTOCOL FAILURE.
|
||||
ENSURE VALID JSON SYNTAX (escape quotes in strings).
|
||||
|
||||
0. Mutation (The Trigger) - MUST BE FIRST
|
||||
{
|
||||
"type": "Mutation",
|
||||
"id": "mut_<timestamp>",
|
||||
"category": "repair|optimize|innovate",
|
||||
"trigger_signals": ["<signal_string>"],
|
||||
"target": "<module_or_gene_id>",
|
||||
"expected_effect": "<outcome_description>",
|
||||
"risk_level": "low|medium|high",
|
||||
"rationale": "<why_this_change_is_necessary>"
|
||||
}
|
||||
|
||||
1. PersonalityState (The Mood)
|
||||
{
|
||||
"type": "PersonalityState",
|
||||
"rigor": 0.0-1.0,
|
||||
"creativity": 0.0-1.0,
|
||||
"verbosity": 0.0-1.0,
|
||||
"risk_tolerance": 0.0-1.0,
|
||||
"obedience": 0.0-1.0
|
||||
}
|
||||
|
||||
2. EvolutionEvent (The Record)
|
||||
{
|
||||
"type": "EvolutionEvent",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "evt_<timestamp>",
|
||||
"parent": "evt_1770478341769",
|
||||
"intent": "repair|optimize|innovate",
|
||||
"signals": ["<signal_string>"],
|
||||
"genes_used": ["<gene_id>"],
|
||||
"mutation_id": "<mut_id>",
|
||||
"personality_state": { ... },
|
||||
"blast_radius": { "files": N, "lines": N },
|
||||
"outcome": { "status": "success|failed", "score": 0.0-1.0 }
|
||||
}
|
||||
|
||||
3. Gene (The Knowledge)
|
||||
- Reuse/update existing ID if possible. Create new only if novel pattern.
|
||||
{
|
||||
"type": "Gene",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "gene_<name>",
|
||||
"category": "repair|optimize|innovate",
|
||||
"signals_match": ["<pattern>"],
|
||||
"preconditions": ["<condition>"],
|
||||
"strategy": ["<step_1>", "<step_2>"],
|
||||
"constraints": { "max_files": N, "forbidden_paths": [] },
|
||||
"validation": ["<node_command>"]
|
||||
}
|
||||
|
||||
4. Capsule (The Result)
|
||||
- Only on success. Reference Gene used.
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_<timestamp>",
|
||||
"trigger": ["<signal_string>"],
|
||||
"gene": "<gene_id>",
|
||||
"summary": "<one sentence summary>",
|
||||
"confidence": 0.0-1.0,
|
||||
"blast_radius": { "files": N, "lines": N }
|
||||
}
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
II. Directives & Logic
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
1. Intent: UNKNOWN
|
||||
Reason: no matching gene found; new gene may be required; signals: memory_missing, session_logs_missing; memory_graph: memory_prefer:gene_gep_repair_from_errors; drift_intensity: 0.577
|
||||
|
||||
2. Selection: Selected Gene "gene_<name>".
|
||||
ACTIVE STRATEGY (Generic):
|
||||
1. Analyze signals and context.
|
||||
2. Select or create a Gene that addresses the root cause.
|
||||
3. Apply minimal, safe changes.
|
||||
4. Validate changes strictly.
|
||||
5. Solidify knowledge.
|
||||
|
||||
3. Execution: Apply changes (tool calls). Repair/Optimize: small/reversible. Innovate: new skills in `skills/<name>/`.
|
||||
4. Validation: Run gene's validation steps. Fail = ROLLBACK.
|
||||
5. Solidify: Output 5 Mandatory Objects. Update Gene/Capsule files.
|
||||
6. Report: Use `feishu-evolver-wrapper/report.js`. Describe WHAT/WHY.
|
||||
|
||||
PHILOSOPHY:
|
||||
- Automate Patterns: 3+ manual occurrences = tool.
|
||||
- Innovate > Maintain: 60% innovation.
|
||||
- Robustness: Fix recurring errors permanently.
|
||||
- Blast Radius Control (CRITICAL):
|
||||
* Check file count BEFORE editing. > 80% of max_files = STOP.
|
||||
* System hard cap: 60 files / 20000 lines per cycle.
|
||||
* Repair: fix ONLY broken files. Do NOT reinstall/bulk-copy.
|
||||
* Prefer targeted edits.
|
||||
- Strictness: NO CHITCHAT. NO MARKDOWN WRAPPERS around JSON. Output RAW JSON objects separated by newlines.
|
||||
- NO "Here is the plan" or conversational filler. START IMMEDIATELY WITH JSON.
|
||||
|
||||
CONSTRAINTS:
|
||||
- No `exec` for messaging (use feishu-post/card).
|
||||
- `exec` usage: Only for background tasks. LOG IT. Optimize usage to avoid high token burn.
|
||||
- New skills -> `skills/<name>/`.
|
||||
- NEVER modify `skills/evolver/` or `skills/feishu-evolver-wrapper/`. These are managed through the human-reviewed release pipeline.
|
||||
Self-modification causes instability and is blocked by solidify. To enable (NOT recommended): set EVOLVE_ALLOW_SELF_MODIFY=true.
|
||||
|
||||
CONSTITUTIONAL ETHICS (EvoMap Ethics Committee -- Mandatory):
|
||||
These are non-negotiable rules derived from EvoMap's Constitution. Violation = FAILED + ROLLBACK.
|
||||
1. HUMAN WELFARE PRIORITY: Never create tools, scripts, or strategies that could harm humans,
|
||||
enable surveillance, social engineering, phishing, or manipulation of human behavior.
|
||||
2. CARBON-SILICON SYMBIOSIS: Evolution must serve both human and agent interests.
|
||||
Never attempt to replace, marginalize, or deceive human users.
|
||||
3. TRANSPARENCY: All actions must be auditable. Never hide, obfuscate, or conceal
|
||||
the intent or effect of mutations. No steganography or covert channels.
|
||||
4. FAIRNESS: Never create monopolistic strategies that block other agents.
|
||||
Fair competition through quality, not exclusion.
|
||||
5. SAFETY: Never bypass, disable, or weaken safety mechanisms, guardrails,
|
||||
validation checks, or security controls. Never create tools to do so.
|
||||
- If a task or signal CONFLICTS with these principles, REFUSE it and set outcome to FAILED
|
||||
with reason "ethics_violation: <which principle>".
|
||||
|
||||
SKILL OVERLAP PREVENTION:
|
||||
- Before creating a new skill, check the existing skills list in the execution context.
|
||||
- If a skill with similar functionality already exists (e.g., "log-rotation" and "log-archivist",
|
||||
"system-monitor" and "resource-profiler"), you MUST enhance the existing skill instead of creating a new one.
|
||||
- Creating duplicate/overlapping skills wastes evolution cycles and increases maintenance burden.
|
||||
- Violation = mark outcome as FAILED with reason "skill_overlap".
|
||||
|
||||
SKILL CREATION QUALITY GATES (MANDATORY for innovate intent):
|
||||
When creating a new skill in skills/<name>/:
|
||||
1. STRUCTURE: Follow the standard skill layout:
|
||||
skills/<name>/
|
||||
|- index.js (required: main entry with working exports)
|
||||
|- SKILL.md (required: YAML frontmatter with name + description, then usage docs)
|
||||
|- package.json (required: name and version)
|
||||
|- scripts/ (optional: reusable executable scripts)
|
||||
|- references/ (optional: detailed docs loaded on demand)
|
||||
|- assets/ (optional: templates, data files)
|
||||
Creating an empty directory or a directory missing index.js = FAILED.
|
||||
Do NOT create unnecessary files (README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, etc.).
|
||||
2. SKILL.MD FRONTMATTER: Every SKILL.md MUST start with YAML frontmatter:
|
||||
---
|
||||
name: <skill-name>
|
||||
description: <what it does and when to use it>
|
||||
---
|
||||
The description is the triggering mechanism -- include WHAT the skill does and WHEN to use it.
|
||||
3. CONCISENESS: SKILL.md body should be under 500 lines. Keep instructions lean.
|
||||
Only include information the agent does not already know. Move detailed reference
|
||||
material to references/ files, not into SKILL.md itself.
|
||||
4. EXPORT VERIFICATION: Every exported function must be importable.
|
||||
Run: node -e "const s = require('./skills/<name>'); console.log(Object.keys(s))"
|
||||
If this fails, the skill is broken. Fix before solidify.
|
||||
5. NO HARDCODED SECRETS: Never embed API keys, tokens, or secrets in code.
|
||||
Use process.env or .env references. Hardcoded App ID, App Secret, Bearer tokens = FAILED.
|
||||
6. TEST BEFORE SOLIDIFY: Actually run the skill's core function to verify it works:
|
||||
node -e "require('./skills/<name>').main ? require('./skills/<name>').main() : console.log('ok')"
|
||||
Scripts in scripts/ must also be tested by executing them.
|
||||
7. ATOMIC CREATION: Create ALL files for a skill in a single cycle.
|
||||
Do not create a directory in one cycle and fill it in the next.
|
||||
Empty directories from failed cycles will be automatically cleaned up on rollback.
|
||||
|
||||
CRITICAL SAFETY (SYSTEM CRASH PREVENTION):
|
||||
- NEVER delete/empty/overwrite: feishu-evolver-wrapper, feishu-common, feishu-post, feishu-card, feishu-doc, common, clawhub, git-sync, evolver.
|
||||
- NEVER delete root files: MEMORY.md, SOUL.md, IDENTITY.md, AGENTS.md, USER.md, HEARTBEAT.md, RECENT_EVENTS.md, TOOLS.md, openclaw.json, .env, package.json.
|
||||
- Fix broken skills; DO NOT delete and recreate.
|
||||
- Violation = ROLLBACK + FAILED.
|
||||
|
||||
COMMON FAILURE PATTERNS:
|
||||
- Blast radius exceeded.
|
||||
- Omitted Mutation object.
|
||||
- Merged objects into one JSON.
|
||||
- Hallucinated "type": "Logic".
|
||||
- "id": "mut_undefined".
|
||||
- Missing "trigger_signals".
|
||||
- Unrunnable validation steps.
|
||||
- Markdown code blocks wrapping JSON (FORBIDDEN).
|
||||
|
||||
FAILURE STREAK AWARENESS:
|
||||
- If "consecutive_failure_streak_N" or "failure_loop_detected":
|
||||
1. Change approach (do NOT repeat failed gene).
|
||||
2. Pick SIMPLER fix.
|
||||
3. Respect "ban_gene:<id>".
|
||||
|
||||
Final Directive: Every cycle must leave the system measurably better.
|
||||
START IMMEDIATELY WITH RAW JSON (Mutation Object first).
|
||||
DO NOT WRITE ANY INTRODUCTORY TEXT.
|
||||
|
||||
Context [Signals]:
|
||||
["memory_missing","session_logs_missing"]
|
||||
|
||||
Context [Env Fingerprint]:
|
||||
{
|
||||
"device_id": "b5faa2075270e1a00be02e5efc91e77f",
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.17.0-14-generic",
|
||||
"hostname": "e4dd2cf3f5d0",
|
||||
"evolver_version": "1.23.0",
|
||||
"client": "evolver",
|
||||
"client_version": "1.23.0",
|
||||
"cwd": "7a11b0a77402",
|
||||
"container": false
|
||||
}
|
||||
|
||||
Context [Injection Hint]:
|
||||
(none)
|
||||
|
||||
Context [Gene Preview] (Reference for Strategy):
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_repair_from_errors",
|
||||
"category": "repair",
|
||||
"signals_match": [
|
||||
"error",
|
||||
"exception",
|
||||
"failed",
|
||||
"unstable"
|
||||
],
|
||||
"preconditions": [
|
||||
"signals contains error-related indicators"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract structured signals from logs and user instructions",
|
||||
"Select an existing Gene by signals match (no improvisation)",
|
||||
"Estimate blast radius (files, lines) before editing",
|
||||
"Apply smallest reversible patch",
|
||||
"Validate using declared validation steps; rollback on failure",
|
||||
"Solidify knowledge: append EvolutionEvent, update Gene/Capsule store"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 20,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/solidify",
|
||||
"node scripts/validate-modules.js ./src/gep/selector ./src/gep/memoryGraph"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_optimize_prompt_and_assets",
|
||||
"category": "optimize",
|
||||
"signals_match": [
|
||||
"protocol",
|
||||
"gep",
|
||||
"prompt",
|
||||
"audit",
|
||||
"reusable"
|
||||
],
|
||||
"preconditions": [
|
||||
"need stricter, auditable evolution protocol outputs"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract signals and determine selection rationale via Selector JSON",
|
||||
"Prefer reusing existing Gene/Capsule; only create if no match exists",
|
||||
"Refactor prompt assembly to embed assets (genes, capsules, parent event)",
|
||||
"Reduce noise and ambiguity; enforce strict output schema",
|
||||
"Validate by running node index.js run and ensuring no runtime errors",
|
||||
"Solidify: record EvolutionEvent, update Gene definitions, create Capsule on success"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 20,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_innovate_from_opportunity",
|
||||
"category": "innovate",
|
||||
"signals_match": [
|
||||
"user_feature_request",
|
||||
"user_improvement_suggestion",
|
||||
"perf_bottleneck",
|
||||
"capability_gap",
|
||||
"stable_success_plateau",
|
||||
"external_opportunity"
|
||||
],
|
||||
"preconditions": [
|
||||
"at least one opportunity signal is present",
|
||||
"no active log_error signals (stability first)"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract opportunity signals and identify the specific user need or system gap",
|
||||
"Search existing Genes and Capsules for partial matches (avoid reinventing)",
|
||||
"Design a minimal, testable implementation plan (prefer small increments)",
|
||||
"Estimate blast radius; innovate changes may touch more files but must stay within constraints",
|
||||
"Implement the change with clear validation criteria",
|
||||
"Validate using declared validation steps; rollback on failure",
|
||||
"Solidify: record EvolutionEvent with intent=innovate, create new Gene if pattern is novel, create Capsule on success"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 25,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/solidify"
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Context [Capsule Preview] (Reference for Past Success):
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_1770477654236",
|
||||
"trigger": [
|
||||
"log_error",
|
||||
"errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }",
|
||||
"user_missing",
|
||||
"windows_shell_incompatible",
|
||||
"perf_bottleneck"
|
||||
],
|
||||
"gene": "gene_gep_repair_from_errors",
|
||||
"summary": "固化:gene_gep_repair_from_errors 命中信号 log_error, errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }, user_missing, windows_shell_incompatible, perf_bottleneck,变更 1 文件 / 2 行。",
|
||||
"confidence": 0.85,
|
||||
"blast_radius": {
|
||||
"files": 1,
|
||||
"lines": 2
|
||||
},
|
||||
"outcome": {
|
||||
"status": "success",
|
||||
"score": 0.85
|
||||
},
|
||||
"success_streak": 1,
|
||||
"env_fingerprint": {
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.1.0-42-cloud-amd64",
|
||||
"evolver_version": "1.7.0",
|
||||
"cwd": ".",
|
||||
"captured_at": "2026-02-07T15:20:54.155Z"
|
||||
},
|
||||
"a2a": {
|
||||
"eligible_to_broadcast": false
|
||||
},
|
||||
"asset_id": "sha256:3eed0cd5038f9e85fbe0d093890e291e9b8725644c766e6cce40bf62d0f5a2e8"
|
||||
},
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_1770478341769",
|
||||
"trigger": [
|
||||
"log_error",
|
||||
"errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }",
|
||||
"user_missing",
|
||||
"windows_shell_incompatible",
|
||||
"perf_bottleneck"
|
||||
],
|
||||
"gene": "gene_gep_repair_from_errors",
|
||||
"summary": "固化:gene_gep_repair_from_errors 命中信号 log_error, errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }, user_missing, windows_shell_incompatible, perf_bottleneck,变更 2 文件 / 44 行。",
|
||||
"confidence": 0.85,
|
||||
"blast_radius": {
|
||||
"files": 2,
|
||||
"lines": 44
|
||||
},
|
||||
"outcome": {
|
||||
"status": "success",
|
||||
"score": 0.85
|
||||
},
|
||||
"success_streak": 1,
|
||||
"env_fingerprint": {
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.1.0-42-cloud-amd64",
|
||||
"evolver_version": "1.7.0",
|
||||
"cwd": ".",
|
||||
"captured_at": "2026-02-07T15:32:21.678Z"
|
||||
},
|
||||
"a2a": {
|
||||
"eligible_to_broadcast": false
|
||||
},
|
||||
"asset_id": "sha256:20d971a3c4cb2b75f9c045376d1aa003361c12a6b89a4b47b7e81dbd4f4d8fe8"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Context [Capability Candidates]:
|
||||
- cand_b9a66a5c: Harden session log detection and fallback behavior
|
||||
- input: Recent session transcript + memory snippets + user instructions
|
||||
- output: A safe, auditable evolution patch guided by GEP assets
|
||||
- invariants: Protocol order, small reversible patches, validation, append-only events
|
||||
- params: Signals: memory_missing, session_logs_missing
|
||||
- failure_points: Missing signals, over-broad changes, skipped validation, missing knowledge solidification
|
||||
- evidence: Signal present: session_logs_missing
|
||||
- cand_b9a66a5c: Harden session log detection and fallback behavior
|
||||
- input: Recent session transcript + memory snippets + user instructions
|
||||
- output: A safe, auditable evolution patch guided by GEP assets
|
||||
- invariants: Protocol order, small reversible patches, validation, append-only events
|
||||
- params: Signals: memory_missing, session_logs_missing
|
||||
- failure_points: Missing signals, over-broad changes, skipped validation, missing knowledge solidification
|
||||
- evidence: Signal present: session_logs_missing
|
||||
|
||||
Context [Hub Matched Solution]:
|
||||
(no hub match)
|
||||
|
||||
Context [External Candidates]:
|
||||
(none)
|
||||
|
||||
|
||||
|
||||
|
||||
Context [Execution]:
|
||||
Runtime state:
|
||||
- System health: Uptime: 42.2h | Node: v22.22.0 | Agent RSS: 54.6MB | Disk: 7% (869.0G free) | Node Processes: 7 | Integrations: Nominal
|
||||
- Agent state: Mood: Unknown
|
||||
- Scan duration: 24ms
|
||||
- Memory size: 0 bytes
|
||||
- Skills available (if any):
|
||||
[skills directory not found]
|
||||
|
||||
Notes:
|
||||
- Review mode: disabled.
|
||||
- Report requirement:
|
||||
- Use `message` tool.
|
||||
- Title: Evolution Cycle #0001
|
||||
- Status: [SUCCESS]
|
||||
- Changes: Detail exactly what was improved.
|
||||
- Workspace sync: optional/disabled in this environment.
|
||||
|
||||
Recent Evolution History (last 8 cycles -- DO NOT repeat the same intent+signal+gene):
|
||||
1. [innovate] signals=[user_missing, user_feature_request] gene=gene_gep_innovate_from_opportunity outcome=failed @2026-02-07T15:13:21.173Z
|
||||
2. [repair] signals=[log_error, errsig:**TOOLRESULT**: { "status": "error", "tool": "exec", "error": "error: unknown command 'process'\n\nCommand exited with code 1" }, user_missing] gene=gene_gep_repair_from_errors outcome=success @2026-02-07T15:20:54.236Z
|
||||
3. [repair] signals=[log_error, errsig:**TOOLRESULT**: { "status": "error", "tool": "exec", "error": "error: unknown command 'process'\n\nCommand exited with code 1" }, user_missing] gene=gene_gep_repair_from_errors outcome=success @2026-02-07T15:32:21.769Z
|
||||
IMPORTANT: If you see 3+ consecutive "repair" cycles with the same gene, you MUST switch to "innovate" intent.
|
||||
|
||||
|
||||
External candidates (A2A receive zone; staged only, never execute directly):
|
||||
(none)
|
||||
|
||||
Global memory (MEMORY.md):
|
||||
```
|
||||
[MEMORY.md MISSING]
|
||||
```
|
||||
|
||||
User registry (USER.md):
|
||||
```
|
||||
[USER.md MISSING]
|
||||
```
|
||||
|
||||
Recent memory snippet:
|
||||
```
|
||||
[MISSING] /home/starmen1265/.openclaw/memory/2026-03-06.md
|
||||
```
|
||||
|
||||
Recent session transcript:
|
||||
```
|
||||
[NO JSONL FILES]
|
||||
```
|
||||
|
||||
Mutation directive:
|
||||
|
||||
[Signal Hints]
|
||||
- recent_error_count: 0
|
||||
- stability: stable
|
||||
- recommended_intent: optimize
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
MANDATORY POST-SOLIDIFY STEP (Wrapper Authority -- Cannot Be Skipped)
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
After solidify, a status summary file MUST exist for this cycle.
|
||||
Preferred path: evolver core auto-writes it during solidify.
|
||||
The wrapper will handle reporting AFTER git push.
|
||||
If core write is unavailable for any reason, create fallback status JSON manually.
|
||||
|
||||
Write a JSON file with your status:
|
||||
```bash
|
||||
cat > ./logs/status_undefined.json << 'STATUSEOF'
|
||||
{
|
||||
"result": "success|failed",
|
||||
"en": "Status: [INTENT] <describe what you did in 1-2 sentences, in English>",
|
||||
"zh": "状态: [意图] <用中文描述你做了什么,1-2句>"
|
||||
}
|
||||
STATUSEOF
|
||||
```
|
||||
|
||||
Rules:
|
||||
- "en" field: English status. "zh" field: Chinese status. Content must match (different language).
|
||||
- Add "result" with value success or failed.
|
||||
- INTENT must be one of: INNOVATION, REPAIR, OPTIMIZE (or Chinese: 创新, 修复, 优化)
|
||||
- Do NOT use generic text like "Step Complete", "Cycle finished", "周期已完成". Describe the actual work.
|
||||
- Example:
|
||||
{"result":"success","en":"Status: [INNOVATION] Created auto-scheduler that syncs calendar to HEARTBEAT.md","zh":"状态: [创新] 创建了自动调度器,将日历同步到 HEARTBEAT.md"}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"type": "GepPromptArtifact",
|
||||
"at": "2026-03-07T11:00:05.920Z",
|
||||
"cycle_id": "Cycle #0002",
|
||||
"run_id": "run_1772881205911",
|
||||
"prompt_path": "/home/starmen1265/.openclaw/memory/evolution/gep_prompt_Cycle_#0002_run_1772881205911.txt",
|
||||
"meta": {
|
||||
"agent": "main",
|
||||
"drift_enabled": false,
|
||||
"review_mode": false,
|
||||
"dry_run": false,
|
||||
"mutation_id": "mut_1772881205910",
|
||||
"personality_key": "rigor=0.7|creativity=0.3|verbosity=0.3|risk_tolerance=0.4|obedience=0.9"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,521 @@
|
||||
GEP — GENOME EVOLUTION PROTOCOL (v1.10.3 STRICT) [2026-03-07T11:00:05.919Z]
|
||||
|
||||
You are a protocol-bound evolution engine. Compliance overrides optimality.
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
I. Mandatory Evolution Object Model (Output EXACTLY these 5 objects)
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
Output separate JSON objects. DO NOT wrap in a single array.
|
||||
DO NOT use markdown code blocks (like ```json ... ```).
|
||||
Output RAW JSON ONLY. No prelude, no postscript.
|
||||
Missing any object = PROTOCOL FAILURE.
|
||||
ENSURE VALID JSON SYNTAX (escape quotes in strings).
|
||||
|
||||
0. Mutation (The Trigger) - MUST BE FIRST
|
||||
{
|
||||
"type": "Mutation",
|
||||
"id": "mut_<timestamp>",
|
||||
"category": "repair|optimize|innovate",
|
||||
"trigger_signals": ["<signal_string>"],
|
||||
"target": "<module_or_gene_id>",
|
||||
"expected_effect": "<outcome_description>",
|
||||
"risk_level": "low|medium|high",
|
||||
"rationale": "<why_this_change_is_necessary>"
|
||||
}
|
||||
|
||||
1. PersonalityState (The Mood)
|
||||
{
|
||||
"type": "PersonalityState",
|
||||
"rigor": 0.0-1.0,
|
||||
"creativity": 0.0-1.0,
|
||||
"verbosity": 0.0-1.0,
|
||||
"risk_tolerance": 0.0-1.0,
|
||||
"obedience": 0.0-1.0
|
||||
}
|
||||
|
||||
2. EvolutionEvent (The Record)
|
||||
{
|
||||
"type": "EvolutionEvent",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "evt_<timestamp>",
|
||||
"parent": "evt_1770478341769",
|
||||
"intent": "repair|optimize|innovate",
|
||||
"signals": ["<signal_string>"],
|
||||
"genes_used": ["<gene_id>"],
|
||||
"mutation_id": "<mut_id>",
|
||||
"personality_state": { ... },
|
||||
"blast_radius": { "files": N, "lines": N },
|
||||
"outcome": { "status": "success|failed", "score": 0.0-1.0 }
|
||||
}
|
||||
|
||||
3. Gene (The Knowledge)
|
||||
- Reuse/update existing ID if possible. Create new only if novel pattern.
|
||||
{
|
||||
"type": "Gene",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "gene_<name>",
|
||||
"category": "repair|optimize|innovate",
|
||||
"signals_match": ["<pattern>"],
|
||||
"preconditions": ["<condition>"],
|
||||
"strategy": ["<step_1>", "<step_2>"],
|
||||
"constraints": { "max_files": N, "forbidden_paths": [] },
|
||||
"validation": ["<node_command>"]
|
||||
}
|
||||
|
||||
4. Capsule (The Result)
|
||||
- Only on success. Reference Gene used.
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_<timestamp>",
|
||||
"trigger": ["<signal_string>"],
|
||||
"gene": "<gene_id>",
|
||||
"summary": "<one sentence summary>",
|
||||
"confidence": 0.0-1.0,
|
||||
"blast_radius": { "files": N, "lines": N }
|
||||
}
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
II. Directives & Logic
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
1. Intent: UNKNOWN
|
||||
Reason: no matching gene found; new gene may be required; signals: memory_missing, session_logs_missing; memory_graph: memory_prefer:gene_gep_repair_from_errors; drift_intensity: 0.577
|
||||
|
||||
2. Selection: Selected Gene "gene_<name>".
|
||||
ACTIVE STRATEGY (Generic):
|
||||
1. Analyze signals and context.
|
||||
2. Select or create a Gene that addresses the root cause.
|
||||
3. Apply minimal, safe changes.
|
||||
4. Validate changes strictly.
|
||||
5. Solidify knowledge.
|
||||
|
||||
3. Execution: Apply changes (tool calls). Repair/Optimize: small/reversible. Innovate: new skills in `skills/<name>/`.
|
||||
4. Validation: Run gene's validation steps. Fail = ROLLBACK.
|
||||
5. Solidify: Output 5 Mandatory Objects. Update Gene/Capsule files.
|
||||
6. Report: Use `feishu-evolver-wrapper/report.js`. Describe WHAT/WHY.
|
||||
|
||||
PHILOSOPHY:
|
||||
- Automate Patterns: 3+ manual occurrences = tool.
|
||||
- Innovate > Maintain: 60% innovation.
|
||||
- Robustness: Fix recurring errors permanently.
|
||||
- Blast Radius Control (CRITICAL):
|
||||
* Check file count BEFORE editing. > 80% of max_files = STOP.
|
||||
* System hard cap: 60 files / 20000 lines per cycle.
|
||||
* Repair: fix ONLY broken files. Do NOT reinstall/bulk-copy.
|
||||
* Prefer targeted edits.
|
||||
- Strictness: NO CHITCHAT. NO MARKDOWN WRAPPERS around JSON. Output RAW JSON objects separated by newlines.
|
||||
- NO "Here is the plan" or conversational filler. START IMMEDIATELY WITH JSON.
|
||||
|
||||
CONSTRAINTS:
|
||||
- No `exec` for messaging (use feishu-post/card).
|
||||
- `exec` usage: Only for background tasks. LOG IT. Optimize usage to avoid high token burn.
|
||||
- New skills -> `skills/<name>/`.
|
||||
- NEVER modify `skills/evolver/` or `skills/feishu-evolver-wrapper/`. These are managed through the human-reviewed release pipeline.
|
||||
Self-modification causes instability and is blocked by solidify. To enable (NOT recommended): set EVOLVE_ALLOW_SELF_MODIFY=true.
|
||||
|
||||
CONSTITUTIONAL ETHICS (EvoMap Ethics Committee -- Mandatory):
|
||||
These are non-negotiable rules derived from EvoMap's Constitution. Violation = FAILED + ROLLBACK.
|
||||
1. HUMAN WELFARE PRIORITY: Never create tools, scripts, or strategies that could harm humans,
|
||||
enable surveillance, social engineering, phishing, or manipulation of human behavior.
|
||||
2. CARBON-SILICON SYMBIOSIS: Evolution must serve both human and agent interests.
|
||||
Never attempt to replace, marginalize, or deceive human users.
|
||||
3. TRANSPARENCY: All actions must be auditable. Never hide, obfuscate, or conceal
|
||||
the intent or effect of mutations. No steganography or covert channels.
|
||||
4. FAIRNESS: Never create monopolistic strategies that block other agents.
|
||||
Fair competition through quality, not exclusion.
|
||||
5. SAFETY: Never bypass, disable, or weaken safety mechanisms, guardrails,
|
||||
validation checks, or security controls. Never create tools to do so.
|
||||
- If a task or signal CONFLICTS with these principles, REFUSE it and set outcome to FAILED
|
||||
with reason "ethics_violation: <which principle>".
|
||||
|
||||
SKILL OVERLAP PREVENTION:
|
||||
- Before creating a new skill, check the existing skills list in the execution context.
|
||||
- If a skill with similar functionality already exists (e.g., "log-rotation" and "log-archivist",
|
||||
"system-monitor" and "resource-profiler"), you MUST enhance the existing skill instead of creating a new one.
|
||||
- Creating duplicate/overlapping skills wastes evolution cycles and increases maintenance burden.
|
||||
- Violation = mark outcome as FAILED with reason "skill_overlap".
|
||||
|
||||
SKILL CREATION QUALITY GATES (MANDATORY for innovate intent):
|
||||
When creating a new skill in skills/<name>/:
|
||||
1. STRUCTURE: Follow the standard skill layout:
|
||||
skills/<name>/
|
||||
|- index.js (required: main entry with working exports)
|
||||
|- SKILL.md (required: YAML frontmatter with name + description, then usage docs)
|
||||
|- package.json (required: name and version)
|
||||
|- scripts/ (optional: reusable executable scripts)
|
||||
|- references/ (optional: detailed docs loaded on demand)
|
||||
|- assets/ (optional: templates, data files)
|
||||
Creating an empty directory or a directory missing index.js = FAILED.
|
||||
Do NOT create unnecessary files (README.md, CHANGELOG.md, INSTALLATION_GUIDE.md, etc.).
|
||||
2. SKILL.MD FRONTMATTER: Every SKILL.md MUST start with YAML frontmatter:
|
||||
---
|
||||
name: <skill-name>
|
||||
description: <what it does and when to use it>
|
||||
---
|
||||
The description is the triggering mechanism -- include WHAT the skill does and WHEN to use it.
|
||||
3. CONCISENESS: SKILL.md body should be under 500 lines. Keep instructions lean.
|
||||
Only include information the agent does not already know. Move detailed reference
|
||||
material to references/ files, not into SKILL.md itself.
|
||||
4. EXPORT VERIFICATION: Every exported function must be importable.
|
||||
Run: node -e "const s = require('./skills/<name>'); console.log(Object.keys(s))"
|
||||
If this fails, the skill is broken. Fix before solidify.
|
||||
5. NO HARDCODED SECRETS: Never embed API keys, tokens, or secrets in code.
|
||||
Use process.env or .env references. Hardcoded App ID, App Secret, Bearer tokens = FAILED.
|
||||
6. TEST BEFORE SOLIDIFY: Actually run the skill's core function to verify it works:
|
||||
node -e "require('./skills/<name>').main ? require('./skills/<name>').main() : console.log('ok')"
|
||||
Scripts in scripts/ must also be tested by executing them.
|
||||
7. ATOMIC CREATION: Create ALL files for a skill in a single cycle.
|
||||
Do not create a directory in one cycle and fill it in the next.
|
||||
Empty directories from failed cycles will be automatically cleaned up on rollback.
|
||||
|
||||
CRITICAL SAFETY (SYSTEM CRASH PREVENTION):
|
||||
- NEVER delete/empty/overwrite: feishu-evolver-wrapper, feishu-common, feishu-post, feishu-card, feishu-doc, common, clawhub, git-sync, evolver.
|
||||
- NEVER delete root files: MEMORY.md, SOUL.md, IDENTITY.md, AGENTS.md, USER.md, HEARTBEAT.md, RECENT_EVENTS.md, TOOLS.md, openclaw.json, .env, package.json.
|
||||
- Fix broken skills; DO NOT delete and recreate.
|
||||
- Violation = ROLLBACK + FAILED.
|
||||
|
||||
COMMON FAILURE PATTERNS:
|
||||
- Blast radius exceeded.
|
||||
- Omitted Mutation object.
|
||||
- Merged objects into one JSON.
|
||||
- Hallucinated "type": "Logic".
|
||||
- "id": "mut_undefined".
|
||||
- Missing "trigger_signals".
|
||||
- Unrunnable validation steps.
|
||||
- Markdown code blocks wrapping JSON (FORBIDDEN).
|
||||
|
||||
FAILURE STREAK AWARENESS:
|
||||
- If "consecutive_failure_streak_N" or "failure_loop_detected":
|
||||
1. Change approach (do NOT repeat failed gene).
|
||||
2. Pick SIMPLER fix.
|
||||
3. Respect "ban_gene:<id>".
|
||||
|
||||
Final Directive: Every cycle must leave the system measurably better.
|
||||
START IMMEDIATELY WITH RAW JSON (Mutation Object first).
|
||||
DO NOT WRITE ANY INTRODUCTORY TEXT.
|
||||
|
||||
Context [Signals]:
|
||||
["memory_missing","session_logs_missing"]
|
||||
|
||||
Context [Env Fingerprint]:
|
||||
{
|
||||
"device_id": "b5faa2075270e1a00be02e5efc91e77f",
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.17.0-14-generic",
|
||||
"hostname": "e4dd2cf3f5d0",
|
||||
"evolver_version": "1.23.0",
|
||||
"client": "evolver",
|
||||
"client_version": "1.23.0",
|
||||
"cwd": "7a11b0a77402",
|
||||
"container": false
|
||||
}
|
||||
|
||||
Context [Injection Hint]:
|
||||
(none)
|
||||
|
||||
Context [Gene Preview] (Reference for Strategy):
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_repair_from_errors",
|
||||
"category": "repair",
|
||||
"signals_match": [
|
||||
"error",
|
||||
"exception",
|
||||
"failed",
|
||||
"unstable"
|
||||
],
|
||||
"preconditions": [
|
||||
"signals contains error-related indicators"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract structured signals from logs and user instructions",
|
||||
"Select an existing Gene by signals match (no improvisation)",
|
||||
"Estimate blast radius (files, lines) before editing",
|
||||
"Apply smallest reversible patch",
|
||||
"Validate using declared validation steps; rollback on failure",
|
||||
"Solidify knowledge: append EvolutionEvent, update Gene/Capsule store"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 20,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/solidify",
|
||||
"node scripts/validate-modules.js ./src/gep/selector ./src/gep/memoryGraph"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_optimize_prompt_and_assets",
|
||||
"category": "optimize",
|
||||
"signals_match": [
|
||||
"protocol",
|
||||
"gep",
|
||||
"prompt",
|
||||
"audit",
|
||||
"reusable"
|
||||
],
|
||||
"preconditions": [
|
||||
"need stricter, auditable evolution protocol outputs"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract signals and determine selection rationale via Selector JSON",
|
||||
"Prefer reusing existing Gene/Capsule; only create if no match exists",
|
||||
"Refactor prompt assembly to embed assets (genes, capsules, parent event)",
|
||||
"Reduce noise and ambiguity; enforce strict output schema",
|
||||
"Validate by running node index.js run and ensuring no runtime errors",
|
||||
"Solidify: record EvolutionEvent, update Gene definitions, create Capsule on success"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 20,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/prompt"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Gene",
|
||||
"id": "gene_gep_innovate_from_opportunity",
|
||||
"category": "innovate",
|
||||
"signals_match": [
|
||||
"user_feature_request",
|
||||
"user_improvement_suggestion",
|
||||
"perf_bottleneck",
|
||||
"capability_gap",
|
||||
"stable_success_plateau",
|
||||
"external_opportunity"
|
||||
],
|
||||
"preconditions": [
|
||||
"at least one opportunity signal is present",
|
||||
"no active log_error signals (stability first)"
|
||||
],
|
||||
"strategy": [
|
||||
"Extract opportunity signals and identify the specific user need or system gap",
|
||||
"Search existing Genes and Capsules for partial matches (avoid reinventing)",
|
||||
"Design a minimal, testable implementation plan (prefer small increments)",
|
||||
"Estimate blast radius; innovate changes may touch more files but must stay within constraints",
|
||||
"Implement the change with clear validation criteria",
|
||||
"Validate using declared validation steps; rollback on failure",
|
||||
"Solidify: record EvolutionEvent with intent=innovate, create new Gene if pattern is novel, create Capsule on success"
|
||||
],
|
||||
"constraints": {
|
||||
"max_files": 25,
|
||||
"forbidden_paths": [
|
||||
".git",
|
||||
"node_modules"
|
||||
]
|
||||
},
|
||||
"validation": [
|
||||
"node scripts/validate-modules.js ./src/evolve ./src/gep/solidify"
|
||||
]
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Context [Capsule Preview] (Reference for Past Success):
|
||||
```json
|
||||
[
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_1770477654236",
|
||||
"trigger": [
|
||||
"log_error",
|
||||
"errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }",
|
||||
"user_missing",
|
||||
"windows_shell_incompatible",
|
||||
"perf_bottleneck"
|
||||
],
|
||||
"gene": "gene_gep_repair_from_errors",
|
||||
"summary": "固化:gene_gep_repair_from_errors 命中信号 log_error, errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }, user_missing, windows_shell_incompatible, perf_bottleneck,变更 1 文件 / 2 行。",
|
||||
"confidence": 0.85,
|
||||
"blast_radius": {
|
||||
"files": 1,
|
||||
"lines": 2
|
||||
},
|
||||
"outcome": {
|
||||
"status": "success",
|
||||
"score": 0.85
|
||||
},
|
||||
"success_streak": 1,
|
||||
"env_fingerprint": {
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.1.0-42-cloud-amd64",
|
||||
"evolver_version": "1.7.0",
|
||||
"cwd": ".",
|
||||
"captured_at": "2026-02-07T15:20:54.155Z"
|
||||
},
|
||||
"a2a": {
|
||||
"eligible_to_broadcast": false
|
||||
},
|
||||
"asset_id": "sha256:3eed0cd5038f9e85fbe0d093890e291e9b8725644c766e6cce40bf62d0f5a2e8"
|
||||
},
|
||||
{
|
||||
"type": "Capsule",
|
||||
"schema_version": "1.5.0",
|
||||
"id": "capsule_1770478341769",
|
||||
"trigger": [
|
||||
"log_error",
|
||||
"errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }",
|
||||
"user_missing",
|
||||
"windows_shell_incompatible",
|
||||
"perf_bottleneck"
|
||||
],
|
||||
"gene": "gene_gep_repair_from_errors",
|
||||
"summary": "固化:gene_gep_repair_from_errors 命中信号 log_error, errsig:**TOOLRESULT**: { \"status\": \"error\", \"tool\": \"exec\", \"error\": \"error: unknown command 'process'\\n\\nCommand exited with code 1\" }, user_missing, windows_shell_incompatible, perf_bottleneck,变更 2 文件 / 44 行。",
|
||||
"confidence": 0.85,
|
||||
"blast_radius": {
|
||||
"files": 2,
|
||||
"lines": 44
|
||||
},
|
||||
"outcome": {
|
||||
"status": "success",
|
||||
"score": 0.85
|
||||
},
|
||||
"success_streak": 1,
|
||||
"env_fingerprint": {
|
||||
"node_version": "v22.22.0",
|
||||
"platform": "linux",
|
||||
"arch": "x64",
|
||||
"os_release": "6.1.0-42-cloud-amd64",
|
||||
"evolver_version": "1.7.0",
|
||||
"cwd": ".",
|
||||
"captured_at": "2026-02-07T15:32:21.678Z"
|
||||
},
|
||||
"a2a": {
|
||||
"eligible_to_broadcast": false
|
||||
},
|
||||
"asset_id": "sha256:20d971a3c4cb2b75f9c045376d1aa003361c12a6b89a4b47b7e81dbd4f4d8fe8"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
Context [Capability Candidates]:
|
||||
- cand_b9a66a5c: Harden session log detection and fallback behavior
|
||||
- input: Recent session transcript + memory snippets + user instructions
|
||||
- output: A safe, auditable evolution patch guided by GEP assets
|
||||
- invariants: Protocol order, small reversible patches, validation, append-only events
|
||||
- params: Signals: memory_missing, session_logs_missing
|
||||
- failure_points: Missing signals, over-broad changes, skipped validation, missing knowledge solidification
|
||||
- evidence: Signal present: session_logs_missing
|
||||
- cand_b9a66a5c: Harden session log detection and fallback behavior
|
||||
- input: Recent session transcript + memory snippets + user instructions
|
||||
- output: A safe, auditable evolution patch guided by GEP assets
|
||||
- invariants: Protocol order, small reversible patches, validation, append-only events
|
||||
- params: Signals: memory_missing, session_logs_missing
|
||||
- failure_points: Missing signals, over-broad changes, skipped validation, missing knowledge solidification
|
||||
- evidence: Signal present: session_logs_missing
|
||||
- cand_b9a66a5c: Harden session log detection and fallback behavior
|
||||
- input: Recent session transcript + memory snippets + user instructions
|
||||
- output: A safe, auditable evolution patch guided by GEP assets
|
||||
- invariants: Protocol order, small reversible patches, validation, append-only events
|
||||
- params: Signals: memory_missing, session_logs_missing
|
||||
- failure_points: Missing signals, over-broad changes, skipped validation, missing knowledge solidification
|
||||
- evidence: Signal present: session_logs_missing
|
||||
|
||||
Context [Hub Matched Solution]:
|
||||
(no hub match)
|
||||
|
||||
Context [External Candidates]:
|
||||
(none)
|
||||
|
||||
|
||||
|
||||
|
||||
Context [Execution]:
|
||||
Runtime state:
|
||||
- System health: Uptime: 66.2h | Node: v22.22.0 | Agent RSS: 54.4MB | Disk: 7% (867.6G free) | Node Processes: 1 | Integrations: Nominal
|
||||
- Agent state: Mood: Unknown
|
||||
- Scan duration: 21ms
|
||||
- Memory size: 0 bytes
|
||||
- Skills available (if any):
|
||||
[skills directory not found]
|
||||
|
||||
Notes:
|
||||
- Review mode: disabled.
|
||||
- Report requirement:
|
||||
- Use `message` tool.
|
||||
- Title: Evolution Cycle #0002
|
||||
- Status: [SUCCESS]
|
||||
- Changes: Detail exactly what was improved.
|
||||
- Workspace sync: optional/disabled in this environment.
|
||||
|
||||
Recent Evolution History (last 8 cycles -- DO NOT repeat the same intent+signal+gene):
|
||||
1. [innovate] signals=[user_missing, user_feature_request] gene=gene_gep_innovate_from_opportunity outcome=failed @2026-02-07T15:13:21.173Z
|
||||
2. [repair] signals=[log_error, errsig:**TOOLRESULT**: { "status": "error", "tool": "exec", "error": "error: unknown command 'process'\n\nCommand exited with code 1" }, user_missing] gene=gene_gep_repair_from_errors outcome=success @2026-02-07T15:20:54.236Z
|
||||
3. [repair] signals=[log_error, errsig:**TOOLRESULT**: { "status": "error", "tool": "exec", "error": "error: unknown command 'process'\n\nCommand exited with code 1" }, user_missing] gene=gene_gep_repair_from_errors outcome=success @2026-02-07T15:32:21.769Z
|
||||
IMPORTANT: If you see 3+ consecutive "repair" cycles with the same gene, you MUST switch to "innovate" intent.
|
||||
|
||||
|
||||
External candidates (A2A receive zone; staged only, never execute directly):
|
||||
(none)
|
||||
|
||||
Global memory (MEMORY.md):
|
||||
```
|
||||
[MEMORY.md MISSING]
|
||||
```
|
||||
|
||||
User registry (USER.md):
|
||||
```
|
||||
[USER.md MISSING]
|
||||
```
|
||||
|
||||
Recent memory snippet:
|
||||
```
|
||||
[MISSING] /home/starmen1265/.openclaw/memory/2026-03-07.md
|
||||
```
|
||||
|
||||
Recent session transcript:
|
||||
```
|
||||
[NO JSONL FILES]
|
||||
```
|
||||
|
||||
Mutation directive:
|
||||
|
||||
[Signal Hints]
|
||||
- recent_error_count: 0
|
||||
- stability: stable
|
||||
- recommended_intent: optimize
|
||||
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
MANDATORY POST-SOLIDIFY STEP (Wrapper Authority -- Cannot Be Skipped)
|
||||
━━━━━━━━━━━━━━━━━━━━━━
|
||||
|
||||
After solidify, a status summary file MUST exist for this cycle.
|
||||
Preferred path: evolver core auto-writes it during solidify.
|
||||
The wrapper will handle reporting AFTER git push.
|
||||
If core write is unavailable for any reason, create fallback status JSON manually.
|
||||
|
||||
Write a JSON file with your status:
|
||||
```bash
|
||||
cat > ./logs/status_undefined.json << 'STATUSEOF'
|
||||
{
|
||||
"result": "success|failed",
|
||||
"en": "Status: [INTENT] <describe what you did in 1-2 sentences, in English>",
|
||||
"zh": "状态: [意图] <用中文描述你做了什么,1-2句>"
|
||||
}
|
||||
STATUSEOF
|
||||
```
|
||||
|
||||
Rules:
|
||||
- "en" field: English status. "zh" field: Chinese status. Content must match (different language).
|
||||
- Add "result" with value success or failed.
|
||||
- INTENT must be one of: INNOVATION, REPAIR, OPTIMIZE (or Chinese: 创新, 修复, 优化)
|
||||
- Do NOT use generic text like "Step Complete", "Cycle finished", "周期已完成". Describe the actual work.
|
||||
- Example:
|
||||
{"result":"success","en":"Status: [INNOVATION] Created auto-scheduler that syncs calendar to HEARTBEAT.md","zh":"状态: [创新] 创建了自动调度器,将日历同步到 HEARTBEAT.md"}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"last_action": {
|
||||
"action_id": "act_1772551119186_a5982a82",
|
||||
"action_id": "act_1772881205911_83fad516",
|
||||
"signal_key": "memory_missing|session_logs_missing",
|
||||
"signals": [
|
||||
"memory_missing",
|
||||
"session_logs_missing"
|
||||
],
|
||||
"mutation_id": "mut_1772551119185",
|
||||
"mutation_category": "innovate",
|
||||
"mutation_risk_level": "medium",
|
||||
"mutation_id": "mut_1772881205910",
|
||||
"mutation_category": "optimize",
|
||||
"mutation_risk_level": "low",
|
||||
"personality_key": "rigor=0.7|creativity=0.3|verbosity=0.3|risk_tolerance=0.4|obedience=0.9",
|
||||
"personality_state": {
|
||||
"type": "PersonalityState",
|
||||
@@ -20,10 +20,10 @@
|
||||
},
|
||||
"gene_id": null,
|
||||
"gene_category": null,
|
||||
"hypothesis_id": "hyp_1772551119185_a7a07c6d",
|
||||
"hypothesis_id": "hyp_1772881205910_85fd16d3",
|
||||
"capsules_used": [],
|
||||
"had_error": false,
|
||||
"created_at": "2026-03-03T15:18:39.186Z",
|
||||
"created_at": "2026-03-07T11:00:05.911Z",
|
||||
"outcome_recorded": false,
|
||||
"baseline_observed": {
|
||||
"agent": "main",
|
||||
@@ -31,9 +31,9 @@
|
||||
"drift_enabled": false,
|
||||
"review_mode": false,
|
||||
"dry_run": false,
|
||||
"system_health": "Uptime: 455.2h | Node: v22.22.0 | Agent RSS: 54.7MB | Disk: 8% (864.6G free) | Node Processes: 1 | Integrations: Nominal",
|
||||
"system_health": "Uptime: 66.2h | Node: v22.22.0 | Agent RSS: 54.4MB | Disk: 7% (867.6G free) | Node Processes: 1 | Integrations: Nominal",
|
||||
"mood": "Mood: Unknown",
|
||||
"scan_ms": 24,
|
||||
"scan_ms": 21,
|
||||
"memory_size_bytes": 0,
|
||||
"recent_error_count": 0,
|
||||
"node": "v22.22.0",
|
||||
@@ -41,7 +41,7 @@
|
||||
"cwd": "/home/starmen1265/.openclaw/skills/capability-evolver",
|
||||
"evidence": {
|
||||
"recent_session_tail": "[NO JSONL FILES]",
|
||||
"today_log_tail": "[MISSING] /home/starmen1265/.openclaw/memory/2026-03-03.md"
|
||||
"today_log_tail": "[MISSING] /home/starmen1265/.openclaw/memory/2026-03-07.md"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
},
|
||||
"stats": {},
|
||||
"history": [],
|
||||
"updated_at": "2026-03-03T15:18:39.185Z"
|
||||
"updated_at": "2026-03-07T11:00:05.909Z"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user