{"record":{"id":"a56ed43a57ae17b9","repo":"affaan-m/ECC","slug":"unknown-model-model-r-allowed-allowed-models","errorCode":null,"errorMessage":"Unknown model: {model!r}. Allowed: {ALLOWED_MODELS}","messagePattern":"Unknown model: (.+?)\\. Allowed: (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"skills/skill-comply/scripts/runner.py","lineNumber":45,"sourceCode":"REPORT_VALUE_LIMIT = 5000\n\n\n@dataclass(frozen=True)\nclass ScenarioRun:\n    scenario: Scenario\n    observations: tuple[ObservationEvent, ...]\n    sandbox_dir: Path\n\n\ndef run_scenario(\n    scenario: Scenario,\n    model: str = \"sonnet\",\n    max_turns: int = 30,\n    timeout: int = 300,\n) -> ScenarioRun:\n    \"\"\"Execute a scenario and extract tool calls from stream-json output.\"\"\"\n    if model not in ALLOWED_MODELS:\n        raise ValueError(f\"Unknown model: {model!r}. Allowed: {ALLOWED_MODELS}\")\n\n    sandbox_dir = _safe_sandbox_dir(scenario.id)\n    _setup_sandbox(sandbox_dir, scenario)\n\n    result = subprocess.run(\n        [\n            \"claude\", \"-p\", scenario.prompt,\n            \"--model\", model,\n            \"--max-turns\", str(max_turns),\n            \"--add-dir\", str(sandbox_dir),\n            \"--allowedTools\", \"Read,Write,Edit,Bash,Glob,Grep\",\n            \"--output-format\", \"stream-json\",\n            \"--verbose\",\n        ],\n        capture_output=True,\n        text=True,\n        timeout=timeout,\n        cwd=sandbox_dir,","sourceCodeStart":27,"sourceCodeEnd":63,"githubUrl":"https://github.com/affaan-m/ECC/blob/8321021c54d670126ce3b2969d5deb880b4b0c2a/skills/skill-comply/scripts/runner.py#L27-L63","documentation":"Allowlist guard in run_scenario: the --model value is not in the ALLOWED_MODELS set, so the scenario runner refuses to launch claude -p with an untested model. The allowed values are echoed in the message.","triggerScenarios":"Thrown at skills/skill-comply/scripts/runner.py:45 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the models listed in ALLOWED_MODELS (e.g. sonnet)","Update ALLOWED_MODELS in the runner if a new model has been vetted"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8321021c54d670126ce3b2969d5deb880b4b0c2a","analyzedAt":"2026-09-16T10:08:13.343Z","contentChangedAt":"2026-09-16T10:08:13.343Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}