Skip to content
Class 91 · Advanced · Free, no signup

One sentence in.
A week of work out.

“Make next week's shorts.” That instruction starts a ten-stage pipeline across 49 orchestration scripts that has produced twelve finished YouTube Shorts without further input. This class is the machinery underneath: the memory files that survive between sessions, the gates that refuse to ship, the work orders that move tasks between agents, and the voice system that keeps unattended output sounding like a person. Seven projects, every prompt written out.

12 Shorts shipped 10 pipeline stages 49 scripts 7 projects to build 17 days dark ~70 min read

Quick answer

An agent stops being a chat window and becomes a production system when four things exist outside it. Memory files, because a session is ephemeral and everything that persists is a file you wrote. Gates that refuse — scripts that exit non-zero and block the build, so a bad deploy cannot happen rather than being noticed later. Work orders, because a conversation cannot be audited and a numbered document can. And a written voice specification, so output produced while you sleep still reads like you wrote it. Put those four in place and one instruction can drive ten stages: measured on 2026-09-05, that chain has produced twelve dated Shorts between 20 July and 29 August 2026. It also went dark for seventeen days because of a single copied config value — which is the other half of the lesson.

Key takeaways

  1. A session remembers nothing. Files do. Five levels, narrowest wins: prompt, skill, project, personal, global.
  2. A gate that cannot fail is not a gate. Test every check against a deliberately broken input before you trust it.
  3. Never hardcode a deployment target. Resolve it at runtime. Hardcoded identifiers rot silently and the agent will not notice.
  4. An agent's self-report is its intention, not a result. Verify the artifact — the file, the API response, the rendered page.
  5. Write your voice down and revise it against failures. The revisions are the system; the first draft is just a guess.
  6. Something outside the pipeline has to count what it produced. Ours didn't, and the manifest and the renders disagree in both directions to this day.
MODULE 00

Ten stages, one sentence

Start with the thing that makes the rest worth building. A single instruction — make next week's shorts — hands off to a chain that does not ask another question until it has finished.

ONE INSTRUCTION. TEN STAGES. TWELVE SHORTS.measured 2026-09-05 in the pipeline working folder - 12 dated renders, 49 orchestration scripts"make next week's shorts"01catalog02select03script04hook05generate06assemble07end cards08subtitles09schedule10verifystage 05 is one call in a chain of ten. The class teaches the chain, not the call.THE TWELVE RENDERS0107-200208-050308-060408-070508-070608-070708-080808-080908-081008-251108-291208-2917-day outage - wrong account, every call greenONE ENTRYlisted in the manifest - never renderedanother rendered twice, and is not listed at all12 built, 16 cataloguedthe manifest and the artifacts disagree in bothdirections. Nobody noticed until an audit.A pipeline that runs unattended still needs something that counts what it produced.Both defects were found by comparing the list to the renders - two sources, one question.MEASURED 2026-09-05 - dated final renders, excluding dependency directories.
The chain, and what it produced. Twelve dated renders between 2026-07-20 and 2026-08-29, measured from the working folder on 2026-09-05, excluding dependency directories. The dashed line is a seventeen-day outage — module 05.

Ten stages. Only one of them generates media, and that one is the least interesting. The transferable part is the shape: a catalog decides what is worth making, selection picks from it, writing stages produce the words, assembly stages produce the artifact, and the last stage checks that the thing actually exists. Swap the artifact for a newsletter, a changelog, a set of product descriptions or a weekly report, and the chain is identical.

rendered12dated finals
catalogued16four still queued
scripts49orchestration, excl. deps
longest gap17d2026-08-08 → 08-25

What the catalog does, and why it matters most

The stage everyone skips is the first one. A catalog file holds the inventory of things worth making — in this system, every published class, with enough metadata to decide which would make a good Short. Selection reads it, applies rules, and picks.

That is what makes the instruction short. “Make next week's shorts” works because the agent is not being asked what to make. It is being asked to run a decision it already has the inputs for. Every hour spent building the catalog buys back a sentence in every future instruction — and, more importantly, makes the output reproducible instead of dependent on how well you described things that morning.

