{"record":{"id":"ad483758137c6252","repo":"pbakaus/impeccable","slug":"no-seed-with-id","errorCode":null,"errorMessage":"no seed with id \"{}\"\n","messagePattern":"no seed with id \"(.+?)\"\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/context/src/palette.rs","lineNumber":104,"sourceCode":"    while i < args.len() {\n        let a = &args[i];\n        let next = args.get(i + 1).filter(|n| !n.is_empty());\n        if a == \"--id\" && next.is_some() {\n            id = next.cloned();\n            i += 2;\n            continue;\n        } else if a == \"--from\" && next.is_some() {\n            from = next.cloned();\n            i += 2;\n            continue;\n        }\n        i += 1;\n    }\n    let seed: &Seed = if let Some(id) = id.filter(|s| !s.is_empty()) {\n        match SEEDS.iter().find(|s| s.id == id) {\n            Some(s) => s,\n            None => {\n                io.err(&format!(\"no seed with id \\\"{}\\\"\\n\", id));\n                return 2;\n            }\n        }\n    } else {\n        let env_from = io.env.get(\"IMPECCABLE_PALETTE_SEED\").cloned().filter(|s| !s.is_empty());\n        let key = from.filter(|s| !s.is_empty()).or(env_from);\n        let unit = match key {\n            Some(k) => hash_unit(&k),\n            None => random_unit(),\n        };\n        weighted_pick(unit)\n    };\n    let mood_hint = if seed.mood.is_empty() { String::new() } else { format!(\" (one read: \\\"{}\\\")\", seed.mood) };\n    let strategy_hint = if seed.strategy.is_empty() { String::new() } else { format!(\"\\n  - one example strategy: {}\", seed.strategy) };\n    let oklch = format!(\"oklch({} {} {})\", to_fixed(seed.l, 3), to_fixed(seed.c, 3), to_fixed(seed.h, 1));\n    let out = TEMPLATE\n        .replacen(\"{ID}\", seed.id, 1)\n        .replacen(\"{OKLCH}\", &oklch, 1)","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/context/src/palette.rs#L86-L122","documentation":"The palette command looks up a seed palette by id when `--id` is provided. If no seed in the built-in SEEDS registry matches the given id, it prints this error and exits with code 2. This is a lookup failure against a fixed catalog of known palette ids.","triggerScenarios":"`SEEDS.iter().find(|s| s.id == id)` returns None — running `impeccable palette --id <name>` with a mistyped, renamed, or nonexistent seed id; passing an id copied from docs of a different version.","commonSituations":"Typos or wrong casing in the seed id; referencing a seed that exists in a newer/older version of the tool; confusing a seed id with a color hex or custom palette name; scripting with a hardcoded id that drifted from the catalog.","solutions":["List available seeds (run the palette command without --id or consult its help/docs) and pick a valid id.","Fix the spelling/casing of the seed id exactly as it appears in the catalog.","If relying on an inherited seed, check IMPECCABLE_PALETTE_SEED/from semantics — an invalid explicit --id is not auto-corrected.","Update scripts/docs that hardcode seed ids after upgrading the tool to a version with a changed catalog.","Fall back to a seed color/from-source flow instead of an id if you need a custom palette."],"exampleFix":"// before\nimpeccable palette --id midnigt  # typo\n// no seed with id \"midnigt\"\n// after\nimpeccable palette --id midnight","handlingStrategy":"validation","validationCode":"const VALID_SEED_IDS = [/* from `impeccable palette` catalog/docs */];\nif (opts.id && !VALID_SEED_IDS.includes(opts.id)) {\n  throw new Error(`unknown palette seed id: ${opts.id}`);\n}","typeGuard":null,"tryCatchPattern":"const r = spawnSync(\"impeccable\", [\"palette\", \"--id\", id], { encoding: \"utf8\" });\nif (r.status === 2 && r.stderr.startsWith(`no seed with id`)) {\n  console.error(`${id} is not in the seed catalog — list seeds and retry`);\n}","preventionTips":["Copy seed ids exactly (case-sensitive) from the tool's catalog/help output.","Re-verify hardcoded ids after upgrading the tool.","Don't confuse seed ids with hex colors or custom palette names.","Discover valid ids dynamically instead of hardcoding where possible."],"tags":["cli","lookup","palette"],"backgroundTag":"record-not-found","analyzedSha":"2bc2879276c1f321a53c4ca99d3371e411329b52","analyzedAt":"2026-09-08T04:51:14.109Z","contentChangedAt":"2026-09-08T04:51:14.109Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}