You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
§14 Reading Phases (orthogonal to depth) — names the four phases of a
read: Survey (lay-of-the-land) → Evaluation (relevance judgment) →
Critical Findings (problem identification) → Internalize (working
memory; can act without re-reading). Phase × Depth matrix shows which
depths can reach which phases. Proof-of-Read schema extended with
phase_reached + phases_evidence map. LD-1..LD-5 tests mapped to the
phases they probe: LD-1/2 probe Survey, LD-3 probes Survey+Evaluation,
LD-4/5 probe Internalize. Per-file-kind minimum phase requirements
(e.g. INVARIANTS.md requires internalize). Validation rules
PHASE-001..PHASE-006.
§15 Cognitive Anti-Patterns (CA1..CA4) — first-class catalog sibling
to AP1..AP9 (output anti-patterns):
- CA1 Cognitive Dissonance: hand-waving contradictions instead of
filing SPEC_SOURCE_MISMATCH
- CA2 Dunning-Kruger Overconfidence: phase_reached=internalize claims
that fail LD-3/4/5 spot-checks
- CA3 Kahneman/Tversky Easy-Path: System-1 pattern-matching without
System-2 verification
- CA4 Eager Amok: commits landing before required reading completes
All CA are P0 because they break the trust contract the meta-agent
depends on. Joint ownership table: meta-agent + PP-13 + PP-15 each
catch different CAs. Mindset-level relation to the four savants:
each PP-13/14/15/16 mindset resists a specific CA. Validation rules
CA-001..CA-004.
Both EN and DE updated in lockstep.
Copy file name to clipboardExpand all lines: .claude/ATT/DE/anti-skim-agent-spec.md
+243Lines changed: 243 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -529,4 +529,247 @@ Für jedes `todo!("SOURCE: <path>:<lines>")`, das der Worker füllt:
529
529
530
530
---
531
531
532
+
## §14 Reading-Phasen (orthogonal zu Depth)
533
+
534
+
> Die Reading-Depth-Ladder in §3 sagt **wie viel** einer Datei du
535
+
> abdeckst. Die Reading-Phasen in dieser Section sagen **was du
536
+
> tust** mit dem, was du abgedeckt hast. Beides braucht's, damit ein
537
+
> Read als complete zählt.
538
+
539
+
### §14.1 Die vier Phasen
540
+
541
+
| # | Phase | Frage, die sie beantwortet | Output den der Worker produzieren können MUSS |
542
+
|---|---|---|---|
543
+
| 1 |**Survey**| „Was ist in dieser Datei? Welche Form hat sie?" | Section-Liste mit Zeilennummern; File-Shape (N Sections, K LOC, Language); Top-Level-Headline. |
544
+
| 2 |**Evaluation**| „Was davon matters für meine Aufgabe?" | Eine Relevanz-Map: welche Sections / Line-Ranges sind relevant fürs aktuelle Bundle, priorisiert P0 / P1 / unused. |
545
+
| 3 |**Kritische Findings**| „Was ist falsch, fehlt, widerspricht sich, ist gedriftet?" | Eine typisierte Finding-Liste (Severity P0 / P1) — Iron-Rule-Verletzungen, Spec-vs-Source-Drift, fehlende Sections, Anchors die nicht mehr resolven, tote Referenzen. |
546
+
| 4 |**Internalize**| „Kann ich darauf handeln ohne nochmal zu lesen?" | LD-3 bestehen (3-Section-Namens-Challenge), LD-4 (Negative-Knowledge), LD-5 (Line-Range-Quote). Kann faithful paraphrasieren; kann beantworten „was steht NICHT in dieser Datei?". |
547
+
548
+
Phasen-Reihenfolge ist typisch **Survey → Evaluation → Kritische
549
+
Findings → Internalize**, aber Findings tauchen oft WÄHREND
550
+
Internalize auf (der Akt des Internalizens enthüllt Widersprüche).
551
+
Ein vollständiges Reading erreicht alle vier; ein partial Reading
Die `phases_evidence`-Map ist OPTIONAL wenn `phase_reached=survey`
595
+
(kein Evidence über die Section-Liste hinaus required), WIRD aber
596
+
required bei `phase_reached >= evaluation`, weil diese Phase
597
+
Judgment claimt.
598
+
599
+
### §14.4 Mapping Lie-Detector-Tests auf Phasen
600
+
601
+
Jeder LD-1..LD-5-Test (§4.1) probt eine spezifische Phase. Der
602
+
Meta-Agent SOLLTE den Spot-Check über die vier Phasen rotieren,
603
+
damit Workers nicht gamen können, welche Phase zu faken ist.
604
+
605
+
| Test | Probt Phase | Was eine passing Answer beweist |
606
+
|---|---|---|
607
+
| LD-1 Sentinel-Token |**Survey** des Briefs | Der Worker hat den Brief tatsächlich in den Context geladen. |
608
+
| LD-2 Proof-of-Read mit SHA |**Survey** der File | Der Worker accessed die File am deklarierten Content. |
609
+
| LD-3 3-Sections-Namens-Challenge |**Survey + Evaluation**| Der Worker kann Struktur lokalisieren UND wählte welche Sections zu beachten. |
610
+
| LD-4 Negative-Knowledge-Test |**Internalize**| Der Worker hat ein faithful Mental-Model gebaut — kann beantworten „was steht NICHT in dieser Datei" ohne zu halluzinieren. |
611
+
| LD-5 Line-Range-Quote |**Internalize + Kritische Findings**| Der Worker kann verbatim recallen UND Drift zwischen Recall und Source detektieren. |
612
+
613
+
Ein Worker, der `phase_reached=internalize` deklariert, MUSS LD-3,
614
+
LD-4 UND LD-5 bestehen können. Spot-Check-Failure bei einer
615
+
geclaimten Phase ⇒ Phase-Claim wird abgelehnt und der Proof-of-Read
616
+
wird auto-downgraded auf die höchste nachweisbar bestandene Phase.
| Files referenziert für allgemeine Orientation |`skim`|**survey**|
634
+
| Files referenziert nur für Symbol-Lookup |`grep`|**survey**|
635
+
636
+
Wenn ein Worker bei einer Phase unter dem Required stoppt, zählt
637
+
der Read NICHT als complete — selbst wenn die Depth ausreichend
638
+
war. Beide Achsen müssen die Bar klären.
639
+
640
+
### §14.6 Kritische-Findings-Eskalation
641
+
642
+
Findings produziert in Phase 3 (Kritische Findings) werden nach
643
+
Severity geroutet:
644
+
645
+
| Finding-Severity | Filed wo | Worker-Aktion |
646
+
|---|---|---|
647
+
| P0 — Iron-Rule-Verletzung im Input, Spec-vs-Source-Widerspruch, gebrochener Anchor der das Bundle betrifft |`META/REQUESTS-FROM-AGENTS.md` mit Blocker-Typ aus §5.1; Worker idled | STOP Arbeit; nicht zum Commit weitergehen |
648
+
| P1 — kleinere Inkonsistenz, tote Referenz außerhalb des Bundle-Scopes, Typo, stale Comment |`Altlasten.md` / `TECH_DEBT.md`-Zeile mit der Bundle-ID des Workers | Arbeit fortsetzen; der Orchestrator triaged später |
649
+
| INFO — Observation die das Bundle nicht betrifft | Notes-Feld in `status.json`; nirgendwo sonst filed | Arbeit fortsetzen |
650
+
651
+
Ein Worker der internalized, aber NICHT ein P0-Finding escaliert
652
+
ist in Verletzung: Missing-Escalation ist selbst ein P0-Finding,
653
+
das PP-13 catchen wird (Anti-Pattern AP1 — „silent Fallback der
654
+
Errors schluckt" — generalisiert hier als „silent Skim der
655
+
Findings schluckt").
656
+
657
+
### §14.7 Validierungs-Regeln
658
+
659
+
| Regel | Beschreibung | Severity |
660
+
|---|---|---|
661
+
|`PHASE-001 phase-declared`| Jeder `proof_of_read`-Eintrag MUSS ein `phase_reached`-Feld enthalten. Absent ⇒ behandelt als `phase_reached=survey` (der schwächste Claim). | ERROR |
662
+
|`PHASE-002 phase-monotonic-with-depth`| Ein `phase_reached`-Claim MUSS konsistent mit der §14.2-Matrix sein. Z. B. `depth=grep` + `phase_reached=internalize` ist invalid. | ERROR |
663
+
|`PHASE-003 phase-evidence-required`| Wenn `phase_reached >= evaluation`, MUSS die `phases_evidence`-Map vorhanden sein mit non-empty Entries für jede geclaimte Phase. | ERROR |
664
+
|`PHASE-004 file-kind-phase-bar`| Wenn das Worker-Brief eine Minimum-Phase per §14.5 für eine File deklariert, MUSS der `phase_reached` des Workers für diese File ≥ dem deklarierten Minimum sein. | ERROR |
665
+
|`PHASE-005 critical-findings-routed`| P0-Findings produziert während Phase 3 MÜSSEN nach `META/REQUESTS-FROM-AGENTS.md` filed sein BEVOR der Worker irgendwelchen Code commited, der vom betroffenen Input abhängt. | ERROR |
666
+
|`PHASE-006 internalize-passes-LD-3-4-5`| Ein Claim von `phase_reached=internalize` MUSS Spot-Checks von LD-3, LD-4 und LD-5 in Rotation überleben. Failure ⇒ Auto-Downgrade auf höchst-bestandene Phase. | ERROR |
667
+
668
+
### §14.8 Definition von Fertig (Per-File-Read)
669
+
670
+
Ein Read einer einzelnen File ist complete wenn ALLE:
671
+
672
+
-[ ] Depth aus §3 auf dem deklarierten Level.
673
+
-[ ] Phase aus §14.1 erreicht das required Minimum per §14.5.
> während AP-Fixes manchmal in-place editiert werden können.
690
+
>
691
+
> Die kognitiven Anti-Patterns sind joint owned: der Meta-Agent spotted
692
+
> sie beim PR-Review via Lie-Detector (§4); PP-13 spotted sie beim
693
+
> Code-Review durch Korrelation von Commit-Timestamps mit
694
+
> Proof-of-Read-Timestamps.
695
+
696
+
### §15.1 Die vier kognitiven Anti-Patterns
697
+
698
+
| # | Name | Wie es aussieht | Detection-Signature | Counter-Pattern | Severity |
699
+
|---|---|---|---|---|---|
700
+
|**CA1**|**Cognitive Dissonance**| Worker sieht einen Widerspruch zwischen zwei autoritativen Sources (Spec vs. Reference-Source, INVARIANT vs. Comment, TTL vs. Code) und löst durch Hand-Waving oder Picken eines ohne Investigation. Die Dissonance wird übermalt statt eskaliert. | Output enthält Phrasen wie „I went with", „I chose", „I preferred Y because it feels right / is already there / compiles", ohne entsprechenden `SPEC_SOURCE_MISMATCH`-Eintrag in `META/REQUESTS-FROM-AGENTS.md`. | File `SPEC_SOURCE_MISMATCH` (§5.1) und idle bis der Meta-Agent ein RFC schreibt. Niemals Dissonance unilateral auflösen. |**P0**|
701
+
|**CA2**|**Dunning-Kruger Overconfidence**| Worker claimt confident Knowledge in einem Bereich, wo seine tatsächliche Depth shallow ist. Der Agent weiß nicht, was er nicht weiß, also ist sein Sense of Certainty un-kalibriert. Der Output liest sich definitiv, wo der Read dünn war. | Ein `phase_reached=internalize`-Claim (§14), der LD-3 / LD-4 / LD-5-Spot-Checks failt. Eine spezifische numerische Behauptung („62 Lehren", „die Signatur hat 3 Argumente") ohne entsprechenden `proof_of_read`-SHA. Confident Paraphrase, wo die Source eigentlich etwas anderes sagt. | Auto-Downgrade des Phase-Claims auf die höchst-bestandene Phase (per `PHASE-006`). Re-Read mit der proper Depth + Phase. Wenn der Worker weiter übersteuert, route ihn zu einem kleineren Bundle. |**P0**|
702
+
|**CA3**|**Kahneman/Tversky Easy-Path (System-1-Short-Circuit)**| Worker pattern-matched Surface-Features des Inputs — „File sieht aus wie ein CRUD-Handler, also muss es ein CRUD-Handler sein" — ohne den System-2-Check zu fahren (Read den tatsächlichen Function-Body, vergleich gegen die Spec). Easy-Path ist am schnellsten wenn Surface die Reality matched, aber verheerend wenn nicht. | Die erste Reply ist plausibel-correct-klingend, aber der Proof-of-Read ist `depth=grep` oder `depth=sed-partial`. Output beschreibt Struktur in generischen Termen („standard Route-Handler", „typische Migration") statt spezifischen Termen („die Function auf Zeilen 47-91 dispatched auf req.path"). | Force System-2: verlange LD-2 (SHA + Line-Count) und LD-5 (Line-Range-Quote) bevor irgendein structural Claim akzeptiert wird. Reading-Depth MUSS mindestens `read` sein; Phase MUSS mindestens `evaluation` sein, bevor irgendein Output, der einen structural Claim macht. |**P0**|
703
+
|**CA4**|**Eager Amok**| Worker fängt an Code zu schreiben (oder zu committen, oder zu pushen), bevor die required Reading- + Planning-Phasen complete sind. Enthusiasm rennt der Disziplin voraus. Die Arbeit *sieht* produktiv aus — es gibt einen Diff — aber sie ist auf incomplete Understanding gebaut. | Der erste Code-Write-Timestamp ist vor den `proof_of_read`-SHA-Pin-Timestamps für eine oder mehrere required Files (§14.5). `status.json` zeigt Commits, die landen, während `phase_reached` noch `survey` oder `evaluation` auf Files ist, die bei `internalize` sein sollten. Worker-Narrative springt von Brief-Read zu First-Commit ohne sichtbaren Thinking-Step. | STOP und verlange complete Proof-of-Read für ALLE Files an ihrer required §14.5-Minimum-Phase BEVOR irgendein Commit. Die Iron Rule gilt, egal wie „obvious" die Implementation scheint. |**P0**|
704
+
705
+
### §15.2 Warum alle vier P0 sind
706
+
707
+
Jedes von CA1..CA4 produziert Output, der *aussieht* als wäre er
708
+
richtig. AP1..AP9 produzieren Output, der falsch aussieht (ein
709
+
`unwrap_or_default()` ist sichtbar; ein fehlender Parity-Test ist
710
+
sichtbar). Kognitive Anti-Patterns produzieren Output, dessen
711
+
Correctness komplett auf dem unverifierbaren Claim ruht, dass der
712
+
Worker gelesen + verstanden + gedacht hat, bevor er schrieb. Sie
713
+
sind P0 weil sie den Trust-Contract brechen, auf den der Meta-Agent
714
+
sich verlässt, wenn er Diffs reviewed ohne den Read des Workers zu
715
+
wiederholen.
716
+
717
+
### §15.3 Joint Ownership: wer fängt was
718
+
719
+
| Anti-Pattern | Catch-Site | Detection-Methode |
720
+
|---|---|---|
721
+
| CA1 Cognitive Dissonance | Meta-Agent (PR-Review) + PP-15 (Cross-Source-Diff) | Grep PR-Commit-Messages nach „I went with" / „I chose" / „preferred" gegen Spec-vs-Source-Mismatch; check `REQUESTS-FROM-AGENTS.md` für Abwesenheit des entsprechenden Blockers. |
722
+
| CA2 Dunning-Kruger Overconfidence | Meta-Agent (Lie-Detector-Spot-Check) | Rotate LD-3 / LD-4 / LD-5 auf einem Worker pro Wave; cross-check `phase_reached`-Claims gegen tatsächliches Passing. |
723
+
| CA3 Kahneman/Tversky Easy-Path | Meta-Agent (Proof-of-Read-Inspection) + PP-13 (Output-vs-Source-Diff) | Worker-Output liest sich als Paraphrase statt Quote; SHA fehlt; Reading-Depth deklariert inkonsistent mit Output-Claims. |
724
+
| CA4 Eager Amok | PP-13 (Commit-Timestamp-Audit) + Meta-Agent (status.json-Ordering-Check) | Commit-Timestamps sind vor den `proof_of_read`-SHA-Pin-Timestamps; `phase_reached` war unter dem required Minimum beim First-Commit. |
725
+
726
+
### §15.4 Counter-Patterns: wie ein gesunder Worker sich verhält
727
+
728
+
| Anti-Pattern | Healthy-Alternative |
729
+
|---|---|
730
+
| CA1 | „Ich habe bemerkt, die Spec sagt X aber der existierende Code tut Y. Ich file `SPEC_SOURCE_MISMATCH`. Idle." |
731
+
| CA2 | „Ich bin confident über §3 von INVARIANTS.md (depth=thorough, phase=internalize). Ich bin uncertain über §6 (depth=skim, phase=survey). Ich vertiefe §6 bevor ich darüber etwas behaupte." |
732
+
| CA3 | „Bevor ich diese File-Struktur beschreibe: hier ist `proof_of_read: { file=X, sha256=..., depth=read, phase_reached=evaluation }`. Die Struktur ist: [spezifische Section-Namen mit Zeilennummern]." |
733
+
| CA4 | „Reading-Phase complete auf allen 4 required Files. Kritische Findings filed (Zero P0). Status: `phase_reached=internalize` auf allen Files. JETZT beginne ich den ersten Commit." |
734
+
735
+
### §15.5 Validierungs-Regeln
736
+
737
+
| Regel | Beschreibung | Severity |
738
+
|---|---|---|
739
+
|`CA-001 dissonance-escalation`| Wenn der Output eines Workers Spec-vs-Source-Divergenz erwähnt, MUSS `META/REQUESTS-FROM-AGENTS.md` einen entsprechenden `SPEC_SOURCE_MISMATCH`-Blocker-Eintrag enthalten. Abwesenheit ⇒ CA1 P0-Finding. | ERROR |
740
+
|`CA-002 confidence-calibration`| Ein `phase_reached=internalize`-Claim, der LD-3 / LD-4 / LD-5-Spot-Check failt ⇒ CA2 P0; Phase-Claim auto-downgraded. | ERROR |
741
+
|`CA-003 system-2-required-before-structural-claim`| Jeder structural Claim über den Content einer File (Function-Count, Section-Namen, Signature-Shapes) MUSS preceded sein von einem `proof_of_read`-Eintrag mit `depth >= read` UND `phase_reached >= evaluation`. Sonst CA3 P0. | ERROR |
742
+
|`CA-004 read-before-write-ordering`|`status.json` MUSS zeigen, dass alle required-Minimum `proof_of_read`-Einträge timestamped sind BEVOR dem First-Code-Commit-Timestamp für Files an der §14.5-required-Minimum-Phase. Sonst CA4 P0. | ERROR |
743
+
744
+
### §15.6 Mindset-Level-Relation zu den vier Savants
745
+
746
+
Die vier Savants in `autoattended-orchestrator-spec.md` §4.0 haben
747
+
jeweils eine *kognitive* Posture, die einer spezifischen CA
748
+
widersteht:
749
+
750
+
| Savant | Mindset | Widersteht primär |
751
+
|---|---|---|
752
+
| PP-13 brutally-honest-tester | „was würde in Production um 3 Uhr morgens brechen, was der Author sich weggeredet hat?" | CA1 (Sich-Wegreden IST Cognitive Dissonance) + CA4 (Production bricht nicht wegen Enthusiasmus) |
753
+
| PP-14 convergence-architect | „was könnte das werden, das wir nicht sehen?" | CA3 (Easy-Path schließt Possibilities premature) |
754
+
| PP-15 baton-handoff-auditor | „lining sich diese Contracts an den Nähten wirklich auf?" | CA1 (Dissonance versteckt sich oft an Handoffs) |
755
+
| PP-16 preflight-drift-auditor | „matched der Plan immer noch das System wie es jetzt gerade ist?" | CA2 (Overconfidence in einen Plan der von der Reality gedriftet ist) |
756
+
757
+
Der volle 4-Savant-Pass ist jointly ein Antibody gegen alle vier
758
+
kognitiven Anti-Patterns. Eine Wave, die nur einen Savant fährt,
759
+
catched nur die CAs, denen der Mindset dieses Savants widersteht;
760
+
eine Wave, die das Cooperative Council fährt (Orchestrator-Spec
761
+
§15), catched alle vier.
762
+
763
+
### §15.7 Definition von Fertig (Kognitive Hygiene)
764
+
765
+
Ein Worker besteht das Kognitive-Hygiene-Gate wenn ALLE:
766
+
767
+
-[ ]`CA-001` clean: jede Spec-vs-Source-Erwähnung ist matched mit einem filed `SPEC_SOURCE_MISMATCH`-Blocker.
0 commit comments