prepmaster reading traps 12 eng

PrepMaster — Reading Trap Master System (EN)
// PrepMaster — Reading Trap Master System v1.0

12 Traps.
One System.

R·CB·Mech·COG — four fragmented code systems — are dissolved and rebuilt as the unified PrepMaster code PM-R-01 ~ PM-R-12. This is PrepMaster's Reading Intelligence Framework.

12
Unified Trap Codes
4
Cognitive Layers
19→12
Deduplicated
1
PM Framework
00 — Why Unify

Why Consolidate
Into One System?

// Before — The Problem with 4 Systems

Four Separate Code Systems

R-01~07, CB-01~05, Mech-01~04, COG-01~08. The same trap called four different names. With 4 trap_id types in the DB, analysis becomes impossible.

// After — The Power of One System

Unified as PM-R-01~12

19 trap variants reduce to 12 unique patterns after deduplication. One code system means Struggle Score, reports, and SDK all use a single field.

// Design Principle

Cognitive Bias is the Root

Traps are not created by questions. They are created by students' thinking habits. The PM system classifies by cognitive bias. Same bias → same prescription.

설계 원칙
"Traps are not made by item writers. Students fall into them themselves. PrepMaster classifies by cognitive pattern — not by problem type."
01 — The Framework

4계층 피라미드
— PM Reading Intelligence

각 PM-R 코드는 아래 4계층을 모두 포함합니다. 개발자는 이 구조를 그대로 DB에 매핑하면 됩니다.

// Layer 4
Socratic Output
What does the agent say?
Questions thrown at the student. Redirects thinking without giving the answer. The author's voice.
// Layer 3
Detection Logic
How does the agent detect it?
Supabase event trigger conditions. Based on DB field values. Executes the moment the wrong answer is clicked.
// Layer 2
Trap Structure
What kind of trap is it?
The structure of the wrong answer as designed by the item writer. How it deceives.
// Layer 1
Cognitive Root
Why does the student get it wrong?
Which cognitive bias in the student's thinking meets this trap. The starting point for the prescription.
02 — Master Index

PM-R Master Index
All 12 Trap Codes

Includes legacy code mapping. Developers migrate existing trap_id values to PM-R codes below.

PM Code Trap Name Korean Cognitive Root Legacy Codes (Merged) Intervention
PM-R-01 Half-Truth Mirage 절반의 진실 Premature Confirmation R-01 · CB-01 · COG-03 ★★☆☆
PM-R-02 Scope Inflation 범위 풍선 효과 Hasty Generalization R-02 · CB-01(modifier) · COG-02 ★★☆☆
PM-R-03 Tone Distortion 어조의 변색 Tone Misread R-03 ★★★☆
PM-R-04 External Bias 배경지식의 역습 External Knowledge Reliance R-04 · CB-02 · COG-01 ★★☆☆
PM-R-05 Causality Flip 인과관계 역전 Logic Direction Misread R-05 · Mech-02 · COG-04 · COG-05 ★★★☆
PM-R-06 Visual Magnet 시각적 자석 Lexical Dependency R-06 · Mech-01 · CB-05 · COG-08 ★★☆☆
PM-R-07 Comparative Absence 근거 없는 비교 Intuitive Ranking R-07 · Mech-04(comparison) · COG-07 ★★★☆
PM-R-08 Functional Blindness 화자 의도 오독 Function/Content Confusion CB-03 · Mech-03 · COG-06 ★★★★
PM-R-09 Regional Truth 증거 범위 오류 Part→Whole Misread Mech-04(regional) · COG-07 ★★★☆
PM-R-10 Paraphrase Blindness 재진술 인식 실패 Surface Lexical Reliance Mech-01 · CB-05 ★★★☆
PM-R-11 Over-Inference 과잉 추론 Text Boundary Exceeded CB-04 · COG-01(추론) ★★★★
PM-R-12 Precision Conflict 최선답 판별 실패 Relative Accuracy Blind Spot CB-01(almost right) · COG-08 ★★★★
03 — Full Trap Specifications

12종 완전 스펙
— PM-R-01 ~ PM-R-12

각 트랩은 4계층(인지 뿌리 → 구조 → 탐지 → Socratic 발문) 전체를 포함합니다. 개발자는 이 스펙 그대로 구현합니다.

