Historical field note
This record preserves prior investigation or planning evidence. It is not a current operating contract; use the numbered book and current runbooks for instructions.
Investigation: dream finding dreamrepair:5404b15fffa355d739c21e138c5cc122 (skill subsystem)¶
Task: Establish the ground-truth state of the mac skill subsystem so the
low-confidence dream-cycle finding can be assessed. No behavior changes.
Finding: kind failure_pattern, scope project, fingerprint
dreamrepair:5404b15fffa355d739c21e138c5cc122, confidence low, backed by a
single evidence record.
Sole evidence record: mem_7d29b6dcefb740bfa647da2aa4325023
(deployment_learning:mac) — itself a prior failure to repair a
low-confidence skill finding for parent task
task_ad368daa48f14b0cbb82795ff833ed5b.
Repo areas mapped: src/mac/skill_auto_repair.py,
src/mac/dream_repair_tasks.py, src/mac/dream_scanner.py,
src/mac/nap_consolidator.py, and skill modules under src/mac/_hermes/
(agent/skill_commands.py, agent/skill_preprocessing.py,
tools/skills_guard.py, tools/skills_hub.py, tools/skills_sync.py).
Investigated by: fleet worker (investigation only; no production code edits).
Status: NOT ACTIONABLE as a skill-subsystem defect¶
There is no reproducible skill-subsystem defect behind this finding. The
skill-focused test suites all pass on the current tree, and the finding's shape
is fully explained by the dream/nap consolidation heuristics classifying a
single self-referential "repair failed" memory as a low-confidence
failure_pattern. The prior repair attempts recorded against this task line
failed at coding-agent sandbox preflight (probe_failed, executor_failed),
which is executor/infrastructure behavior, not a skill defect.
Ground Truth Observed¶
Measured in the task-owned worktree with the bootstrapped .venv
(python3 3.12.13; git/gh present; pytest/coverage installed by
python3 scripts/bootstrap-project.py). All skill sources were read, not
modified.
Skill-focused tests: all green¶
Run via .venv/bin/pytest:
| Test file | Result |
|---|---|
tests/test_skill_auto_repair.py |
30 passed |
tests/test_fleet_skills.py |
2 passed |
tests/test_hermes_skills_dedup.py |
14 passed |
| Total | 46 passed, 0 failed |
The vendored Hermes snapshot is present (hermes_vendor.is_vendored() is
True), so tests/test_hermes_skills_dedup.py executed for real (the
skipif guard did not skip) — its 14 assertions genuinely ran and passed. No
skill test currently fails.
Component mapping vs. the fingerprint¶
The fingerprint is produced by repair_fingerprint() in
src/mac/dream_repair_tasks.py, hashing normalized {kind, scope, project,
signature, summary, affected} of a dream candidate. It is a dedupe key for a
dream candidate, not a pointer into any single skill module. The candidate it
keys is kind=failure_pattern, scope=project — the generic bucket the nap
consolidator assigns, not a specific defect location.
src/mac/nap_consolidator.py_dream_kind()returnsfailure_patternfor any record whose text containsfailure/failed/error. The sole evidence record is a prior repair failure, so its text trivially matches and is bucketed asfailure_pattern.src/mac/nap_consolidator.py_confidence_for_records()returnslowfor a single supporting record (support < 2). With exactly one evidence record, the finding is necessarilylowconfidence.- Together these explain the finding's kind/scope/confidence entirely from the consolidation heuristics acting on one self-referential memory — no signal that a skill module misbehaves.
Skill-subsystem role reference (read-only)¶
src/mac/skill_auto_repair.py: guarded staging path for high-confidence dream skill findings (allowlist toskills/+deploy/skills/, evidence gate, secret/identity scrubber, fleet-generic constraint). It only engages atoverall_confidence=high; alow-confidence finding never reaches it. It is currently exercised only bytests/test_skill_auto_repair.pyand is not yet wired into a live pipeline call site (no non-test importers found).src/mac/_hermes/agent/skill_commands.py,src/mac/_hermes/agent/skill_preprocessing.py: in-agent skill command surface and preprocessing (behavioral, unrelated to dream repair).src/mac/_hermes/tools/skills_guard.py,tools/skills_hub.py,tools/skills_sync.py: skill guard/hub/sync tooling.remove_shadowed_top_level_duplicates()inskills_sync.py(the "Ambiguous skill name" dedup fix) is covered and green intests/test_hermes_skills_dedup.py.
Real defect vs. infrastructure failure¶
- (a) Real reproducible skill-subsystem defect — none observed. All 46 skill-focused tests pass; the guard/dedup/auto-repair paths behave as specified.
- (b) Executor/preflight infrastructure failure — the prior attempts on
this task failed at coding-agent sandbox preflight (
probe_failed,executor_failed), i.e. the investigation never started, not that a skill test or skill guard failed. This is an executor/harness condition, outside the skill subsystem, and is not evidence of a skill defect.
Evidence-gap assessment¶
The finding rests on a single, low-confidence, self-referential record: the
sole evidence is a prior failure to repair a low-confidence skill finding, so
the "pattern" is one report about a repair not landing rather than an observed
skill malfunction. There is no independent corroboration, no failing test, and
no reproducer. Per the consolidation heuristics above, this is the expected
low-confidence artifact of one "repair failed" memory, not a validated defect.
Determination¶
- Do not open a skill-behavior repair from this finding: it is not actionable as a skill-subsystem defect.
- The finding should be treated as low-confidence / unsubstantiated and can be aged out or superseded once the executor-preflight failures on the task line are resolved.
- If any follow-up is desired, it belongs to the executor/preflight layer
(fixing coding-agent sandbox
probe_failed/executor_failed), not to the skill modules.