# EGPv2 EGPv2 is a workflow-style extension of EGP: - It does **not** expose `SQ1-SQ5` labels to the model. - It lets the LLM participate in intermediate modules instead of using only static evidence extraction. - It separates roles into: - `Triage`: infer latent task profile and choose focus chunks - `Investigator`: build competing normal/anomaly hypotheses - `Supervisor`: check whether the analysis is on-topic and sufficient - `Verifier`: make the final structured decision ## Files - `api_client.py`: OpenAI-compatible API client, optional API key, supports `--no-thinking` - `benchmark.py`: episode collection and resume helpers - `signals.py`: deterministic chunking and structured signal extraction - `prompts.py`: role-specific prompts - `pipeline.py`: orchestration of the workflow - `run_egpv2.py`: CLI runner ## Quick test ```bash python EGPv2/run_egpv2.py --preview-only --max-episodes 1 --output-dir results/egpv2_preview ``` `preview-only` only materializes prompts and traces. It does not call a model, so `UNPARSEABLE` in the preview summary is expected. ## Local vLLM example ```bash python EGPv2/run_egpv2.py \ --model Qwen/Qwen3.5-9B \ --api-base http://localhost:8000/v1 \ --no_thinking \ --max-tokens 4096 \ --max-episodes 5 \ --workers 2 \ --output-dir results/qwen35_egpv2_5ep ```