{"record":{"id":"27e1c8c46ea1c6f9","repo":"chenglou/pretext","slug":"missing-id-available-corpora-sources-map-sou-27e1c8","errorCode":null,"errorMessage":"Missing --id. Available corpora: ${sources.map(source => source.id).join(', ')}","messagePattern":"Missing --id\\. Available corpora: (.+?)","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"scripts/corpus-taxonomy.ts","lineNumber":188,"sourceCode":"      )\n    }\n  }\n}\n\nconst browser = parseBrowser(parseStringFlag('browser'))\nconst requestedPort = parseNumberFlag('port', Number.parseInt(process.env['CORPUS_CHECK_PORT'] ?? '0', 10))\nconst timeoutMs = parseNumberFlag('timeout', Number.parseInt(process.env['CORPUS_CHECK_TIMEOUT_MS'] ?? '180000', 10))\nconst start = parseNumberFlag('start', 300)\nconst end = parseNumberFlag('end', 900)\nconst step = parseNumberFlag('step', 10)\nconst samples = parseOptionalNumberFlag('samples')\nconst font = parseStringFlag('font')\nconst lineHeight = parseOptionalNumberFlag('lineHeight')\nconst id = parseStringFlag('id')\n\nconst sources = await loadSources()\nif (id === null) {\n  throw new Error(`Missing --id. Available corpora: ${sources.map(source => source.id).join(', ')}`)\n}\nconst meta = sources.find(source => source.id === id)\nif (meta === undefined) {\n  throw new Error(`Unknown corpus ${id}. Available corpora: ${sources.map(source => source.id).join(', ')}`)\n}\n\nconst widths = getTargetWidths(meta, start, end, step, samples)\nconst lock = await acquireBrowserAutomationLock(browser)\nconst session = createBrowserSession(browser)\nlet serverProcess: ChildProcess | null = null\n\ntry {\n  const port = await getAvailablePort(requestedPort === 0 ? null : requestedPort)\n  const pageServer = await ensurePageServer(port, '/corpus', process.cwd())\n  serverProcess = pageServer.process\n  const baseUrl = `${pageServer.baseUrl}/corpus`\n  const entries: TaxonomyEntry[] = []\n","sourceCodeStart":170,"sourceCodeEnd":206,"githubUrl":"https://github.com/chenglou/pretext/blob/ac49b09b7d83ede19581fa94a8b892b07d309baf/scripts/corpus-taxonomy.ts#L170-L206","documentation":"The taxonomy script always targets a single corpus (there is no `--all`). Without `--id` it throws, listing the available ids from `corpora/sources.json`.","triggerScenarios":"`bun run scripts/corpus-taxonomy.ts` with no `--id` flag.","commonSituations":"First-time use; a wrapper that drops the id; assuming `--all` exists here as it does in the sweep.","solutions":["Add `--id=<corpusId>` using one of the ids printed in the message."],"exampleFix":"// before\nbun run scripts/corpus-taxonomy.ts\n// after\nbun run scripts/corpus-taxonomy.ts --id=ja-kumo-no-ito","handlingStrategy":"validation","validationCode":"if (id === null) {\n  console.error(`Missing --id. Available corpora: ${sources.map(s => s.id).join(', ')}`)\n  process.exit(2)\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always pass --id to corpus-taxonomy (there is no --all here).","Don't assume the sweep's --all carries over to taxonomy."],"tags":["cli","argument-parsing","validation","taxonomy"],"backgroundTag":null,"analyzedSha":"ac49b09b7d83ede19581fa94a8b892b07d309baf","analyzedAt":"2026-08-12T17:03:16.263Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}