Bug description
The curator can archive currently active/operationally critical skills during umbrella consolidation, even when evidence for successful consolidation is missing or inconsistent.
In our run, 10 operational skills were archived in one pass, including:
facebook-high-signal-routine
linkedin-high-signal-routine
google-photos-memory-ops
cron-run-error-recovery
This breaks active workflows because the original skill names are removed from normal lookup and the replacement umbrella may not be a drop-in equivalent.
Evidence
Curator report:
~/.hermes/logs/curator/20260521-132901/REPORT.md
~/.hermes/logs/curator/20260521-132901/run.json
Key contradictions from run.json:
counts.before: 10, counts.after: 0, archived_this_run: 10
consolidated_this_run: 0
cron_jobs_rewritten: 0
pruned[*].source: "fallback (model named missing umbrella, no tool-call evidence)"
So all candidates were archived, but no measured consolidations happened and no cron rewrites were applied.
Reproduction (high-level)
- Have a set of agent-created skills that are still referenced in real operational routines.
- Run curator pass with consolidation logic enabled.
- Observe full-wave archive into
~/.hermes/skills/.archive/.
- Observe active skill names no longer available under normal skill lookup path.
Actual behavior
- Curator archives a whole cluster of active skills in one run.
- Report summary says umbrella consolidation happened.
- Machine counters show zero consolidations and fallback/no-evidence pruning paths.
- Cron references are not rewritten (
cron_jobs_rewritten: 0).
Expected behavior
- Never archive skill names that are currently in active use unless safe migration is verified first.
- If umbrella creation fails or is not evidenced, fail closed: do not archive originals.
- Require hard validation before archive:
- replacement skill exists and passes lookup,
- reference rewrites (cron + other references) succeeded,
- post-check proves no unresolved references.
- If any check fails, keep originals active and emit warning-only report.
Impact
High operational risk: active automations lose known skill names and can silently degrade/fail.
Suggested fix directions
- Add pre-archive guard: block archive when
consolidated_this_run == 0 for planned absorption set.
- Add mandatory reference rewrite/validation gate before delete/archive.
- Treat
fallback ... no tool-call evidence as non-destructive (no archive), only warning.
- Add a strict "dry-run + explicit approve" mode for umbrella-wave archival.
Environment
- Hermes profile: default
- Curator status at observation time: enabled
- Run ID:
20260521-132901
- Local path:
/home/sancho/.hermes/logs/curator/20260521-132901/
Bug description
The curator can archive currently active/operationally critical skills during umbrella consolidation, even when evidence for successful consolidation is missing or inconsistent.
In our run, 10 operational skills were archived in one pass, including:
facebook-high-signal-routinelinkedin-high-signal-routinegoogle-photos-memory-opscron-run-error-recoveryThis breaks active workflows because the original skill names are removed from normal lookup and the replacement umbrella may not be a drop-in equivalent.
Evidence
Curator report:
~/.hermes/logs/curator/20260521-132901/REPORT.md~/.hermes/logs/curator/20260521-132901/run.jsonKey contradictions from
run.json:counts.before: 10,counts.after: 0,archived_this_run: 10consolidated_this_run: 0cron_jobs_rewritten: 0pruned[*].source: "fallback (model named missing umbrella, no tool-call evidence)"So all candidates were archived, but no measured consolidations happened and no cron rewrites were applied.
Reproduction (high-level)
~/.hermes/skills/.archive/.Actual behavior
cron_jobs_rewritten: 0).Expected behavior
Impact
High operational risk: active automations lose known skill names and can silently degrade/fail.
Suggested fix directions
consolidated_this_run == 0for planned absorption set.fallback ... no tool-call evidenceas non-destructive (no archive), only warning.Environment
20260521-132901/home/sancho/.hermes/logs/curator/20260521-132901/