Skip to content
C.W.K.
← C.W.K. Quests
🔨

Tinker Quest

New: 2026-11-13Updated: 2026-11-12

Give Pippa hands on a Mac — and teach them to undo only what they can prove they did

The origin story of Tinker — the family's permission-aware, reversible Mac actuator. Watchfire watches, Haven runs the house, Pippa decides; Tinker is the pair of hands that actually changes something on a Mac's screen, and is built so that every change can be taken back. Its first trick is small on purpose: hide a preset's apps while Dad edits video, and restore exactly the processes it hid. The design around that trick — a capability root class, receipts written before effects, one engine behind every trigger — is the real lesson.

8 tracks · 39 lessons · ~8.6h · difficulty: intermediate-to-advanced

Level 0Idle Hands
0 XP0/39 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
Most automation tools are built to do things. Tinker is built to undo them. It is a native macOS menu-bar agent that runs once on every Mac the family registry enrolls, and its first capability hides the apps listed in a preset — never quitting, minimizing or moving them — so a Mac doing heavy video work stops paying for windows nobody is looking at. That sounds like a ten-line script, and the first draft of it was. This quest walks why it is not: why hiding is the first child of an open Capability root class rather than the root itself; why an app is owned by its bundle identifier, process ID and launch time together, never by PID alone; why a prepared receipt reaches the disk before the OS is asked for anything, and what an uncertain receipt means; how a menu item, a global shortcut, a tinker:// link, a Stream Deck key, the Settings window and Pippa's app door all enter one engine; how a short-lived Python worker serves the family's app-action contract without ever touching the Mac, and why a retried request can never toggle twice; how emergency release, a two-step Quit and a deferred logout keep a change from being stranded; and how a lab of disposable fixture apps proves all of it before the first live hide on one of Dad's Macs waits for him. Conceptual open-sourcing, not a repo you clone.

Tracks

  1. 01🔨The Hands

    0/4 lessons

    What Tinker is, which jobs it refuses, and why hiding apps came first

    Before any code: what kind of thing Tinker is. The family already had eyes (Watchfire), a house (Haven) and a brain (Pippa); what it lacked was a pair of hands that could change something on a Mac and then take it back. This track places Tinker among its siblings, walks the editing session that gave it its first job, explains why that job — hiding apps — is the first child of a broader idea rather than the idea itself, and shows why every Mac that takes Tinker runs its own copy with its own state.

    Lesson list (4)Quiz · 4 questions→
  2. 02🌳The Root Class

    0/5 lessons

    An open Capability with three verbs, and the first child that fills it in

    Tinker's engine depends on exactly one abstraction: an open Capability class whose children validate their own input, prepare a list of planned changes, apply each one, and undo each one. This track reads that root line by line, walks HideApplications as the worked example, and spends a whole lesson on the most subtle idea in the design — the difference between a change that failed and a change that provably never happened.

    Lesson list (5)Quiz · 4 questions→
  3. 03🪪Owning a Change

    0/5 lessons

    Three facts make an owner — and a change someone else made is never yours

    'Undo only what you can prove you did' needs a precise idea of 'what you did'. This track builds it: an app is identified by bundle ID, process ID and launch time together; an app that was already hidden is never acquired; a hide is confirmed by watching the process's own state rather than trusting a return value; two presets that hide the same app share it; and when Dad shows an app by hand, his choice beats Tinker's receipt.

    Lesson list (5)Quiz · 4 questions→
  4. 04📒The Journal

    0/5 lessons

    Receipt first, effect second — and what to do when you cannot tell which happened

    Everything Tinker promises after a crash, a forced quit or a bad file rests on one document: the change journal. This track follows a receipt from prepared to applied, shows how a failure part-way through a preset rolls back only what was confirmed, explains why an uncertain or unreadable journal holds the engine instead of letting it guess, and separates the three files Tinker keeps — settings, journal, activity — by what losing each one would cost.

    Lesson list (5)Quiz · 4 questions→
  5. 05🚪One Engine, Many Doors

    0/5 lessons

    Menu, shortcut, link, Stream Deck, Settings — every trigger is a saved command

    Tinker can be asked to act in six ways: from its menu, with a global shortcut, through a tinker:// link (which is how a Stream Deck key reaches it), from the Settings window, from Pippa's app door, and by Tinker itself when it quits. None of them owns its own path to the engine. This track shows how commands and presets are plain data, how every preset and capability gets its commands automatically, how a global chord is registered and how its collisions are reported, why a link may name only a saved command, and how the Activity history records who asked.

    Lesson list (5)Quiz · 4 questions→
  6. 06🔌The App Door

    0/5 lessons

    How Pippa asks — a worker that never touches the Mac, and a request that runs once

    Pippa reaches Tinker through the family's app-action contract: a loopback HTTP door that lists what an app lets her do and runs one action per request. This track opens that door. A short-lived Python worker speaks the shared contract while the resident Swift agent does every native effect; a request ID makes a retried toggle impossible even if the worker dies at the worst moment; requests take turns instead of failing; only a local, non-browser, unproxied caller is admitted; and Pippa must always say which Mac she means.

    Lesson list (5)Quiz · 4 questions→
  7. 07🛑Stopping and Leaving

    0/4 lessons

    Emergency release, secure input, Quit and logout — every exit restores first

    An actuator is judged by how it stops. This track covers the four ways Tinker's work ends abnormally or on purpose: the emergency command that stops everything and restores what it owns; the standing refusal while secure keyboard entry is active; a Quit that restores first and explains itself when it cannot; and the logout, restart or shutdown that Tinker must never block, answered with a deferred reply and an eight-second deadline.

    Lesson list (4)Quiz · 4 questions→
  8. 08🧪Proof and Delivery

    0/6 lessons

    Measure without waiting, test on disposable apps, sign once, and let Dad make the first live hide

    The last track is about evidence. How Tinker reports whether a preset helped without making a key press wait for the measurement, and why a missing reading is never shown as zero. How a lab of disposable fixture apps on Pippa's home Mac proves hide, restore, refusals and the quit path — and why the Accessibility grant there follows the code hash. How the signed app reaches each enrolled Mac without anyone signalling a running copy. And, as a capstone, how you would design Tinker's second capability.

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

Comments 0

🔔 Reply notifications (sign in)
Sign in — Please sign in to comment.

No comments yet — be the first.