All accounts
Admin

Jobs

The nineteen-job daily roster, lane by lane. One question, answered in five seconds: is the machine running?

3 past cadence
Jobs run today2 / 19Counted against 2026-08-18, the date run-due.mjs would pass.
Due now3Past the interval the job's own CLI enforces.
No run recorded108 of them write no schedule at all, so this page cannot say when they last ran — only that nothing claims they did.

Five-minute tick

The reputation and speed-to-lead lane. A job here that has not run today is an outage, not a schedule.

4 jobs
reviewsper account

Watches every review source for new reviews and pages the practice on a one-star.

scripts/review-watch.mjs --due

datajockeyAug 17
repliesper account

Drafts a reply to each detected review within the 15-minute §15.3 floor; a human approves before it posts.

scripts/review-reply.mjs --due

datajockeyAug 17
dmsper account

Routes inbound messages: clinical forwards raw to the practice, administrative stages a draft, nothing patient-facing auto-sends.

scripts/dm-classify.mjs --due

datajockeyAug 17
callbacksper account

Runs the speed-to-lead clock: first pages for queued after-hours requests, then 15-business-minute re-fires.

scripts/callback-page.mjs --due

datajockeyAug 18

Daily roster

Runs every night; each job then applies its own interval gate, so a green run today is normal and so is a quiet one.

10 jobs
citationsper account

Samples the four models on a fixed question set to measure the practice's AI citation share.

scripts/citation-sample.mjs --due

weekly gate. No account is on this job's schedule yet, so it has never had one to run for.

gbpper account

Drafts Google Business Profile posts on the contract's floor cadence and publishes the ones already approved.

scripts/gbp-post.mjs --due

datajockeyAug 17
pagesper account

Builds the monthly search pages and publishes approved ones.

scripts/page-build.mjs --due

datajockeyAug 17
bookingper account

Rebuilds the booking page and its callback widget, the same monthly cadence as the search pages.

scripts/booking-build.mjs --due

datajockeyAug 17
podcastper account

Produces a podcast episode; the Allocator throttles the rate later (§15.6).

scripts/podcast-build.mjs --due

datajockeyAug 17
mimicper account

Produces the mimic test the previous Sunday's Allocator planned — one per client per week (§8.3).

scripts/mimic-produce.mjs --due

every 7 days. No account is on this job's schedule yet, so it has never had one to run for.

scoutall accounts

Sweeps watched creators across platforms, flags outliers, and on Sundays refreshes mechanisms and grid assignments.

scripts/scout.mjs --all

all accountsAug 18
analyticsall accounts

Rolls raw page visits into weekly per-channel counts.

scripts/analytics-rollup.mjs --all

daily. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

scruball accounts

THE scrubber: the only code that reads phi and writes the clean zone (§2.1).

scripts/scrub-rollups.mjs --all

daily. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

exceptionsall accounts

Runs the §13 clock over every open exception, escalates what is past due, and stages the draft.

scripts/exceptions-sweep.mjs --due

daily. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

Sunday night

The learning pass, in order: score the week, extract patterns across clients, then allocate next week's plan.

3 jobs
scoreper account

The Scorekeeper: reads every published item whose result is due and records win or loss.

scripts/score.mjs --due

datajockeynever
patternsall accounts

Screens the fresh outcomes across every client and proposes cross-client patterns (§7.2).

scripts/patterns-extract.mjs --all

Sunday. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

allocateper account

The Allocator: writes next week's plan from the scores, the patterns, and the benchmarks.

scripts/allocate.mjs --due

datajockeynever

First Sunday of the month

The monthly pair: pooled vertical benchmarks with the flywheel, then the hands-off audit, dead last.

2 jobs
benchmarksall accounts

Computes the pooled vertical benchmarks and the §15.7 flywheel report.

scripts/benchmarks.mjs --all

first Sunday of the month. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

auditall accounts

The monthly hands-off audit: checks the whole machine still runs without a human in it.

scripts/ops-audit.mjs --due

first Sunday of the month. Cross-tenant by design (§3.2 crossing 1) — it reads every account in one pass and keeps no per-account schedule.

The roster, in order

19 jobs
#JobCadenceScopeLast runState
1reviews5-minute tickper accountAug 17due
2replies5-minute tickper accountAug 17due
3dms5-minute tickper accountAug 17due
4callbacks5-minute tickper accountAug 18on cadence
5citationsweekly gateper accountnever run
6gbpcontract floor cadenceper accountAug 17on cadence
7pagesevery 30 daysper accountAug 17on cadence
8bookingevery 30 daysper accountAug 17on cadence
9podcastevery 14 daysper accountAug 17on cadence
10mimicevery 7 daysper accountnever run
11scoutdaily, Sundays do moreall accountsAug 18on cadence
12scoreSundayper accountnever run
13patternsSundayall accountsnever run
14benchmarksfirst Sunday of the monthall accountsnever run
15allocateSundayper accountnever run
16analyticsdailyall accountsnever run
17scrubdailyall accountsnever run
18exceptionsdailyall accountsnever run
19auditfirst Sunday of the monthall accountsnever run

Order is run-due.mjs's own: reputation first, then the content producers, then Sunday's learning pass, then the sweeps. A job exits 0 when nothing is due, so a quiet run and a skipped run look identical from outside — which is why this page reads the schedule rather than the log.