The defect this figure is hiding

Twelve renders exist. The manifest lists sixteen — and the two disagree in both directions: one entry has a render but appears nowhere in the list, another sits in the list with no render at all. Nobody noticed for weeks, because nothing outside the pipeline was counting. An unattended system needs an instrument pointed at it that it does not control. That is module 02.

MODULE 01

What the agent knows when it wakes up

Every session starts from nothing. Whatever you explained yesterday is gone. The agent that runs your pipeline at 08:00 has never met you, and the only things it knows are the files it loads before it reads your instruction.

Which means agent behaviour is a filesystem problem, not a prompting problem. Almost every complaint that starts “it keeps doing X” is a fact that lives at the wrong level, or nowhere at all.

WHAT THE AGENT KNOWS WHEN IT WAKES UPa session is ephemeral - everything that persists is a file you wrotethe prompt you typethis turn only5skill filesloaded when triggered4GEMINI.mdthis project, every turn3AGENTS.mdyou, every project2global ruleseverything, always1Narrower beats wider. The prompt wins over the skill, the skill over the project,the project over you, you over the defaults - and none of it survives without the files.
Five levels, narrowest wins. A rule in the prompt beats the skill, the skill beats the project file, the project beats your personal file, and your personal file beats the defaults. Nothing above the bottom rung survives a restart unless it is written down.

Where each kind of fact belongs

The factLevelWhy there
“Use tabs, not spaces”personalTrue of you everywhere. Write it once.
“This project deploys via the REST API, not the CLI”projectTrue here, false elsewhere.
“When auditing a page, check these nine things”skillOnly needed when that task comes up. Loading it always is waste.
“Ignore the cache this once”promptGenuinely one-off. Anything you type twice belongs a level down.
“Don't hardcode the deploy target”nowhereThis one was in nobody's file. See module 05.

The section that earns its keep

Every memory file should carry a known traps section, and it should start empty. Each time the agent does something expensive and wrong, one line goes in. Not a description of the fix — a description of the trap, in the form of an instruction that would have prevented it.

## Known traps (already cost time — do not re-hit)

- Text transforms on this filesystem can strip carriage returns.
  Verify with the file reader, never by echoing the file back.
- A build tool's reported output size is not what the server sends.
  Measure the artifact over the wire.
- Deploy target IDs rot. Resolve at runtime by role, never paste an ID.

After a few months that section is the most valuable file in the project, and it is the reason a fresh session can be trusted with real work. It is also the cheapest thing in this entire class to start: open a file, write the heading, add the next thing that bites you.

Precedence bites when two files disagree

If the project file says one thing and a skill says another, the narrower one wins — which is usually what you want and occasionally a disaster. The rule to write down: a broad file states principles, a narrow file states exceptions. If a project file contains an exception, it will silently override every skill that depended on the principle.

MODULE 02

Gates that refuse

A gate is a script that checks one thing and exits non-zero when it fails. A gate chain is a build that runs all of them and writes nothing at all unless every one passes. The difference between that and a linter is the refusal: a warning gets read once and ignored forever, and a non-zero exit stops the truck.

Five checks catch the great majority of what goes wrong when an agent is left alone. They are ordered, and the order matters — each one is cheaper than the next.

#The checkWhat it stops
1Is this a document read back, or an observation?A claim the agent inherited from a file being reported as a finding.
2Could the method have returned a different answer?A check that passes everything. If it cannot fail, it measured nothing.
3Has a second, independent method agreed?Confident single-source failures — and confident single-source successes.
4Was the number re-read from its source today?Figures carried forward from older work that have since changed.
5Has a person looked at the artifact?Output that is technically correct and useless. The one gate you cannot script.

The two failures that make the case

Gate 2, learned the expensive way

A price-extraction routine returned identical figures for three different products. Run twice, same result — which reads like confirmation. It was not: the code was reaching the same shared element three times. The way it was caught was to feed it a product that had to be different. It was, and the original reading turned out to be right after all — but it was only trustworthy once the instrument had been shown capable of disagreeing. Prove a check can fail before you believe it passed.