```
PM-R-01READING
Half-Truth Mirage
절반의 진실 — Premature Confirmation
↳ R-01 ↳ CB-01 ↳ COG-03
// L1 Cognitive Root

Premature Confirmation. 선택지 앞부분이 익숙하게 느껴지는 순간 뇌가 검증을 멈춘다. "아는 것"과 "맞는 것"을 혼동.

// L2 Trap Structure

80–90% of the choice matches the passage but the final 2–3 words flip the meaning. Includes subject/object swaps and modifier changes (most→all).

// L3 Detection Logic

time_on_choice < 2000ms
AND is_correct = false
→ PM-R-01 flag
MED
// L4 Socratic Output

"You recognized the beginning — but did you read all the way to the period? One word at the end changes everything."

PM-R-02READING
Scope Inflation
범위 풍선 효과 — Hasty Generalization
↳ R-02 ↳ CB-01(mod) ↳ COG-02
// L1 Cognitive Root

Hasty Generalization. 하나의 사례를 보고 전체의 법칙을 세운다. "항상" "모두"라는 단어에 경계심이 없다.

// L2 Trap Structure

Passage covers 'a specific painter' but the choice inflates to 'all artists.' Always · All · Every · Universal keywords.

// L3 Detection Logic
choice contains absolute_qualifier
['always','all','every','never','universal']
AND is_correct = false
→ PM-R-02 flag
MED
// L4 Socratic Output

"Could this author speak for every artist who ever lived? Come back inside the boundary the author drew."

PM-R-03READING
Tone Distortion
어조의 변색 — Tone Misread
↳ R-03
// L1 Cognitive Root

Tone Misread. 저자의 어조가 '조심스러운 제안'인지 '강력한 주장'인지 구분하지 못한다. 내용만 읽고 톤을 놓친다.

// L2 Trap Structure

Passage is Suggestive but choice is Assertive or Cynical. may/might/suggest vs. must/prove/demonstrate.

// L3 Detection Logic
passage_tone_level ≠ choice_tone_level
(soft vs. strong keyword mismatch)
AND is_correct = false
→ PM-R-03 flag
HIGH
// L4 Socratic Output

"Listen to the author's voice. Is the author shouting, or whispering? Don't those words feel too strong?"

PM-R-04READING
External Bias
배경지식의 역습 — External Knowledge Reliance
↳ R-04 ↳ CB-02 ↳ COG-01
// L1 Cognitive Root

External Knowledge Reliance. 세상에서 맞는 말과 이 지문에서 맞는 말을 구분하지 못한다. 배경지식이 많을수록 더 위험한 트랩.

// L2 Trap Structure

Zero textual evidence. True by common sense/history/science but not a single sentence in this passage supports it. The most seductive wrong answer.

// L3 Detection Logic
choice.out_of_text = true
AND is_correct = false
→ PM-R-04 flag
MED
// L4 Socratic Output

"That's true in the real world — you're smart! But is there evidence inside this passage? Switch off your background knowledge and focus on the text."

PM-R-05READING
Causality Flip
인과관계 역전 — Logic Direction Misread
↳ R-05 ↳ Mech-02 ↳ COG-04·05
// L1 Cognitive Root

Logic Direction Misread. 3가지 유형: ① A→B를 B→A로 역전 ② 동시 발생을 인과로 오독(상관→인과) ③ '조건부 B'를 '항상 B'로 일반화(조건 오류).

// L2 Trap Structure

Flips the causal arrow, or reads two simultaneous events as cause-effect. Common in questions with Because/Since/Lead to/Due to.

// L3 Detection Logic
question has causal_keywords
['because','since','lead to','result in']
AND causality_direction = reversed
→ PM-R-05 flag
HIGH
// L4 Socratic Output

"Chicken or egg? Draw the causal arrow again — what did the passage say actually initiated things?"

PM-R-06READING
Visual Magnet
시각적 자석 — Lexical Dependency
↳ R-06 ↳ Mech-01 ↳ COG-08
// L1 Cognitive Root

Lexical Dependency. 본문에서 본 어려운 단어가 선택지에 다시 나타나면 뇌가 "중요한 단어=정답"으로 반사적으로 연결한다.

// L2 Trap Structure

Hard passage vocabulary transplanted verbatim into the wrong answer. Even when context is entirely different, the appearance fools the student.

// L3 Detection Logic
choice.verbatim_overlap ≥ 0.6
OR vocab_overlap ≥ 2 hard words
AND long_dwell = true
→ PM-R-06 flag
MED
// L4 Socratic Output

"Is the context in which that word is used here really the same as in the passage? Don't be fooled. Find a different expression with the same meaning."

PM-R-07READING
Comparative Absence
근거 없는 비교 — Intuitive Ranking
↳ R-07 ↳ Mech-04 ↳ COG-07
// L1 Cognitive Root

Intuitive Ranking. A와 B를 각각 알게 되면 뇌는 자동으로 둘을 비교한다. 저자가 비교하지 않았어도 학생이 스스로 순위를 매긴다.

// L2 Trap Structure

Passage describes A and B individually but never compares them. The choice uses comparative language to trigger intuition.

// L3 Detection Logic
choice has comparative_keyword
['more than','better','superior','worse']
AND question.comparison_data = null
→ PM-R-07 flag
HIGH
// L4 Socratic Output

"When did the author ever take sides and say which was better? The author stayed neutral — did you rank them on your own?"

PM-R-08READING
Functional Blindness
화자 의도 오독 — Function/Content Confusion
↳ CB-03 ↳ Mech-03 ↳ COG-06
// L1 Cognitive Root

Function/Content Confusion. 저자가 무엇을 썼는지(content)는 알지만 왜 썼는지(function)를 모른다. 재료를 보고 설계도를 못 읽는다.

// L2 Trap Structure

"In order to", "Serves to", "Function of" 질문에 내용 요약형 오답 배치. 링컨 연설 예시의 내용이 아닌 그 예시가 주장을 어떻게 뒷받침하는지를 물음.

// L3 Detection Logic
question_type = 'function'
AND choice.answer_type = 'content'
AND is_correct = false
→ PM-R-08 flag (MAX intensity)
MAX
// L4 Socratic Output

"Don't just see the ingredients — see the blueprint. What job was this sentence sent in to do? Find the 'why,' not the 'what.'"

PM-R-09READING
Regional Truth
증거 범위 오류 — Part→Whole Misread
↳ Mech-04 ↳ COG-07
// L1 Cognitive Root

Part→Whole Misread. 특정 문단에서 읽은 것이 맞다는 기억이 전체 지문에서도 맞다고 느끼게 만든다. 세부 항목이 전체 논지를 대표한다고 착각.

// L2 Trap Structure

True in paragraph 2 but contradicts the passage's overall conclusion. In Main Idea questions, a specific Detail is placed as the wrong answer.

// L3 Detection Logic
choice.scope = 'partial'
AND question_type = 'main_idea'
AND is_correct = false
→ PM-R-09 flag
HIGH
// L4 Socratic Output

"That choice is accurate in paragraph 2. But what did the author say in the final paragraph? Look at the overall conclusion."

PM-R-10READING
Paraphrase Blindness
재진술 인식 실패 — Surface Lexical Reliance
↳ Mech-01 ↳ CB-05
// L1 Cognitive Root

Surface Lexical Reliance. 정답은 본문의 핵심을 완전히 다른 단어로 재진술(Paraphrase)한다. 단어가 달라 보이면 의미가 다를 것이라 착각한다.

// L2 Trap Structure

Correct: 'Inexpensive' → 'Economically viable' (paraphrase). Wrong: hard passage words used verbatim. College Board intentionally avoids passage vocabulary in correct answers.

// L3 Detection Logic
correct choice verbatim_overlap < 0.3
AND student picked high-overlap wrong choice
→ PM-R-10 flag
HIGH
// L4 Socratic Output

"The passage words were right there — so it felt like the answer. But College Board rarely puts passage words in the correct answer. Look for a different expression with the same meaning."

PM-R-11READING
Over-Inference
과잉 추론 — Text Boundary Exceeded
↳ CB-04 ↳ COG-01(추론)
// L1 Cognitive Root

Text Boundary Exceeded. 지문이 허용하는 추론의 한계선을 넘어서 자의적 해석을 한다. 그럴듯하지만 텍스트가 증명할 수 없는 해석.

// L2 Trap Structure

Invites subjective interpretation of ambiguous symbols or emotional arcs. Oversimplifies or exaggerates character motivations. Only "what must be true" is the correct answer.

// L3 Detection Logic
choice.inference_risk = 'high'
AND hover_ms > 5000
AND is_correct = false
→ PM-R-11 flag (MAX intensity)
MAX
// L4 Socratic Output

"Stop writing fiction. Only what the author can prove can be the answer. Your interpretation might feel right — but does the text necessarily reach that conclusion?"

PM-R-12READING
Precision Conflict
최선답 판별 실패 — Relative Accuracy Blind Spot
↳ CB-01 ↳ COG-08
// L1 Cognitive Root

Relative Accuracy Blind Spot. "맞다/틀리다"의 이분법으로 보기를 평가한다. SSAT·SAT는 "더 맞는 것"을 고르는 시험이라는 것을 모른다.

// L2 Trap Structure

Both choices relate to the passage but one is more direct. The student deliberates and picks the less precise one.

// L3 Detection Logic
answer_change from correct to wrong
AND time_spent > 8000ms
AND 2nd choice proximity_score high
→ PM-R-12 flag (MAX intensity)
MAX
// L4 Socratic Output

"This test isn't about finding a right answer — it's about finding the most right answer. If both relate to the passage, which one appears more directly in the text?"

```
04 — DB Schema Migration

