Shame History

Accountability you cannot delete.

Shame History is a permanent, immutable record of every scope change made during a project. Each entry captures what was changed, why, and when - creating an undeletable accountability trail that discourages casual scope creep. It is the enforcement mechanism behind Scope Locking.

The Accountability Gap in Solo Development

Teams have accountability built into their structure. Code reviews. Sprint retrospectives. A project manager who asks "why did we add this feature?" Solo developers have none of that. You answer to nobody. And while that freedom is the appeal of solo development, it is also its biggest liability.

Without external accountability, scope creep is invisible. You add a feature, then another, then another. Nobody notices. Nobody asks why. Three months later, your 3-feature MVP has 15 features and you have shipped nothing.

Shame History fills the accountability gap. It creates a permanent, visible record of every scope decision you make - not to punish you, but to make you pause before expanding.

The Psychology Behind Permanent Records

Shame History works because of a well-documented psychological principle: loss aversion. People work harder to protect something they have than to gain something new.

When your Shame History is clean - zero unlocks - you want to keep it clean. Each potential scope change becomes a decision: "Is this important enough to add an entry to my permanent record?" More often than not, the answer is no.

This is not willpower. This is environmental design. The same reason people eat less junk food when it is not in their kitchen. The friction is not overwhelming - it is just enough to make you think.

Research in behavioral economics consistently shows that visible accountability systems change behavior more effectively than motivation alone. Shame History applies this principle to project scope management.

How Shame History Changes Your Decision-Making

Without Shame History, the decision to add a feature looks like this:

"That would be cool. Let me add it to the list."

With Shame History, the same decision looks like this:

"That would be cool. But I would need to unlock, write a reason, and it would be permanently recorded. Is this feature genuinely necessary for V1, or can it wait for V1.1?"

That second internal dialogue - the pause - is where 80% of scope creep dies. Not because the feature is bad, but because the friction surfaces the truth: it can wait.

Shame History vs. Git History vs. Change Logs

Developers sometimes ask why Shame History exists when git history already tracks changes. The answer is scope.

Git history tracks code changes. It tells you what code was written, not why the scope expanded. A new feature addition in git looks identical to a planned feature - both are just commits.

Change logs are voluntary and retrospective. You write them after the fact, if you remember, and you frame them however you want.

Shame History tracks project-level scope decisions in real time, with mandatory justification at the moment of the decision. It is not about code - it is about the choices that determine what code gets written.

The three serve different purposes. Git tracks implementation. Change logs communicate externally. Shame History keeps you honest with yourself.

From Shame History to Shipped Project

When you finally ship your project to the Harbor, your Shame History informs your Ship Card. The unlock count is visible. A project shipped with zero unlocks tells a story of discipline and focus. A project shipped with 12 unlocks tells a different story - but it still shipped, and that matters more than a perfect record.

The goal is not zero unlocks. The goal is intentional unlocks. Every entry in your Shame History should represent a deliberate decision, not a casual "why not."

How It Works

Step by step.

01
Scope is locked

After planning, you lock your features and todos. Your committed scope is frozen.

02
You need to change something

Requirements shift, you discover a blocker, or you just want to add a feature. It happens.

03
Unlock with a written reason

To modify your locked scope, you must unlock it. Unlocking requires a written justification - not a checkbox, not a click. Words.

04
Reason is permanently recorded

Your reason, the timestamp, and the specific change are logged in your Shame History. This record cannot be edited or deleted.

05
Unlock count follows the project

When you ship, your total unlock count appears on your Ship Card. It is public. It travels with the project.

Comparison

FoundStep vs. the old way.

Aspect
Traditional
FoundStep
Change tracking
Git commits (technical), no project-level accountability
Every scope change recorded with reason and timestamp
Visibility
Changes buried in commit history
Unlock count on your public Ship Card
Deletability
Can rewrite history, delete branches, hide changes
Permanent and immutable. Cannot be edited or deleted.
Behavioral impact
No friction to change scope
Written justification creates pause-and-think friction
Psychology
Out of sight, out of mind
Loss aversion - the record makes you protect your clean history
FAQ

Common questions.

Shame History is a permanent, immutable record of every scope change made during a project's lifecycle in FoundStep. Each entry captures what was changed, why the developer chose to change it, and when it happened. The name is deliberately provocative - it uses the psychology of loss aversion to discourage casual scope creep.
No. Shame History entries are permanent and immutable. This is by design. The value of the system comes from its permanence - if you could delete entries, the accountability disappears.
No. The name is tongue-in-cheek. The real mechanism is accountability through visibility. Knowing that your scope changes are recorded permanently makes you think harder about whether a change is truly necessary. Most developers find that the friction alone prevents 80% of unnecessary scope creep.
Each entry records: the type of change (feature added, todo added, feature removed), the written reason you provided for unlocking, and the exact timestamp. Together, these create a complete audit trail of scope decisions.
Your Ship Card shows your total unlock count - the number of times you unlocked your scope during the project. A low count signals discipline. A high count tells a story about scope decisions.
Shame History is the enforcement layer for Scope Locking. Without Scope Locking, there are no unlocks to record. The two features work together - Scope Locking creates the constraint, Shame History creates the accountability.
Ready to ship?

Try it free.

No credit card required. No setup. Start with your first idea and see Shame History in action.

Free trial
No setup
No team required
Shame History - Accountability You Can't Delete | FoundStep | FoundStep