Docs · The House Daily

Source docs/HOUSE-DAILY-REPORT-20260917.md in the ZoeyOS source. Last verified 2026-09-17. State the code moved since: 2026-10-08.

The House Daily: one report for the owner

About twenty routines write into a deliverables folder or a log. The owner reads one page.

The claim, measured first

Before the page was built, every routine that claimed to maintain or improve the house was audited, and the audit was corrected by an adversarial review the same morning. What held: the keeper's lane restarts, the hold sweep's releases, the kit re-apply, the weekly janitor, nightly apply and rollback. What did not: a janitor restart branch that could never fire, a sweep gated off 93 % of the time by an unreachable VRAM floor, a test battery whose failures nobody read, a research funnel that in fourteen days took about 312 bullets to 147 cards to 18 rulings to 11 tries to 1 commit to 0 live. The page exists so those numbers are seen every day.

Slips in, one page out

Every routine's own detail file stays where a process reads it. The owner stops being asked to open them.

  1. The slip. Every routine ends by writing one small JSON, atomically: when it ran, when it is next due, a status (ok, warn, bad, skipped, unknown), a one-line headline that is a fact and not a mood, facts with a measured-at time and a source, what needs the owner, what changed with evidence, what could not be verified, and the path to the full report. A caught exception writes bad, never an exit-0 silence. A gate yield writes skipped with the reason. A change with no evidence on disk is dropped.
  2. The consolidator. No model. Reads slips only. Two slips that disagree are shown as a conflict, both cited. A measured fact beats a carried one whatever their ages; only among measured facts does the newest win. Built at the close of the owner's off-hours window, as the ticker's last job, and on demand.
  3. The registry, not self-report. One schedule file lists every routine with its interval and grace. A routine with no slip inside its interval plus grace shows as "did not report". A routine parked by the current mode shows as parked by design and is not an alarm.
  4. Effect probes. A slip records that a routine ran. Whether it worked is the consolidator's own check, one cheap read per claim: red samples against restarts and closed cards; cards closed against opened; voters counted; a window job's own exit, not "it was started".
  5. Who writes "needs you". Two sources only: a card blocked for hands, root or an irreversible step, with the ask and the options written by whoever blocked it; and a fixed table of mechanical cases (a reboot flag, pending security updates, a disk past a threshold, a hold older than twelve hours). Software decisions go to Zoey's queue; the page shows a count and the age of the oldest.

The template, for every report

One kit, blocks in fixed order, each optional: the verdict as a sentence → at most three lamps → needs you (at most five, options, the last is Leave it) → broken or at risk, worst first, with evidence, since when, and an owner → changed, evidence required → the topic block → roll-call and sources → could not verify, mandatory.

State is a shape and a colour: fine, watch, broken, did not report. Numbers sit in rows, not sentences. Exceptions are shown; everything fine collapses to a count. Target: one screen and a half, no scrolling to find what needs the owner.

What was built

One standing board

The daily board roll was where the jam came from: a roll re-created every open card with a new id, dropping comments, runs, parent links, parks, retry counts and the reach of the idempotency key. Seven of seven parked cards were claimed and spawned on arrival. The board now stands; done cards are archived after 36 hours when their tree is closed.