# Changelog

All notable changes to mirofish-simulator will be documented in this file.

## [0.8.0] - 2024-03-16

### Added

- **Agentic Misconception-Matching Architecture** - New approach that produces realistic wrong answers
  - `AgenticOrchestrator` - Main entry point for student simulation
  - `DistractorAgent` - Maps each wrong answer to the misconception that leads to it
  - `StudentModelAgent` - Models what a student believes (correct and incorrect)
  - `SelectorAgent` - Matches student misconceptions to appropriate answers

- **Factual vs Conceptual Question Handling**
  - Distinguishes questions requiring specific knowledge (numbers, dates) from conceptual questions
  - Factual questions require exact knowledge; vague beliefs aren't enough

- **Batch Simulation** - `simulate_batch()` method for efficient multi-student simulation
  - Distractor analysis done once and reused for all students

### Changed

- Default architecture is now agentic misconception-matching (previous approach moved to legacy)
- Improved student differentiation by grade and archetype
- Better handling of high-familiarity students who have correct beliefs

### Fixed

- LLM "cheating" problem - the new architecture doesn't try to make the LLM "not know" things
- Inconsistency between reasoning and selection in SelectorAgent

### Deprecated

- `StudentSimulator` (v2 legacy) - Still available but AgenticOrchestrator is recommended
- `simulate_student()` / `simulate_classroom()` - Use AgenticOrchestrator instead

## [0.7.0] - 2024-03-15

### Added

- Multi-agent architecture with verification
- KnowledgeAgent, PerceptionAgent, AnswerAgent, VerifierAgent
- Catches LLM "cheating" via consistency verification

## [0.6.0] - 2024-03-14

### Added

- Agent-based simulation (single agent approach)
- Accessibility analysis module

## [0.5.0] - 2024-03-13

### Added

- Misconception analysis
- Comparative quiz analysis
- Subject taxonomies (AP Government, Mathematics)

## [0.4.0] - 2024-03-12

### Added

- Initial student simulation
- Student archetypes
- Basic accessibility analysis
