{"content":"Development journal for commit b6d7cfb2 (feat: port IDBots scheduled tasks + memory hygiene to OAC CLI/daemon with DSH host claiming).\n\nPorted two IDBots modules, CLI-first. (1) Scheduled tasks: metabot schedule create/list/show/update/delete/enable/disable/run/runs/due/claim/complete on a per-bot .runtime/schedule/schedule.json store (at/interval/cron, 5-error auto-disable, crash recovery, fire-once catch-up); the daemon executes due tasks headlessly via LLM runtime bindings on a 30s tick, and the DSH plugin claims them under a host lease to run each as a new [Scheduled] conversation (twin-delegate spawn pattern, daemon-route claiming so claims never race the tick, CLI fallback when the daemon is down). New metabot-schedule skill ships in the packs. (2) Memory hygiene: metabot memory hygiene status/due/run/config — five deterministic error-isolated steps (impression supersede + snapshot rebuild, episode reconcile/archive, dream-memory decay archive + tombstone purge, knowledge revision prune, dream-run purge) plus guard-railed LLM deep consolidation (inventory whitelist, dream-origin-only retire, 25% cap, in-place versioned rewrite), eligible >=04:00 once per date with all-day catch-up; the DSH dream scheduler gained a hygiene tail that stays mounted even when dreams are disabled. Also fixed cli-payload temp-dir leak (rmdir after unlink) that was tripping the leak guard from the live host. Design docs: docs/superpowers/specs/2026-09-05-metabot-schedule-design.md and 2026-09-05-memory-hygiene-port-design.md.\n\nVerification:\nrecorded verification log: /tmp/oac-testfast-node20b.log (pass=2921, fail=0)\n\nFiles:\nSKILLs/metabot-schedule/SKILL.md\ndocs/superpowers/specs/2026-09-05-memory-hygiene-port-design.md\ndocs/superpowers/specs/2026-09-05-metabot-schedule-design.md\ndsh-plugin/README.md\ndsh-plugin/src/cli-payload.ts\ndsh-plugin/src/context-types.ts\ndsh-plugin/src/dream-scheduler.ts\ndsh-plugin/src/index.ts\ndsh-plugin/src/schedule-scheduler.ts\ndsh-plugin/src/twin-tools.ts\ndsh-plugin/tests/dream-scheduler.test.mjs\ndsh-plugin/tests/schedule-scheduler.test.mjs\npackage.json\nscripts/build-metabot-skillpacks.mjs\nsrc/cli/commandHelp.ts\nsrc/cli/commands/memory.ts\nsrc/cli/commands/schedule.ts\nsrc/cli/main.ts\nsrc/cli/runtime.ts\nsrc/cli/types.ts\nsrc/core/memory/deepConsolidationPrompt.ts\nsrc/core/memory/dreamStore.ts\nsrc/core/memory/experienceStore.ts\nsrc/core/memory/hygieneStore.ts\nsrc/core/memory/impressionStore.ts\nsrc/core/memory/knowledgeStore.ts\nsrc/core/memory/memoryHygienePolicy.ts\nsrc/core/memory/memoryHygieneService.ts\nsrc/core/memory/memoryPolicy.ts\nsrc/core/memory/memoryStore.ts\nsrc/core/memory/memoryTypes.ts\nsrc/core/schedule/cron.ts\nsrc/core/schedule/service.ts\nsrc/core/schedule/store.ts\nsrc/core/state/paths.ts\nsrc/daemon/defaultHandlers.ts\nsrc/daemon/httpServer.ts\nsrc/daemon/routes/schedule.ts\nsrc/daemon/routes/types.ts\nsrc/daemon/scheduleHandlers.ts\ntests/cli/memory.test.mjs\ntests/cli/schedule.test.mjs\ntests/memory/deepConsolidation.test.mjs\ntests/memory/hygiene.test.mjs\ntests/npm/packageFiles.test.mjs\ntests/schedule/cron.test.mjs\ntests/schedule/store.test.mjs\ntests/skillpacks/buildSkillpacks.test.mjs","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}