{"record":{"id":"f57a88266e8218bb","repo":"earendil-works/pi","slug":"cbor-break-marker-is-not-supported","errorCode":null,"errorMessage":"CBOR break marker is not supported","messagePattern":"CBOR break marker is not supported","errorType":"exception","errorClass":"CborError","httpStatus":null,"severity":"error","filePath":"packages/protocol/src/cbor/decoder.ts","lineNumber":106,"sourceCode":"\tprivate readSimple(additionalInformation: number): unknown {\n\t\tswitch (additionalInformation) {\n\t\t\tcase 20:\n\t\t\t\treturn false;\n\t\t\tcase 21:\n\t\t\t\treturn true;\n\t\t\tcase 22:\n\t\t\t\treturn null;\n\t\t\tcase 27: {\n\t\t\t\tconst bytes = this.readBytes(8);\n\t\t\t\tconst value = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getFloat64(0, false);\n\t\t\t\tif (!Number.isFinite(value)) throw new CborError(\"Decoded CBOR number must be finite\");\n\t\t\t\tif (Number.isInteger(value) && !Number.isSafeInteger(value)) {\n\t\t\t\t\tthrow new CborError(\"Decoded CBOR integer is outside the safe range\");\n\t\t\t\t}\n\t\t\t\treturn value;\n\t\t\t}\n\t\t\tcase 31:\n\t\t\t\tthrow new CborError(\"CBOR break marker is not supported\");\n\t\t\tdefault:\n\t\t\t\tthrow new CborError(\"Unsupported CBOR simple value or floating-point width\");\n\t\t}\n\t}\n\n\tprivate readLength(additionalInformation: number, kind: string, limit: number): number {\n\t\tif (additionalInformation === 31) throw new CborError(`Indefinite-length CBOR ${kind}s are not supported`);\n\t\tconst length = this.readArgument(additionalInformation);\n\t\tif (length > limit) throw new CborError(`CBOR ${kind} length exceeds configured limit of ${limit}`);\n\t\treturn length;\n\t}\n\n\tprivate readArgument(additionalInformation: number): number {\n\t\tif (additionalInformation < 24) return additionalInformation;\n\t\tswitch (additionalInformation) {\n\t\t\tcase 24:\n\t\t\t\treturn this.readByte();\n\t\t\tcase 25: {","sourceCodeStart":88,"sourceCodeEnd":124,"githubUrl":"https://github.com/earendil-works/pi/blob/4af9d21d3b4d664e4a29fcabfec85171077248e3/packages/protocol/src/cbor/decoder.ts#L88-L124","documentation":"Error \"CBOR break marker is not supported\" thrown in earendil-works/pi.","triggerScenarios":"Thrown at packages/protocol/src/cbor/decoder.ts:106 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Do not emit CBOR break markers (indefinite-length items); use definite-length arrays, maps, and strings."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"4af9d21d3b4d664e4a29fcabfec85171077248e3","analyzedAt":"2026-08-24T13:07:14.692Z","schemaVersion":2},"datasetVersion":"2026-08-24T17:17:21.512Z"}