{"record":{"id":"5817aa1f2967bbd6","repo":"pbakaus/impeccable","slug":"build-phase-comp-c-does-not-exist","errorCode":null,"errorMessage":"build-phase: comp {c} does not exist\n","messagePattern":"build-phase: comp (.+?) does not exist\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/comp-verbs/src/build_phase.rs","lineNumber":1824,"sourceCode":"\n/// `impeccable build-phase <cmd> ...`\npub fn run(argv: &[String], io: &mut Io, organic_scan: OrganicScan) -> i32 {\n    let cmd = argv.first().map(String::as_str);\n    if cmd.is_none() || flag(argv, \"help\") {\n        io.err(\"usage: build-phase.mjs start --comp <png> [--breakpoint WxH] | status [--json] | advance [--force --reason \\\"...\\\"] | record hero --build <png> | scaffold | note \\\"<text>\\\" | finish --disposition <word>\\n\");\n        return 1;\n    }\n    let cmd = cmd.unwrap();\n    if cmd == \"start\" {\n        let comp = arg(argv, \"comp\");\n        let direction = arg(argv, \"direction\");\n        if comp.is_none() && direction.is_none() {\n            io.err(\"build-phase: start needs --comp <approved comp png> (comp already approved) or --direction <seed key> (comp round still to run)\\n\");\n            return 1;\n        }\n        if let Some(c) = comp {\n            if !abs(io, c).exists() {\n                io.err(&format!(\"build-phase: comp {c} does not exist\\n\"));\n                return 1;\n            }\n        }\n        if direction.is_some() && arg(argv, \"kind\").is_some() {\n            io.out(\"choice ping skipped\\n\");\n        }\n        let _ = std::fs::remove_file(abs(io, &format!(\"{BUILD_DIR}/pending.json\")));\n        let build_path = read_build_path(io);\n        if direction.is_some() && comp.is_none() && build_path.as_deref() == Some(\"code\") {\n            io.out(\"CODE-LED (from .impeccable config): no comp round and no phase gates. Write the direction contract (reference/new-work.md section 5), build, and finish per section 7. The chosen decision comp, if any, rides to the finish review as the critique reference.\\n\");\n            return 0;\n        }\n        let mut breakpoint = arg(argv, \"breakpoint\").map(String::from);\n        if breakpoint.is_none() {\n            if let Some(c) = comp {\n                if let Ok(img) = load_raster(io, c) {\n                    breakpoint = Some(format!(\"{}x{}\", img.width, img.height));\n                }","sourceCodeStart":1806,"sourceCodeEnd":1842,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/comp-verbs/src/build_phase.rs#L1806-L1842","documentation":"When `build-phase start --comp <path>` is given, the CLI checks that the comp file exists (abs(io, c).exists()) before starting. If the path does not resolve to an existing file, it prints 'build-phase: comp {c} does not exist' and exits 1.","triggerScenarios":"`impeccable build-phase start --comp <path>` where the path is missing, deleted, misnamed, or relative to a different working directory than the one the CLI resolves against.","commonSituations":"Typo in the filename or extension (e.g. .jpg vs .png); running from a different cwd than where the comp lives; the comp export was never saved or was cleaned up; using a path with unexpanded shell variables like ~ or $VAR.","solutions":["Verify the path with ls/cat before running; expand ~ and $VARS in the shell","Run the command from the project root so relative paths resolve","Confirm the exact filename and extension of the exported comp","If using --direction instead, drop --comp entirely"],"exampleFix":"// before\n$ impeccable build-phase start --comp ./comps/hero.png\n// after (path verified to exist)\n$ impeccable build-phase start --comp .impeccable/comps/hero-approved.png","handlingStrategy":"validation","validationCode":"[ -f \"$COMP\" ] || { echo \"comp not found: $COMP\"; exit 1; }\nimpeccable build-phase start --comp \"$COMP\"","typeGuard":null,"tryCatchPattern":"if ! impeccable build-phase start --comp \"$COMP\"; then ls -l \"$(dirname \"$COMP\")\"; fi","preventionTips":["Stat the comp path before invoking; expand ~ and env vars in the shell","Run from the project root so relative paths resolve consistently","Commit comps under a stable directory like .impeccable/comps/"],"tags":["cli","file","path","not-found"],"backgroundTag":"file-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"}