The system now knows what's installed—and says so.
🎥 Release video
lifeos-7.0.0-release-video.mp4
Full-resolution download: LifeOS-7.0.0-Release-Video.mp4 (4:43) — this release builds on the 7.0.0 foundation.
Install awareness
LifeOS doctrine leans on external tools the core install doesn't ship: a cross-vendor audit CLI, a real browser for web verification, Cloudflare for scheduled flows, ElevenLabs for voice. Before 7.1.1, a missing tool failed silently. Now the system knows what's actually available and says so.
- Doctor —
bun LIFEOS/TOOLS/Doctor.tsprints one line per capability: live ✅, broken ❌ with its own copy-paste fix command, or off ⏸.--networkadds end-to-end auth checks.--reconcilecatches hooks that exist on disk but never got registered in settings. - Decline is a first-class answer —
Doctor.ts decline <name>turns a capability off permanently and silently. No warnings, no red marks, no nagging. Running LifeOS without voice or without Cloudflare is a supported configuration, not a defect. - The install asks — new step in INSTALL.md: after Core lands, the installer probes each capability and asks now, later, or never. Your choice is recorded.
- Failure-aware nudges — when a command fails because a capability is broken, you get one line with the exact fix command, then an hour of quiet.
- System Health in Pulse — the hooks page shows each capability's state, fix command, and heartbeat.
Installer overhaul
- GETTING-STARTED.md — new post-install guide shipped beside INSTALL.md: what each external tool powers, how to set it up, and how to prove it's live.
- InstallSettings.ts — settings placement is now a deterministic tool instead of a copy-by-hand step. It expands
$HOMEin env values at write time (the harness injects them verbatim, so a literal$HOME/was silently creating a shadow directory that captured runtime state — the #1404/#1451 bug class), merges additively without touching existing values, dry-runs by default, and backs up before every write. - Two-layer install model — INSTALL.md now presents Core (the skill, the full skill library, the runtime, the USER tree, the system prompt and its
lifeoslaunch command) as one consent, with hooks/statusline/Pulse/agents as clearly-marked enhancements on top. - The
lifeoslaunch command matters and the docs now say why — the constitutional layer only loads when the harness launches with the system prompt appended. Plainclaudegives you CLAUDE.md but not the constitution. - install.sh resolves the latest release dynamically — no more pinned version in the bootstrap.
- Locale-aware units — the installer suggests the statusline temperature unit that matches your locale (#1456).
Runtime and tooling
- Algorithm v8.4.0 — plain-language depth steering ("go heavy", "quick pass") registers even before a run is open; claim wording sharpened; every nudge bounded to a single line.
- Statusline, rebuilt in three places — a live AGENTS roster with per-slot model readout and a cross-vendor slot; HOME resolution hardened to fail closed (#1463); a richer usage readout with per-model window and credit state.
- CarrierProbe.ts — new shipped tool that verifies which model actually executes your agent dispatches, end-to-end with transcript evidence, and fails stale facts after 30 days. Model-routing claims stop being folklore.
- Telegram hang fix — a stream that stopped yielding could hang the reply handler indefinitely (observed: one query ran 2.87 hours frozen on a partial reply). The timeout now actually aborts the stream and ships the partial text.
- Telos backup pruning — TELOS file backups keep a rolling window of the 3 newest per file instead of accumulating forever.
- Clean template voices — the shipped researcher agents and voice roster now default to ElevenLabs premade voices.
- Intro video in the README — the 4:43 walkthrough is embedded above the intro now.
Fixes
- USMetrics: EIA gas-price series and dollar-scale formatting (#1470 — thanks @HotSauceHacker)
- BitterPillEngineering: dead routing references repointed to the current routing table (#1471 — thanks @justinkatz94-glitch)
- FormatGate: observation-only, no more duplicated output on re-emit
- Fork-patch note in MemoryTypes (#1450)
- Doc de-staling across the tree: Router retirement propagated, Ledger doc slimmed, freshness stamps added
Install
Same as 7.0.0: give it to your AI. Tell it: "Read https://ourlifeos.ai/install and install LifeOS for me." It does the whole setup — detects your harness, wires hooks with your permission, scaffolds your files. Needs Claude Code + bun.