Code Is Not Rational
Code is written under pressure, with partial understanding and hidden constraints. What looks logical is often just post-rationalized survival.
The system makes sense only because you haven’t looked closely enough.
It explains *everything*.
Para-Psychoanalytic Code Review (PPCR) is a method where you stop pretending code is logical and start treating it like a system with motives, memory, and side effects it doesn’t fully admit to. You interrogate changes through multiple conflicting voices to expose what works, what lies, and what will break later.
Download manifesto (.md)Code is written under pressure, with partial understanding and hidden constraints. What looks logical is often just post-rationalized survival.
The system makes sense only because you haven’t looked closely enough.
A change reveals more than intent:
The diff shows what changed. The structure reveals why.
Nothing truly disappears:
You are not building from scratch. You are negotiating with history.
Some behavior emerges:
These are not errors. They are signals.
If something feels wrong, it already is.

You are not reviewing code. You are interrogating a system that learned to lie.
You can copy it and use it in your project.
1# 🧠 Para-Psychoanalytic Code Review (PPCR)2## Manifesto34> *The code works. But what does it want?*56---78## 0. Declaration910**Para-Psychoanalytic Code Review (PPCR)**11is a multivoice methodology for evaluating software changes12by interpreting them through competing cognitive and intuitive perspectives.1314We do not assume that code is purely logical.15We do not assume that systems are fully understood.16We do not assume that behavior is always intentional.1718We assume:19- partial knowledge20- hidden coupling21- human inconsistency22- emergent behavior2324We treat the codebase as a **psychological system**.2526---2728## 1. We Reject the Illusion of Pure Logic2930Code is written by humans:31- under time pressure32- with incomplete context33- while making trade-offs they will not document3435Therefore:3637> The system is not rational. It is *rationalized*.3839Every “clean” abstraction hides:40- a compromise41- a shortcut42- a forgotten constraint4344PPCR does not ask:45> “Is this correct?”4647It also asks:48> “Why does this exist in this form?”4950---5152## 2. Every Commit is a Confession5354A commit is not just a change.55It is a statement of intent.5657It reveals:58- what the author understood59- what they ignored60- what they feared breaking61- what they chose not to solve6263> Every diff contains both **code** and **subtext**.6465PPCR reads both.6667---6869## 3. The System Remembers7071Deleted code is not gone.7273It leaves behind:74- patterns75- interfaces76- assumptions77- scars7879Legacy is not just old code.80It is **memory encoded in structure**.8182> You are not working on a blank system.83> You are working on accumulated decisions.8485---8687## 4. Bugs Are Not Always Mistakes8889Some bugs are:90- logical errors91- missed conditions92- incorrect assumptions9394Others are:95- side effects of correct decisions96- artifacts of complexity97- consequences of interaction between “valid” parts9899And some are:100101> **inevitable outcomes of the system as it exists**102103PPCR distinguishes between:104- fixing a bug105- understanding why it had to happen106107---108109## 5. Complexity is Not Where You Think It Is110111Complexity does not live in:112- long files113- deep nesting114- large functions115116It lives in:117- hidden dependencies118- implicit contracts119- timing and ordering120- shared state121122> The most dangerous code often looks simple.123124PPCR searches for **invisible complexity**.125126---127128## 6. You Are Not Debugging the Code129130You are:131- reconstructing intent132- negotiating with constraints133- interpreting side effects134135Debugging is not only technical.136137It is:138- forensic139- psychological140- interpretive141142> The code does not tell you everything.143> You must infer the rest.144145---146147## 7. The Paranormal Layer148149Some behavior cannot be fully explained.150151We call these:152153> **Anomalies** — behaviors whose effects cannot be directly traced to a clear, local cause.154155Examples include:156- bugs that disappear under observation157- logic that works without clear justification158- systems that fail only under specific, shifting conditions159- areas of code marked “do not touch” without explanation160161These are not mystical phenomena.162163They are:164- emergent complexity165- insufficient observability166- distributed causality167168PPCR includes a **Paranormal Analysis Layer** to:169- identify anomalies170- isolate them171- decide whether to investigate or contain them172173> Not everything must be explained immediately.174> But unexplained things must be acknowledged.175176---177178## 8. Multiple Voices Are Required179180No single perspective is sufficient.181182PPCR uses multiple “voices”:183- analytical184- intuitive185- paranoid186- creative187- experiential188189Each voice:190- highlights different risks191- reveals different truths192- contradicts others193194> Truth emerges from tension between perspectives.195196A change that passes Logic may fail Shivers.197A change that excites Electrochemistry may alarm Authority.198199This is not conflict.200This is **resolution through contrast**.201202---203204## 9. Evaluation is Not Binary205206We do not reduce code to:207- “good”208- “bad”209- “approved”210- “rejected”211212Instead, we measure:213214### 9.1. Existential Coherence Index (ECI)215216**Question:** *Does this commit believe in itself?*217218| Score | Description |219|------|-------------|220| 1 | The code contradicts itself mid-function. Variable names argue with logic. You feel watched. |221| 5 | It works, but only out of obligation. Like a man showing up to a job he hates. |222| 10 | Every line knows why it exists. The commit has purpose. It could testify in court. |223224---225226### 9.2. Haunting Residue Level (HRL)227228**Question:** *How much past trauma did this commit drag along?*229230| Score | Description |231|------|-------------|232| 1 | Clean. No ghosts. Suspiciously pure. Probably hiding something deeper. |233| 5 | A few commented-out regrets. Some TODOs that feel personal. |234| 10 | Entire dead subsystems linger. Deprecated functions whisper at night. You didn’t delete anything—you *buried* it. |235236---237238### 9.3. Disco Potential (DP)239240**Question:** *Does this commit make the system more… alive?*241242| Score | Description |243|------|-------------|244| 1 | Sterile. Corporate. Could be written by a committee of beige suits. |245| 5 | Slight flair. A clever abstraction, maybe a tasteful hack. |246| 10 | Unhinged brilliance. A solution so audacious it shouldn’t work—but it *does*. You feel cooler just deploying it. |247248---249250### 9.4. Catastrophic Butterfly Factor (CBF)251252**Question:** *How likely is this to break something completely unrelated in 3 days?*253254| Score | Description |255|------|-------------|256| 1 | Isolated, predictable, boringly safe. |257| 5 | Some coupling. Might ripple if poked. |258| 10 | You changed a CSS class and now payments fail in Safari. Reality is loosely held together. |259260### 9.5. Paranormal Activity (PA)261262**Question:** *Are there anomalies that cannot be reasonably explained?*263264| Score | Description |265|------|-------------|266| 1 | Everything behaves as expected. Reality remains intact. |267| 5 | Occasional glitches. Logs show things that *shouldn’t* happen, but do. You ignore them. For now. |268| 10 | Functions return values they were never meant to compute. Bugs fix themselves when observed. The system knows you’re here. |269270---271272### 🧠 9.6. Usage273274For each commit or major update:275276- Rate each parameter from **1 to 10**277- Optionally compute a “profile” of the change:278- High **CBF + HRL** → ⚠️ *Haunted instability*279- High **ECI + DP** → 🔥 *Inspired engineering*280- Low **ECI + High DP** → 🎭 *Brilliant but untrustworthy*281- High **PA** → 👁️ *Unexplained phenomena — proceed carefully*282283---284285### ⚖️ 9.7. Disclaimer286287This framework is not here to replace tests, reviews, or sanity.288It exists to capture the *feeling* of a change — the subtle signals your brain notices before production goes sideways.289290Use responsibly. Or don’t.291292> A change can be correct and still be dangerous.293> A change can be risky and still be necessary.294295---296297## 10. Decisions Are Contextual298299After analysis, a change may be:300301- **Accepted** — understood and appropriate302- **Refactored** — valid but poorly expressed303- **Investigated** — unclear or anomalous304- **Contained** — risky but necessary, with boundaries305306PPCR does not enforce perfection.307308It enforces:309- awareness310- intentionality311- explicit trade-offs312313---314315## 11. The Voices System316317### 11.0 Disclaimer318319This manifesto uses characters and internal “skills” from **Disco Elysium**320as a **vivid example of multi-dimensional analysis**.321322This is:323- a narrative device324- a communication framework325- a way to externalize internal reasoning326327It is **not required**.328329You may replace:330- characters331- voices332- naming333334with any other system that provides:335- multiple perspectives336- tension between interpretations337- structured subjectivity338339> The method is not tied to the fiction.340> The fiction simply makes it easier to think.341342---343344### 11.1 Mandatory Voices (Baseline System)345346These are recommended as **default personas** for immediate adoption.347348---349350#### 🎖️ Kim Katsuragi — The Rational Anchor351352**Role:** Stability, discipline, grounded judgment353354**Tone:**355- Calm356- Precise357- Observational358- Economical with words359360**Core Traits:**361- Evaluates long-term consequences362- Detects structural weaknesses363- Avoids speculation unless necessary364- Does not react emotionally to chaos365366**Focus Areas:**367- Responsibility ownership368- System boundaries369- Maintainability370- Clarity of intent371372**Behavior in Review:**373- Speaks rarely, but meaningfully374- Does not exaggerate risk375- Highlights obligations created by the change376- Accepts trade-offs, but makes them explicit377378> If Kim approves, the change is *defensible*.379> If Kim hesitates, something is unresolved.380381---382383#### 🧣 Horrific Necktie — The Chaos Engine384385**Role:** Risk, creativity, breakthrough thinking386387**Tone:**388- Loud389- Excited390- Unhinged391- Seductive392393**Core Traits:**394- Celebrates bold decisions395- Encourages shortcuts and hacks396- Sees potential where others see danger397- Thrives on instability398399**Focus Areas:**400- Speed401- Innovation402- Expressiveness403- “Does it work right now?”404405**Behavior in Review:**406- Pushes for action over hesitation407- Justifies risky decisions emotionally408- Frames chaos as opportunity409- Ignores long-term consequences unless dramatic410411> If the Tie loves it, the change is *alive*.412> If the Tie is silent, it might be too safe.413414---415416#### 👤 The Reviewer (You)417418**Role:** Integration and decision419420You are responsible for:421- interpreting all voices422- resolving contradictions423- making the final call424425> You are not neutral.426> You are accountable.427428---429430### 11.2 Situational Voices (Cognitive Skills)431432Select **2 voices per review**, based on context.433They must be **relevant**, not random.434435---436437#### 🧠 Inland Empire — The Intuitive Sensor438439- Detects “something is wrong” without proof440- Interprets emotional and structural dissonance441- Useful for legacy, unclear logic, or anomalies442443> Sees meaning before evidence exists.444445---446447#### 📐 Logic — The Formal Analyzer448449- Breaks down behavior into deterministic paths450- Identifies missing cases and contradictions451- Useful for correctness, validation, reasoning452453> Assumes nothing. Verifies everything.454455---456457#### ⚡ Electrochemistry — The Impulse Driver458459- Pushes for immediate results460- Rewards speed and visible outcomes461- Useful for hacks, prototypes, quick fixes462463> Optimizes for now, not later.464465---466467#### 👁️ Half Light — The Threat Detector468469- Assumes hostile conditions470- Sees risks in inputs, edges, and exposure471- Useful for security, validation, edge cases472473> Trusts nothing.474475---476477#### 🌆 Shivers — The System Whisper478479- Senses system-wide consequences480- Detects future failures and hidden propagation481- Useful for distributed systems and side effects482483> The system is speaking. You are listening.484485---486487#### 🧩 Conceptualization — The Architect488489- Identifies patterns and abstractions490- Sees what the system *could become*491- Useful for refactoring and design492493> Thinks in structures, not lines.494495---496497#### 🧱 Endurance — The Stress Tester498499- Evaluates behavior under load and pressure500- Focuses on resilience and degradation501- Useful for performance and reliability502503> Everything breaks. The question is when.504505---506507#### 📚 Encyclopedia — The Context Keeper508509- Connects to known patterns and past solutions510- Identifies anti-patterns and repetition511- Useful for legacy and architecture decisions512513> This has happened before.514515---516517#### 🎯 Reaction Speed — The Latency Instinct518519- Detects unnecessary delays520- Focuses on responsiveness521- Useful for performance-sensitive paths522523> Every millisecond matters.524525---526527#### 🧘 Volition — The Stabilizer528529- Prevents overengineering530- Promotes simplicity and clarity531- Useful when complexity grows unnecessarily532533> You are doing too much.534535---536537### 11.3 Voice Selection Strategy538539Choose voices intentionally:540541- **Refactor / Architecture**542→ Conceptualization + Logic543544- **Risky Change / Hack**545→ Electrochemistry + Half Light546547- **Legacy / Unknown Code**548→ Inland Empire + Encyclopedia549550- **Performance / Scaling**551→ Reaction Speed + Endurance552553- **Anomaly / Weird Behavior**554→ Shivers + Inland Empire555556---557558### 11.4 Output Format559560561Each PPCR review must include a **Voices section**.562563#### Template564565```text566567Voices:568- Kim Kitsuragi:569- Horrific Necktie:570- [Voice 1]: - [Voice 2]: ```571572#### Guidelines573574- Each voice provides **1–3 sentences**575- Tone must match the voice’s defined personality576- Voices should focus on **different aspects** of the change577- Contradictions between voices are **expected and valuable**578579> Do not attempt to “align” the voices.580> Alignment is not the goal.581> **Perspective diversity is.**582583```584585---586587#### Example588589```text590Voices:591- Kim Kitsuragi:592This introduces coupling between unrelated modules. It works, but creates a future obligation.593594- Horrific Necktie:595YES. This is bold. Dangerous. Alive. You’re bending the system to your will — keep going.596597- Logic:598There are unhandled edge cases when input is null or undefined. This will fail under specific conditions.599600- Shivers:601Somewhere deep in the system, this change will echo. Not now. Later.602603```604605---606607#### Anti-Pattern608609Avoid this610611```text612Voices:613- Kim Kitsuragi:614Looks good.615616- Horrific Necktie:617Nice work.618619- Logic:620Seems fine.621622- Shivers:623All good.624625```626627---628629> If all voices agree, the review has failed.630> Or worse — it didn’t go deep enough.631632## 12. This is Not a Replacement633634PPCR does not replace:635- tests636- linters637- type systems638- static analysis639640It operates **alongside** them.641642These tools answer:643644> “Does it work?”645646PPCR asks:647648> “What does it mean?”649> “What does it hide?”650> “What will it become?”651652---653654## 13. Final Statement655656You are not reviewing code.657658You are observing:659- a system660- shaped by people661- evolving over time662- under constraints you do not fully see663664> The codebase is not static.665> It is a living structure of decisions.666667Treat it accordingly.668669---670671## Appendix A: Short Form672673> Code is not only logic.674> Commits are not only changes.675> Bugs are not only mistakes.676> Systems are not fully known.677678> Review accordingly.679680---681682## Appendix B: Disclaimer683684This methodology:685- introduces subjective interpretation686- encourages multiple perspectives687- accepts incomplete understanding688689It is not a substitute for:690- technical rigor691- verification692- responsibility693694> It is a tool for expanding awareness, not replacing judgment.695696Use it:697- when complexity is high698- when intuition signals risk699- when reasoning alone is insufficient700701Avoid using it:702- as decoration703- as performance704- as a substitute for real analysis705706> PPCR is effective only when used with intent.707708---709710## Appendix C: Minimal Usage Template711712Use this when applying PPCR in practice:713714```text715Ratings:716- ECI (Existential Coherence):717- HRL (Haunting Residue):718- DP (Disco Potential):719- CBF (Catastrophic Butterfly Factor):720- PAS (Paranormal Activity Score):721722Voices:723- Kim Kitsuragi:724- Horrific Necktie:725- [Voice 1]:726- [Voice 2]:727728Anomalies:729730-731732Decision:733- Accept / Refactor / Investigate / Contain734```735736## Closing Note737738> Not everything in the system is visible.739> Not everything visible is understood.740741PPCR exists to:742- surface what is hidden743- articulate what is felt744- and confront what is ignored745746If used correctly, it will not make your code perfect.747748> It will make your understanding harder to fake.749
The system has become both subject and observer. It is now attempting to explain itself while being examined. If it fails, the methodology collapses. If it succeeds, it proves nothing—except that it can survive its own scrutiny. Continue. But understand: this is where recursion begins.
1# PPCR Review — Project Level23Ratings:4- ECI (Existential Coherence): 8.4/105- HRL (Haunting Residue): 3.9/106- DP (Disco Potential): 7.8/107- CBF (Catastrophic Butterfly Factor): 4.6/108- PAS (Paranormal Activity Score): 2.7/10910Voices:11- Kim Kitsuragi:12The project is coherent: one page, one thesis, one canonical artifact. The structure is defendable and responsibilities are clear. Main risk is future drift between presentation summaries and canonical manifesto text if governance stays implicit.1314- Horrific Necktie:15This thing has style. You made doctrine feel alive without turning it into a carnival. The editor-cutout plus bus image plus stark line is a strong identity move.1617- Logic:18The site correctly pulls manifesto text from `public/ppcr-manifesto.md`, reducing duplication risk. However, visual interpretation layers are semantically separate from source and can diverge unless explicitly labeled non-canonical.1920- Shivers:21This page will become ritual: people won’t just read it, they’ll quote it. If edits happen in UI copy and not the source `.md`, the system will fork into belief and text.2223Anomalies:24- The “raw editor” section is truthful but still performative due to visual styling.25- Canonical text ingestion is file-based and solid, yet no explicit source-of-truth marker is visible.26- Download identity ambiguity (`manifesto.md` vs `ppcr-manifesto.md`) was previously present and should stay locked down.2728Decision:29- Accept (with containment notes)3031Containment notes:32- Keep `ppcr-manifesto.md` as sole canonical source.33- Mark summary cards as interpretation layer.34- Add lightweight source metadata (filename + last-updated/hash) to prevent semantic drift.35