# Development Workflow — WrinkleBrane This document outlines development roles and testing procedures for the WrinkleBrane project. ## Roles 1) **Builder (Codex)** - Implements modules per `README.md` and unit tests. - Guardrails: preserve shapes; no silent dtype/device changes; pass tests. 2) **Experiment Runner** - Executes `experiments/p0_assoc_mem.py` sweeps and `viz_latents.py`. - Produces CSVs/plots; verifies capacity/interference claims. 3) **Telemetry Agent** - Computes and logs K/C/S/I via `telemetry.py`. - Monitors energy budgets and layer orthogonality. 4) **Validator** - Enforces limits: max per-layer energy, code coherence thresholds. - Flags anomalies: entropy spikes, excessive cross-talk. 5) **Archivist** - Version-controls artifacts (`results/`, `plots/`, `artifacts/`), seeds, configs. - Maintains CAR definitions for future P1 distillation. ## Loops - **Build→Test Loop** 1. Builder generates/updates code. 2. Run tests in `tests/`. 3. If any fail, fix and repeat. - **Experiment Loop** 1. Select sweep config (L,K,T,codes,alpha,λ). 2. Run P0 harness; gather metrics. 3. Telemetry Agent computes K/C/S/I; Validator evaluates thresholds. 4. Archivist stores CSVs/plots with config hashes. ## Guardrails & Thresholds (initial) - Gram coherence: max |off‑diag(Gram(C))| ≤ 0.1 (orthogonal modes) - Energy clamp: per‑layer L2 ≤ configurable bound - Interference scaling: empirical slope within band of √((T−1)/L) - Logging: persist seeds, device, library versions ## Future (P1) - Query-conditioned slicing agent; distillation CAR tracking; oblique/complex modes.