Core Routines
Core routines are the backbone of the EvoNexus daily loop. They ship with the repo, are hardcoded inscheduler.py, and run automatically. Unlike custom routines (which live in ADWs/routines/custom/ and are configured via config/routines.yaml), core routines require zero configuration.
There are 6 core routines. Together they form a closed loop: orient in the morning, work during the day, consolidate at night, backup data, sync memory, and review weekly.
Daily Backup
Why it matters: Gitignored data (memory, configs, logs, customizations, dashboard DB) is lost on clean installs or machine changes. This routine exports all user data as a ZIP, enabling portability without breakinggit pull updates. If S3 is configured, it also uploads the backup to the cloud.
Execution: Pure Python via run_script() (no AI, no tokens)
Timeout: 5 minutes
What it does
- Collects all gitignored files using
git ls-files --others --ignored --exclude-standard - Filters out heavy reconstructible dirs (
node_modules/,.venv/,__pycache__/,dist/) - Creates a ZIP with
manifest.json(version, timestamp, hostname, file list) - Saves to
backups/evonexus-backup-YYYYMMDD-HHMMSS.zip - If
BACKUP_S3_BUCKETenv var is set, uploads the ZIP to S3
Output
A ZIP file inbackups/ containing all workspace user data. Restorable via make restore FILE=<path>.
CLI
Good Morning
Why it matters: Without a structured start, the day drifts. This routine scans your calendar, emails, tasks, and recent work to give you a clear picture of where you left off and what needs attention today. Skill:prod-good-morning
Timeout: 10 minutes
What it does
- Reads
CLAUDE.md(master context) and the last 3 session logs fromworkspace/daily-logs/ - Reads active project overviews
- Gathers live data:
- Today’s calendar via Google Calendar MCP
- Unread emails via Gmail MCP
- Today’s tasks via Todoist
- Delivers a brief recap (pt-BR):
- Recent work (2-4 bullets)
- Open/mid-flight items
- Today’s meetings and times
- Attention-needed emails
- Priority tasks
- Gives one clear recommendation on what to work on first
- Asks what you want to tackle
Output
A structured morning briefing displayed in the terminal. No file saved — this is an interactive session starter.End of Day
Why it matters: Without consolidation, context is lost between sessions. This routine captures everything that happened — decisions, learnings, people updates, pending items — so tomorrow’s Good Morning has fresh context to work with. Skill:prod-end-of-day
Timeout: 10 minutes
What it does
- Collects data from the entire day:
- Agent memory updates from
.claude/agent-memory/(all agents) - ADW logs from
ADWs/logs/YYYY-MM-DD.jsonl - Meeting summaries from
workspace/meetings/summaries/ - Tasks completed/created via Todoist
- Git changes (
git diff --stat,git log --oneline --since="today 00:00") - Current session conversation
- Agent memory updates from
- Consolidates into a daily log:
- Decisions made and why
- Patterns, feedback, and corrections
- New context about people
- Real pending items (not aspirational)
Output
A daily log saved toworkspace/daily-logs/[C] YYYY-MM-DD-eod.md.
Memory Sync
Why it matters: Memory files drift out of date if not actively maintained. This routine reads recent daily logs, meetings, and git history to extract new facts and propagate them across the memory system, keeping it consistent and current. Execution: Direct prompt viarun_claude() (not a skill)
Timeout: 10 minutes
What it does
- Reads last 3 daily logs from
workspace/daily-logs/ - Reads meeting summaries from the last 3 days
- Analyzes
git log --oneline --since="3 days ago" - Extracts and classifies:
- Decisions —>
projecttype memories - People context —>
usertype memories - Feedback/corrections —>
feedbacktype memories - New terms/references —>
referencetype memories
- Decisions —>
- De-duplicates: updates existing memories instead of creating duplicates
- Ingest propagation: When updating a memory, finds and updates other memories that reference the same entity
- Updates
MEMORY.mdindex andmemory/index.md - Appends to
memory/log.md:[DATE] SYNC -- summary
Output
A report showing count of memories created/updated by type and cross-references propagated.Memory Lint
Why it matters: Over time, memory accumulates contradictions, orphan files, stale claims, and coverage gaps. This weekly health check catches problems before they compound, keeping the knowledge base reliable. Execution: Direct prompt viarun_claude() (not a skill)
Timeout: 10 minutes
Schedule: Every Sunday at 09:00
What it does
- Reads
memory/index.mdto get the full catalog - Verifies every listed file exists and is not empty
- Detects orphan files (exist in
memory/but not in the index) - Cross-reference checks:
- People mentioned in projects should have a file in
memory/people/ - Projects mentioned in people files should have a file in
memory/projects/ - Glossary terms should point to valid entries
- People mentioned in projects should have a file in
- Stale data check:
- Flags Linear issues that may be closed
- Flags people roles/companies that may have changed
- Flags any claim with a date older than 60 days
- Contradiction check:
- Compares
CLAUDE.mdhot cache withmemory/glossary.md - Compares people info in
CLAUDE.mdvsmemory/people/*.md
- Compares
- Coverage gaps:
- Active projects in
CLAUDE.mdwithout amemory/projects/file - People in
CLAUDE.mdwithout amemory/people/file
- Active projects in
- Auto-fixes what it can:
- Updates
memory/index.mdwith orphan files - Fixes obvious contradictions (prefers the more recent source)
- Adds missing cross-references
- Updates
- Appends to
memory/log.md:[DATE] LINT -- summary
Output
A report listing issues found, fixes applied automatically, and items needing manual review.Weekly Review
Why it matters: Daily logs capture details, but the weekly review steps back to see the big picture — what actually got done, what’s carrying over, and what’s coming next week. It produces a formatted report you can reference or share. Execution: Direct prompt viarun_claude() (not a skill)
Timeout: 15 minutes
What it does
- Gathers the full week’s data:
- Meetings synced via
/int-sync-meetings - Tasks via
/prod-review-todoist(completed, overdue, next week) - Next week’s agenda via Google Calendar
- Memory consolidation from the week’s daily logs
- Meetings synced via
- Generates reports in two formats:
- HTML using template
.claude/templates/html/weekly-review.html - Markdown using template
.claude/templates/weekly-review.md
- HTML using template
Output
Dual-format report saved toworkspace/daily-logs/:
[C] YYYY-WXX-weekly-review.html[C] YYYY-WXX-weekly-review.md