{
  "schema": 1,
  "sqlstate": "42622",
  "condition_name": "name_too_long",
  "sources": [
    {
      "id": "src.errcodes.18.6",
      "kind": "upstream_source",
      "source_role": "condition_definition",
      "tag": "REL_18_6",
      "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
      "path": "src/backend/utils/errcodes.txt",
      "sha256": "6e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba",
      "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/errcodes.txt"
    },
    {
      "id": "src.calls.REL_18_6",
      "kind": "local_artifact",
      "source_role": "source_call_scan",
      "sha256": "9ee8a0e81d8f0825c5c1ae45583439859a26e602bdd4ce2f2a62aa278867ccbf"
    },
    {
      "id": "src.calls.REL_10_23",
      "kind": "local_artifact",
      "source_role": "source_call_scan",
      "sha256": "00d16d3eb01b71ccf1b245c8f3102f9d0ec9f36fb02777b8dd1b99fcb263040c"
    },
    {
      "id": "src.name-recv-too-long.18.6",
      "kind": "upstream_source",
      "source_role": "source_call",
      "tag": "REL_18_6",
      "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
      "path": "src/backend/utils/adt/name.c",
      "sha256": "4c4b4dc71f55ba73dbc24dd94b3385986fdb3179702b3d100cbad7ab00db7762",
      "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/utils/adt/name.c#L91-L95"
    },
    {
      "id": "src.name-recv-too-long.10.23",
      "kind": "upstream_source",
      "source_role": "source_call",
      "tag": "REL_10_23",
      "commit": "02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4",
      "path": "src/backend/utils/adt/name.c",
      "sha256": "7c7da791e528aafdbf26930cd4bd34386806818c19d2ee4b78bbe138b93f4a84",
      "url": "https://github.com/postgres/postgres/blob/02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4/src/backend/utils/adt/name.c#L89-L93"
    },
    {
      "id": "src.identifier-truncate.18.6",
      "kind": "upstream_source",
      "source_role": "source_call",
      "tag": "REL_18_6",
      "commit": "724edf9bde9d356724ad384a2e196edc3c9f80f7",
      "path": "src/backend/parser/scansup.c",
      "sha256": "99cc6839927c19a9f85a1e5fbc8e848b376a7073477a04a0bbfe106ecdb2273f",
      "url": "https://github.com/postgres/postgres/blob/724edf9bde9d356724ad384a2e196edc3c9f80f7/src/backend/parser/scansup.c#L91-L102"
    },
    {
      "id": "src.identifier-truncate.10.23",
      "kind": "upstream_source",
      "source_role": "source_call",
      "tag": "REL_10_23",
      "commit": "02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4",
      "path": "src/backend/parser/scansup.c",
      "sha256": "3c59a33f3cb5eaa0c3932859eb15e927f459a5feb5f40ca96fef5ef74495d67c",
      "url": "https://github.com/postgres/postgres/blob/02991e79f8f58bc208f05dcc8af0c62dbe0a6ea4/src/backend/parser/scansup.c#L187-L208"
    },
    {
      "id": "manifest.42622",
      "kind": "local_artifact",
      "source_role": "case_manifest",
      "sha256": "798c2ea09dacbb975c6ba84458e71f2f20fe4aeb7d790193f16425bce09d6abf"
    }
  ],
  "claims": [
    {
      "id": "identity.class-and-condition",
      "statement": "42622 is the name_too_long condition in Class 42.",
      "method": "Read fixed errcodes.txt and the locked catalogue metadata.",
      "limits": "Directory identity does not identify every backend path.",
      "sources": [
        "src.errcodes.18.6"
      ]
    },
    {
      "id": "mechanism.backend-path",
      "statement": "The fixed source calls for 42622 include the mechanism and message boundary selected for this page.",
      "method": "Trace the resolved REL_18_6 and REL_10_23 source call records at the locked commits.",
      "limits": "Other calls can use the same SQLSTATE with different context or dynamic fields.",
      "sources": [
        "src.name-recv-too-long.18.6",
        "src.name-recv-too-long.10.23",
        "src.identifier-truncate.18.6",
        "src.identifier-truncate.10.23"
      ]
    },
    {
      "id": "mechanism.identifier-truncation-notice",
      "statement": "The parser truncates an overlong SQL identifier and can emit a 42622 NOTICE when the scanner requests warning, while binary namerecv emits the separate 42622 ERROR path.",
      "method": "Read truncate_identifier and its scanner call guard in fixed scansup.c/scan.l call context.",
      "limits": "No natural runtime is selected for either branch in this batch; ordinary namein text input may be silent.",
      "sources": [
        "src.identifier-truncate.18.6",
        "src.identifier-truncate.10.23",
        "src.name-recv-too-long.18.6",
        "src.name-recv-too-long.10.23"
      ]
    },
    {
      "id": "versions.catalogue-boundary",
      "statement": "The locked catalogue records 42622; runtime scope is limited to the selected targets.",
      "method": "Read generated facts and selected summaries.",
      "limits": "Definition presence is not an exact behavioral introduction.",
      "sources": [
        "src.errcodes.18.6",
        "src.calls.REL_18_6",
        "src.calls.REL_10_23"
      ]
    }
  ],
  "messages": [
    {
      "id": "message.name-recv",
      "primary_template": "identifier too long",
      "detail_template": "Identifier must be less than %d characters.",
      "severity_source": "explicit ERROR",
      "limits": "Only the binary name receive path is source-confirmed here.",
      "sqlstate": "42622",
      "sources": [
        "src.name-recv-too-long.18.6",
        "src.name-recv-too-long.10.23"
      ]
    },
    {
      "id": "message.identifier-truncate-notice",
      "primary_variants": [
        {
          "target": "REL_18_6",
          "template": "identifier \"%s\" will be truncated to \"%.*s\"",
          "source": "src.identifier-truncate.18.6"
        },
        {
          "target": "REL_10_23",
          "template": "identifier \"%s\" will be truncated to \"%s\"",
          "source": "src.identifier-truncate.10.23"
        }
      ],
      "severity_source": "explicit NOTICE",
      "sqlstate": "42622",
      "limits": "Scanner identifier path only; 18.6 and 10.23 use different formatting for the clipped second value.",
      "sources": [
        "src.identifier-truncate.18.6",
        "src.identifier-truncate.10.23"
      ]
    }
  ],
  "usage_evidence": [
    {
      "scope": "SQLSTATE directory identity",
      "status": "definition_only",
      "evidence_ids": [
        "identity.class-and-condition",
        "src.errcodes.18.6"
      ]
    },
    {
      "scope": "Fixed source message/mechanism",
      "status": "source_path_confirmed",
      "evidence_ids": [
        "mechanism.backend-path",
        "src.name-recv-too-long.18.6",
        "src.name-recv-too-long.10.23"
      ]
    },
    {
      "scope": "Locked release presence and bounded version comparison",
      "status": "definition_only",
      "evidence_ids": [
        "versions.catalogue-boundary",
        "src.errcodes.18.6"
      ]
    }
  ],
  "runtime": []
}