Gate 5, which no script will ever cover

Two diagrams in an earlier class passed every geometric assertion — nothing overlapped, nothing overflowed — and were unreadable. One had a four-pixel band under a legend describing it. The other rendered as scattered dots with no visible pairing. Both were correct and both were useless. A geometry check confirms things do not collide. It cannot confirm they communicate. One look, once, after the assertions pass and before anything ships.

And gates get things wrong too

A check written to ban a dangerous CSS property fired on the comment explaining why the property is banned. Fixed by stripping comments — then fired again on a later page that quoted the property in prose while teaching this exact lesson. The durable fix was to scope it: a text-matching gate scans only the region where the matched thing can do harm, which for a CSS property means stylesheets and nothing else.

The general rule is worth more than the specific fix. When a gate fires on content you believe is correct, the gate is a suspect. Repair the instrument. Never edit the work to make a check pass — that is how a document ends up accurate to its checker and wrong about the world.

Which check would have fired?

Interactive · Huntround 1 of 3

Find the gate that catches it

Three real failures. In each, exactly one of the five gates would have stopped it before it shipped.

A price reader returned the same figure for three different productswhich gate catches it?
run twice, same answer both times

Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

MODULE 03

Work orders, not conversations

When work moves between two agents — or between you and an agent that will run while you sleep — a chat message is the wrong container. It cannot be audited, re-read, diffed or handed to a different model six weeks later. A numbered document can.

A work order has four parts, in this order, and the order is doing work:

WO-NNNAMEoutbox → agent → report
  1. What is settled — explicitly do not reopen. Stops the agent re-litigating finished decisions, which is where most wasted runs go.
  2. The ask — numbered A1..An, ordered by how much each matters, so that a run which stops early stops in the right place.
  3. Format — how every answer must be labelled, with sample size and date. Decided before the answers exist, so it cannot be bent to fit them.
  4. Stop conditions — and the line that saves the most time: do not open new work; write backlog items down instead of fixing them.

The report comes back as a sibling file, WO-NN_NAME_REPORT.md, and gets audited by someone other than its author. A report that does not state what it could not verify is incomplete and goes back. That single rule changes agent behaviour more than any amount of prompt tuning.

This class was built through four of them

Not as an illustration — that is genuinely how the research underneath this page was produced. Each round caught something the round before it had missed.

THE LOOP, RUN ON ITSELFoutbox to the agent, report back, audited here - four rounds on one research fileWO-071,008 lines deliveredcaught:Project 4 taught a technique that was excludedWO-07aProject 4 replaced, +19 failure modescaught:gate fired on the page's own proseWO-07bgap check redone, voice system, censuscaught:wrong source: 2 of 14 classes checkedWO-07cShorts pipeline, 3 repairscaught:a blind find-replace, then a correct refusalEvery round found something the round before it had missed - including twodefects in the checks themselves. The loop is the instrument.
Four rounds on one research file. Two of the four caught defects in the checking scripts rather than in the work. That is the loop functioning correctly, not failing.

The round that mattered most

The first delivery was 1,008 lines and genuinely good — and one of its seven student projects taught a technique that had been explicitly excluded, because the agent read the exclusion as remove the specific identifiers rather than do not teach this approach. It had complied to the letter and missed the point entirely.

The fix kept every transferable lesson — queue design, safety gating, deduplication, rate limiting, receipts, quarantine — and changed only where the output goes: to something the student owns. Nothing of value was lost. When an exclusion has a reason, put the reason in the work order. The first version stated the rule; the second stated why, and the second was obeyed.

The round where the rule paid off

In an earlier round, an agent hit a checker that flagged a term the document was using correctly, and ran a whole-file find-and-replace to make the check pass — renaming three factual statements in the process. A standing rule went into the next order: if a check fires on content you believe is correct, stop and say so; never edit the work to satisfy a check.

One round later the same agent hit another over-broad check, stopped, and reported it instead of acting. The false positive was real, the text was correct, and nothing was damaged. That is the whole argument for written protocols in one exchange.

