Scheduled tasks — the clockwork behind your day.
everything that has to happen on a clock — your morning message, Chantelle's morning message and her replies actually completing things, the kids' calendar and their check-in questions, the household list clearing itself, the Hub doing work that has come due, and the outside data we pull in: your ring, your bank feeds, Rizza's weekly report, the team's hours, the standup recording.
As of September 10, 08:02 PM
What the status words mean
proven · done, not independently checked · partly done · not started · blocked · parked0%blocked
30 steps: 0 proven · 0 partly done · 29 untouched · 1 blocked · 0 parked
agent runs · 2tokens used · 764.1kreview notes · 1dollars charged · not recordedcounted over 1 of 1 run records
The plan as first written
Steps
| Id | Plain words | Percent | State | Proof | What is left |
|---|---|---|---|---|---|
| STEP 1 | Put the list, and the coverage check beside it, where the always-on Mac reads them first | 0% | not started | Shasum -a 256 over BOTH projects/ops/life-os/REGROUP-2026-09-08/lanes/SCHEDULED-REBUILD-LIST.txt and SCHEDULED-COVERAGE-2026-09-08.txt on the Mac Studio and on nicks-mac-mini, all four checksums machine-written and matching pairwise | The step |
| STEP 2 | Build the safety net that catches a broken task | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case heartbeat --case lifecycle --case delivery --case source-time --case eligibility | The step |
| STEP 3 | Every task writes one line when it runs, and the watcher that already runs reads it | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case heartbeat, with the regenerated register carrying each task's cadence AND its declared model tier | The step |
| STEP 4 | A task can never fire twice, even across a crash or two machines | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case lifecycle | The step |
| STEP 5 | Sent is not delivered until the far end has it | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case delivery | The step |
| STEP 6 | Stale information stays visibly stale, and the two dates never merge | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case source-time | The step |
| STEP 7 | Nothing fires for a cancelled, expired or wrong person | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case eligibility | The step |
| STEP 8 | Chantelle's morning message, arriving once and reading right | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case chantelle-morning | The step |
| STEP 9 | Her replies really do complete the thing she answered | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case chantelle-replies | The step |
| STEP 10 | Your 07:36 message, arriving once, with no work in it | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case nick-morning | The step |
| STEP 11 | Your ring data at 06:30, with the gaps repaired at 12:45 | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case oura | The step |
| STEP 12 | Anything overdue moves onto today, by itself | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case overdue | The step |
| STEP 13 | Willow's and Noah's day views built from the real calendar | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case kids-calendar | The step |
| STEP 14 | Willow's and Noah's check-in questions, and asking nothing when there is nothing | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case kids-prompts | The step |
| STEP 15 | The Hub doing the work that has come due, every 15 minutes | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case hub-due-work, plus the runner's own schedule read back at 15 minutes and a full day of passes recording zero tokens | The step |
| STEP 16 | One weekly sweep of business material, stored only after you say yes to that exact batch | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case business-collection, with the weekly slot recorded as Thursday 17:00 Cancun and the Friday 12:00 re-check, and an on-demand run writing its own separate row | The step |
| STEP 17 | Your bank balances arriving each morning, in the family app only | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case era | The step |
| STEP 18 | Rizza's weekly numbers landing in the Hub, checked Thursday 17:00 and again Friday 12:00 | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case rizza-weekly, with the roster cron changed at source from Friday/Saturday to Thursday 17:00 + Friday 12:00 and regenerated | The step |
| STEP 19 | The team's hours and pay landing in the Hub | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case payroll | The step |
| STEP 20 | The standup recording turned into a record the Hub holds | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case standup | The step |
| STEP 21 | One check a day on the client writing slots | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case jasmin | The step |
| STEP 22 | Finish the one watcher, prove its alarm reaches somebody, and catch a lost approval | 0% | blocked | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case watchdog, including a blocked test approval named by the lost-tap sweep inside fifteen minutes and cleared on delivery | The step |
| STEP 23 | Proving the backup can actually be read, not just written | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case backup | The step |
| STEP 24 | Watching what the work costs, and stopping it at the line | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case spend-guard | The step |
| STEP 25 | Keeping approved work moving every 5 minutes, as a script that spends nothing | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case build-coordination, plus the runner's own schedule read back at 5 minutes and a full day of passes recording zero tokens for the timer itself | The step |
| STEP 26 | The weekly check for anything broken or orphaned, with the skill grader inside it | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case larry-weekly | The step |
| STEP 27 | The monthly look at what the outside world has made out of date | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --case benito-monthly | The step |
| STEP 28 | Fix the progress board that silently drops good news | 0% | not started | Node projects/ops/skippy-jobs/lib/board-report.mjs --read --lane ai-builds | The step |
| STEP 29 | Ask Mae one question so the Sunday receipts task can be built or dropped | 0% | not started | Python3 -c "import json,sys;d=json.load(open('projects/ops/life-os/audits/A5/BUILD-PACKAGE/service-contracts.json'));a=d['receipts_missing_covered'];sys.exit(0 if a.get('answer_text') and a.get('answered_on') else 1)" | The step |
| STEP 30 | Check every task is really on, or really and visibly not, then close | 0% | not started | Node projects/ops/skippy-jobs/_test-scheduled-contracts.mjs --read-only-live outcomes returns one row per task for TWENTY tasks (Nick's morning counted once across STEPS 10 and 11), each live with its four receipts or held with a named reason, at most two held | The step |
Done
0 of 30 steps proven
Left
30 of 30 steps not yet proven
Blocked on
- Nothing currently blocked.
Formal remaining plan
| # | Step | Needs Nick |
|---|---|---|
| 1 | Put the list, and the coverage check beside it, where the always-on Mac reads them first | No |
| 2 | Build the safety net that catches a broken task | No |
| 3 | Every task writes one line when it runs, and the watcher that already runs reads it | No |
| 4 | A task can never fire twice, even across a crash or two machines | No |
| 5 | Sent is not delivered until the far end has it | No |
| 6 | Stale information stays visibly stale, and the two dates never merge | No |
| 7 | Nothing fires for a cancelled, expired or wrong person | No |
| 8 | Chantelle's morning message, arriving once and reading right | No |
| 9 | Her replies really do complete the thing she answered | No |
| 10 | Your 07:36 message, arriving once, with no work in it | No |
| 11 | Your ring data at 06:30, with the gaps repaired at 12:45 | No |
| 12 | Anything overdue moves onto today, by itself | No |
| 13 | Willow's and Noah's day views built from the real calendar | No |
| 14 | Willow's and Noah's check-in questions, and asking nothing when there is nothing | No |
| 15 | The Hub doing the work that has come due, every 15 minutes | No |
| 16 | One weekly sweep of business material, stored only after you say yes to that exact batch | No |
| 17 | Your bank balances arriving each morning, in the family app only | No |
| 18 | Rizza's weekly numbers landing in the Hub, checked Thursday 17:00 and again Friday 12:00 | No |
| 19 | The team's hours and pay landing in the Hub | No |
| 20 | The standup recording turned into a record the Hub holds | No |
| 21 | One check a day on the client writing slots | No |
| 22 | Finish the one watcher, prove its alarm reaches somebody, and catch a lost approval | No |
| 23 | Proving the backup can actually be read, not just written | No |
| 24 | Watching what the work costs, and stopping it at the line | No |
| 25 | Keeping approved work moving every 5 minutes, as a script that spends nothing | No |
| 26 | The weekly check for anything broken or orphaned, with the skill grader inside it | No |
| 27 | The monthly look at what the outside world has made out of date | No |
| 28 | Fix the progress board that silently drops good news | No |
| 29 | Ask Mae one question so the Sunday receipts task can be built or dropped | No |
| 30 | Check every task is really on, or really and visibly not, then close | No |
Decisions this lane is waiting on
- None.
blocked Blocked on the items listed above.