{"record":{"id":"bd496bea5dbebbc8","repo":"pbakaus/impeccable","slug":"usage-impeccable-critique-storage-slug-write-lat","errorCode":null,"errorMessage":"usage: impeccable critique-storage <slug|write|latest|trend|close> [args]\n","messagePattern":"usage: impeccable critique-storage <slug\\|write\\|latest\\|trend\\|close> \\[args\\]\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/context/src/critique_storage.rs","lineNumber":698,"sourceCode":"                        .filter(|path| {\n                            read_snapshot_at(path)\n                                .and_then(|snapshot| snapshot_target_identity(&snapshot))\n                                .as_deref()\n                                == target_identity.as_deref()\n                        }),\n                );\n            }\n            all.sort();\n            let slice = js_slice_last(&all, limit);\n            let rows: Vec<Value> = slice\n                .iter()\n                .map(|f| Value::Object(parse_frontmatter(&safe_read(f).unwrap_or_default())))\n                .collect();\n            io.out(&format!(\"{}\\n\", json_pretty(&Value::Array(rows))));\n            0\n        }\n        _ => {\n            io.err(\"usage: impeccable critique-storage <slug|write|latest|trend|close> [args]\\n\");\n            1\n        }\n    }\n}\n\n/// `Number(str)`\npub fn js_number(s: &str) -> f64 {\n    let t = js_trim(s);\n    if t.is_empty() {\n        return 0.0;\n    }\n    if t == \"Infinity\" || t == \"+Infinity\" {\n        return f64::INFINITY;\n    }\n    if t == \"-Infinity\" {\n        return f64::NEG_INFINITY;\n    }\n    if let Some(h) = t.strip_prefix(\"0x\").or_else(|| t.strip_prefix(\"0X\")) {","sourceCodeStart":680,"sourceCodeEnd":716,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/context/src/critique_storage.rs#L680-L716","documentation":"The `critique-storage` dispatcher accepts only the five subcommands slug|write|latest|trend|close. Any other (or missing) subcommand falls through to the catch-all arm, prints this usage line to stderr and exits 1.","triggerScenarios":"Running `impeccable critique-storage` with no subcommand; misspelling a verb (`list`, ` Latest`, `lastest`); passing flags before the subcommand so args.first() is a flag rather than a verb.","commonSituations":"Script typos, casing mistakes (`Latest`), assuming a `list` or `show` subcommand exists, or a wrapper prepending `--json` ahead of the verb.","solutions":["Use one of the exact subcommands: slug, write, latest, trend, close (lowercase).","Pass the subcommand as the first argument after `critique-storage`, before any flags.","Check `impeccable critique-storage` docs/help for the supported verb list.","Fix shell quoting so flags land after the subcommand argument."],"exampleFix":"// before\nimpeccable critique-storage list\n// after\nimpeccable critique-storage latest mytarget","handlingStrategy":"validation","validationCode":"const VERBS = new Set(['slug', 'write', 'latest', 'trend', 'close']);\nif (!VERBS.has(args[0])) throw new Error(`unknown critique-storage verb: ${args[0]}`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate the subcommand against the known verb list before spawning.","Keep the verb as the first argument after `critique-storage`; flags go after.","Use lowercase verb names exactly as documented.","Consult usage output when upgrading to a new engine version."],"tags":["cli","usage","invalid-argument","argument-parsing"],"backgroundTag":"invalid-cli-argument","analyzedSha":"2bc2879276c1f321a53c4ca99d3371e411329b52","analyzedAt":"2026-09-08T04:51:14.109Z","contentChangedAt":"2026-09-08T04:51:14.109Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}