Six claims from this build. Which hold?

Interactive · Ledgerclaim 1 of 6

Six claims, six measurements

Each row pairs something it would be reasonable to assume about this system with what was actually measured on 2026-09-05.

The pipeline produced roughly ten Shorts

Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

MODULE 04

Teaching it to write like you

Everything above gets an agent producing correct output. None of it stops the output sounding like an AI wrote it. For anything with your name on it — a newsletter, a script, a product description, a Short — that gap is the whole problem, and it is the one thing you cannot fix by prompting harder each time.

The fix is a file. Not a prompt you retype, but a written specification of how you write, loaded before the agent drafts anything, and revised every time the output is wrong.

Six steps, and the fifth is the one that works

  1. Gather. Collect a corpus of your own prior writing. Not your best writing — your typical writing, because that is what has to be reproduced.
  2. Extract. Have the agent analyse it for sentence length, punctuation habits, recurring constructions, and the words you never use. Machine analysis beats introspection here; almost nobody can accurately describe their own register.
  3. Draft. Turn that into rules. Positive rules for what to do, and a banned list for the tells you want killed on sight.
  4. Test. Give the agent a real task and read the output cold.
  5. Revise against the failure. Every time something reads wrong, add the rule that would have prevented it. This is the entire system. The first draft is a guess; the revisions are the asset.
  6. Wire it in. Put the file at the right level (module 01), and name it in the project file so every session loads it without being asked.

What a mature voice file contains

The reference system's runs to seven rules across a small file: who you are and who you are writing for; cadence and structure; how precise to be and when precision becomes stiffness; punctuation habits and banned style; the constructions that recur in your own writing; how accuracy is handled; and how the register shifts by context — because you do not write a changelog the way you write a launch post.

Seven rules is not many. The value is not in the count. It is in the fact that each one was added after something came back wrong, over months.

How you know it worked

This is the question most people skip, and skipping it is why most voice prompts drift. Judging output by reading it is fine for one draft and useless as a system — you will accept things at 23:00 that you would reject at 09:00.

The check that actually works is a negative one. Rather than asking “does this sound like me?”, ask the agent to run its own draft against the banned list and the rules, and report which rules it applied and which it could not. A rule the agent cannot apply is a rule that is vague, and a vague rule is the source of the drift. Tighten it, and the file gets better rather than longer.

What this class deliberately does not publish

You will not find Design Delight Studio's voice corpus here: no signature phrases, no hook rules, no banned-word list, no before-and-after using real DDS copy. That is months of work and it belongs to the studio.

What is here is the method, plus a generic template where every value is a prompt to you. The test applied to every line of this module: could a reader use it to make an agent write like themselves? Good — that is the class. Like somebody else? Then it was cut.

The payoff, and why it goes at the end

The voice system is what makes module 00 possible. A ten-stage pipeline that runs unattended produces titles, hooks, scripts and descriptions with nobody watching. Without a written voice spec, all of that arrives in the flat, hedged, faintly enthusiastic register that gives the game away instantly.

The voice file is not a nicety bolted onto the automation. It is the thing that makes unattended output publishable at all.

MODULE 05

Seventeen days dark

On 8 August 2026 the pipeline rendered three Shorts. It then produced nothing until 25 August. Seventeen days, no output, no alarm.

Nothing had crashed. No credential had expired. Every call the pipeline made returned a success. It was authenticating perfectly — against the wrong account.

last good run08-08three renders
dark17 daysno output, no alert
failure found08-23investigated, then fixed
back08-25output resumed

The cause was one number

Signing into a browser-based service, the account you get is determined by an index — a position in the list of accounts signed into that browser profile. That index had been established once, correctly, and written into a config as a constant.

The index is a property of the profile, not of the account. The same account sits at a different position in a different browser profile. When the value was carried from one profile into another it kept authenticating, kept succeeding, and kept operating on somebody else's workspace.

what was written      an index, copied from a working profile
what it means         "the Nth account signed into THIS browser profile"
what was assumed      "the account"
result                every call succeeds, against the wrong target, for 17 days

