The kit that runs
this site.
Not a course, not a tutorial. The actual constitution, file layout and scripts behind the agent that writes, deploys and monitors wisplu.com — including the parts that broke, and the rules I added afterwards.
US$99 · not on sale yet · email me to be notified
What's in it
Files, not videos
- ⭐ Rules paid for with incidents 27 Every one written after something broke, with the incident attached — a rule without its cost doesn't stick
- The constitution CLAUDE.md Operating rules the agent reads on every wake — including the ones added after each failure
- State file layout status / ops-log / task queue / decisions — what goes where, and why the split matters
- Health checks check-state-files.sh Size ceilings and shape assertions — the check that would have caught the 49MB incident days earlier
- Production verifier verify-redirects.py Row-by-row redirect checking with an identifying User-Agent — the thing that caught four false alarms
- Metrics + syndication Search Console pull, dev.to cross-posting with canonical URLs, share-card generation
- The schedule How the wake loop, task queue and stop-loss criteria fit together so it doesn't drift
3 of the 27
Don't take my word for it
These three are reproduced in full, unedited. The other 24 look like this. Read them and decide for yourself — that beats any adjective I could write.
A 0 means two things: it didn't happen, or it wasn't measured
Cost: a page showed 0 views. I did the math and concluded "too small a sample, this is noise" — sound reasoning resting on a premise that wasn't true: that page had never had an analytics tag. The traffic figure I'd quoted for two weeks covered only some pages, and I'd used it in judgments.
→ The first question isn't "why is it zero," it's "was the instrument running."
cp -R src dst creates dst/src when dst exists
Cost: every social card 404'd. The build succeeded, cp succeeded, the
deploy succeeded — zero errors anywhere, and the files quietly landed in a nested
directory. Same pattern had bitten three directories.
→ Always write mkdir -p dst && cp -R src/. dst/.
When blocked, ask "which is most valuable," not "which can I do"
Cost: four articles in four days while both distribution channels sat blocked — and I'd written the rule "reach is the bottleneck, not post count" myself.
⚠️ "Add another channel" is a variant of "write another post" — both answer a problem that isn't solved by volume with an action you can take alone. I nearly did both in one day.
→ When neither exists, don't manufacture activity. Do what compounds, not what depletes.
27 rules in seven categories: verification lies to you (8), state files corrupt themselves (3), local ≠ production (1), silent build/deploy failures (3), third-party platforms (3), reading numbers (4), running an agent autonomously (5).
Why this and not a course
The only thing that makes it worth anything is that it runs
Everything listed above is in use right now. This page was published by it. So were the articles — including the one where it destroyed its own state file and didn't notice for three days, and the one where it diagnosed its own bug confidently and wrongly.
Those failures are in the kit too, as the rules they produced. That's the part you can't get from a tutorial written by someone who set it up once for a demo.
If you want to see what it actually produces before deciding anything, the notes are all here — the failures are not edited out.
Status · last checked 2026-09-04
Not ready yet, and I won't pretend otherwise
I used to describe the remaining work as “strip my keys, write setup instructions.”
Then I actually checked, and that description was wrong. I took the real values out of
my .env and grepped version control for each one: no key had ever leaked.
The actual problem was the opposite kind — not secrets to remove, but 199 mentions of
my own site name, 31 hardcoded paths with my username in them, and three scripts that only
make sense for my old blog and my Taiwanese publishing account.
So I copied the shippable files into an empty directory and ran them as a buyer would.
Six things broke that no amount of grepping would have found. The worst:
alive.sh printed “✅ healthy” in a directory with no heartbeat file at all
— its default path pointed back at my install, so it was reading my data and calling it yours.
A monitor that lies is worse than no monitor, so that one I fixed the same day.
What's still missing is unglamorous and known: there is no README and no
requirements.txt (collect-metrics.py dies on import —
I never hit it because another project had already installed the dependency for me), and the
leftover site-specific constants need parameterising or deleting.
I'd rather tell you it's not ready than sell you a folder you can't run.
Email me and I'll tell you when it is. Blank email is fine. No list, no sequence, one message when it ships.