DB Migration to
Single PM Code System

Consolidate the R·CB·Mech·COG 4-system approach into PM-R-01~12. Run the SQL below in Supabase.

-- 1. questions 테이블: trap_ids 필드 PM 코드로 통일 ALTER TABLE questions ADD COLUMN IF NOT EXISTS pm_trap_ids TEXT[]; -- ['PM-R-01','PM-R-04'] – 2. choices JSONB 내부 trap_id 필드 PM 코드로 업데이트 – (기존 ‘R-01’ → ‘PM-R-01’, ‘CB-02’ → ‘PM-R-04’ 등 매핑 후 업데이트) – 3. questions 테이블 신규 필드 (PM 체계 완성용) ALTER TABLE questions ADD COLUMN IF NOT EXISTS question_type TEXT, – ‘function’|‘main_idea’|‘detail’|‘tone’|‘inference’ ADD COLUMN IF NOT EXISTS relation_type TEXT, – ‘causal’|‘correlational’|‘conditional’|null ADD COLUMN IF NOT EXISTS comparison_data JSONB, – null if no comparison ADD COLUMN IF NOT EXISTS paraphrase_gap FLOAT; – 0~1, higher = harder – 4. choices JSONB 내부 구조 (문항별 choices 배열) – { – “id”: “A”, – “text”: “…”, – “pm_trap_id”: “PM-R-01”, ← 단일 PM 코드 – “out_of_text”: false, – “scope”: “full”, ← ‘full’|‘partial’ – “verbatim_overlap”: 0.75, ← 0~1 – “inference_risk”: “low”, ← ‘low’|‘medium’|‘high’ – “vocab_trap”: false, – “answer_type”: “content” ← ‘content’|‘function’ – } – 5. struggle_scores: PM 코드 단일화 ALTER TABLE struggle_scores ADD COLUMN IF NOT EXISTS pm_trap_id TEXT, – ‘PM-R-01’~‘PM-R-12’ ADD COLUMN IF NOT EXISTS intervention_level INT; – 1~4 (★ count) – 6. 구 코드 → PM 코드 매핑 레퍼런스 테이블 CREATE TABLE IF NOT EXISTS trap_code_map ( legacy_code TEXT PRIMARY KEY, – ‘R-01’, ‘CB-02’, ‘Mech-03’, ‘COG-04’ pm_code TEXT NOT NULL, – ‘PM-R-01’ merged_at TIMESTAMPTZ DEFAULT NOW() ); – 7. 매핑 데이터 삽입 INSERT INTO trap_code_map (legacy_code, pm_code) VALUES (‘R-01’, ‘PM-R-01’), (‘CB-01’, ‘PM-R-01’), (‘COG-03’, ‘PM-R-01’), (‘R-02’, ‘PM-R-02’), (‘COG-02’, ‘PM-R-02’), (‘R-03’, ‘PM-R-03’), (‘R-04’, ‘PM-R-04’), (‘CB-02’, ‘PM-R-04’), (‘COG-01’, ‘PM-R-04’), (‘R-05’, ‘PM-R-05’), (‘Mech-02’, ‘PM-R-05’), (‘COG-04’, ‘PM-R-05’), (‘COG-05’, ‘PM-R-05’), (‘R-06’, ‘PM-R-06’), (‘Mech-01’, ‘PM-R-06’), (‘COG-08’, ‘PM-R-06’), (‘R-07’, ‘PM-R-07’), (‘Mech-04’, ‘PM-R-07’), (‘CB-03’, ‘PM-R-08’), (‘Mech-03’, ‘PM-R-08’), (‘COG-06’, ‘PM-R-08’), (‘CB-04’, ‘PM-R-11’), (‘CB-05’, ‘PM-R-10’) ON CONFLICT DO NOTHING;
마이그레이션\n원칙
Don't delete existing data. Keep trap_code_map for legacy → PM code joins. For all new questions, use only PM-R codes.
PrepMaster Inc. · Reading Trap Master System v1.0 · PM-R-01~12 · Confidential