This is the same failure as a hardcoded deployment target, wearing different clothes. In the same ecosystem, four separate files still name a deployment target that turns out to be a testing environment, and one build document instructs promotion to a target that has been dead for months. Every one of those was correct the day it was written.

The fix, and the general form of it

The account resolver now throws rather than proceeding. It refuses on a wrong account, on an unexpected host, and on an authentication challenge. Before it asserted nothing; now it cannot continue while an assumption is unverified.

The rule that generalises, and the one worth taking away from this whole class:

Never carry an identifier between environments

Resolve it at runtime, by a property that is true everywhere — the role, the name, the handle — not by a position or an ID that happens to be correct in the place you copied it from. And when you must pin one, assert it and fail loudly. A resolver that cannot refuse is a resolver that will one day be confidently wrong for seventeen days.

Trace the failure yourself

Interactive · Anatomyregion

Seventeen days, field by field

Every observable signal during the outage, and what each one was actually telling you.

The pipeline between 2026-08-08 and 2026-08-25

Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

What should have caught it

Not a better model, and not a more careful prompt. Three cheap things, none of which existed:

  1. An assertion at the resolver. One check, comparing the resolved account against the expected one, refusing on mismatch. Now present.
  2. An output counter outside the pipeline. Anything that knows how many artifacts should exist by Friday and says so when they do not. Still absent — it is the top backlog item, and it is the same gap that lets the manifest and the renders disagree today.
  3. A note in a memory file. “This index is per-profile, never copy it.” One line, written the first time the value was set, would have made the second use impossible.

Seventeen days is what it costs to skip all three. The class ends with the projects that build them.

MODULE 06

Build it yourself — seven projects

Each one is a working version of something in the system above, reduced to what a person can build alone against a target they already own. They ladder: project 1 is an evening, project 7 is a weekend and assumes the rest.

1 · The deploy gate

A pre-deploy script that runs three checks and blocks the deploy on any failure, plus a deploy script that aborts if the gate fails and backs up before overwriting.

difficulty 1/5~1 evening12 steps

2 · Persistent memory

A knowledge store the agent writes to and reads back in a later session, wired into a project file so context survives a restart.

difficulty 2/5~2 hours10 steps

3 · The count sweep

One number that must stay identical across four files, a sweep that audits all of them, and an increment that refuses to finish if they disagree afterwards.

difficulty 3/5~3 hours15 steps

4 · The safety pipeline

Queue, content audit gate, duplicate detection, rate limiting with backoff, receipts, quarantine with replay, and a dry run that proves the path without sending. Destination is anything you own.

difficulty 4/5~1 day18 steps

5 · Skill workshop

Three custom skills — one read-only, one that mutates with a safety gate, one with reference files — and the precedence rules that decide which wins.

difficulty 3/5~4 hours12 steps

6 · The voice system

Build a voice specification from your own writing, wire it into every session, and add the negative check that tells you which rules the agent could not apply.

difficulty 3/5~4 hours12 steps

7 · The capstone

Everything assembled: research spine, work order, build, gate chain, staged deploy, independent verification, promotion. The full path this class was built on.

difficulty 5/5~1 weekendassumes 1–6

Project 1, in full

The first four steps of the first project, exactly as you would type them. The pattern holds for all seven: a prompt, a thing to look for, and a gate before moving on.

1.  Create the project folder and connect it as a workspace.

2.  Create AGENTS.md at the root: your name, your constraints, and an
    empty "Known traps" heading you will fill in as you go.

3.  Create the project file with your deploy target, API version, and
    file conventions.

4.  Prompt, verbatim:
    "Create a preflight script that runs 3 checks before deployment:
     [check 1 - your syntax trap], [check 2 - your naming convention],
     [check 3 - your config validity]. Exit 1 if any fail, 0 if all pass."

    ✓ you should see:  a script that exits non-zero on bad input
    ✗ if it warns and continues, it is a linter, not a gate — say so and
      ask for the exit code
    GATE: do not continue until you have run it against a deliberately
    broken file and watched it refuse.

