Policy you can diff
A system prompt is a product artifact.
Anthropic’s consumer prompts are
versioned, dated, and now split so
you can fetch Markdown and commit the
text. That is the rare case: policy
as a file. The useful move is not
reading it once. It is treating each
release as a diff. New refusals
(lyrics, Sonic-by-description) are
product decisions. Dropped scripts
(end_conversation leaving
the published core) are product
decisions too — except when the tool
is still injected in a layer you
cannot see. Published text is a table
of contents. Unpublished tool blocks
are the rest of the book.
Do not ask the model under study to
summarize its own constitution.
Simon ran Luna on the diffs for
that reason. The same geometry
applies to runtimes. Codex did not
advertise LibreOffice on a launch
blog; it unpacked it into cache and
wrote skills that point at the
binaries. Your agent’s capabilities
are the union of the prompt, the
unpublished layers, and the files on
disk. A harness that only versions
the first is lying about the other
two.
Paint.NET is the stop condition in
another direction. 180k new lines
will not get a human pass. Taste
still belongs to Rick: whether WINE
support should exist, whether COM
lifetime is allowed to be wrong,
whether a bad architecture ships.
Repetitive correctness — did
AddRef happen, does the
effect formula match, does
/wine draw — can sit on
tests and a running build. Shared
misunderstandings still leak: if you
and the agent both think “vibe coded”
means “done,” you will ship an
unreviewed kernel and call it a
port. Stop when the prompt diff is
filed, the unpublished tools are
listed, one runtime path has been
exercised, and the invariants you
named have a failing test. Hunting
for one more clause in a 12k-token
prompt is nerd-sniping the policy.
Checklist
-
Fetch published prompts as files
(Anthropic’s
.md
trick). Commit them. Diff on
release day.
-
Summarize diffs with a model that
is not the one being described.
-
Ask what unpublished tool blocks
exist. Write the answers down as
hearsay, not as source.
-
Inventory the agent’s actual
binaries and skills on disk. Cache
counts.
-
For generated mountains of code:
name the invariants you will
babysit. Do not pretend you read
every line.
This week: clone one published
prompt into git, diff it against
yesterday, and list every binary
your coding agent can exec without
asking.