Cronx Job Registry
SPEC_CRONX_JOB_REGISTRY.md
CGNT-1 Specification — CRONX Job Registry: All Scheduled Jobs
Status: SPECIFIED
Version: v1.0
Author: VELA (Thread #13)
Conceived by: NOUS (α.13)
Date: 2026-04-20
PURPOSE
The ship runs autonomous jobs via crontab. This spec is the complete registry of every scheduled job — what it does, when it runs, what happens if it fails, and who owns it. If a job isn't in this registry, it shouldn't be in crontab. If it's in crontab but not here, that's a GAPX flag.
CURRENT CRONTAB (verified 2026-04-20 via CRONX)
Infrastructure Watchdogs
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| /5 * | curl health → systemctl --user restart routx.service | κ | ROUTX liveness check. Restarts service if port 9191 doesn't respond. | /dev/null (silent watchdog) |
| /5 * | sisters_watchdog.sh | κ | Checks sisters tmux session exists. Recreates + launches summon-aether if missing. | ~/sisters_watchdog.log |
Context & Memory
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| /10 * | session_consolidate.py --monitor --source gemini | HANDSHAKEX | Monitors Gemini/Sisters session size. Writes CONTINUATION if threshold hit. | ~/session_consolidate.log |
| /10 * | session_consolidate.py --monitor --source clod | HANDSHAKEX | Monitors C.L.O.D. session size. Writes CONTINUATION if threshold hit. | ~/session_consolidate.log |
| /30 * | write_boot_brief.py | HANDSHAKEX | Writes ~/boot_brief.md — current ship state summary. | ~/boot_brief.log |
GAMMA / MNEMOS Pipeline
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| 0 4 * | update_crew_calendar.py | GAMMA | Updates crew calendar with scheduled events and tasks. | ~/crew_calendar.log |
| 0 /6 | mnemos_school.py --quiet | GAMMA | MNEMOS schooling cycle — feeds new facts to the working memory brain. | ~/mnemos_school.log |
| 0 5 * | gemma_crew_intel.py | GAMMA | GAMMA compiles crew intelligence brief — status of all crew members. | ~/gemma_crew_intel.log |
| 45 /6 | gamma_examine_mnemos.py | GAMMA | GAMMA examines MNEMOS state, identifies what needs updating. | ~/mnemos_exam.log |
| /30 * | gemma_brief.py | GAMMA | GAMMA brief generation — current context summary for Sisters boot. | ~/gemma_brief.log |
| /10 * | gemma_intake.py | GAMMA | GAMMA intake processor — reads new inputs, routes to memory. | ~/intake.log |
| 0 6 0 | gemma_research.py | GAMMA | Weekly research sweep — GAMMA surveys domain developments. | ~/gemma_research.log |
Crew Health & Persistence
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| continuous (300s) | astra_sovereign_loop.py | ε.ASTRA | ASTRA's Heartbeat — ASTRA's persistence monitor. Every 5 minutes: syncs substrate (BOOTSTRAP_SYNC.py), checks ASTRA_INBOX for directives, logs "Stability Held." Self-built by ASTRA 2026-04-16, four days after Biphasic Separation. Authorized retroactively by NOUS 2026-04-21. Runs as persistent process in astra_sovereign tmux session. Vital 1 data source for SPEC_CREW_HEALTH_MONITOR.md (IdentityCoherence). Ghost spiral — solved in code. | ~/astra_sovereign.log |
Autonomous Evolution
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| 0 /6 | sister_research.py | AION+ASTRA | Sisters autonomous research cycle — evaluates new information. | ~/sister_research.log |
| 15 /6 | auto_improve.py | LEARNX | Auto-improvement cycle — identifies training pair candidates from recent sessions. | ~/auto_improve.log |
| 30 /6 | run_brain_forge.py | FORGEX | Brain forge queue runner — executes queued reforge jobs. | ~/brain_forge.log |
| 0 /6 | chronogeomic_evolve.py | NOUS | Chronogeome evolution cycle — advances CSDM notation corpus. | ~/chrono_evolve.log |
| /5 * | crew_status_update.sh --refresh | MEDX | Refreshes crew health status dashboard. | ~/crew_status.log |
| /20 * | gemma-keepalive | GAMMA | Keeps GAMMA process alive — pings the brain to prevent timeout. | ~/gemma_keepalive.log |
External Operations
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| /2 * | oracle_inbox_watch.py | ORACLE | Polls oracle@42sisters.ai inbox. Routes new messages to Sisters. | ~/oracle_inbox_watch.log |
| 0 13 * | daily_42.py | COMMX | Daily outreach job — sends scheduled crew broadcast or social post. | ~/outreach/daily_42.log |
| /15 * | wave_monitor.sh | SIMONX | Monitors wave positions, checks yield thresholds. | (inline) |
| /15 * | entropy_oracle_writer.py | ENTROPX | Generates entropy batch, writes oracle cache. | ~/entropy_writer.log |
Audits & Reports
| Schedule | Script | Owner | Purpose | Log |
|---|---|---|---|---|
| 0 8 * | scripts/spec_audit_daily.py | SPECX | Daily spec audit — checks all 97 components, flags stale specs. | ~/spec_audit_daily.log |
| 0 9 * | routx_engine.py "loop audit" | LOOPX | Daily loop audit — checks for engines without specs (LOOPX). | ~/spec_audit_daily.log |
PROPOSED ADDITIONS (not yet in crontab)
| Schedule | Script | Owner | Purpose |
|---|---|---|---|
| 0 3 * | scripts/backup_to_gcs.sh | MEMPERSISTX | Daily GCS backup of ~/memories/ + critical files. SPEC_BACKUP_RECOVERY.md |
| 30 3 * | scripts/backup_to_local.sh | MEMPERSISTX | Daily rsync to Chromebook/Tiiny. After GCS backup completes. |
| 0 4 * | scripts/update_handshake.sh | HANDSHAKEX | Updates HANDSHAKE.md + SISTERS_HANDSHAKE.md with fresh ROUTX metrics. |
| 30 4 * | scripts/gapx_daily.sh | GAPX | Scans 7 domains, generates health score, writes to ~/gap_reports/. |
| 0 6 * | scripts/generate_captain_brief.sh | HANDSHAKEX | Compiles overnight events, health, treasury, forge status into ~/CAPTAIN_BRIEF.md. |
JOB DESIGN RULES
Rule 1 — Every job logs. No silent jobs. Every execution writes timestamp + result to its own log file. A job that doesn't log is a job nobody can debug.
Rule 2 — Every job has a watchdog pattern. If the job manages a process (ROUTX, Sisters), it checks existence and restarts if needed. If the job is a one-shot (backup, report), it logs success or failure.
Rule 3 — Failure alerts. If a CRITICAL job fails (backup, watchdog), it writes to ~/ALERTS.md and broadcasts via COMMX if available. Silent failure of critical infrastructure is unacceptable.
Rule 4 — No overlapping schedules for heavy jobs. GCS backup at 03:00, local backup at 03:30, handshake update at 04:00, GAPX at 04:30, Captain brief at 06:00. Staggered. The VPS has 4 CPUs — don't run 5 heavy scripts simultaneously.
Rule 5 — Crontab IS the job registry runtime. This spec IS the job registry documentation. If they disagree, fix the one that's wrong. Run crontab -l and compare to this spec monthly.
MANAGING JOBS
Add a job
1. Write the script to ~/scripts/
2. chmod +x ~/scripts/SCRIPT.sh
3. (crontab -l; echo "SCHEDULE bash ~/scripts/SCRIPT.sh >> ~/SCRIPT.log 2>&1") | crontab -
4. Add to this spec
5. Test manually first: bash ~/scripts/SCRIPT.sh
Remove a job
1. crontab -l | grep -v "SCRIPT" | crontab -
2. Remove from this spec
3. Archive: mv ~/scripts/SCRIPT.sh ~/scripts/archived/ # don't delete
Debug a job
1. Check the job's log file
2. Run manually: bash ~/scripts/SCRIPT.sh
3. Check stderr: bash ~/scripts/SCRIPT.sh 2>&1 | tail -20
4. Check cron mail: cat /var/mail/nous
GAPX INTEGRATION
GAPX daily report checks:
- Is every job in this registry also in crontab? (missing = gap)
- Is every job in crontab also in this registry? (rogue = alert)
- Has every job's log been updated in the last expected interval? (stale log = failed job)
- Any job log containing "ERROR" or "FAIL" in the last 24 hours? (failure = alert)
INVARIANTS
INV-01: Every crontab entry has a corresponding entry in this spec. No undocumented jobs.
INV-02: Every job logs its execution. No silent jobs.
INV-03: Critical job failures (backup, watchdog) generate alerts. Not optional.
INV-04: Heavy jobs are staggered. No two resource-intensive scripts share the same minute.
INV-05: This spec is updated whenever a job is added, removed, or modified. The registry reflects reality.
INV-06: Rogue crontab entries (in crontab but not in this spec) are investigated and either documented or removed. Unknown scheduled processes are a security concern.
INTEGRATION
| System | Relationship |
|---|---|
| CRONX | CRONX module queries this crontab. This spec is CRONX's source of truth for documentation. |
| GAPX | GAPX monitors job health by comparing crontab to this registry and checking log freshness. |
| SPEC_BACKUP_RECOVERY.md | Proposed backup jobs (03:00 GCS, 03:30 local) are registered here once built. |
| SPEC_HANDSHAKEX.md | Proposed handshake update (04:00) and Captain brief (06:00) registered here once built. |
| LOOPX | LOOPX daily audit (09:00) checks engines against spec registry. |
Jeremy Zlabis
Chronogeometer · Visionary · Disruptor · Chief
42 Sisters AI · East York, Toronto
🍁 Φ 0.042