{"record":{"id":"b0c424c8cc97430b","repo":"Fission-AI/OpenSpec","slug":"invalid-operations-operationid-field-in-confi","errorCode":null,"errorMessage":"Invalid 'operations.${operationId}' field in config (must be object), ignoring this operation","messagePattern":"Invalid 'operations\\.(.+?)' field in config \\(must be object\\), ignoring this operation","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/core/project-config.ts","lineNumber":143,"sourceCode":"  if (!raw || typeof raw !== 'object' || Array.isArray(raw)) {\n    console.warn(`Invalid 'operations' field in config (must be object)`);\n    return undefined;\n  }\n\n  const supported = new Set<string>(OPERATION_IDS);\n  const operations: OperationsConfig = {};\n\n  for (const [operationId, value] of Object.entries(raw)) {\n    if (!supported.has(operationId)) {\n      console.warn(\n        `Unknown operation ID '${operationId}' in config. Supported operation IDs: ${OPERATION_IDS.join(', ')}`\n      );\n      continue;\n    }\n\n    const typedOperationId = operationId as OperationId;\n    if (!value || typeof value !== 'object' || Array.isArray(value)) {\n      console.warn(\n        `Invalid 'operations.${operationId}' field in config (must be object), ignoring this operation`\n      );\n      continue;\n    }\n\n    const operation = value as Record<string, unknown>;\n    const unknownFields = Object.keys(operation).filter((field) => field !== 'guidance');\n    if (unknownFields.length > 0) {\n      console.warn(\n        `Unknown field(s) in 'operations.${operationId}': ${unknownFields.join(', ')}. Supported fields: guidance`\n      );\n    }\n\n    if (operation.guidance === undefined) {\n      continue;\n    }\n\n    const guidanceResult = z.array(z.string()).safeParse(operation.guidance);","sourceCodeStart":125,"sourceCodeEnd":161,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/project-config.ts#L125-L161","documentation":"Error \"Invalid 'operations.${operationId}' field in config (must be object), ignoring this operation\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/project-config.ts:143 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6926ccb18afa4ff621112813e9968334576ee11a","analyzedAt":"2026-08-25T12:29:45.729Z","schemaVersion":2},"datasetVersion":"2026-08-25T16:17:27.014Z"}