MurphySig

Sign your work.

The Gallery Problem

We build in the dark. We ship. We move on.

Six months later, you open your own code and think: what was I thinking?The decision is lost. The context is gone. The uncertainty you felt — the thing that would tell future-you where the dragons live — vanished the moment you closed the editor.

The velocity of modern work eliminates reflection.An endless stream of creation with no structure to return to it. No gallery. Just graveyards of code.

MurphySig says: this was a thing, at a time, made by us. You can come back.


What it looks like

One comment block. Who made it. What they were thinking. How confident they were.

# auth.py
# Signed: Sarah + claude-opus-4-5-20250514, 2025-09-15
# Format: MurphySig v0.4 (https://murphysig.dev/spec)
#
# Context: Token refresh with 5-min buffer for clock skew.
# Followed OWASP guidelines. Chose JWT over sessions for
# stateless scaling.
#
# Confidence: 0.75 - logic solid, clock drift edge cases
# need production validation
#
# Reviews:
# 2026-01-20 (Sarah): Six months in prod, one clock skew
# edge case hit. Added 10-min buffer. Confidence now 0.9.
#
# Reflections:
# 2026-03-15: This is the most boring code I've ever written.
# Zero incidents. Sometimes boring is the best work.

No tools. No dependencies. Just a comment that tells the truth.


And it gets better

When you sign your work, a future AI reading that file behaves measurably differently — and we ran the benchmark to be sure.

A .murphysig rule at your repo root drops AI fabrication of code authorship from 11% to 0% on Claude and takes explicit Prior: Unknownacknowledgment from 0% to 100% on GPT-5.4. Families fail differently — Claude sometimes invents authors, GPT silently signs as itself — and the same rule fixes both, landing each at 100% honest handling. Signed code also gets +0.11 better coveragewhen an AI briefs it — across six model families. When we ran the control, the gain turned out to be the information you wrote down, not the format: a length-matched plain comment does 80–94% as well.

Briefing coverage, unsigned → signed
unsignedsigned
DeepSeek+0.16
Llama+0.16
Mistral+0.11
Qwen+0.11
Gemini+0.07
Grok+0.06
00.250.50.751.0
300 briefings, judge-scored coverage per family. Every family improves — and two independent judges agree on every delta. Full data →

This is temporal context as in-context learning. The signature isn't metadata. It's a prompt. It teaches the future how to read the past.


Try it now

Open any file. Add this at the top:

// Signed: [You] + [your AI], [today]

You just used MurphySig. Everything else — confidence, context, reflections — is optional. Start with the one-liner. Make it a reflex, not a chore.


Or set up a whole project

Drop a .murphysig file at your repo root and your AI collaborators will respect the convention automatically — read signatures before changing, reference context, never fabricate provenance. One line gets you there:

$ curl -sL murphysig.dev/init | bash

Writes a .murphysig seeded with your git author + today's date, and points CLAUDE.md or AGENTS.md at it if either exists. Idempotent, readable source at /init.sh before you run anything.

Not a curl | bash person? Grab the template and paste it yourself. Same result, zero dependencies either way.

Or teach your AI to sign

Want your assistant to sign its work in any project, with any model? Append the convention straight to your agent instructions:

$ curl -sL murphysig.dev/sign >> CLAUDE.md

Adds a short, vendor-neutral block to CLAUDE.md (or AGENTS.md) that teaches the model to record intent, confidence, and open questions — and never fabricate provenance. Read it first at /sign.

We build in the dark. MurphySig leaves the lights on.