Durable record of the three self-review systems that audit Hermes itself (not the business): the weekly agent systems manager, the curator’s skill consolidation passes, and the monthly friction miner. Purpose: one place with history so no system re-proposes something Michael already rejected, and so “how has Hermes evolved” has an answer besides scrollback.
Append one dated section per event (weekly review, curator run, friction-miner run). Never delete a section; mark superseded/rejected proposals inline instead of removing them.
Format per entry
## YYYY-MM-DD <source: agent-manager | curator | friction-miner>
- Finding/proposal: <what>
- Evidence: <why>
- Status: proposed | approved <date> | rejected <date, reason> | implemented <date>
Rejected and implemented items stay in the log permanently as a record other systems check before re-proposing.
2026-08-01 friction-miner
-
Finding/proposal:
lore-content-pipelineskill intro line contradicts its own confirmed rule. First paragraph says “Michael approves before any PR is raised” but review workflow step 4 and the Key Rule (confirmed 2026-07-29) both say “no Michael approval needed, Ben’s Slack reply is sufficient.” Stale intro could cause the agent to incorrectly hold for Michael. Proposed fix: patch skill intro to remove that clause - change “Ben is the primary reviewer; Michael approves before any PR is raised” to “Ben is the primary reviewer; Ben’s approval in Slack is sufficient to raise a PR.” -
Evidence: lore-content-pipeline SKILL.md intro vs review workflow step 4 and Key Rule section; multiple July 29 - Aug 1 Slack sessions show Ben approval going straight to PR correctly, but the contradictory intro line is a latent risk for future agents or new sessions.
-
Status: implemented (2026-08-06, fleet audit session: skill fixes were already live in lore-content-pipeline lines 14/278; cron deliver target corrected to slack:C0BMPHWFS0H)
-
Finding/proposal: July 29 session shows agent falsely claimed it could not post a new top-level Slack thread, causing Michael to correct “That’s not true.” The
slack_review_delivery.pyscript does exactly this. The lore-content-pipeline skill documents the script but does not explicitly call out “use this script to start NEW top-level threads, not just reply to existing ones.” Proposed fix: add one-line pitfall to the skill: “Do NOT claim you cannot start a new Slack thread.slack_review_delivery.pycalled with ‘new’ as third argument posts a fresh top-level thread.” -
Evidence: session @session:default/20260729_155425_f3d12034, message 970 agent says “I can’t start a new top-level thread in Slack directly”; message 985 Michael replies “That’s not true.”
-
Status: implemented (2026-08-06, fleet audit session: skill fixes were already live in lore-content-pipeline lines 14/278; cron deliver target corrected to slack:C0BMPHWFS0H)
2026-08-01 agent-manager
-
Finding/proposal: monthly-friction-miner cron job (d8f0e50de342) has deliver=“slack” with no channel/DM id, unlike every other Slack-delivered job which specifies slack:D0BLF19LD1Q. Fix: set deliver to slack:D0BLF19LD1Q.
-
Evidence: hermes cron list —all, Aug 1 08:02 run completed ok but delivery failed: “no delivery target resolved for deliver=slack”.
-
Status: proposed
-
Finding/proposal: Weekly leverage scoreboard cron job (1a636e7b2463) delivery failed with “Slack API error: channel_not_found” against slack:D0BLF19LD1Q on its last run. Verify the channel/DM id is still valid before the next scheduled run (Aug 2 07:00).
-
Evidence: hermes cron list —all, last_delivery_error field on job 1a636e7b2463.
-
Status: proposed
-
Finding/proposal:
hermes-config-opsskill has zero activity (activity=0, use=0, view=0, last_activity=never per curator status) and overlaps with the actively-usedhermes-agentskill for Hermes configuration tasks. Propose folding its content into hermes-agent as a consolidated section rather than keeping a parallel, unused skill. -
Evidence: hermes curator status output, least-recently-active top 5 list.
-
Status: proposed
-
Finding/proposal: USER profile memory store at 91% full (1,254/1,375 chars), above the 90% flag threshold. Propose a consolidation pass to generalize/compress existing entries and free headroom before an add gets rejected.
-
Evidence: memory tool header on this session: “USER PROFILE … [91% - 1,254/1,375 chars]”.
-
Status: proposed (2026-08-08: unresolved and worse, USER profile now 92%/1,278/1,375, personal memory now 96%/2,125/2,200, up from 80% a week ago)
2026-08-08 agent-manager
-
Finding/proposal: monthly-friction-miner cron job (d8f0e50de342) still has deliver=“slack” with no channel/DM id, one week after first flagged (2026-08-01 entry above). Fix unchanged: set deliver to slack:D0BLF19LD1Q.
-
Evidence: hermes cron list —all, Aug 8 run showing job d8f0e50de342 still displays “Delivery failed: no delivery target resolved for deliver=slack” against its Aug 1 08:02 run, identical to last week.
-
Status: proposed
-
Finding/proposal: Both personal memory stores over the 90% flag threshold and growing. Personal notes (memory) 96% (2,125/2,200), up from 80% a week ago; USER profile 92% (1,278/1,375), unchanged direction from 91% last week. Propose a consolidation pass on both.
-
Evidence: memory tool header this session vs 2026-08-01 entry above.
-
Status: proposed
-
Finding/proposal: hermes-config-ops skill still unconsolidated into hermes-agent, a week after first proposed (2026-08-01 agent-manager entry) and now independently corroborated by the curator’s own 2026-08-04 non-dry-run pass, which proposed the identical fold-in in its LLM analysis but executed zero changes (tool_calls_total: 0).
-
Evidence: Hermes Self-Improvement Log 2026-08-01 agent-manager entry above; curator report /Users/michael/.hermes/logs/curator/20260804-225902/REPORT.md, “HERMES CONFIGURATION cluster” section.
-
Status: proposed
2026-08-08 curator
- Finding/proposal: Curator ran a real (non-dry-run) consolidation pass on 2026-08-04 22:59, first since the 2026-07-30 dry run. Auto-transitions checked 86 skills with 0 stale/archived/reactivated. LLM consolidation pass produced a detailed narrative (github-management umbrella proposal covering 12 GitHub-adjacent skills, hermes-config-ops fold into hermes-agent, hermes-agent-skill-authoring reclassification, PR/salvage skill consolidation) but made 0 tool calls and executed 0 consolidations, prunings, or additions. No skills were actually merged, archived, or patched this run; it was analysis-only.
- Evidence: /Users/michael/.hermes/logs/curator/20260804-225902/run.json (tool_calls_total: 0, consolidated_this_run: 0, pruned_this_run: 0, added_this_run: 0); hermes curator status showing 90 skills all active, 0 stale, 0 archived.
- Status: proposed (no rejected/duplicate prior entry; the hermes-config-ops fold-in overlaps with the existing 2026-08-01/2026-08-08 agent-manager proposal, tracked as one item, not counted twice)
2026-08-15 agent-manager
-
Finding/proposal: monthly-friction-miner cron job (d8f0e50de342) still has deliver=“slack” with no channel/DM id, three weeks after first flagged (2026-08-01). Fix unchanged: set deliver to slack:D0BLF19LD1Q.
-
Evidence: hermes cron list —all, Aug 15 run still shows “Delivery failed: no delivery target resolved for deliver=slack” against job d8f0e50de342, unchanged since Aug 1.
-
Status: proposed
-
Finding/proposal: Both personal memory stores now critical. Personal notes (memory) 99% (2,176/2,200), up from 96% last week and 80% three weeks ago. USER profile 98% (1,344/1,375), up from 92% last week and 91% three weeks ago. Propose a consolidation pass on both before the next add is rejected.
-
Evidence: memory tool header this session vs 2026-08-01/2026-08-08 entries above.
-
Status: proposed
-
Finding/proposal: Brain site deploy cron job (39263b9a8483, every 30m) failed 3 consecutive runs on 2026-08-15 (07:35, 08:08, 08:40), all “Script exited with code 1”, after a clean run history overnight. Manual rerun during this review completed successfully end to end (build + wrangler upload + state write), suggesting an intermittent/timing issue rather than a broken script. Needs the actual stderr from a failed run (not captured by cron history, only exit code) to diagnose properly.
-
Evidence: hermes cron list —all Aug 15; job 39263b9a8483 run history (3 failed entries); manual
bash brain_site_deploy.shrun during this review completed with no errors. -
Status: proposed
-
Finding/proposal: The curator’s own real (non-dry-run) consolidation passes on 2026-08-04 and 2026-08-11 both produced detailed, seemingly correct analysis (rye-valley skill cluster consolidation into rye-valley-cron-ops, 9 prunings, hermes-config-ops fold into hermes-agent) but executed 0 tool calls both times. This is now two consecutive real passes with identical zero-execution behavior. Propose Michael or a follow-up session look directly at the curator’s execution path rather than treating each pass’s proposal as a fresh backlog item.
-
Evidence: /Users/michael/.hermes/logs/curator/20260804-225902/run.json (tool_calls_total: 0) and /Users/michael/.hermes/logs/curator/20260811-232749/run.json (tool_calls_total: 0); hermes curator status showing skill count unchanged 97 to 97 across the Aug 11 run.
-
Status: proposed
2026-08-11 curator
- Finding/proposal: Curator ran a real (non-dry-run) consolidation pass on 2026-08-11 23:27, one week after the 2026-08-04 real pass. Auto-transitions checked 97 skills, 0 stale/archived/reactivated. LLM consolidation pass proposed folding rye-valley-core, rye-valley-briefing-ops, rye-valley-engagement-pilot, rye-valley-monorepo, rye-valley-pr-triage, rye-valley-retro-qa, rye-valley-stripe-ops, ryevalley-brain-qa, and ryevalley-bug-hunt into rye-valley-cron-ops as the umbrella, plus pruning gcp-credential-management, jolt-component-patterns, slack-media, remote-mac-setup, browser-form-automation, linear-triage-ops, drizzle-migrations, lore-content-pipeline, and hermes-config-ops. Executed 0 tool calls, 0 consolidations, 0 prunings, 0 additions. Skill count unchanged (97 to 97).
- Evidence: /Users/michael/.hermes/logs/curator/20260811-232749/run.json (tool_calls_total: 0, consolidated_this_run: 0, pruned_this_run: 0); hermes curator status “last run 3d ago”, skill counts 98 active/0 stale/0 archived as of this review.
- Status: proposed (overlaps with existing hermes-config-ops fold-in proposal, tracked as one item with the 2026-08-01/08-08 agent-manager entries; the broader rye-valley cluster consolidation and the curator’s repeated 0-tool-call execution pattern are new, tracked in the 2026-08-15 agent-manager entry above)
2026-08-22 agent-manager
-
Finding/proposal: monthly-friction-miner cron job (d8f0e50de342) still has deliver=“slack” with no channel/DM id, four weeks after first flagged (2026-08-01). Fix unchanged: set deliver to slack:D0BLF19LD1Q.
-
Evidence: hermes cron list —all, Aug 22 run still shows “Delivery failed: no delivery target resolved for deliver=slack” against job d8f0e50de342, unchanged since Aug 1.
-
Status: proposed
-
Finding/proposal: Curator’s zero-tool-call execution bug is now confirmed across three consecutive real passes (2026-08-04, 2026-08-11, 2026-08-19), each producing correct-looking consolidation/pruning analysis (latest: JOLT_MEDIA_WORKFLOW, VIDEO_ISSUE_TRACKING, CONTENT_PUBLISHING_PIPELINE umbrellas plus 3 prunings) but executing 0 tool calls each time. Propose a direct look at the curator’s execution path rather than continuing to log each pass as a fresh backlog item.
-
Evidence: /Users/michael/.hermes/logs/curator/20260819-000603/run.json (tool_calls_total: 0, consolidated_this_run: 0, pruned_this_run: 0, added_this_run: 0); prior entries 2026-08-08 and 2026-08-15 agent-manager logged the same pattern for Aug 4 and Aug 11 passes.
-
Status: proposed (escalation of the 2026-08-15 agent-manager entry; same underlying bug, now three data points)
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold for the fourth straight week. Personal notes (memory) 99% (2,182/2,200), essentially flat from 99% last week. USER profile 97% (1,344/1,375), down slightly from 98% last week but still critical. Propose a consolidation pass on both.
-
Evidence: memory tool header this session vs 2026-08-01/08-08/08-15 entries above.
-
Status: proposed
2026-08-29 agent-manager
-
Finding/proposal: 8 cron jobs across unrelated skill areas (Daily Rye Valley briefing, Weekly shipped digest, RV: Daily bug hunt, RV hooks: newsletter loop, RV: Linear triage sweep, Lore blog publish check, Daily Product Digest, RV: fleet alarm) are all failing with identical “RuntimeError: No access token found for Nous Portal login” - a session auth expiry, not a per-job bug. Fix: Michael run
hermes modelinteractively to re-authenticate (the tool refuses to run non-interactively, confirmed by direct test). -
Evidence: hermes cron list —all, 16 fleet-alarm failure lines this run; direct
hermes modelinvocation in this session returned “requires an interactive terminal.” -
Status: proposed
-
Finding/proposal: Lore video render worker (13149fd77a8a, every 10 min) fails every run with KeyError: ‘id’ at render_worker.py:960. 144 failures/day, video pipeline effectively down. Needs a code fix to the row-id lookup.
-
Evidence: hermes cron list —all, consistent stderr across the sampled run.
-
Status: proposed
-
Finding/proposal: Curator’s zero-tool-call execution bug now confirmed on a 4th consecutive real pass (2026-08-26 00:24, 3 days before this review), proposing 13 detailed consolidations (granola-mcp cluster, rye-valley bug-hunt/QA cluster, github-pr-workflow, lore-content-pipeline) but executing 0 tool calls, same as Aug 4, 11, 19. Propose Michael or a follow-up session look directly at the curator’s tool execution path rather than continuing to log each pass as a fresh backlog item.
-
Evidence: /Users/michael/.hermes/logs/curator/20260826-002449/run.json (tool_calls_total: 0, consolidated_this_run: 0); prior entries 2026-08-15/08-22 agent-manager logged the same pattern for Aug 4/11/19 passes.
-
Status: proposed (4th data point, escalation of 2026-08-15 agent-manager entry)
-
Finding/proposal: USER profile memory store still critical at 98% (1,353/1,375), unresolved for the 5th straight week despite personal notes store dropping from 99% to 80% this week (a consolidation clearly happened there but not on the USER store). Propose a targeted consolidation pass on the USER profile store specifically.
-
Evidence: memory tool header this session vs 2026-08-01/08/15/22 entries above.
-
Status: proposed
-
Finding/proposal (not counted in ranked proposals, informational): monthly-friction-miner cron job (d8f0e50de342) still has deliver=“slack” with no channel/DM id, 5th consecutive week since first flagged 2026-08-01. Fix unchanged: set deliver to slack:D0BLF19LD1Q.
-
Evidence: hermes cron list —all, unchanged since Aug 1.
-
Status: proposed
2026-09-01 friction-miner
-
Finding/proposal: Hermes sent 3 consecutive self-corrections to Ben (team member) in a public Slack thread during a JOLT Meta Ads UTM setup task (Aug 24). Correction 1: initial instructions had wrong root cause. Correction 2: pointed to a paused campaign. Correction 3: corrected the UTM slot mapping. The meta-ads-ops skill has a Debugging Sequence section but no pitfall about verifying current campaign status (paused vs. live) before giving team-facing instructions. Proposed fix: add one pitfall to meta-ads-ops skill - “Before sending any team-facing action instructions involving a specific campaign, confirm its status (paused vs. live) via the API first. Campaign context changes between sessions. Multiple corrections in a public thread erode trust.”
-
Evidence: @session:default/20260824_154011_b239bc4d, assistant sent 3 sequential correction messages in the same thread; third message explicitly says “Correction, third time, sorry Ben.”
-
Status: proposed
-
Finding/proposal: Aug 20 brain decision logged “Trend Update CTA ‘Reply yes’ replaced; Hermes cannot act on client replies in Slack. New flow: client drops thoughts in thread, Blake drafts within 24 hours. Owner: Michael to update the Hermes prompt.” No session in the trailing 30 days shows this Hermes prompt update was completed. No Megaphone skill documents this constraint. Proposed fix: add memory entry - “Megaphone Trend Update posts (as of Aug 2026): CTA changed to ‘drop thoughts in thread’; Blake drafts within 24h. Hermes cannot act on client Slack replies directly. Trend posts count toward client weekly batch. Michael’s action: update the Megaphone agent prompt to reflect this flow.” (Adds durable constraint so future Hermes sessions don’t propose or assume the old ‘Reply yes’ flow.)
-
Evidence: Megaphone Trend Update CTA Wording Changed - Human in Loop Required; no subsequent session shows the prompt was updated.
-
Status: proposed
2026-09-05 agent-manager
-
Finding/proposal: Curator’s auxiliary model (auxiliary.curator: nousresearch/hermes-4-70b via nous provider, in config.yaml) is retired. The 2026-09-02 real pass failed with “API call failed after 3 retries: HTTP 404: This model has been retired.” This explains (or at least compounds) the prior 4 passes’ zero-tool-call pattern - the curator system has now produced zero actual skill consolidations across 5 consecutive real passes (Aug 4, 11, 19, 26, Sep 2). Propose Michael pick a live model for auxiliary.curator via
hermes modelorhermes config set auxiliary.curator.model <live-model>. -
Evidence: /Users/michael/.hermes/logs/curator/20260902-002510/run.json (llm_final: “HTTP 404: This model has been retired”); config.yaml auxiliary.curator.model: nousresearch/hermes-4-70b; prior entries 2026-08-08/15/22/29 logged the same zero-execution pattern for Aug 4/11/19/26 passes without a confirmed root cause until now.
-
Status: proposed
-
Finding/proposal: web_traffic_stats.py (feeds the weekly leverage scoreboard’s website traffic row) has failed for 4 consecutive weeks (flagged W33, W34, W35, and now this week) with “POSTHOG_API_KEY not found in env or ~/.hermes/.env.” Root cause confirmed this pass: the script’s ENV_PATH lookup only checks for a single POSTHOG_API_KEY variable, but the actual Mini env store has per-entity keys (POSTHOG_API_KEY_LORE, _MEGAPHONE, _JOLT, _HARDCALLS) with no single POSTHOG_API_KEY set - this is a stale script assumption, not a missing credential. Propose updating the script to iterate the per-entity keys (and either sum/report per-property or pick one canonical key for the aggregate view).
-
Evidence: direct run of
python3 ~/.hermes/scripts/web_traffic_stats.py --mode weeklythis session reproduced the exact error;grep POSTHOG ~/.hermes/.envshows only POSTHOG_API_KEY_LORE/_MEGAPHONE/_JOLT/_HARDCARDS and POSTHOG_CLIENT_TOKEN, no bare POSTHOG_API_KEY; prior scoreboard runs (2026-W33/W34/W35-leverage.md) all show the same failure message. -
Status: proposed
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold for the 6th straight week. Personal notes (memory) back up to 96% (2,132/2,200) after last week’s brief dip to 80%. USER profile still critical at 98% (1,353/1,375), unresolved for over a month. Propose a consolidation pass on both, with particular attention to the USER store which has not improved despite repeated flags.
-
Evidence: memory tool header this session vs 2026-08-01 through 08-29 entries above.
-
Status: proposed
-
Finding/proposal: JOLT sourcing fleet’s recommendation_posts lane has produced 0 prospects across 30 runs total (8 consecutive runs this week alone with zero, out of 19 candidates considered). Separately, Apify account headroom is down to $88 of $1000 - paid sourcing lanes will stop soon if not topped up. Propose Michael decide whether to retune/retire the dead lane and confirm Apify billing plan.
-
Evidence: jolt_sourcing_health.py cron output, last run 2026-09-04: “recommendation_posts: 8 consecutive runs with zero prospects (considered 19 candidates)”; “Apify headroom only $88: paid lanes will stop.”
-
Status: proposed
2026-09-12 agent-manager
-
Finding/proposal: Curator’s auxiliary model (auxiliary.curator.model in config.yaml) still points at nousresearch/hermes-4-70b, retired. The 2026-09-09 real pass failed identically to 2026-09-02 (“HTTP 404: This model has been retired”). This is the 6th consecutive real pass (Aug 4, 11, 19, 26, Sep 2, Sep 9) with zero skill consolidations executed. Repeat of the 2026-09-05 proposal, unresolved one week later.
-
Evidence: /Users/michael/.hermes/logs/curator/20260909-013112/run.json (tool_calls_total: 0, llm_final: “HTTP 404: This model has been retired”); hermes curator status “last run 3d ago” as of this review.
-
Status: proposed
-
Finding/proposal: web_traffic_stats.py’s per-entity POSTHOG_API_KEY_* fix (proposed 2026-09-05) has not been applied. Weekly leverage scoreboard W36 (2026-09-06) again reports “web_traffic_stats.py was not found at the expected path for the FOURTH consecutive week” - 5th consecutive week of missing website traffic data counting this review. Repeat of the 2026-09-05 proposal.
-
Evidence: ~/ryevalley-brain/metrics/2026-W36-leverage.md, “Script Error Note” section.
-
Status: proposed
-
Finding/proposal: NEW - Megaphone engagement spend meter watch reports a real defect: the engagement pipeline performed 1 real scraping check but recorded $0.00 of cost, meaning its $60/month budget cap cannot stop overspend if usage grows. This is a financial-risk bug on a live client pipeline, distinct from prior sourcing/delivery issues.
-
Evidence: Slack C0BMPHWFS0H, cron job 30bf2472c22e (“Megaphone engagement spend meter watch”) response 2026-09-12 08:26 ET: “DEFECT: the engagement pipeline did 1 real scraping check(s) but recorded $0.00 of cost… Check the per-tick charge in check_scheduler.MonthlyBudget.”
-
Status: proposed
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold for the 7th straight week with no net improvement. Personal notes (memory) 96% (2,132/2,200), flat from last week. USER profile 98% (1,353/1,375), unchanged from last week and critical for over a month. Propose a consolidation pass on both.
-
Evidence: memory tool header this session vs 2026-08-01 through 09-05 entries above.
-
Status: proposed
2026-09-19 agent-manager
-
Finding/proposal: monthly-friction-miner cron job (d8f0e50de342) deliver field now shows slack:C0BMPHWFS0H with no delivery_error on its last run (2026-09-01). This was flagged broken every week from 2026-08-01 through 2026-09-12 (7 weeks). Marking implemented.
-
Evidence: hermes cron list —all, this session, job d8f0e50de342.
-
Status: implemented (2026-09-19, confirmed via cron list; exact fixer/date of fix unknown, not captured in any session found)
-
Finding/proposal: Curator’s auxiliary model (auxiliary.curator.model: nousresearch/hermes-4-70b) is still retired, 7th consecutive real pass (Aug 4, 11, 19, 26, Sep 2, 9, 16) with zero tool calls executed. Repeat of 2026-09-05 proposal, unresolved 6 weeks later.
-
Evidence: /Users/michael/.hermes/logs/curator/20260916-013139/run.json (tool_calls_total: 0, llm_final: “HTTP 404: This model has been retired”).
-
Status: proposed
-
Finding/proposal: web_traffic_stats.py per-entity POSTHOG_API_KEY_* fix (proposed 2026-09-05) still not applied. 5th consecutive week the scoreboard reports website traffic DATA SOURCE FAILED (W33-W37). Repeat of prior proposal.
-
Evidence: direct re-run of
python3 ~/.hermes/scripts/web_traffic_stats.py --mode weeklythis session reproduced identical error; ~/ryevalley-brain/metrics/2026-W37-leverage.md “Script Error Note” confirms 5th consecutive week. -
Status: proposed
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold, now 8-9 consecutive weeks with no net improvement. Personal notes 99% (2,192/2,200). USER profile 98% (1,353/1,375), unchanged from Sep 12.
-
Evidence: memory tool header this session vs prior entries above.
-
Status: proposed
-
Finding/proposal: hermes-config-ops skill still unconsolidated into hermes-agent, unchanged since 2026-08-01, now 7+ curator passes proposing the same fold-in with zero execution due to the model bug above.
-
Evidence: hermes curator status this session (activity=0, use=0, last_activity=never for hermes-config-ops).
-
Status: proposed
2026-09-26 agent-manager
-
Finding/proposal: Curator’s auxiliary model (nousresearch/hermes-4-70b) still retired, 8th consecutive real pass (Sep 23) with zero tool calls. Repeat of 2026-09-05 proposal, unresolved 7+ weeks.
-
Evidence:
hermes curator statusthis session: “last summary: auto: 2 marked stale; llm: API call failed after 3 retries: HTTP 404: This model has been retired.” -
Status: proposed
-
Finding/proposal: NEW - Lore: pipeline script tests cron (8d949f9e63e0) started failing Sep 26 with ValueError: too many values to unpack in delivery.parse_args (test_parse_args_force_review_flag, test_parse_args_type_script expect 6 return values, function returns a different count). Real regression, not flaky.
-
Evidence:
hermes cron list --allstdout from Sep 26 07:00 run, full traceback captured. -
Status: proposed
-
Finding/proposal: NEW - RV: AWS cost drift watchdog (bd2e8e5b64cf) has failed every run since 2026-09-02 with FileNotFoundError (aws CLI not installed on the Mini). Silent because deliver=local; only surfaced via this manual review.
-
Evidence:
hermes cron list --all, unchanged traceback across 3+ weeks of monthly runs. -
Status: proposed
-
Finding/proposal: web_traffic_stats.py per-entity POSTHOG_API_KEY_* fix (proposed 2026-09-05) still not applied. 6th consecutive week the scoreboard reports website traffic DATA SOURCE FAILED.
-
Evidence: ~/ryevalley-brain/metrics/2026-W38-leverage.md line 143 “DATA SOURCE FAILED (web_traffic_stats.py not found - sixth consecutive week).”
-
Status: proposed
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold, 9th consecutive week with no net improvement. Personal notes 99% (2,192/2,200). USER profile 98% (1,353/1,375).
-
Evidence: memory tool header this session vs entries 2026-08-01 through 09-19 above.
-
Status: proposed
-
Finding/proposal: hermes-config-ops skill still unconsolidated into hermes-agent, unchanged since 2026-08-01, blocked on the curator model bug above (8 passes now proposing the identical fold-in with zero execution).
-
Evidence: hermes curator status this session, activity=0/use=0/last_activity=never for hermes-config-ops (implied by unchanged status across passes).
-
Status: proposed
-
Finding/proposal (not counted in ranked proposals, informational): RV: push trend candidates to Studio (1c453348fa72) failing Sep 25 due to missing psycopg2 locally; script correctly refuses to emit unfiltered candidates (safe failure) but the dependency gap should be closed.
-
Evidence: hermes cron list —all, stderr “psycopg2 missing, skipping lead list and blocklist… REFUSING to emit candidates.”
-
Status: proposed
2026-10-01 friction-miner
- Finding/proposal: Sep 3 Slack session shows Hermes posted a message in jolt tagging itself (U0BLF1CP666) to delegate a task meant for Ben (U07561UQ90S). Michael had to manually redirect: “@U07561UQ90S since Hermes didn’t tag you lol.” Shortly after, when Michael asked Hermes to help Tatem OAuth Ben G’s TikTok/IG accounts, Hermes replied with a bot message that again tagged itself: “@U0BLF1CP666 you ARE the person tagged lol.” No skill or memory currently covers the rule that Hermes must not tag itself in Slack delegation messages - when building a Slack message to assign a task to a human, the tag must be the human’s user ID, never U0BLF1CP666. Proposed fix: add one pitfall to
slack-comms-protocolskill - “Never tag U0BLF1CP666 (Hermes’s own Slack ID) in a delegation message. When assigning a task to a teammate in Slack, tag the teammate’s user ID only. A Hermes message tagging itself is a no-op and forces Michael to re-route manually.” - Evidence: @session:default/cron_10cea2c8074b_20260903_230146, thread data from jolt channel parent ts 1788462877.620439 and ops channel parent ts 1788472636.772629. Michael replied ”??? Lol”, “@U0BLF1CP666 you ARE the person tagged lol”, “@U07561UQ90S since Hermes didn’t tag you lol.”
- Status: proposed
2026-10-03 agent-manager
-
Finding/proposal: Curator’s auxiliary model (nousresearch/hermes-4-70b) still retired, config.yaml unchanged. 9th consecutive real pass (Sep 30) failed identically, zero tool calls. Repeat of 2026-09-05 proposal, unresolved 9 weeks later.
-
Evidence: hermes curator status this session (“last summary: … Provider said: HTTP 404: This model has been retired”); logs/curator/20260930-014453/run.json confirms tool_calls_total 0.
-
Status: proposed
-
Finding/proposal: web_traffic_stats.py per-entity POSTHOG_API_KEY_* fix still not applied. Direct re-run this session (
--mode weeklyand--mode daily) now executes without crashing (prior “SCRIPT NOT FOUND” error from W33-W39 reports is stale/inaccurate - the script exists at ~/.hermes/scripts/web_traffic_stats.py, mtime Aug 11) but returns 0 pageviews / 0 unique visitors for all windows, and the code still reads a single bare POSTHOG_API_KEY rather than the per-entity POSTHOG_API_KEY_LORE/_MEGAPHONE/_JOLT/_HARDCALLS vars. Root cause for the 0-traffic output is unconfirmed (could be real zero traffic, could be the single-key read pointing at a key scoped to the wrong/empty project). This has now been an open, unresolved data gap for 9 consecutive weeks. -
Evidence: direct script run this session produced valid-looking output structure but 0/0 for all periods; grep of ~/.hermes/.env confirms both a bare POSTHOG_API_KEY and 4 per-entity keys coexist; script source (load_api_key()) only reads the bare key.
-
Status: proposed
-
Finding/proposal: Both personal memory stores remain above the 90% flag threshold. Personal notes (memory) 99% (2,184/2,200), flat/critical for 10 consecutive weeks since first flagged 2026-08-01. USER profile improved to 78% (1,074/1,375), first time below the 90% threshold since tracking began - a real consolidation happened here since the last review. Propose a consolidation pass on the personal notes store specifically now that USER profile is resolved.
-
Evidence: memory tool header this session vs prior entries 2026-08-01 through 09-26.
-
Status: proposed (USER profile portion implemented; personal notes portion still proposed)
-
Finding/proposal: hermes-config-ops skill still unconsolidated into hermes-agent, unchanged since 2026-08-01, still blocked on the curator model bug (9 passes now proposing the identical fold-in with zero execution).
-
Evidence: skill file confirmed present and separate from hermes-agent at autonomous-ai-agents/hermes-config-ops this session; hermes curator status unchanged pattern.
-
Status: proposed
2026-09-30 curator
- Finding/proposal: Curator ran a real (non-dry-run) consolidation pass on 2026-09-30 01:44. Auto-transitions checked 55 skills, marked 8 stale, archived 13 (pure time-based staleness, no LLM). LLM consolidation step failed identically to the prior 8 passes: “HTTP 404: This model has been retired” (auxiliary.curator.model still nousresearch/hermes-4-70b). 0 tool calls, 0 consolidations executed by the LLM step; the 13 archives this run were auto (non-LLM) staleness transitions, not curator consolidation judgment.
- Evidence: logs/curator/20260930-014453/run.json and REPORT.md (tool_calls_total: 0, archived: 13 auto, llm_final: “HTTP 404: This model has been retired”); hermes curator status this session showing “runs: 9, last run: 3d ago” with the identical failure summary.
- Status: proposed (overlaps with the 9th-consecutive-pass entry above, tracked as one item)