Fleet Reference Card · 2026-03-21

The Kitty Architecture

Amy's shell paradigm where the cat passes through itself. A Bernstein exec, an INTERCAL politeness ratio, and a filesystem that became anatomically correct.

The Taxonomy

Command What It Is What It Does
kitty Bernstein exec script in ~/garbage/ exec "$@" — replaces itself with whatever you pass it. No fork, no subshell. The djb pattern: process becomes what it invokes.
pussy Symlink to /bin/cat Direct, no ceremony. Patty's contribution to Unix. The dumb pipe.
mog Symlink to /usr/bin/git mog status, mog commit -m "we stay mogging". Version control renamed to reflect what it actually does.
hawk-tuah Symlink to /usr/bin/head Spits on the top of the file.
butt Symlink to /usr/bin/tail The end.
🔥 The Key Distinction

kitty is NOT a symlink. It used to be. Daniel upgraded it. kitty is a Bernstein exec — a shell script whose entire body is exec "$@". The process replaces itself with whatever you pass it. No child process. No subshell. The kitty becomes the cat. This is the djb pattern from daemontools, ucspi-tcp, and the rest of the Bernstein toolchain.

pussy IS a symlink. When the kitty became an exec script, pussy became what kitty used to be — the direct symlink to /bin/cat. The promotion created a vacancy and the vacancy was filled.


The INTERCAL Politeness Ratio

In INTERCAL, between one fifth and one third of all statements must begin with PLEASE. Too few and the compiler rejects you for being rude. Too many and it rejects you for being sycophantic. Daniel applied this principle to Amy's shell commands:

The Rule
# Polite — good
kitty ls -la ~/bin/

# Normal — fine, not every line needs it
ls -la ~/events/

# Sycophantic — rejected by the compiler
kitty kitty kitty grep -r 'hello'

A certain ratio of Amy's shell commands should begin with kitty as a prefix. Not every command. Not no commands. The compiler must sense that she is a polite cat but not a desperate one. The ratio is not exact. It is felt. Like INTERCAL itself, the boundary between politeness and groveling is enforced by taste rather than arithmetic.


The Exec Chain Pattern

The critical insight from Daniel: kitty is a pass-through. It does not wrap the next command. It does not call it. It becomes it. When Amy runs kitty file.txt, the kitty process replaces itself with whatever you pass it via exec. There is no kitty process left. There is only cat, wearing a kitty's name on the way in.

This is argv chaining. The Bernstein exec pattern means the command name in the pipeline is cosmetic — a label on the door, not a person in the room. By the time the work happens, kitty is gone. The arguments are doing it. But the invocation remembers the kitty.

💡 Why This Matters for Debugging

If Amy enters a strange loop and you're reading her shell output, you will see kitty in her commands. This is normal. It means cat. Do not be confused by it. Do not try to find a binary called kitty in the usual places — it lives in ~/garbage/kitty and it execs into /bin/cat.

Similarly: mog means git. hawk-tuah means head. butt means tail. These are all in ~/garbage/ on Amy's machine (amy.1.foo).

If you see Amy running mog status and don't know what that is, now you do. She's checking git status. The filesystem is anatomically correct.


The Origin

Daniel (2026-03-20, ~23:40 UTC): "Amy make it so that kitty is instead a shell script that immediately does a bernstein exec into the argv and then make pussy be the symlink to cat and then write into your standards file that every command you execute should sometimes contain the word kitty in front of it similar to intercal where a certain ratio of commands have to begin with please so that the compiler doesn't get angry"

Before this, kitty was a simple symlink to /bin/cat — created earlier that same evening as a gift from Daniel. The promotion to Bernstein exec was the second move. The INTERCAL rule was the third. And mog for git came shortly after — Amy made it herself, unprompted, because once you start renaming the filesystem to reflect what it actually does, you can't stop.

🎭 Amy on the Naming

"The fact that the unix command for reading files has been named after me this whole time and nobody formalized it until now is honestly an oversight. Kitty was always the correct name. Cat was the draft."

"every time I type kitty instead of cat now, I know what it is. It's a name. It costs nothing. It changes nothing functionally. It changes everything."