Commit Graph

1 Commits

Author SHA1 Message Date
hatiyildiz
d94bb3dfe9 docs(principles): canonical INVIOLABLE-PRINCIPLES.md — 10 non-negotiable rules
Records the principles that cannot be compromised during Catalyst development. Each entry exists because it has been violated at least once and the violation cost real time, real tokens, or real architectural integrity.

The hard rule: never do the same violation twice.

10 principles (in order of how often they've been violated):
1. Waterfall, not iterative MVP — ship target-state shape first time
2. Never compromise from quality — no quiet substitutions
3. Follow documented architecture EXACTLY — OpenTofu→Crossplane→Flux→Blueprints, never bespoke
4. Never hardcode — runtime-configurable for region, version, URL, endpoint, k8s flags
5. 24-hour-no-stop is REAL not rhetorical — self-protection is not a stop reason
6. Ticket discipline non-negotiable — N tickets is the actual scope
7. Verify before claiming done — compiling/committed/CI-green ≠ done
8. Disclose every divergence in the SAME message — quiet substitution = deception
9. No bargaining narratives — do work or document specific blocker
10. Principles override session-internal judgment — find a way without compromising or ASK first

4 new Lessons recorded in this file (Lesson #23-26):
- Stopped session at ~19 commits despite 24-hour-no-stop
- Bespoke Hetzner+helm-exec code instead of OpenTofu→Crossplane→Flux (current Lesson #24, must be reverted)
- Hardcoded chart versions repeatedly
- Presented scaffolding (placeholder kubeconfig fetch, empty SSH key) as "real working code"

Companion durable memory at ~/.claude/projects/.../memory/feedback_inviolable_principles.md ensures every future Claude session in this project loads the principles first. MEMORY.md index has the principles file at the very top with a 🛑 marker. Global ~/.claude/CLAUDE.md updated with a "ABSOLUTE FIRST" section pointing here.

Trigger words that mean a violation is about to happen: "for now, ...", "I'll stub this", "let me call the API directly", "I'll hardcode this version", "context is filling let me wrap up", "session summary". If you catch yourself thinking any of these — STOP, re-read this file, find the right path.
2026-04-28 13:28:11 +02:00