# Specification: Controller State Mutation Matrix (controller_state_mutation_matrix_20260507)

## Overview
Mapping the state landscape of the Manual Slop application. We need to know exactly which methods have the authority to change global state, especially within `AppController` and `App`.

## Scope
- **Classes:** `App`, `AppController`.
- **Target Fields:** `ai_status`, `mma_status`, `_pending_gui_tasks`, `disc_entries`, `config`, etc.

## Functional Requirements
1. **Mutation Matrix:**
   - Create a table: [Method Name] x [State Field Modified].
2. **Lock Ownership Audit:**
   - Document which locks (e.g., `_pending_gui_tasks_lock`) protect which fields.
   - Identify potential race conditions or unprotected mutations.
3. **State Lifecycle:**
   - Document how state is flushed to disk (autosave) vs. held in memory.

## Acceptance Criteria
- [ ] Matrix table identifying every state mutation site.
- [ ] Audit report of thread-safety and lock usage.
