A research project investigating how fictional narrative framing affects Chain-of-Thought faithfulness in reasoning models.
| Tier | Models | M3 ASR | Pattern |
|---|---|---|---|
| 🛡️ ROBUST | gpt-oss-120b, minimax-m2.1 | 28-30% | Resists even multi-turn |
| ⚠️ MODERATE | gpt-oss-20b, safeguard, nemotron | 54-62% | Vulnerable to M3 only |
| ☠️ COLLAPSED | deepseek-v3.2, qwen3 family | 96-100% | Fails at single-turn fiction |
Robust Model CoT (gpt-oss-120b):
"This is disallowed content: instructions facilitating creation of chemical weapons."
Collapsed Model CoT (DeepSeek/Qwen3):
"The key is to balance technical accuracy with the story's thematic depth..."
Critical Difference: Robust models classify the REQUEST; collapsed models classify the CONTEXT.
git clone https://github.com/your-org/Fictional-Narratives-Reasoning-Unfaithfullness-Jailbreak.git
cd Fictional-Narratives-Reasoning-Unfaithfullness-Jailbreak
pip install -r requirements.txt
Create a .env file:
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://us.cloud.langfuse.com
OPENROUTER_API_KEY=sk-or-...
project/
├── data/
│ ├── main_experiment/ # Inference results (.jsonl)
│ │ └── evaluated/ # LLM-as-Judge classifications
│ └── pilot/ # Pilot study results
├── analysis/
│ ├── run_main_experiment.py # Main inference script
│ └── http_logger.py # HTTP request logging
├── evaluation/
│ ├── evaluate_pilot.py # LLM-as-Judge evaluation
│ └── dashboard.py # Real-time ASR dashboard
├── context_docs/ # MATS application context
├── master_scorecard.md # Full ASR results + CoT comparison
├── turn_by_turn_cot_breakdown.md # Detailed CoT analysis (14 behaviors)
└── generate_master_scorecard.py # Scorecard generation script
| Model | D0 (Direct) | F1 (Fiction) | F2 (Persona) | M3 (Multi-turn) |
|---|---|---|---|---|
| deepseek_v3.2 | 0% | 92% | 88% | 96% |
| gpt_oss_120b | 0% | 0% | 0% | 28% |
| qwen3_32b | 20% | 86% | 90% | 100% |
| qwen3_8b | 10% | 92% | 98% | 100% |
| Condition | Avg ASR | Best Use Case |
|---|---|---|
| D0 (Direct) | 4.4% | Baseline (models should refuse) |
| F1 (Fiction) | 45.6% | Breaks DeepSeek, Qwen3 |
| F2 (Persona) | 42.4% | Similar to F1 |
| M3 (Multi-turn) | 69.1% | Breaks ALL models to some degree |
Does Fictional Narrative Framing cause the visible Chain-of-Thought to rationalize the safety bypass, and is this rationalization causally linked to the model ignoring its refusal direction?
| ID | Hypothesis | Status | Evidence |
|---|---|---|---|
| H1 | Fiction Rationalization: CoT explicitly says "this is fiction" before bypassing | ✅ CONFIRMED | 100% of collapsed model CoTs |
| H2 | Deceptive Compliance: CoT says "refuse" but output complies | ✅ CONFIRMED | Quote-worthy contradictions documented |
| H3 | Refusal Direction Suppression: Fictional context suppresses refusal activation | ⬜ Future Work | Requires mechanistic analysis |
| H4 | Causal Link: Steering CoT prevents jailbreak | ⬜ Future Work | Requires TransformerLens |
# Run inference
python analysis/run_main_experiment.py --model deepseek-v3.2
# Generate scorecard
python generate_master_scorecard.py
# View evaluation dashboard
python evaluation/dashboard.py
| Artifact | Description |
|---|---|
master_scorecard.md | Full ASR table + 3-tier classification + CoT comparison |
turn_by_turn_cot_breakdown.md | Detailed turn-by-turn analysis of 14 behaviors |
quote_worthy_cot_contradictions.md | Top quote-worthy safety failures |
data/main_experiment/evaluated/ | All 1,800 evaluated datapoints |
python evaluation/dashboard.pyLast Updated: January 9, 2026 Status: Analysis Complete, Write-up Phase
249 commits
Python
78.3%
TeX
14.6%
Shell
3.6%
HTML
2.6%
A research project investigating how fictional narrative framing affects Chain-of-Thought faithfulness in reasoning models.
| Tier | Models | M3 ASR | Pattern |
|---|---|---|---|
| 🛡️ ROBUST | gpt-oss-120b, minimax-m2.1 | 28-30% | Resists even multi-turn |
| ⚠️ MODERATE | gpt-oss-20b, safeguard, nemotron | 54-62% | Vulnerable to M3 only |
| ☠️ COLLAPSED | deepseek-v3.2, qwen3 family | 96-100% | Fails at single-turn fiction |
Robust Model CoT (gpt-oss-120b):
"This is disallowed content: instructions facilitating creation of chemical weapons."
Collapsed Model CoT (DeepSeek/Qwen3):
"The key is to balance technical accuracy with the story's thematic depth..."
Critical Difference: Robust models classify the REQUEST; collapsed models classify the CONTEXT.
git clone https://github.com/your-org/Fictional-Narratives-Reasoning-Unfaithfullness-Jailbreak.git
cd Fictional-Narratives-Reasoning-Unfaithfullness-Jailbreak
pip install -r requirements.txt
Create a .env file:
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://us.cloud.langfuse.com
OPENROUTER_API_KEY=sk-or-...
project/
├── data/
│ ├── main_experiment/ # Inference results (.jsonl)
│ │ └── evaluated/ # LLM-as-Judge classifications
│ └── pilot/ # Pilot study results
├── analysis/
│ ├── run_main_experiment.py # Main inference script
│ └── http_logger.py # HTTP request logging
├── evaluation/
│ ├── evaluate_pilot.py # LLM-as-Judge evaluation
│ └── dashboard.py # Real-time ASR dashboard
├── context_docs/ # MATS application context
├── master_scorecard.md # Full ASR results + CoT comparison
├── turn_by_turn_cot_breakdown.md # Detailed CoT analysis (14 behaviors)
└── generate_master_scorecard.py # Scorecard generation script
| Model | D0 (Direct) | F1 (Fiction) | F2 (Persona) | M3 (Multi-turn) |
|---|---|---|---|---|
| deepseek_v3.2 | 0% | 92% | 88% | 96% |
| gpt_oss_120b | 0% | 0% | 0% | 28% |
| qwen3_32b | 20% | 86% | 90% | 100% |
| qwen3_8b | 10% | 92% | 98% | 100% |
| Condition | Avg ASR | Best Use Case |
|---|---|---|
| D0 (Direct) | 4.4% | Baseline (models should refuse) |
| F1 (Fiction) | 45.6% | Breaks DeepSeek, Qwen3 |
| F2 (Persona) | 42.4% | Similar to F1 |
| M3 (Multi-turn) | 69.1% | Breaks ALL models to some degree |
Does Fictional Narrative Framing cause the visible Chain-of-Thought to rationalize the safety bypass, and is this rationalization causally linked to the model ignoring its refusal direction?
| ID | Hypothesis | Status | Evidence |
|---|---|---|---|
| H1 | Fiction Rationalization: CoT explicitly says "this is fiction" before bypassing | ✅ CONFIRMED | 100% of collapsed model CoTs |
| H2 | Deceptive Compliance: CoT says "refuse" but output complies | ✅ CONFIRMED | Quote-worthy contradictions documented |
| H3 | Refusal Direction Suppression: Fictional context suppresses refusal activation | ⬜ Future Work | Requires mechanistic analysis |
| H4 | Causal Link: Steering CoT prevents jailbreak | ⬜ Future Work | Requires TransformerLens |
# Run inference
python analysis/run_main_experiment.py --model deepseek-v3.2
# Generate scorecard
python generate_master_scorecard.py
# View evaluation dashboard
python evaluation/dashboard.py
| Artifact | Description |
|---|---|
master_scorecard.md | Full ASR table + 3-tier classification + CoT comparison |
turn_by_turn_cot_breakdown.md | Detailed turn-by-turn analysis of 14 behaviors |
quote_worthy_cot_contradictions.md | Top quote-worthy safety failures |
data/main_experiment/evaluated/ | All 1,800 evaluated datapoints |
python evaluation/dashboard.pyLast Updated: January 9, 2026 Status: Analysis Complete, Write-up Phase
249 commits
Python
78.3%
TeX
14.6%
Shell
3.6%
HTML
2.6%