{"record":{"id":"d6ff84f96ca65d27","repo":"earendil-works/pi","slug":"invalid-lane-d6ff84","errorCode":"invalid_lane","errorMessage":"Lane not found: ${lane}","messagePattern":"Lane not found: (.+?)","errorType":"error_code","errorClass":"SessionError","httpStatus":null,"severity":"error","filePath":"packages/session-backends/sqlite-node/src/sqlite/repo.ts","lineNumber":446,"sourceCode":"\n\tasync createLane(lane: string, at: string | null): Promise<void> {\n\t\treturn this.enqueueWrite(() => {\n\t\t\tif (readLane(this.db, this.metadata.id, lane)) {\n\t\t\t\tthrow new SessionError(\"already_exists\", `Lane already exists: ${lane}`);\n\t\t\t}\n\t\t\tif (at !== null && !readEntryRow(this.db, this.metadata.id, at)) {\n\t\t\t\tthrow new SessionError(\"not_found\", `Entry not found: ${at}`);\n\t\t\t}\n\t\t\tconst seq = getNextSequence(this.db, this.metadata.id);\n\t\t\tinsertLane(this.db, this.metadata.id, seq, lane, at);\n\t\t\tadvanceSequence(this.db, this.metadata.id, seq);\n\t\t});\n\t}\n\n\tasync moveLane(lane: string, to: string | null): Promise<void> {\n\t\treturn this.enqueueWrite(() => {\n\t\t\tif (!readLane(this.db, this.metadata.id, lane))\n\t\t\t\tthrow new SessionError(\"invalid_lane\", `Lane not found: ${lane}`);\n\t\t\tif (to !== null && !readEntryRow(this.db, this.metadata.id, to)) {\n\t\t\t\tthrow new SessionError(\"not_found\", `Entry not found: ${to}`);\n\t\t\t}\n\t\t\tconst seq = getNextSequence(this.db, this.metadata.id);\n\t\t\tupdateLane(this.db, this.metadata.id, seq, lane, to);\n\t\t\tadvanceSequence(this.db, this.metadata.id, seq);\n\t\t});\n\t}\n\n\tasync appendEntry<TEntry extends Entry>(entry: ProvisionedEntry<TEntry>, lane: string): Promise<TEntry> {\n\t\treturn this.enqueueWrite(() => {\n\t\t\tconst parentId = readLaneHead(this.db, this.metadata.id, lane).leafId;\n\t\t\tassertUnusedId(this.db, this.metadata.id, entry.id);\n\t\t\tconst seq = getNextSequence(this.db, this.metadata.id);\n\t\t\tconst committed = { ...entry, parentId, seq, timestamp: Date.now() } as Entry;\n\t\t\tinsertEntryRow(this.db, this.metadata.id, {\n\t\t\t\tseq,\n\t\t\t\tid: committed.id,","sourceCodeStart":428,"sourceCodeEnd":464,"githubUrl":"https://github.com/earendil-works/pi/blob/4af9d21d3b4d664e4a29fcabfec85171077248e3/packages/session-backends/sqlite-node/src/sqlite/repo.ts#L428-L464","documentation":"Error \"Lane not found: ${lane}\" thrown in earendil-works/pi.","triggerScenarios":"Thrown at packages/session-backends/sqlite-node/src/sqlite/repo.ts:446 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The lane does not exist; verify the lane name."],"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"}