Migration control panel

OpenClaw → Hermes cron & skill migration

Updated from OPENCLAW_TO_HERMES_CRON_SKILL_IMPLEMENTATION.md. This tracker now reflects the 18:05 migration-map update: QMD BM25/full-text maintenance and AgentMail intake are implemented and active.

Source generated: 2026-06-25T22:49:31+02:00 Source updated: 2026-06-26T18:05+02:00 Dashboard updated: 2026-06-26 Architecture: knowledge → wiki → brain

Migration snapshot

The migration has moved past the first knowledge-intake wave. Hermes now has active ports for Raindrop, AgentMail, Blogwatcher, daily synthesis, weekly maintenance, Hermes update checks, and QMD BM25/full-text maintenance. Remaining work is mostly bounded vector backfill, source/topic synthesis, social/research pipelines, and high-side-effect sync/backup jobs that require allowlists.

Approximate core cron migration progress: 52% — core knowledge intake and search maintenance are active; higher-noise or higher-risk automation is still intentionally gated.

Invariant: raw provenance goes to /home/chad/knowledge; curated llm-wiki synthesis goes to /home/chad/wiki; operational logs/reports go to /home/chad/brain/ops.
9active / implemented Hermes cron jobs tracked
5OpenClaw crons fully implemented or superseded
2major partial lanes: X/Twitter + daily brief inputs
21OpenClaw cron jobs inventoried

New since the previous dashboard publish

New active cron

qmd-maintenance-bounded-reindex

Daily script-only QMD maintenance now runs at 30 4 * * * as job 704d9f0c2cb2. It runs qmd update over /home/chad/knowledge, /home/chad/wiki, and /home/chad/brain, writes summaries under /home/chad/brain/ops/qmd/, and intentionally skips vector embedding by default.

Current index noted in the doc: 9,314 Markdown files, BM25 verified, 668 vector rows, 8,879 pending hash estimate.

New active cron

agentmail-knowledge-intake

AgentMail intake now runs every six hours as job e0a3f1a6eadb. It fetches chadnews@agentmail.to, writes raw email/newsletter provenance to /home/chad/knowledge/raw/agentmail/YYYY-MM-DD/, maintains sync state, creates AgentMail digest pages, and writes ops JSON under /home/chad/brain/ops/agentmail/.

First real run captured 18 raw messages; verification run was idempotent.

Hermes cron implementation status

Hermes jobIDProfile/storeScheduleStatusNotes
librarian-blogwatcher-to-llm-wikid0c118660c1alibrarian profile0 2 * * *ActiveSupersedes OpenClaw blog-scan; pinned to openai-codex/gpt-5.5 to avoid Z.AI 429s.
Daily Bryan Johnson tweet ingest to LLM Wiki0586563d0a3elibrarian profile10 2 * * *ActiveProject-specific; working replacement for the removed duplicate.
Bryan Johnson KB curated daily page updatea77ff3568e5cdefault profile0 7 * * *ActiveProject-specific curated publishing job for /home/chad/projects/bryan-johnson-kb.
Daily Hermes update checkd0b3a2017806default profile0 9 * * *ActiveHermes-native replacement for OpenClaw update checking.
raindrop-knowledge-intakee9dabb02bca5default profile0 9 * * *ActivePort of OpenClaw raindrop-sync into raw + wiki architecture.
daily-knowledge-intake-brieff5f2d0004d66default profile45 9 * * *ActiveSecond-stage synthesis now chained from Raindrop and AgentMail outputs; Blogwatcher enters via durable files.
weekly-knowledge-maintenance-audit28e3fec7d0b3default profile0 4 * * 1ActiveReport-only audit writing to /home/chad/brain/ops/knowledge-maintenance/.
qmd-maintenance-bounded-reindex704d9f0c2cb2default profile30 4 * * *ActiveDaily BM25/full-text QMD maintenance; vector embedding is deliberately separate and supervised.
agentmail-knowledge-intakee0a3f1a6eadbdefault profile20 */6 * * *ActiveHermes-native AgentMail intake with raw provenance, digest pages, sync state, and ops JSON.

Implemented skills, scripts, and verified behavior

Skill

raindrop-knowledge-intake

Batch-syncs recent Raindrop bookmarks to /home/chad/knowledge/raw/raindrop/YYYY-MM-DD/, tracks state, and writes daily digest pages under /home/chad/wiki/queries/.

Skill

knowledge-maintenance

Report-only hygiene audits for frontmatter, duplicate source URLs, raw hash consistency, missing references, index count, and orphan raw files.

Skill

knowledge-capture

Manual “save this URL / capture this” workflow: fetch first, save raw provenance, optionally add to Raindrop, and promote only durable content into the wiki.

Script + cron

qmd_maintenance.py

Runs bounded QMD full-text maintenance and logs summaries under /home/chad/brain/ops/qmd/. Vector backfill remains separate.

Script + cron

agentmail_knowledge_intake.py

Captures AgentMail messages as untrusted raw provenance, creates digest pages, maintains state, and feeds the daily knowledge brief.

Guardrail

No old vault clone

OpenClaw assumptions like ~/.openclaw, Obsidian MOCs, and old vault paths are intentionally not copied one-to-one.

OpenClaw cron mapping and feasibility

OpenClaw cronFeasibilityHermes statusCurrent mapping / note
raindrop-syncHighYesImplemented as raindrop-knowledge-intake.
chadnews-daily-briefHighPartialGeneric successor is daily-knowledge-intake-brief; now includes Raindrop and AgentMail context.
blog-scanAlready coveredYesSuperseded by librarian Blogwatcher → llm-wiki pipeline.
knowledge-maintenanceHighYesImplemented as weekly report-only audit.
qmd-reindexHighBM25 yesDaily qmd update cron active; vector coverage/backfill remains pending.
agentmail-digestHighYesImplemented at same 20 */6 * * * cadence.
daily-todo-synthesisConditionalNoOnly if Taskwarrior remains desired; avoid noisy auto-tasking.
twitter-feed / twitter-briefMediumProject-specificBryan Johnson-specific ingest exists; general X intake/brief is not ported.
source-collector / topic-digestMedium-highNoRedesign around raw source folders and llm-wiki query pages.
daily-backup / gdrive-sync / Obsidian syncConditionalNoNeeds explicit targets, install/config checks, and restore verification.
github-pushMediumNoHigh side-effect risk; use repo allowlists and verification.
kanban-monitorDo not direct-portNoUse Hermes-native Kanban/dispatcher semantics.
research-synthesis / trending-topicsMedium-high / MediumNoGood later ports after raw intake volume/source quality stabilizes.

Recommended next implementation order

1

Handle QMD vector backfill separately

Daily BM25/full-text maintenance is implemented and verified. Remaining work is vector coverage: 8,879 hashes need embeddings, but this CPU-only host is slow; use bounded supervised batches or fix Vulkan/tree-sitter/runtime warnings first.

2

Triage the knowledge-maintenance report

Current report has 181 legacy Blogwatcher hash mismatches, 11 duplicate source URLs, 61 potential orphan raw files, 1 frontmatter issue, and 0 broken refs. Sample/classify before any fix mode.

3

Watch Blogwatcher and daily brief scheduled cycles

Confirm librarian profile skill resolution, no Z.AI 429s, coherent raw/digest/log writes, and daily brief context from Raindrop + AgentMail.

4

Add source collector and topic digest

Design for /home/chad/knowledge + /home/chad/wiki, not old Obsidian folder assumptions.

5

Consider general X/Twitter and weekly research synthesis

Only after source quality and raw intake are stable enough to avoid noisy auto-generated pages.

Implementation rules to preserve