zengzheqing
98e2f110cf
fix(curator): restore complete skill packages on ledger rollback ( #96962 )
...
Consolidation re-homes a skill's references/ / scripts/ out of the tree
before delete/archive, so the ledger captured only what was left
(files: 1 = SKILL.md) and `hermes curator rollback` restored a hollow
skill — the support files were only recoverable by hand out of the
pre-run .curator_backups tar.
The ledger's delete/archive/purge captures now complete themselves from
the newest curator skills.tar.gz: disk hashes win, the backup fills only
missing paths, tar members escaping the package prefix are rejected,
and every fill target stays under skills/ and HERMES_HOME. The same
fill runs at rollback time, so hollow entries recorded before this fix
still restore the complete package.
Wired at the four capture sites (skill_manage delete, archive_skill,
purge, record_mutation) and verified end-to-end: incident shape
(re-home -> delete -> entry has both files -> rollback restores both),
historical hollow entry repair, no-backup degradation, disk-hash
priority, and tar path-traversal rejection.
2026-08-31 10:08:13 -07:00
..
2026-08-29 18:35:17 -07:00
2026-08-31 09:59:39 -07:00
2026-07-28 07:58:16 -07:00
2026-08-28 23:10:01 -07:00
2026-08-16 22:08:05 -07:00
2026-08-28 23:10:01 -07:00
2026-08-31 01:04:11 -07:00
2026-08-27 13:48:51 -07:00
2026-07-28 11:52:44 -07:00
2026-08-15 02:51:59 +05:30
2026-08-07 17:45:06 +05:30
2026-08-23 20:00:18 -07:00
2026-08-31 01:04:11 -07:00
2026-08-23 02:16:11 -07:00
2026-08-24 03:21:37 -07:00
2026-08-24 21:51:44 -07:00
2026-08-28 04:57:52 -07:00
2026-08-21 22:33:45 +05:30
2026-08-31 21:59:11 +05:30
2026-07-29 10:54:04 -07:00
2026-08-31 21:59:11 +05:30
2026-08-31 21:59:11 +05:30
2026-08-19 16:31:16 -07:00
2026-08-26 18:02:17 +05:30
2026-08-14 21:24:36 -07:00
2026-08-26 16:42:44 -07:00
2026-08-28 23:10:01 -07:00
2026-08-06 19:35:47 -06:00
2026-08-28 06:36:22 -07:00
2026-08-28 01:39:33 -07:00
2026-08-28 03:05:03 -07:00
2026-07-29 12:19:37 -07:00
2026-08-24 20:10:44 -07:00
2026-08-29 20:08:53 -07:00
2026-08-31 01:02:42 -07:00
2026-08-16 20:14:51 -07:00
2026-08-07 09:07:42 -07:00
2026-07-22 12:13:01 -05:00
2026-08-02 00:11:50 -07:00
2026-08-28 23:10:01 -07:00
2026-08-02 00:36:03 -07:00
2026-08-24 20:10:44 -07:00
2026-08-26 06:26:02 -07:00
2026-08-29 18:33:41 -07:00
2026-08-28 23:10:01 -07:00
2026-08-12 15:21:47 +05:30
2026-08-02 00:11:50 -07:00
2026-08-13 11:09:51 -07:00
2026-08-28 03:58:52 -07:00
2026-08-08 04:19:38 -07:00
2026-08-23 16:04:41 -07:00
2026-08-23 18:25:19 -07:00
2026-08-13 10:47:40 -07:00
2026-08-28 08:46:11 -07:00
2026-08-08 12:32:23 -07:00
2026-08-28 20:16:26 -07:00
2026-08-25 10:55:53 +10:00
2026-08-17 03:03:35 -07:00
2026-08-28 04:01:05 -07:00
2026-08-20 20:20:23 -07:00
2026-08-26 02:54:35 +05:30
2026-07-28 14:07:21 -07:00
2026-08-28 23:10:01 -07:00
2026-08-02 10:02:33 -07:00
2026-08-01 10:47:20 -07:00
2026-08-12 15:21:47 +05:30
2026-07-29 10:14:00 -07:00
2026-08-28 03:24:43 -07:00
2026-08-28 23:10:01 -07:00
2026-08-31 07:28:18 -07:00
2026-08-28 23:10:01 -07:00
2026-08-14 21:41:26 -07:00
2026-08-28 08:46:11 -07:00
2026-08-28 23:10:01 -07:00
2026-08-28 23:10:01 -07:00
2026-08-28 23:10:01 -07:00
2026-08-21 22:33:45 +05:30
2026-08-07 08:58:25 -07:00
2026-08-17 10:03:36 -07:00
2026-08-31 10:06:34 -07:00
2026-08-26 07:26:38 -07:00
2026-08-29 17:58:51 -07:00
2026-08-12 13:57:59 +05:30
2026-08-31 10:08:13 -07:00
2026-08-08 11:12:27 -07:00
2026-08-31 10:08:13 -07:00
2026-08-31 10:08:13 -07:00
2026-08-17 17:04:40 -07:00
2026-08-29 20:39:31 -07:00
2026-08-29 20:39:09 -07:00
2026-07-30 22:31:42 -07:00
2026-08-24 20:25:10 -07:00
2026-08-30 20:04:40 +05:30
2026-08-13 11:09:51 -07:00
2026-08-17 19:41:32 +05:30
2026-08-15 23:48:15 -07:00
2026-08-31 09:59:39 -07:00
2026-08-29 20:39:31 -07:00
2026-08-28 23:10:01 -07:00
2026-08-02 10:04:48 -07:00
2026-08-29 18:40:51 -07:00
2026-08-19 16:10:01 -07:00
2026-08-20 00:16:22 -07:00
2026-08-25 16:39:12 -07:00
2026-08-28 23:10:01 -07:00
2026-08-23 18:25:35 -07:00
2026-07-28 22:31:40 -07:00
2026-07-28 11:55:01 -07:00
2026-08-19 16:10:01 -07:00
2026-08-31 00:56:41 -07:00
2026-08-28 05:10:33 -07:00
2026-08-28 12:15:24 -07:00
2026-08-23 03:54:52 -07:00
2026-08-12 19:01:30 -07:00
2026-08-08 13:49:24 +05:30
2026-08-25 04:21:45 -07:00
2026-08-31 00:56:41 -07:00
2026-08-08 12:34:46 -07:00
2026-08-16 21:20:29 -07:00
2026-08-16 21:20:29 -07:00