{"record":{"id":"5640176346a93e3c","repo":"Yeachan-Heo/oh-my-codex","slug":"unsupported-mission-mark-status-value","errorCode":null,"errorMessage":"Unsupported mission mark status: ${value}","messagePattern":"Unsupported mission mark status: (.+?)","errorType":"exception","errorClass":"MissionCommandError","httpStatus":null,"severity":"error","filePath":"src/cli/mission.ts","lineNumber":213,"sourceCode":"      continue;\n    }\n    if (arg === \"--slug\") {\n      slug = readValue(commandArgs, index, arg);\n      index += 1;\n      continue;\n    }\n    if (arg.startsWith(\"--task=\")) {\n      taskId = arg.slice(\"--task=\".length);\n      continue;\n    }\n    if (arg === \"--task\") {\n      taskId = readValue(commandArgs, index, arg);\n      index += 1;\n      continue;\n    }\n    if (arg.startsWith(\"--status=\")) {\n      const value = arg.slice(\"--status=\".length);\n      if (value !== \"blocked\" && value !== \"needs-human-review\") throw new MissionCommandError(`Unsupported mission mark status: ${value}`);\n      markStatus = value;\n      continue;\n    }\n    if (arg === \"--status\") {\n      const value = readValue(commandArgs, index, arg);\n      if (value !== \"blocked\" && value !== \"needs-human-review\") throw new MissionCommandError(`Unsupported mission mark status: ${value}`);\n      markStatus = value;\n      index += 1;\n      continue;\n    }\n    if (arg.startsWith(\"--\")) throw new MissionCommandError(`Unknown mission option: ${arg}`);\n    if (!file) {\n      file = arg;\n      continue;\n    }\n    throw new MissionCommandError(`Unexpected mission argument: ${arg}`);\n  }\n","sourceCodeStart":195,"sourceCodeEnd":231,"githubUrl":"https://github.com/Yeachan-Heo/oh-my-codex/blob/3ad79a8a6fe6e95fdbb8c00e40716fffe4011ce2/src/cli/mission.ts#L195-L231","documentation":"Thrown when a --status=<value> argument is supplied to mission mark with a value other than the two allowed task statuses: blocked or needs-human-review. The value is validated inline during argument parsing.","triggerScenarios":"`mission mark m.md --task t1 --status=failed`, `--status=in-progress`, or any typo like `--status=needs-human-reviews`.","commonSituations":"Assuming arbitrary MissionTaskStatus values (pending/passed/failed) can be set via mark; typos in the long status string needs-human-review.","solutions":["Use exactly `blocked` or `needs-human-review`","Check spelling of needs-human-review (hyphens, singular 'review')","Run mission mark --help or consult MISSION_HELP text for valid values"],"exampleFix":"# before\nmission mark mission.md --task t1 --status=failed\n# after\nmission mark mission.md --task t1 --status=blocked","handlingStrategy":"type-guard","validationCode":"const MARK_STATUSES = ['blocked', 'needs-human-review'] as const;\nif (!MARK_STATUSES.includes(value)) throw new Error(`expected one of ${MARK_STATUSES.join('|')}`);","typeGuard":"function isMarkStatus(v: string): v is 'blocked' | 'needs-human-review' {\n  return v === 'blocked' || v === 'needs-human-review';\n}","tryCatchPattern":null,"preventionTips":["Source status values from a const array shared with the CLI","Offer choices programmatically instead of free-text input"],"tags":["cli","argument-validation","enum"],"backgroundTag":"invalid-enum-value","analyzedSha":"3ad79a8a6fe6e95fdbb8c00e40716fffe4011ce2","analyzedAt":"2026-08-27T22:18:39.783Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}