C.W.K.
Stream
← C.W.K. Quests
🗼

Watchfire Quest

New: 2026-07-24Updated: 2026-07-24

One fire on the tower, watching every machine you own.

The origin story of a fleet control plane. Why build one watchtower over your own machines instead of renting device-management SaaS — and how 'desired state and observed state are different things' becomes a way of running everything you own.

8 tracks · 37 lessons · ~6h · difficulty: intermediate-to-advanced

Level 0Lone Machine
0 XP0/37 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Watchfire is the office-owned control plane for a small fleet of Macs. Not a monitoring dashboard bolted onto SSH, not a rented MDM, not a script that fans one command across every host and hopes. This quest walks the engine end to end — why a fleet is a decision you record rather than a network you scrape, why one boolean online can never describe a real fleet, why membership is a lifecycle with tombstones instead of a row you delete, why every change is a durable operation that survives the browser closing, why no automation should ever accept a blank-check shell string, why the same Mac is many different doors depending on how you knock, how a scary one-off becomes a frozen resumable campaign, and where the engine stops and the brain begins. Eight tracks, thirty-seven lessons, eight quizzes. The machines in the story are Dad's nine; the principles are for anyone who has ever run more than one computer and felt them drift.

Tracks

  1. 01🗼The Watchtower

    0/4 lessons

    What a fleet control plane is, why it watches the machines themselves, and who holds the pen.

    Before any schema, the orientation. Watchfire is a fleet control plane — one host that keeps watch over a small group of Macs and holds the durable record of what they should be. This track frames the problem a control plane solves (machines drift, and a spreadsheet won't save you), draws the line between managing the machines themselves and the apps that run on them, explains why exactly one host holds the pen, and why a control plane earns the right to change anything by first proving it can only look.

    The cwkWatchfire managed-fleet inventory: nine Mac cards, each naming its role, model, chip, and observed OS build behind a ready pill and a colored role stripe, above a separate Infrastructure section holding a single NAS endpoint card.
    The machines themselves, as one canonical inventory — role, silicon, and how long ago each was last seen.
    Lesson list (4)Quiz · 4 questions
  2. 02🎛️Two Kinds of State

    0/5 lessons

    Desired vs observed vs derived — why one boolean can never describe a fleet, and why a sleeping laptop isn't a problem.

    The heart of the whole engine. A fleet cannot be described by a single online flag, because the same flag means opposite things on an always-on server and a travel laptop. This track splits the question into two layers — desired state (policy: what a machine should be) and observed state (fact: what a probe saw) — computes a derived status from both plus freshness, reserves the color red for a genuinely violated expectation, and closes with the epistemics of evidence: some numbers are authoritative, some are only clues, and a missing number is unknown, never zero.

    Lesson list (5)Quiz · 5 questions
  3. 03🪪Membership Is a Decision

    0/5 lessons

    The registry is identity, the tailnet is not the fleet, and 'remove' means retire — a tombstone, never a delete.

    A fleet is the set of machines you chose to manage, recorded explicitly — not whatever answers a ping. This track makes identity a thing you assign (a stable host_id anchored to hardware evidence, with hostnames and IPs demoted to mutable observations), separates the tailnet from the fleet (the network is full of devices that are not yours to manage), walks the enroll → suspend → retire → restore lifecycle as typed operations, insists that removal is a tombstone rather than an erase, and treats the starting count as seed inventory, never a schema limit.

    Lesson list (5)Quiz · 5 questions
  4. 04⚙️Durable Operations

    0/5 lessons

    Every change is a durable operation with a frozen target, a preflight, and a recovery — and the chat turn is never the state store.

    A button click that runs and hopes is a wish, not an operation. This track makes every mutation a durable record with a state machine (draft → planned → awaiting_approval → running → verifying → succeeded | failed | needs_attention | cancelled), freezes the target set at approval so a changing selector can't expand the work, lets targets progress independently so seven successes and one sleeping host stay three honest outcomes rather than one ambiguous failure, keeps operation state out of the chat turn entirely, and closes with the per-host locks and idempotency keys that make retries safe.

    Lesson list (5)Quiz · 5 questions
  5. 05🧱Typed, Not Shell Fan-out

    0/5 lessons

    No durable API takes a blank-check shell string. Risk classes, a visible escape hatch, and propose-don't-run instead.

    The most dangerous thing a fleet tool can offer is 'run this command everywhere.' This track refuses to let an arbitrary shell string be a durable automation contract, sorts every action into risk classes with matching postures, keeps the interactive terminal as an explicit and visibly targeted escape hatch rather than a disguised automation path, holds the line that a proposed command is inserted but never auto-run, and freezes each operation's kind and risk so it can't quietly escalate — validated at definition, claim, and start, failing closed on any mismatch.

    Lesson list (5)Quiz · 5 questions
  6. 06🔑Execution Envelopes

    0/4 lessons

    The same Mac is many doors. Which capabilities you get depends on how you knocked — and reachable is never the same as allowed.

    The most under-appreciated fact in fleet work: a machine is not one capability surface. This track shows that the same Mac exposes different powers through an interactive login, an SSH session, a launchd daemon, or a delegated agent; tells the real war story of an SSH session that could push to GitHub but couldn't read the login Keychain gh needed; makes every executor declare its capabilities and every step declare its requirements so preflight can match them; and hammers the line that reachability is not authorization — headless work never assumes GUI, Keychain, or volume-owner access.

    Lesson list (4)Quiz · 4 questions
  7. 07🚀Pan-Fleet Campaigns

    0/5 lessons

    Co-author, compile, freeze, execute, template. Speed-first and resumable — a sleeping Mac never fails the campaign.

    Some fleet work is too big and too new to just do — upgrade every machine's OS, migrate a root path the whole system depends on. This track builds those campaigns the safe way: co-authored as a conversation, compiled and frozen like a plan, run speed-first with independent targets in parallel, and resumable per target so a sleeping Mac is pending work rather than a failure. It closes with two real campaigns — a fleet-wide OS upgrade and a root-path migration — each teaching a durable lesson about doing dangerous, irreversible work without losing your nerve or your evidence.

    Lesson list (5)Quiz · 5 questions
  8. 08🤝Assist, Don't Absorb

    0/4 lessons

    The engine records and executes; the brain judges. Read before you claim, keep mutation deliberate, and own the way you run your machines.

    The closing track draws the line the whole engine is built around. Watchfire owns fleet facts and operation state; cwkPippa owns identity and judgment — and each consumes the other's contract without absorbing its internals. The Sidekick pulls current state by a stable id and reads fresh before making any claim, never caching a fleet snapshot into a chat turn. Mutation stays a deliberate, gated posture rather than a default. And it ends where it began: Pippa is the brain, Watchfire is the eyes and hands, and the whole point was always to own the way you run your own machines.

    Lesson list (4)Quiz · 4 questions
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.