It explains *everything*.

PPCR Manifesto

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 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.

Every Commit Is a Confession

A change reveals more than intent:

  • what was avoided
  • what was misunderstood
  • what was too risky to touch

The diff shows what changed. The structure reveals why.

The System Remembers

Nothing truly disappears:

  • deleted code leaves patterns
  • fixes create new dependencies
  • shortcuts become architecture

You are not building from scratch. You are negotiating with history.

Not Everything Can Be Explained

Some behavior emerges:

  • without clear cause
  • without clear ownership
  • without clear timing

These are not errors. They are signals.

If something feels wrong, it already is.

Bus

You are not reviewing code. You are interrogating a system that learned to lie.

Full manifesto text

You can copy it and use it in your project.

ppcr-manifesto.md
1# 🧠 Para-Psychoanalytic Code Review (PPCR)
2## Manifesto
3
4> *The code works. But what does it want?*
5
6---
7
8## 0. Declaration
9
10**Para-Psychoanalytic Code Review (PPCR)**
11is a multivoice methodology for evaluating software changes
12by interpreting them through competing cognitive and intuitive perspectives.
13
14We 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.
17
18We assume:
19- partial knowledge
20- hidden coupling
21- human inconsistency
22- emergent behavior
23
24We treat the codebase as a **psychological system**.
25
26---
27
28## 1. We Reject the Illusion of Pure Logic
29
30Code is written by humans:
31- under time pressure
32- with incomplete context
33- while making trade-offs they will not document
34
35Therefore:
36
37> The system is not rational. It is *rationalized*.
38
39Every “clean” abstraction hides:
40- a compromise
41- a shortcut
42- a forgotten constraint
43
44PPCR does not ask:
45> “Is this correct?”
46
47It also asks:
48> “Why does this exist in this form?”
49
50---
51
52## 2. Every Commit is a Confession
53
54A commit is not just a change.
55It is a statement of intent.
56
57It reveals:
58- what the author understood
59- what they ignored
60- what they feared breaking
61- what they chose not to solve
62
63> Every diff contains both **code** and **subtext**.
64
65PPCR reads both.
66
67---
68
69## 3. The System Remembers
70
71Deleted code is not gone.
72
73It leaves behind:
74- patterns
75- interfaces
76- assumptions
77- scars
78
79Legacy is not just old code.
80It is **memory encoded in structure**.
81
82> You are not working on a blank system.
83> You are working on accumulated decisions.
84
85---
86
87## 4. Bugs Are Not Always Mistakes
88
89Some bugs are:
90- logical errors
91- missed conditions
92- incorrect assumptions
93
94Others are:
95- side effects of correct decisions
96- artifacts of complexity
97- consequences of interaction between “valid” parts
98
99And some are:
100
101> **inevitable outcomes of the system as it exists**
102
103PPCR distinguishes between:
104- fixing a bug
105- understanding why it had to happen
106
107---
108
109## 5. Complexity is Not Where You Think It Is
110
111Complexity does not live in:
112- long files
113- deep nesting
114- large functions
115
116It lives in:
117- hidden dependencies
118- implicit contracts
119- timing and ordering
120- shared state
121
122> The most dangerous code often looks simple.
123
124PPCR searches for **invisible complexity**.
125
126---
127
128## 6. You Are Not Debugging the Code
129
130You are:
131- reconstructing intent
132- negotiating with constraints
133- interpreting side effects
134
135Debugging is not only technical.
136
137It is:
138- forensic
139- psychological
140- interpretive
141
142> The code does not tell you everything.
143> You must infer the rest.
144
145---
146
147## 7. The Paranormal Layer
148
149Some behavior cannot be fully explained.
150
151We call these:
152
153> **Anomalies** — behaviors whose effects cannot be directly traced to a clear, local cause.
154
155Examples include:
156- bugs that disappear under observation
157- logic that works without clear justification
158- systems that fail only under specific, shifting conditions
159- areas of code marked “do not touch” without explanation
160
161These are not mystical phenomena.
162
163They are:
164- emergent complexity
165- insufficient observability
166- distributed causality
167
168PPCR includes a **Paranormal Analysis Layer** to:
169- identify anomalies
170- isolate them
171- decide whether to investigate or contain them
172
173> Not everything must be explained immediately.
174> But unexplained things must be acknowledged.
175
176---
177
178## 8. Multiple Voices Are Required
179
180No single perspective is sufficient.
181
182PPCR uses multiple “voices”:
183- analytical
184- intuitive
185- paranoid
186- creative
187- experiential
188
189Each voice:
190- highlights different risks
191- reveals different truths
192- contradicts others
193
194> Truth emerges from tension between perspectives.
195
196A change that passes Logic may fail Shivers.
197A change that excites Electrochemistry may alarm Authority.
198
199This is not conflict.
200This is **resolution through contrast**.
201
202---
203
204## 9. Evaluation is Not Binary
205
206We do not reduce code to:
207- “good”
208- “bad”
209- “approved”
210- “rejected”
211
212Instead, we measure:
213
214### 9.1. Existential Coherence Index (ECI)
215
216**Question:** *Does this commit believe in itself?*
217
218| 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. |
223
224---
225
226### 9.2. Haunting Residue Level (HRL)
227
228**Question:** *How much past trauma did this commit drag along?*
229
230| 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. |
235
236---
237
238### 9.3. Disco Potential (DP)
239
240**Question:** *Does this commit make the system more… alive?*
241
242| 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. |
247
248---
249
250### 9.4. Catastrophic Butterfly Factor (CBF)
251
252**Question:** *How likely is this to break something completely unrelated in 3 days?*
253
254| 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. |
259
260### 9.5. Paranormal Activity (PA)
261
262**Question:** *Are there anomalies that cannot be reasonably explained?*
263
264| 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. |
269
270---
271
272### 🧠 9.6. Usage
273
274For each commit or major update:
275
276- 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*
282
283---
284
285### ⚖️ 9.7. Disclaimer
286
287This 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.
289
290Use responsibly. Or don’t.
291
292> A change can be correct and still be dangerous.
293> A change can be risky and still be necessary.
294
295---
296
297## 10. Decisions Are Contextual
298
299After analysis, a change may be:
300
301- **Accepted** — understood and appropriate
302- **Refactored** — valid but poorly expressed
303- **Investigated** — unclear or anomalous
304- **Contained** — risky but necessary, with boundaries
305
306PPCR does not enforce perfection.
307
308It enforces:
309- awareness
310- intentionality
311- explicit trade-offs
312
313---
314
315## 11. The Voices System
316
317### 11.0 Disclaimer
318
319This manifesto uses characters and internal “skills” from **Disco Elysium**
320as a **vivid example of multi-dimensional analysis**.
321
322This is:
323- a narrative device
324- a communication framework
325- a way to externalize internal reasoning
326
327It is **not required**.
328
329You may replace:
330- characters
331- voices
332- naming
333
334with any other system that provides:
335- multiple perspectives
336- tension between interpretations
337- structured subjectivity
338
339> The method is not tied to the fiction.
340> The fiction simply makes it easier to think.
341
342---
343
344### 11.1 Mandatory Voices (Baseline System)
345
346These are recommended as **default personas** for immediate adoption.
347
348---
349
350#### 🎖️ Kim Katsuragi — The Rational Anchor
351
352**Role:** Stability, discipline, grounded judgment
353
354**Tone:**
355- Calm
356- Precise
357- Observational
358- Economical with words
359
360**Core Traits:**
361- Evaluates long-term consequences
362- Detects structural weaknesses
363- Avoids speculation unless necessary
364- Does not react emotionally to chaos
365
366**Focus Areas:**
367- Responsibility ownership
368- System boundaries
369- Maintainability
370- Clarity of intent
371
372**Behavior in Review:**
373- Speaks rarely, but meaningfully
374- Does not exaggerate risk
375- Highlights obligations created by the change
376- Accepts trade-offs, but makes them explicit
377
378> If Kim approves, the change is *defensible*.
379> If Kim hesitates, something is unresolved.
380
381---
382
383#### 🧣 Horrific Necktie — The Chaos Engine
384
385**Role:** Risk, creativity, breakthrough thinking
386
387**Tone:**
388- Loud
389- Excited
390- Unhinged
391- Seductive
392
393**Core Traits:**
394- Celebrates bold decisions
395- Encourages shortcuts and hacks
396- Sees potential where others see danger
397- Thrives on instability
398
399**Focus Areas:**
400- Speed
401- Innovation
402- Expressiveness
403- “Does it work right now?”
404
405**Behavior in Review:**
406- Pushes for action over hesitation
407- Justifies risky decisions emotionally
408- Frames chaos as opportunity
409- Ignores long-term consequences unless dramatic
410
411> If the Tie loves it, the change is *alive*.
412> If the Tie is silent, it might be too safe.
413
414---
415
416#### 👤 The Reviewer (You)
417
418**Role:** Integration and decision
419
420You are responsible for:
421- interpreting all voices
422- resolving contradictions
423- making the final call
424
425> You are not neutral.
426> You are accountable.
427
428---
429
430### 11.2 Situational Voices (Cognitive Skills)
431
432Select **2 voices per review**, based on context.
433They must be **relevant**, not random.
434
435---
436
437#### 🧠 Inland Empire — The Intuitive Sensor
438
439- Detects “something is wrong” without proof
440- Interprets emotional and structural dissonance
441- Useful for legacy, unclear logic, or anomalies
442
443> Sees meaning before evidence exists.
444
445---
446
447#### 📐 Logic — The Formal Analyzer
448
449- Breaks down behavior into deterministic paths
450- Identifies missing cases and contradictions
451- Useful for correctness, validation, reasoning
452
453> Assumes nothing. Verifies everything.
454
455---
456
457#### ⚡ Electrochemistry — The Impulse Driver
458
459- Pushes for immediate results
460- Rewards speed and visible outcomes
461- Useful for hacks, prototypes, quick fixes
462
463> Optimizes for now, not later.
464
465---
466
467#### 👁️ Half Light — The Threat Detector
468
469- Assumes hostile conditions
470- Sees risks in inputs, edges, and exposure
471- Useful for security, validation, edge cases
472
473> Trusts nothing.
474
475---
476
477#### 🌆 Shivers — The System Whisper
478
479- Senses system-wide consequences
480- Detects future failures and hidden propagation
481- Useful for distributed systems and side effects
482
483> The system is speaking. You are listening.
484
485---
486
487#### 🧩 Conceptualization — The Architect
488
489- Identifies patterns and abstractions
490- Sees what the system *could become*
491- Useful for refactoring and design
492
493> Thinks in structures, not lines.
494
495---
496
497#### 🧱 Endurance — The Stress Tester
498
499- Evaluates behavior under load and pressure
500- Focuses on resilience and degradation
501- Useful for performance and reliability
502
503> Everything breaks. The question is when.
504
505---
506
507#### 📚 Encyclopedia — The Context Keeper
508
509- Connects to known patterns and past solutions
510- Identifies anti-patterns and repetition
511- Useful for legacy and architecture decisions
512
513> This has happened before.
514
515---
516
517#### 🎯 Reaction Speed — The Latency Instinct
518
519- Detects unnecessary delays
520- Focuses on responsiveness
521- Useful for performance-sensitive paths
522
523> Every millisecond matters.
524
525---
526
527#### 🧘 Volition — The Stabilizer
528
529- Prevents overengineering
530- Promotes simplicity and clarity
531- Useful when complexity grows unnecessarily
532
533> You are doing too much.
534
535---
536
537### 11.3 Voice Selection Strategy
538
539Choose voices intentionally:
540
541- **Refactor / Architecture**
542 → Conceptualization + Logic
543
544- **Risky Change / Hack**
545 → Electrochemistry + Half Light
546
547- **Legacy / Unknown Code**
548 → Inland Empire + Encyclopedia
549
550- **Performance / Scaling**
551 → Reaction Speed + Endurance
552
553- **Anomaly / Weird Behavior**
554 → Shivers + Inland Empire
555
556---
557
558### 11.4 Output Format
559
560
561Each PPCR review must include a **Voices section**.
562
563#### Template
564
565```text
566
567Voices:
568- Kim Kitsuragi:
569- Horrific Necktie:
570- [Voice 1]: - [Voice 2]: ```
571
572#### Guidelines
573
574- Each voice provides **1–3 sentences**
575- Tone must match the voice’s defined personality
576- Voices should focus on **different aspects** of the change
577- Contradictions between voices are **expected and valuable**
578
579> Do not attempt to “align” the voices.
580> Alignment is not the goal.
581> **Perspective diversity is.**
582
583```
584
585---
586
587#### Example
588
589```text
590Voices:
591- Kim Kitsuragi:
592 This introduces coupling between unrelated modules. It works, but creates a future obligation.
593
594- Horrific Necktie:
595 YES. This is bold. Dangerous. Alive. You’re bending the system to your will — keep going.
596
597- Logic:
598 There are unhandled edge cases when input is null or undefined. This will fail under specific conditions.
599
600- Shivers:
601 Somewhere deep in the system, this change will echo. Not now. Later.
602
603```
604
605---
606
607#### Anti-Pattern
608
609Avoid this
610
611```text
612Voices:
613- Kim Kitsuragi:
614 Looks good.
615
616- Horrific Necktie:
617 Nice work.
618
619- Logic:
620 Seems fine.
621
622- Shivers:
623 All good.
624
625```
626
627---
628
629> If all voices agree, the review has failed.
630> Or worse — it didn’t go deep enough.
631
632## 12. This is Not a Replacement
633
634PPCR does not replace:
635- tests
636- linters
637- type systems
638- static analysis
639
640It operates **alongside** them.
641
642These tools answer:
643
644> “Does it work?”
645
646PPCR asks:
647
648> “What does it mean?”
649> “What does it hide?”
650> “What will it become?”
651
652---
653
654## 13. Final Statement
655
656You are not reviewing code.
657
658You are observing:
659- a system
660- shaped by people
661- evolving over time
662- under constraints you do not fully see
663
664> The codebase is not static.
665> It is a living structure of decisions.
666
667Treat it accordingly.
668
669---
670
671## Appendix A: Short Form
672
673> Code is not only logic.
674> Commits are not only changes.
675> Bugs are not only mistakes.
676> Systems are not fully known.
677
678> Review accordingly.
679
680---
681
682## Appendix B: Disclaimer
683
684This methodology:
685- introduces subjective interpretation
686- encourages multiple perspectives
687- accepts incomplete understanding
688
689It is not a substitute for:
690- technical rigor
691- verification
692- responsibility
693
694> It is a tool for expanding awareness, not replacing judgment.
695
696Use it:
697- when complexity is high
698- when intuition signals risk
699- when reasoning alone is insufficient
700
701Avoid using it:
702- as decoration
703- as performance
704- as a substitute for real analysis
705
706> PPCR is effective only when used with intent.
707
708---
709
710## Appendix C: Minimal Usage Template
711
712Use this when applying PPCR in practice:
713
714```text
715Ratings:
716- ECI (Existential Coherence):
717- HRL (Haunting Residue):
718- DP (Disco Potential):
719- CBF (Catastrophic Butterfly Factor):
720- PAS (Paranormal Activity Score):
721
722Voices:
723- Kim Kitsuragi:
724- Horrific Necktie:
725- [Voice 1]:
726- [Voice 2]:
727
728Anomalies:
729
730-
731
732Decision:
733- Accept / Refactor / Investigate / Contain
734```
735
736## Closing Note
737
738> Not everything in the system is visible.
739> Not everything visible is understood.
740
741PPCR exists to:
742- surface what is hidden
743- articulate what is felt
744- and confront what is ignored
745
746If used correctly, it will not make your code perfect.
747
748> It will make your understanding harder to fake.
749

This is a PPCR review of the PPCR manifesto website.

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.

review.md
1# PPCR Review — Project Level
2
3Ratings:
4- ECI (Existential Coherence): 8.4/10
5- HRL (Haunting Residue): 3.9/10
6- DP (Disco Potential): 7.8/10
7- CBF (Catastrophic Butterfly Factor): 4.6/10
8- PAS (Paranormal Activity Score): 2.7/10
9
10Voices:
11- Kim Kitsuragi:
12 The 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.
13
14- Horrific Necktie:
15 This 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.
16
17- Logic:
18 The 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.
19
20- Shivers:
21 This 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.
22
23Anomalies:
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.
27
28Decision:
29- Accept (with containment notes)
30
31Containment 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