The whole point of this layer: you drop files in input/ whenever you like, and the brain picks them up on its own. No manual rebuild ritual.
What runs
run_ingest.sh simply calls python3 ingest.py from the package root. Idempotent: a run with nothing new changes nothing.
Install (Linux with systemd, recommended)
bash archivers/install.sh
That installs a systemd user timer (fimo-ingest.timer) that ingests hourly. Useful commands afterwards:
systemctl --user list-timers fimo-ingest.timer # when is the next run
systemctl --user start fimo-ingest.service # force a run right now
journalctl --user -u fimo-ingest.service -n 20 # last run's output
Note: user timers only run while you are logged in, unless you enable lingering once: loginctl enable-linger $USER.
Install (cron: macOS, servers, no systemd)
See crontab.example. Replace __FIMO_DIR__ with the absolute path of this package and add the line to crontab -e. Output lands in data/ingest.log.
Feeding it from elsewhere
Anything that copies files into input/ becomes a feed: a synced cloud folder, an export script for your chat platform, a mail rule that saves attachments. The archiver does not care where files come from, only that they land in input/ as .md, .txt or .json.
Canon stays a deliberate step
The timer only ingests. Regenerating CANON/KERN.md stays a manual python3 generate_canon.py because the canon is something you review, not something that silently rewrites itself every hour.