import React from 'react'; import { useNavigate } from 'react-router-dom'; import { Calendar, Clock, ArrowRight, BookOpen } from 'lucide-react'; import { BlogLayout } from './BlogLayout'; export const BLOG_POSTS = [ { slug: 'ioi-circuit-variance', title: 'Phonetic Shifts and Pronoun Clues: Analyzing Causal Path Variance across 50 IOI Prompts', subtitle: 'How phonetic names, relative clauses, and anaphoric coreference reshape mechanistic pathways', abstract: 'We perform a systematic 50-prompt causal tracing sweep across four experimental groups. We discover that multi-token name splits break the Induction pathway (Layer 5) by over 60%, forcing reliance on semantic S-Inhibition (Layer 7), while pronoun cues prime coreference circuits to maximize logit recovery.', badges: [{ text: 'Original Research', color: 'green' }, { text: 'Causal Sweep', color: 'blue' }, { text: 'TransformerLens', color: 'violet' }], readTime: '15 min', date: '2026', keyFinding: 'Multi-token names degrade Induction recovery by 60%, compensated by Layer 7 S-Inhibition', color: '#00E676', }, { slug: 'induction-heads-python-shadowing', title: 'Induction Heads Partially Activate on Python Variable Shadowing', subtitle: 'Evidence for Mechanistic Universality in GPT-2 Small', abstract: 'We test whether the induction heads in GPT-2 Small\'s IOI circuit generalize beyond English name coreference to Python variable shadowing — and find partial activation at 37–52% of IOI-level, suggesting the mechanism detects syntactic repetition in general.', badges: [{ text: 'Original Research', color: 'green' }, { text: 'Induction Heads', color: 'blue' }], readTime: '18 min', date: '2025', keyFinding: '37–52% activation on Python variable shadowing vs IOI baseline', color: '#00E676', }, { slug: 'backup-name-movers', title: 'Backup Name Mover Heads: The Hidden Redundancy in GPT-2\'s IOI Circuit', subtitle: 'How ablation reveals dormant circuit components that activate under failure', abstract: 'When we ablate the primary Name Mover Heads (L9H9, L10H0), backup heads at layers 10–11 activate to partially recover the IOI task. This built-in redundancy suggests transformers develop fault-tolerant circuits during training — with implications for alignment.', badges: [{ text: 'Circuit Analysis', color: 'teal' }, { text: 'Ablation Study', color: 'amber' }], readTime: '14 min', date: '2025', keyFinding: 'Backup heads recover 34% of logit difference when primaries ablated', color: '#00D9C0', }, { slug: 'cross-layer-features', title: 'Cross-Layer Feature Composition: How SAE Features Build on Each Other', subtitle: 'Training SAEs on layers 4, 6, and 8 reveals hierarchical feature composition', abstract: 'We train separate sparse autoencoders on layers 4, 6, and 8 of GPT-2 Small and measure feature overlap. ~30% of high-level features at layer 6 have identifiable lower-level components at layer 4, consistent with Anthropic\'s findings on hierarchical representation.', badges: [{ text: 'SAE Analysis', color: 'violet' }, { text: 'Feature Hierarchy', color: 'blue' }], readTime: '16 min', date: '2025', keyFinding: '30% of layer 6 features compose from layer 4 sub-features', color: '#9B59F5', }, { slug: 'dead-feature-graveyard', title: 'The Dead Feature Graveyard: Neuron Resampling and the Limits of Sparse Autoencoders', subtitle: 'Why 7% of SAE features never activate and what we can do about it', abstract: 'Despite neuron resampling every 50K steps, our SAE retains ~7% dead features — directions in the encoder that never activate on any validation text. We characterize these dead features, compare resampling strategies, and identify the fundamental tension between sparsity and feature utilization.', badges: [{ text: 'SAE Training', color: 'red' }, { text: 'Dead Features', color: 'amber' }], readTime: '12 min', date: '2025', keyFinding: 'Neuron resampling reduces dead features from 25% to 7% — but no further', color: '#FFB347', }, ]; export const BlogIndex = () => { const navigate = useNavigate(); return (
{/* Header */}
Research Findings

CircuitScope Research Blog

Original findings from reproducing Anthropic's mechanistic interpretability research. Each post documents a specific observation that required running experiments and thinking about the results.

{BLOG_POSTS.length} posts
{/* Post Cards */}
{BLOG_POSTS.map((post, i) => (
navigate(`/blog/${post.slug}`)} style={{ borderLeft: `3px solid ${post.color}`, transition: 'border-color 200ms, box-shadow 200ms', cursor: 'pointer', }} onMouseEnter={e => { e.currentTarget.style.boxShadow = `0 0 0 1px ${post.color}22, 0 4px 20px ${post.color}08`; e.currentTarget.style.borderLeftColor = post.color; }} onMouseLeave={e => { e.currentTarget.style.boxShadow = 'none'; }} >
{post.badges.map((b, j) => {b.text})} {post.date} · {post.readTime}

{post.title}

{post.subtitle}

{post.abstract}

Key finding: {post.keyFinding}
Read post
))}
{/* Bottom note */}

These findings emerged from reproducing the IOI circuit (Wang et al., 2022) and training sparse autoencoders (Bricken et al., 2023) on GPT-2 Small. Each observation required running actual experiments — not just reading the papers. Even small findings are research contributions when they're honest and methodologically sound.

); };