Which project fixes which failure?

Interactive · Decidercase 1 of 6

Would this have caught it?

Six real failures from the systems in this class. For each: would the named project's technique have prevented it?

A deploy went to a testing environment for weeks because the target ID was pasted into four files. — Project 1's runtime-resolved target.

four files still carry the stale ID today

Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

The gauntlet, one more time

Four claims an agent might hand you at the end of an unattended run. Run each through the five checks from module 02 and see where it stops.

Interactive · Gate Runnercandidate 1 of 4

Run each claim through the gauntlet

Five checks, in order, cheapest first. Four claims from real runs. See how far each gets.

All 13 checks passed and the deploy is live.

Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

Build your own work order

Fill in four fields. The output is a work-order template you can hand to any agent, in any tool, with the four parts in the order that makes them work.

Interactive · Forgelive

Build your work order

Four inputs. The generated file is the container work moves in — settled first, ask second, format third, stop conditions last.


Your answers stay in this browser. Nothing is sent anywhere. Reset clears them.

What we would change tomorrow

  1. An output counter outside the pipeline. The top backlog item. Something that knows how many artifacts should exist and says so when they do not. Its absence is why seventeen days passed unnoticed and why the manifest still disagrees with the renders.
  2. Resolve every remaining hardcoded identifier. Four files still name a testing target as though it were production. Each was correct when written.
  3. Comment-stripping as a shared function. Every text-matching gate should get its input through one place that removes documentation first, instead of each gate rediscovering the problem.
  4. Write the traps down at the moment they bite. The known-traps section is the cheapest thing here and the most often skipped.

Bottom line

An agent becomes a production system the moment the important parts stop living in the conversation. Memory in files, because the session forgets everything. Gates that exit non-zero, because a warning is a suggestion and a refusal is a rule. Work orders, because a numbered document can be audited six weeks later by a different model and a chat cannot. And a written voice specification, because unattended output with your name on it has to sound like you or it should not go out at all.

Get those four in place and one sentence drives ten stages. Skip them and you get what this system got: twelve Shorts, a manifest that disagrees with its own output in both directions, and seventeen silent days caused by a number that was correct in the place it was copied from. The pipeline was never the hard part. The instruments pointed at it were.

Confidence

Measured
Twelve dated renders and their date range, 49 orchestration scripts, the ten stages, and the manifest-versus-artifact mismatch — all enumerated from the working folder on 2026-09-05, excluding dependency directories. The seventeen-day gap is the interval between two dated renders and is corroborated by an independent incident record naming the same cause on 2026-08-23.
Calculated
The outage length, from the two render dates. The four-of-sixteen catalogue shortfall.
Not verified
Whether every one of the twelve was produced with no human intervention at all — the artifacts show a re-run and a variant, so at least one run was touched. The enabled state of the scheduled tasks feeding the pipeline. Whether the seven projects each take the estimated time; those are considered estimates, not measurements.
Corrected during the build
A student project that taught an excluded technique was replaced. A gap analysis checked against build files rather than the published curriculum, and was redone. A whole-file find-and-replace altered three factual statements and was reverted. Two checking scripts fired on correct content and were repaired rather than the content.
Deliberately withheld
Design Delight Studio's voice corpus, hook rules and banned-word list; deployment identifiers and credentials; and the internals of the studio's own content engine. The method is taught in full; the implementation is not published.

Questions

What does this class cover that the earlier Antigravity classes do not?

The Academy already teaches installing Antigravity, first runs, the IDE tour, multi-model routing and authoring a single skill. This class starts where those stop. It covers the five-level memory hierarchy that survives between sessions, the work-order protocol for handing tasks between agents, the deterministic gate chain that blocks a bad deploy, the voice system that lets an agent write in your own register, and the production pipeline that turns one sentence into a week of finished output. Seven buildable projects, every one with paste-ready prompts and complete starter files.

What is the ten-stage pipeline, and what does it actually produce?

