{"record":{"id":"40a4b06eff06293d","repo":"Fission-AI/OpenSpec","slug":"cyclic-dependency-detected-cycle","errorCode":null,"errorMessage":"Cyclic dependency detected: ${cycle}","messagePattern":"Cyclic dependency detected: (.+?)","errorType":"exception","errorClass":"SchemaValidationError","httpStatus":null,"severity":"error","filePath":"src/core/artifact-graph/schema.ts","lineNumber":120,"sourceCode":"        let current = id;\n        while (current !== dep) {\n          cyclePath.unshift(current);\n          current = parent.get(current)!;\n        }\n        cyclePath.unshift(dep);\n        return cyclePath.join(' → ');\n      }\n    }\n\n    inStack.delete(id);\n    return null;\n  }\n\n  for (const artifact of artifacts) {\n    if (!visited.has(artifact.id)) {\n      const cycle = dfs(artifact.id);\n      if (cycle) {\n        throw new SchemaValidationError(`Cyclic dependency detected: ${cycle}`);\n      }\n    }\n  }\n}\n","sourceCodeStart":102,"sourceCodeEnd":125,"githubUrl":"https://github.com/Fission-AI/OpenSpec/blob/6926ccb18afa4ff621112813e9968334576ee11a/src/core/artifact-graph/schema.ts#L102-L125","documentation":"Error \"Cyclic dependency detected: ${cycle}\" thrown in Fission-AI/OpenSpec.","triggerScenarios":"Thrown at src/core/artifact-graph/schema.ts:120 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"}