{"record":{"id":"b94f78e52ee5363a","repo":"Fission-AI/OpenSpec","slug":"invalid-fieldname-field-in-config-must-be-an","errorCode":null,"errorMessage":"Invalid '${fieldName}' field in config (must be an array of store ids)","messagePattern":"Invalid '(.+?)' field in config \\(must be an array of store ids\\)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/core/project-config.ts","lineNumber":198,"sourceCode":"  return Object.keys(operations).length > 0 ? operations : undefined;\n}\n\n/**\n * Parser for `references:` declarations: string entries or\n * {id, remote} maps, normalized to DeclarationEntry[]. Dedup keys on\n * id and keeps the first position; the first entry carrying a remote\n * supplies it (a later duplicate fills a missing remote, never\n * overrides). Invalid entries drop with a warning like other resilient\n * fields; returns undefined when the field is absent or normalizes to\n * empty.\n */\nfunction parseDeclarationList(raw: unknown): DeclarationEntry[] | undefined {\n  const fieldName = 'references';\n  if (raw === undefined) {\n    return undefined;\n  }\n  if (!Array.isArray(raw)) {\n    console.warn(`Invalid '${fieldName}' field in config (must be an array of store ids)`);\n    return undefined;\n  }\n\n  const byId = new Map<string, DeclarationEntry>();\n  let droppedEntries = false;\n  let droppedRemotes = false;\n\n  for (const entry of raw) {\n    let declaration: DeclarationEntry | null = null;\n    if (typeof entry === 'string') {\n      declaration = { id: entry };\n    } else if (entry && typeof entry === 'object' && !Array.isArray(entry)) {\n      const candidate = entry as Record<string, unknown>;\n      if (typeof candidate.id === 'string') {\n        declaration = { id: candidate.id };\n        if (typeof candidate.remote === 'string' && candidate.remote.length > 0) {\n          declaration.remote = candidate.remote;\n        } else if (candidate.remote !== undefined) {","sourceCodeStart":180,"sourceCodeEnd":216,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/project-config.ts#L180-L216","documentation":"Error \"Invalid '${fieldName}' field in config (must be an array of store ids)\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/project-config.ts:198 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"}