Recovery Procedures

Kernel recovery exhausted, data corruption, and platform reset procedures.

Kernel recovery exhausted

Symptoms: Logs show "maximum recovery attempt limit reached, no further attempts will be made"

The platform attempts kernel recovery up to 3 times with cooldown between attempts. After 3 consecutive failures:

  1. Stop the daemon: hoziron stop
  2. Check disk space and permissions on $HOZIRON_HOME/data/
  3. Back up the data directory
  4. Restart the daemon (resets the recovery counter): hoziron start

If it persists, the underlying SQLite database may be corrupted (see below).

Memory subsystem degraded

Symptoms: Health check shows memory subsystem as Degraded. Logs show SQLite errors.

Diagnosis:

hoziron health --json
# Check the "memory" subsystem state

hoziron logs --lines 50 | grep -i memory

Fix:

  1. The platform auto-attempts recovery via SQLite VACUUM
  2. If auto-recovery fails:
    • Check disk space: df -h $HOZIRON_HOME
    • Check file permissions: ls -la $HOZIRON_HOME/data/
    • Manually verify SQLite integrity:
      sqlite3 $HOZIRON_HOME/data/hoziron.db "PRAGMA integrity_check;"
      
  3. If corrupted beyond repair:
    • Stop the daemon
    • Back up: cp $HOZIRON_HOME/data/hoziron.db $HOZIRON_HOME/data/hoziron.db.bak
    • Delete and let it recreate: rm $HOZIRON_HOME/data/hoziron.db
    • Restart (loses in-memory state but agents can be recreated)

Full platform reset (non-destructive)

Preserves installed packages but resets agent state and config:

hoziron stop
hoziron reset --confirm
hoziron init --quick
hoziron start

Full uninstall and reinstall

hoziron uninstall --confirm
# Removes ~/.hoziron/ entirely

# Reinstall
hoziron init

Package signature verification failed

Symptoms: "Signature verification failed" when installing a package.

Fix:

  1. The package may have been tampered with after signing
  2. Verify the publisher's public key
  3. Check content hash: hoziron package verify ./package-dir/
  4. If you trust the source, re-download or request a re-signed package

Data backup

For regular backups, copy the data directory:

hoziron stop
cp -r $HOZIRON_HOME/data/ /backup/hoziron-$(date +%Y%m%d)/
hoziron start

Or for live backups (SQLite supports this):

sqlite3 $HOZIRON_HOME/data/hoziron.db ".backup '/backup/hoziron.db'"

Related: