assist v0.317
Scheduled backups and config-driven checks
Yesterday’s backup command grew up into a scheduling system. assist backup schedule --every <duration> installs a marked crontab block that runs assist backup on a cadence — 5m becomes */5 * * * *, 6h becomes 0 */6 * * * — and re-running with a new duration replaces the block cleanly rather than piling up duplicates. Durations cron can’t represent evenly, like sub-minute or 90m, are rejected up front instead of silently misbehaving. There’s a schedule status to print the active cadence and a schedule remove to tear it down. The backup itself became self-discovering, so backup and restore locate the database on their own rather than needing the path spelled out, and the backups view now shows just the filename with the full path tucked into a tooltip.
The verify pipeline got more configurable. A new assist verify forbidden-strings check reads rules from config — each names a JSON file, a set of dot-paths to inspect, and a disallowed wildcard — and fails if any matching value turns up, which lets me catch things like a stray dev URL in a committed config without hard-coding the check. I also fixed the generation of the auto-fix verify scripts so they come out runnable.
The rest was cleanup. I finished the move off Biome by removing the last lingering references now that oxc is doing the work, and fixed URL detection in the web terminal so a link that wraps across lines is still recognised as one clickable URL.