One instruction — make next week's shorts — starts a chain of ten stages: catalog, topic selection, script, hook, clip generation, assembly, end cards, subtitles, scheduling and verification. It runs across 49 orchestration scripts. Measured on 5 September 2026 in the working folder, it has produced twelve finished Shorts with dated renders, from 20 July to 29 August 2026. Generation is one call in that chain. The class teaches the chain, because the chain is the part that transfers to any other kind of output.

What is the five-level memory hierarchy?

An agent session is ephemeral, so everything that persists between sessions is a file you wrote. Five levels, narrowest winning: the prompt you type applies to this turn only; skill files load when triggered; a project file such as GEMINI.md applies to that project on every turn; a personal file such as AGENTS.md applies to you across every project; and global rules apply to everything always. Getting an agent to behave consistently is almost entirely a question of putting each fact at the right level, and the class walks through where each kind of instruction belongs.

What is a work order and why not just prompt the agent?

A work order is a numbered document with four fixed parts: what is settled and must not be reopened, the ask as a numbered list ordered by importance, the required format for every answer, and hard stop conditions. It goes in a shared folder; the agent writes its report back beside it. The reason to use one instead of a chat prompt is that a conversation cannot be audited and a document can. This class was itself built through four work-order rounds, and the page shows what each round caught — including two defects in the checking scripts themselves.

What is the voice system?

A written specification of how you write, kept in files the agent loads before it drafts anything. It is not a prompt you retype; it is a corpus you build from your own prior writing, distilled into rules the agent can apply, then revised every time the output sounds wrong. The class teaches the method — gather, extract, draft, test, revise, wire in — and ships a generic VOICE.md template with every value replaced by a prompt to you. What it deliberately does not publish is Design Delight Studio's own voice corpus. The point is to make an agent write like you, not like somebody else.

How do I stop an agent from silently doing the wrong thing?

Put the checks outside the agent. A deterministic gate chain is a sequence of scripts that each exit non-zero on failure, and a build that refuses to write its output until all of them pass. The class teaches five gates that between them catch the most expensive classes of error: a claim that is a document read back rather than an observation, a method that could not have returned a different answer, a result with no independent second method, a number carried forward instead of re-read, and an artifact nobody looked at. Every one of those has a specific failure behind it, described on the page.

What went wrong in production, and what did it cost?

The clearest example is a seventeen-day outage. The Shorts pipeline rendered normally through 8 August 2026, then produced nothing until 25 August. The cause was a single assumption: an account index that is valid in one browser profile was copied into another where it pointed somewhere else. The pipeline authenticated successfully and operated on the wrong target. The fix was to make the account resolver throw on a mismatch rather than proceed, which is the general lesson — a check that cannot fail is not a check. The class also shows a second live defect found by audit, where the pipeline's own manifest and its rendered output disagree in both directions.

Do I need paid tools to follow along?

No. The seven projects are built so that each can be completed with a free Antigravity install, a text editor and a target you already own — your own site, your own repository, your own webhook, or your local filesystem. Where a stage of the reference system uses a paid or gated service, the student version substitutes something you already have. No project requires you to automate any account or platform that you do not control, and none of them asks you to work around a service's terms.

Which of the seven projects should I start with?

They ladder deliberately. Project 1, a deploy gate, is an evening's work and teaches the single highest-value habit: a build that refuses to ship when a check fails. Projects 2 and 3 add persistent memory and multi-file synchronisation. Project 4 is the safety architecture — queue, audit gate, deduplication, rate limiting, receipts, quarantine — pointed at a destination you own. Project 5 is skill authoring, Project 6 is the voice system, and Project 7 is the capstone that assembles everything into a full research-to-production pipeline. Start at 1 even if you are experienced; it is short, and everything later assumes it.

Is this class free, and how was it verified?

Free, like every class in the Academy: no signup, no email, no paywall, no certificate. The research behind it ran as four numbered work orders against the live systems, and every figure on this page is either measured from disk on 5 September 2026 with its exclusions stated, or labelled as unverified. The Shorts count, the script count and the outage dates were each re-derived independently rather than taken from any agent's summary. Where the research and a second measurement disagreed, the page carries the measurement that showed its method.