現状
`crawl --inventory <urls.txt>` で、URL リストに 1 件でも無効な行があると CLI が即 hard error で落ちる。
Error: Invalid URL: \"<invalid-line-content>\". Please provide a valid URL (e.g., https://example.com)
at validateUrls (packages/@nitpicker/cli/src/commands/crawl.ts:459)
at inventoryCrawl (packages/@nitpicker/cli/src/commands/crawl.ts:360)
行番号も列も表示されず、リスト中の何行目を直せばいいのか分からない。サーバの doc-root を `ls` して取った 1000 行クラスの URL リストで 1 行でもタブ区切りやスプレッドシートのヘッダが混入すると、全件 abort される。
期待挙動
inventory モードは「離れ小島の発見」が目的なので、不正行 1 件で全件捨てるのは合わない。
- 無効な行は 警告メッセージで除外、続行
- 警告メッセージに 不正な文字列 + ファイルパス + line:col を含める
[nitpicker] inventory list: skipping invalid URL at urls.txt:3:1 — \"<offending-line>\"
[nitpicker] inventory list: 12 of 1234 lines skipped as invalid; continuing with 1222 URLs
範囲
- `crawl --inventory` 経路のみ (それ以外の `validateUrls` 呼び出し箇所 — 位置引数 / `--list` / `--list-file` の起点 URL — は hard error のまま、最初に直すべき入力なので)
- `readList` ヘルパが現状 `string[]` を返すだけなので、行番号を保持する形にリファクタする必要がある (列は基本 1 で OK)
関連箇所
- `packages/@nitpicker/cli/src/commands/crawl.ts:354` `inventoryCrawl`
- `packages/@nitpicker/cli/src/commands/crawl.ts:453` `validateUrls`
- `@d-zero/readtext/list` (要 line メタ拡張、または CLI 側で re-parse)
補足
`inventory_runs` 監査ログ (Phase 1) には `scope_skipped` 列があるので、`invalid_skipped` 列を追加 すれば「いつ・どの run で何行落としたか」も archive 内に記録できる (オプション、Phase 2 候補)。
現状
`crawl --inventory <urls.txt>` で、URL リストに 1 件でも無効な行があると CLI が即 hard error で落ちる。
行番号も列も表示されず、リスト中の何行目を直せばいいのか分からない。サーバの doc-root を `ls` して取った 1000 行クラスの URL リストで 1 行でもタブ区切りやスプレッドシートのヘッダが混入すると、全件 abort される。
期待挙動
inventory モードは「離れ小島の発見」が目的なので、不正行 1 件で全件捨てるのは合わない。
範囲
関連箇所
補足
`inventory_runs` 監査ログ (Phase 1) には `scope_skipped` 列があるので、`invalid_skipped` 列を追加 すれば「いつ・どの run で何行落としたか」も archive 内に記録できる (オプション、Phase 2 候補)。