# EGPv3 EGPv3 is a debate-then-judge extension of EGP for SafeHome anomaly analysis. - It does **not** expose `SQ1-SQ5` labels to the model. - It replaces the serial veto chain with: - a neutral `Extractor` - a recall-oriented `Prosecutor` - a precision-oriented `Defender` - a final `Judge` - The Judge sees the same raw focused evidence as both sides, reducing information decay. ## Files - `api_client.py`: OpenAI-compatible API client, optional API key, supports `--thinking` / `--no-thinking` - `benchmark.py`: episode collection and resume helpers - `signals.py`: deterministic chunking and structured signal extraction - `prompts.py`: extractor / prosecutor / defender / judge prompts - `pipeline.py`: debate orchestration - `run_egpv3.py`: CLI runner ## Quick test ```bash python EGPv3/run_egpv3.py --preview-only --max-episodes 1 --output-dir results/egpv3_preview ``` `preview-only` only materializes prompts and traces. It does not call a model, so `UNPARSEABLE` in the preview summary is expected.