
{
    "version": "1.39.9",
    "time": "1786840963951",
    "generalDiagnostics": [
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "가져오기 \"Any\"에 액세스하지 않았습니다.",
            "range": {
                "start": {
                    "line": 23,
                    "character": 19
                },
                "end": {
                    "line": 23,
                    "character": 22
                }
            },
            "rule": "reportUnusedImport"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "이 형식은 Python 3.9부터 사용되지 않습니다. 대신 \"collections.abc.Mapping\"을(를) 사용하세요.",
            "range": {
                "start": {
                    "line": 23,
                    "character": 34
                },
                "end": {
                    "line": 23,
                    "character": 41
                }
            },
            "rule": "reportDeprecated"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "이 형식은 Python 3.9부터 사용되지 않습니다. 대신 \"collections.abc.Sequence\"을(를) 사용하세요.",
            "range": {
                "start": {
                    "line": 23,
                    "character": 43
                },
                "end": {
                    "line": 23,
                    "character": 51
                }
            },
            "rule": "reportDeprecated"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "error",
            "message": "\"__init__\" 메서드가 부모 클래스에서 같은 이름의 메서드를 호출하지 않습니다.",
            "range": {
                "start": {
                    "line": 199,
                    "character": 8
                },
                "end": {
                    "line": 199,
                    "character": 16
                }
            },
            "rule": "reportMissingSuperCall"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "Type annotation for attribute `result` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 200,
                    "character": 13
                },
                "end": {
                    "line": 200,
                    "character": 19
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"__new__\" 함수의 \"object\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 292,
                    "character": 16
                },
                "end": {
                    "line": 292,
                    "character": 24
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"__new__\" 함수의 \"object\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 292,
                    "character": 60
                },
                "end": {
                    "line": 292,
                    "character": 68
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"item_key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 293,
                    "character": 16
                },
                "end": {
                    "line": 293,
                    "character": 24
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"sorted\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"ItemsView[Unknown, object]\"입니다.",
            "range": {
                "start": {
                    "line": 293,
                    "character": 47
                },
                "end": {
                    "line": 293,
                    "character": 60
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"sorted\" 함수의 \"key\" 매개 변수에 해당합니다.\n  인수 형식이 \"(item: tuple[Unknown, object]) -> str\"입니다.",
            "range": {
                "start": {
                    "line": 293,
                    "character": 66
                },
                "end": {
                    "line": 293,
                    "character": 91
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "매개 변수 \"item\"의 형식을 부분적으로 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 293,
                    "character": 73
                },
                "end": {
                    "line": 293,
                    "character": 77
                }
            },
            "rule": "reportUnknownLambdaType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"__new__\" 함수의 \"object\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 293,
                    "character": 83
                },
                "end": {
                    "line": 293,
                    "character": 90
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"_redacted_config\" 함수의 \"value\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 296,
                    "character": 33
                },
                "end": {
                    "line": 296,
                    "character": 37
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"item\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 296,
                    "character": 43
                },
                "end": {
                    "line": 296,
                    "character": 47
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 320,
                    "character": 8
                },
                "end": {
                    "line": 320,
                    "character": 11
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"entry\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 350,
                    "character": 12
                },
                "end": {
                    "line": 350,
                    "character": 17
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"_string_object_mapping\" 함수의 \"value\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 351,
                    "character": 51
                },
                "end": {
                    "line": 351,
                    "character": 56
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "error",
            "message": "\"AuthError\"은(는) 바인딩되지 않은 것일 수 있습니다.",
            "range": {
                "start": {
                    "line": 406,
                    "character": 12
                },
                "end": {
                    "line": 406,
                    "character": 21
                }
            },
            "rule": "reportPossiblyUnboundVariable"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"field\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 500,
                    "character": 74
                },
                "end": {
                    "line": 500,
                    "character": 79
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "\"field_set\"의 형식을 부분적으로 알 수 없습니다.\n  ‘field_set’의 유형이 ‘frozenset[Unknown]’입니다.",
            "range": {
                "start": {
                    "line": 502,
                    "character": 4
                },
                "end": {
                    "line": 502,
                    "character": 13
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"__new__\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"list[Unknown]\"입니다.",
            "range": {
                "start": {
                    "line": 502,
                    "character": 26
                },
                "end": {
                    "line": 502,
                    "character": 32
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "Argument type is Any\n  인수가 \"setattr\" 함수의 \"obj\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 572,
                    "character": 16
                },
                "end": {
                    "line": 572,
                    "character": 63
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "Argument type is Any\n  인수가 \"getattr\" 함수의 \"o\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 572,
                    "character": 24
                },
                "end": {
                    "line": 572,
                    "character": 47
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘object’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 662,
                    "character": 8
                },
                "end": {
                    "line": 662,
                    "character": 15
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘int’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 746,
                    "character": 12
                },
                "end": {
                    "line": 746,
                    "character": 30
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 912,
                    "character": 4
                },
                "end": {
                    "line": 912,
                    "character": 68
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 913,
                    "character": 4
                },
                "end": {
                    "line": 913,
                    "character": 50
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 914,
                    "character": 4
                },
                "end": {
                    "line": 914,
                    "character": 76
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 918,
                    "character": 4
                },
                "end": {
                    "line": 918,
                    "character": 69
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 919,
                    "character": 4
                },
                "end": {
                    "line": 919,
                    "character": 66
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 920,
                    "character": 4
                },
                "end": {
                    "line": 920,
                    "character": 57
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 921,
                    "character": 4
                },
                "end": {
                    "line": 921,
                    "character": 75
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 922,
                    "character": 4
                },
                "end": {
                    "line": 922,
                    "character": 63
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 923,
                    "character": 4
                },
                "end": {
                    "line": 923,
                    "character": 75
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 924,
                    "character": 4
                },
                "end": {
                    "line": 924,
                    "character": 54
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/dualcoach_admin.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘Action’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 925,
                    "character": 4
                },
                "end": {
                    "line": 925,
                    "character": 64
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "이 형식은 Python 3.9부터 사용되지 않습니다. 대신 \"collections.abc.Iterator\"을(를) 사용하세요.",
            "range": {
                "start": {
                    "line": 18,
                    "character": 36
                },
                "end": {
                    "line": 18,
                    "character": 44
                }
            },
            "rule": "reportDeprecated"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "이 형식은 Python 3.9부터 사용되지 않습니다. 대신 \"collections.abc.Mapping\"을(를) 사용하세요.",
            "range": {
                "start": {
                    "line": 18,
                    "character": 46
                },
                "end": {
                    "line": 18,
                    "character": 53
                }
            },
            "rule": "reportDeprecated"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type of \"value\" is Any",
            "range": {
                "start": {
                    "line": 219,
                    "character": 8
                },
                "end": {
                    "line": 219,
                    "character": 13
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 222,
                    "character": 71
                },
                "end": {
                    "line": 222,
                    "character": 74
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"keys\"의 형식을 부분적으로 알 수 없습니다.\n  ‘keys’의 유형이 ‘set[Unknown]’입니다.",
            "range": {
                "start": {
                    "line": 224,
                    "character": 4
                },
                "end": {
                    "line": 224,
                    "character": 8
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"__init__\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"dict[Unknown, Unknown]\"입니다.",
            "range": {
                "start": {
                    "line": 224,
                    "character": 15
                },
                "end": {
                    "line": 224,
                    "character": 20
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"_draft_from_mapping\" 함수의 \"value\" 매개 변수에 해당합니다.\n  인수 형식이 \"dict[Unknown, Unknown]\"입니다.",
            "range": {
                "start": {
                    "line": 229,
                    "character": 31
                },
                "end": {
                    "line": 229,
                    "character": 36
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `state_dir` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 241,
                    "character": 13
                },
                "end": {
                    "line": 241,
                    "character": 22
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `ledger_path` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 242,
                    "character": 13
                },
                "end": {
                    "line": 242,
                    "character": 24
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `lock_path` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 243,
                    "character": 13
                },
                "end": {
                    "line": 243,
                    "character": 22
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `_now` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 244,
                    "character": 13
                },
                "end": {
                    "line": 244,
                    "character": 17
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘tuple[RoomBootstrapSession, ...]’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 248,
                    "character": 16
                },
                "end": {
                    "line": 248,
                    "character": 37
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "불필요한 isinstance 호출입니다. \"str\"은(는) 항상 \"str\"의 인스턴스입니다.",
            "range": {
                "start": {
                    "line": 302,
                    "character": 46
                },
                "end": {
                    "line": 302,
                    "character": 68
                }
            },
            "rule": "reportUnnecessaryIsInstance"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘tuple[RoomBootstrapSession, ...]’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 305,
                    "character": 8
                },
                "end": {
                    "line": 305,
                    "character": 29
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"now\"에 액세스하지 않았습니다.",
            "range": {
                "start": {
                    "line": 502,
                    "character": 50
                },
                "end": {
                    "line": 502,
                    "character": 53
                }
            },
            "rule": "reportUnusedParameter"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "코드에 접근할 수 없습니다.",
            "range": {
                "start": {
                    "line": 542,
                    "character": 12
                },
                "end": {
                    "line": 542,
                    "character": 80
                }
            },
            "rule": "reportUnreachable"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RoomBootstrapSession’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 572,
                    "character": 8
                },
                "end": {
                    "line": 572,
                    "character": 61
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RecoveryAttempt’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 588,
                    "character": 12
                },
                "end": {
                    "line": 588,
                    "character": 74
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RecoveryAttempt’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 613,
                    "character": 12
                },
                "end": {
                    "line": 613,
                    "character": 74
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"contextmanager\" 함수는 더 이상 사용되지 않습니다.\n  Annotating the return type as `-> Iterator[Foo]` with `@contextmanager` is deprecated. Use `-> Generator[Foo]` instead.",
            "range": {
                "start": {
                    "line": 750,
                    "character": 5
                },
                "end": {
                    "line": 750,
                    "character": 19
                }
            },
            "rule": "reportDeprecated"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type of \"value\" is Any",
            "range": {
                "start": {
                    "line": 766,
                    "character": 12
                },
                "end": {
                    "line": 766,
                    "character": 17
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"__init__\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"dict[Unknown, Unknown]\"입니다.",
            "range": {
                "start": {
                    "line": 769,
                    "character": 46
                },
                "end": {
                    "line": 769,
                    "character": 51
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"payload\"의 형식을 부분적으로 알 수 없습니다.\n  ‘payload’의 유형이 ‘dict[str, Unknown]’입니다.",
            "range": {
                "start": {
                    "line": 771,
                    "character": 8
                },
                "end": {
                    "line": 771,
                    "character": 15
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"_canonical_bytes\" 함수의 \"value\" 매개 변수에 해당합니다.\n  인수 형식이 \"dict[str, Unknown]\"입니다.",
            "range": {
                "start": {
                    "line": 775,
                    "character": 59
                },
                "end": {
                    "line": 775,
                    "character": 66
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 알 수 없습니다.\n  인수가 \"_session_from_mapping\" 함수의 \"value\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 778,
                    "character": 47
                },
                "end": {
                    "line": 778,
                    "character": 51
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"item\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 778,
                    "character": 57
                },
                "end": {
                    "line": 778,
                    "character": 61
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘int’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 798,
                    "character": 16
                },
                "end": {
                    "line": 798,
                    "character": 56
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "불필요한 isinstance 호출입니다. \"datetime\"은(는) 항상 \"datetime\"의 인스턴스입니다.",
            "range": {
                "start": {
                    "line": 816,
                    "character": 15
                },
                "end": {
                    "line": 816,
                    "character": 42
                }
            },
            "rule": "reportUnnecessaryIsInstance"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "불필요한 isinstance 호출입니다. \"RoomBootstrapStore\"은(는) 항상 \"RoomBootstrapStore\"의 인스턴스입니다.",
            "range": {
                "start": {
                    "line": 831,
                    "character": 15
                },
                "end": {
                    "line": 831,
                    "character": 52
                }
            },
            "rule": "reportUnnecessaryIsInstance"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "코드에 접근할 수 없습니다.",
            "range": {
                "start": {
                    "line": 832,
                    "character": 12
                },
                "end": {
                    "line": 832,
                    "character": 85
                }
            },
            "rule": "reportUnreachable"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `store` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 833,
                    "character": 13
                },
                "end": {
                    "line": 833,
                    "character": 18
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `owner_id` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 834,
                    "character": 13
                },
                "end": {
                    "line": 834,
                    "character": 21
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type annotation for attribute `customer_topic_name` is required because this class is not decorated with `@final`",
            "range": {
                "start": {
                    "line": 835,
                    "character": 13
                },
                "end": {
                    "line": 835,
                    "character": 32
                }
            },
            "rule": "reportUnannotatedClassAttribute"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"item\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 927,
                    "character": 38
                },
                "end": {
                    "line": 927,
                    "character": 42
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"item\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 942,
                    "character": 8
                },
                "end": {
                    "line": 942,
                    "character": 12
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 945,
                    "character": 48
                },
                "end": {
                    "line": 945,
                    "character": 51
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"__init__\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"Mapping[Unknown, object]\"입니다.",
            "range": {
                "start": {
                    "line": 946,
                    "character": 19
                },
                "end": {
                    "line": 946,
                    "character": 23
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 955,
                    "character": 37
                },
                "end": {
                    "line": 955,
                    "character": 40
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 966,
                    "character": 48
                },
                "end": {
                    "line": 966,
                    "character": 51
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"__init__\" 함수의 \"iterable\" 매개 변수에 해당합니다.\n  인수 형식이 \"Mapping[Unknown, object]\"입니다.",
            "range": {
                "start": {
                    "line": 967,
                    "character": 19
                },
                "end": {
                    "line": 967,
                    "character": 30
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "인수 형식을 부분적으로 알 수 없습니다.\n  인수가 \"_draft_from_mapping\" 함수의 \"value\" 매개 변수에 해당합니다.\n  인수 형식이 \"Mapping[Unknown, object]\"입니다.",
            "range": {
                "start": {
                    "line": 970,
                    "character": 36
                },
                "end": {
                    "line": 970,
                    "character": 47
                }
            },
            "rule": "reportUnknownArgumentType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/gateway/platforms/telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "\"key\" 유형을 알 수 없습니다.",
            "range": {
                "start": {
                    "line": 1075,
                    "character": 74
                },
                "end": {
                    "line": 1075,
                    "character": 77
                }
            },
            "rule": "reportUnknownVariableType"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "error",
            "message": "\"topic_id\"은(는) \"None\"의 알려진 특성이 아님",
            "range": {
                "start": {
                    "line": 79,
                    "character": 45
                },
                "end": {
                    "line": 79,
                    "character": 53
                }
            },
            "rule": "reportOptionalMemberAccess"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RoomBootstrapSession’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 81,
                    "character": 8
                },
                "end": {
                    "line": 86,
                    "character": 9
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RoomBootstrapSession’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 118,
                    "character": 8
                },
                "end": {
                    "line": 124,
                    "character": 9
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘RoomBootstrapSession’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 180,
                    "character": 8
                },
                "end": {
                    "line": 186,
                    "character": 9
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘int’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 212,
                    "character": 4
                },
                "end": {
                    "line": 225,
                    "character": 5
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type of \"document\" is Any",
            "range": {
                "start": {
                    "line": 244,
                    "character": 4
                },
                "end": {
                    "line": 244,
                    "character": 12
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Argument type is Any\n  인수가 \"__init__\" 함수의 \"iterable\" 매개 변수에 해당합니다.",
            "range": {
                "start": {
                    "line": 249,
                    "character": 15
                },
                "end": {
                    "line": 249,
                    "character": 39
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_room_bootstrap_transport’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 270,
                    "character": 12
                },
                "end": {
                    "line": 270,
                    "character": 37
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_get_nutrition_coaching’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 271,
                    "character": 12
                },
                "end": {
                    "line": 271,
                    "character": 35
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_get_room_bootstrap_transport’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 276,
                    "character": 24
                },
                "end": {
                    "line": 276,
                    "character": 53
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_get_room_bootstrap_transport’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 281,
                    "character": 19
                },
                "end": {
                    "line": 281,
                    "character": 48
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "호출 식의 결과가 ‘int’ 형식이므로 사용되지 않습니다. 의도적인 경우 변수 ‘_’에 할당하세요.",
            "range": {
                "start": {
                    "line": 292,
                    "character": 4
                },
                "end": {
                    "line": 305,
                    "character": 5
                }
            },
            "rule": "reportUnusedCallResult"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_room_bootstrap_transport’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 334,
                    "character": 12
                },
                "end": {
                    "line": 334,
                    "character": 37
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_get_nutrition_coaching’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 335,
                    "character": 12
                },
                "end": {
                    "line": 335,
                    "character": 35
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_get_nutrition_onboarding_runtime’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 336,
                    "character": 12
                },
                "end": {
                    "line": 336,
                    "character": 45
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_nutrition_onboarding_markup’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 337,
                    "character": 12
                },
                "end": {
                    "line": 337,
                    "character": 40
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "error",
            "message": "\"TelegramAdapter\" 클래스의 \"_nutrition_onboarding_markup\" 특성에 할당할 수 없음\n  형식 \"(_card: object) -> None\"은 형식 \"(card: object) -> (Unknown | None)\"에 할당할 수 없습니다.\n    매개 변수 이름 불일치: \"card\" 및 \"_card\"",
            "range": {
                "start": {
                    "line": 337,
                    "character": 43
                },
                "end": {
                    "line": 337,
                    "character": 61
                }
            },
            "rule": "reportAttributeAccessIssue"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_send_nutrition_topic’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 338,
                    "character": 12
                },
                "end": {
                    "line": 338,
                    "character": 33
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_recover_room_bootstrap_waiting_states’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 342,
                    "character": 24
                },
                "end": {
                    "line": 342,
                    "character": 62
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_recover_room_bootstrap_waiting_states’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 343,
                    "character": 24
                },
                "end": {
                    "line": 343,
                    "character": 62
                }
            },
            "rule": "reportPrivateUsage"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "Type of \"document\" is Any",
            "range": {
                "start": {
                    "line": 346,
                    "character": 4
                },
                "end": {
                    "line": 346,
                    "character": 12
                }
            },
            "rule": "reportAny"
        },
        {
            "file": "/home/cube/projects/richard/hermes-agent/tests/gateway/test_telegram_customer_bootstrap.py",
            "severity": "warning",
            "message": "‘_send_nutrition_topic’은(는) 선언된 클래스 외부에서 보호되고 사용됩니다.",
            "range": {
                "start": {
                    "line": 350,
                    "character": 12
                },
                "end": {
                    "line": 350,
                    "character": 33
                }
            },
            "rule": "reportPrivateUsage"
        }
    ],
    "summary": {
        "filesAnalyzed": 5,
        "errorCount": 4,
        "warningCount": 96,
        "informationCount": 0,
        "timeInSec": 0.985
    }
}
