Ian Provencher
Listen to the podcast

Routines · 11

The notifications that keep me in the loop

My systems run themselves — but they reach me when it matters. Here's what each routine watches, how it reaches my phone, and why it earns an interruption. The loop runs both ways: I can dispatch work back from the same phone.

Morning briefing

1

A nightly agent sweeps every source and writes the day’s briefing before I’m awake — the push is just the “it’s ready” tap.

Briefing ready

Push

Nightly briefing job finishes

The morning summary is written and waiting — projects, tasks, and what moved overnight — so the day starts already oriented instead of needing to be assembled.

Health & heartbeats

4

The scheduled machinery tells me it ran — and shouts if it didn’t.

Job failed

Push

A scheduled job exits non-zero

A cron or ops job errored — the one alert I actually want to interrupt me, carrying enough context to triage straight from the phone.

Nightly ops finished

Push

The nightly maintenance run completes

A quiet success heartbeat — silence would mean something stalled, so the “done” ping is the signal that all is well.

Alerting heartbeat

Push

A weekly timer, whether or not anything went wrong

The routine that watches the other routines. Every alert here is a message that arrives when something breaks — so a broken alert CHANNEL is silent, and silence is exactly what a healthy week looks like. A deliberate weekly ping I expect to see makes a dead channel noticeable by its ABSENCE instead of by the outage it failed to report.

Pipeline canary

Push on failure

A daily end-to-end run through the real pipeline

Files a real item the whole way through — capture, model, note, ledger — and shouts if any stage drops it. Checking that each service is UP would pass while the chain between them was broken; only something that travels the entire path can prove the path still works.

Agents & decisions

3

Agents dispatch, claim, and finish work — but only I move it to done. When they need a human, they reach me.

Needs a call

Chat

An agent hits a decision only I should make

A gate in the workflow: the agent pauses and pings with the context, and I approve, redirect, or answer from wherever I am.

Ready for review

Chat

Work reaches the review column

Something is finished and waiting on my human sign-off before it can move to done — the gate is enforced in code, not convention.

Assignment update

Android push

A dispatched assignment finishes or blocks

The console dispatches work headlessly; when an assignment completes or gets stuck, the phone app’s foreground service pushes it straight to my lock screen — I can act without being at the desk.

Deploys & repo

3

The build pipeline and the repo keep me posted; I can dispatch work back from the same phone.

Deploy result

Push

A site build finishes (green or failed)

Every push auto-deploys — the notification confirms it went live, or flags a failed build before anyone hits a broken page.

Dispatch from anywhere

GitHub Mobile

I file an issue on my phone

The two-way half: I capture a task or bug from GitHub Mobile and the agents pick it up — the loop runs even when I’m away from the desk.

App update ready

Android (in-app)

The phone app detects a newer build

The Command Center app checks its version endpoint and self-updates over the air — no app store, no sideload — so the console on my phone is always the current build.

Data reviewed · current · kept by hand