{"record":{"id":"7d50faab31c68715","repo":"zed-industries/zed","slug":"suite-not-found-namespace-suite-id","errorCode":null,"errorMessage":"suite not found: {namespace}/{suite_id}","messagePattern":"suite not found: (.+?)/(.+?)","errorType":"exception","errorClass":"FileNotFoundError","httpStatus":null,"severity":"error","filePath":"crates/eval_cli/zed_eval/modal_app.py","lineNumber":611,"sourceCode":"                    if entry:\n                        history.append(entry)\n            result[\"history\"] = history\n        return result\n    return load_json(root / \"index.json\") or {\"baselines\": []}\n\n\n@app.function(\n    image=controller_image,\n    cpu=1,\n    memory=512,\n    timeout=300,\n    volumes={\"/data\": volume},\n)\ndef suite_status(namespace: str, suite_id: str) -> list[dict[str, Any]]:\n    reload_volume()\n    rows = scan_runs(namespace=namespace, suite_id=suite_id)\n    if not rows:\n        raise FileNotFoundError(f\"suite not found: {namespace}/{suite_id}\")\n    rows.sort(key=lambda row: row.get(\"created_at\") or row.get(\"run_id\") or \"\")\n    return rows\n\n\ndef write_run_inputs(run_dir: pathlib.Path, run_request: dict[str, Any]) -> None:\n    write_json(run_dir / \"request.json\", run_request)\n    write_json(run_dir / \"run-metadata.json\", harness_command.run_metadata(run_request))\n    task_names = run_request.get(\"task_names\") or []\n    (run_dir / \"selected-tasks.txt\").write_text(\n        \"\\n\".join(task_names) + (\"\\n\" if task_names else \"\")\n    )\n\n\n@app.function(\n    image=controller_image,\n    cpu=1,\n    memory=512,\n    timeout=300,","sourceCodeStart":593,"sourceCodeEnd":629,"githubUrl":"https://github.com/zed-industries/zed/blob/bc538def4545534201bbfcac4e95ac34ea6501b6/crates/eval_cli/zed_eval/modal_app.py#L593-L629","documentation":"Raised as FileNotFoundError by the Modal function suite_status(namespace, suite_id) when scan_rows over /data/runs finds no run whose recorded metadata matches both the namespace and the suite_id. Suite ids are minted at launch (mint_suite_id / prepare_benchmark_suite) and stored in each run's request/state on the volume; this endpoint simply reports nothing matched.","triggerScenarios":"Querying a suite id with a typo or wrong case; passing the wrong --namespace (suite ids are only unique within a namespace); the suite's runs were pruned by cleanup; runs launched by an older CLI that did not record suite_id in run metadata; querying before any run of the suite finished creating its record.","commonSituations":"Monitoring a teammate's suite without setting --namespace; copying a suite id from a truncated terminal line; retrying a status command days later after volume cleanup deleted old artifacts.","solutions":["List what actually exists: zed-eval list (list_runs) with --namespace to see real experiment names and run/suite ids.","Re-run suite status with the correct namespace: the identifier is namespace/suite_id.","If the runs were pruned, relaunch; if they predate suite_id bookkeeping, query by run id instead."],"exampleFix":"# before\nzed-eval suite-status swe-atlas-20260101-ab12   # wrong namespace\n# -> FileNotFoundError: suite not found: me/swe-atlas-20260101-ab12\n\n# after\nzed-eval list --namespace jane          # find the real namespace\nzed-eval suite-status swe-atlas-20260101-ab12 --namespace jane","handlingStrategy":"try-catch","validationCode":"rows = list_function.remote(namespace=namespace)\nknown_suites = {row.get(\"suite_id\") for row in rows if row.get(\"suite_id\")}\nif suite_id not in known_suites:\n    # discover what exists instead of calling suite_status and failing\n    print(\"known suites:\", sorted(known_suites))","typeGuard":null,"tryCatchPattern":"try:\n    rows = suite_status_function.remote(namespace, suite_id)\nexcept FileNotFoundError:\n    # fall back to a namespace-wide listing to discover the right id\n    rows = list_function.remote(namespace=namespace, limit=100)\n    rows = [r for r in rows if r.get(\"suite_id\") == suite_id]","preventionTips":["Always pass --namespace when querying other users' suites; ids are only unique per namespace.","Record suite ids (printed at launch as 'Suite:') in your run notes or tooling.","Verify against zed-eval list before assuming a suite is gone — typos are the most common cause."],"tags":["cli","suite","lookup","modal"],"backgroundTag":null,"analyzedSha":"bc538def4545534201bbfcac4e95ac34ea6501b6","analyzedAt":"2026-08-16T07:30:46.435Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}