{
  "dataset_id": "D2",
  "title": "URL parser behavior: 40 original fixtures across three APIs",
  "licence": "CC-BY-4.0",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "attribution": "URL parser behavior — original compilation, 2026-10-24",
  "version": "2026-10-24-e1",
  "measured_at_utc": "2026-10-25T01:59:55.700204+00:00",
  "execution": {
    "started_at_utc": "2026-10-25T01:59:55.166989+00:00",
    "ended_at_utc": "2026-10-25T01:59:55.700204+00:00",
    "network_requests": null,
    "mode": "local CLI string parsing only; no resolver, HTTP client or submitted target",
    "os": "macOS 27.0.1",
    "browser": null,
    "browser_reason": "These are declared CLI parsing APIs; no browser result is claimed.",
    "network_note": "Adapters contain no network or resolution calls; no packet-level monitor was used for these CLI processes.",
    "installation": "Isolated source builds from official Python/Ruby release archives; official Node arm64 binary; no global runtime replacement."
  },
  "fixture_count": 40,
  "measurement_count": 120,
  "parsers": [
    {
      "id": "node",
      "name": "Node WHATWG URL",
      "version": "v24.22.1",
      "adapter": "new URL(input,base); component properties",
      "source_ids": [
        "E1S21"
      ],
      "runtime_licence": "MIT",
      "url_dependency_version": "4.0.0"
    },
    {
      "id": "python",
      "name": "Python urllib.parse",
      "version": "3.15.1",
      "adapter": "urljoin(base,input), then urlsplit(result); .port evaluated",
      "source_ids": [
        "E1S19"
      ],
      "runtime_licence": "PSF-2.0"
    },
    {
      "id": "ruby",
      "name": "Ruby URI",
      "version": "4.0.9",
      "adapter": "URI.join(base,input); component readers",
      "source_ids": [
        "E1S20",
        "E1S17"
      ],
      "runtime_licence": "Ruby or BSD-2-Clause",
      "description": "ruby 4.0.9 (2026-10-23 revision 3e93b23afc) +PRISM [arm64-darwin27]",
      "uri_gem_version": "1.1.1",
      "uri_version": "1.1.1",
      "default_parser_class": "URI::RFC3986_Parser",
      "default_parser_is_rfc3986": true
    }
  ],
  "rows": [
    {
      "id": "P01",
      "input": "https://accounts.example.test@billing.example.test:443/pay?invoice=sample#receipt",
      "base": "https://portal.example.test/docs/",
      "purpose": "Userinfo and destination host",
      "origin": "Reused original refinement3 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://accounts.example.test@billing.example.test/pay?invoice=sample#receipt",
          "scheme": "https",
          "hostname": "billing.example.test",
          "port": "",
          "path": "/pay",
          "query": "invoice=sample",
          "fragment": "receipt",
          "username": "accounts.example.test",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://accounts.example.test@billing.example.test:443/pay?invoice=sample#receipt",
          "scheme": "https",
          "hostname": "billing.example.test",
          "port": 443,
          "path": "/pay",
          "query": "invoice=sample",
          "fragment": "receipt",
          "username": "accounts.example.test",
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://accounts.example.test@billing.example.test/pay?invoice=sample#receipt",
          "scheme": "https",
          "hostname": "billing.example.test",
          "port": 443,
          "path": "/pay",
          "query": "invoice=sample",
          "fragment": "receipt",
          "username": "accounts.example.test",
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P02",
      "input": "https://café.example.test/a%2Fb?term=a+b#top",
      "base": "https://portal.example.test/docs/",
      "purpose": "Unicode and encoded path separator",
      "origin": "Reused original refinement3 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://xn--caf-dma.example.test/a%2Fb?term=a+b#top",
          "scheme": "https",
          "hostname": "xn--caf-dma.example.test",
          "port": "",
          "path": "/a%2Fb",
          "query": "term=a+b",
          "fragment": "top",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://café.example.test/a%2Fb?term=a+b#top",
          "scheme": "https",
          "hostname": "café.example.test",
          "port": null,
          "path": "/a%2Fb",
          "query": "term=a+b",
          "fragment": "top",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P03",
      "input": "https://[2001:db8::42]:8443/a/../b?x=1&x=2",
      "base": "https://portal.example.test/docs/",
      "purpose": "IPv6, explicit port and dot segments",
      "origin": "Reused original refinement3 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://[2001:db8::42]:8443/b?x=1&x=2",
          "scheme": "https",
          "hostname": "[2001:db8::42]",
          "port": "8443",
          "path": "/b",
          "query": "x=1&x=2",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://[2001:db8::42]:8443/a/../b?x=1&x=2",
          "scheme": "https",
          "hostname": "2001:db8::42",
          "port": 8443,
          "path": "/a/../b",
          "query": "x=1&x=2",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://[2001:db8::42]:8443/a/../b?x=1&x=2",
          "scheme": "https",
          "hostname": "[2001:db8::42]",
          "port": 8443,
          "path": "/a/../b",
          "query": "x=1&x=2",
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P04",
      "input": "//cdn.example.test/img/../asset.png?size=2",
      "base": "https://portal.example.test/docs/",
      "purpose": "Scheme-relative URL resolution",
      "origin": "Reused original refinement3 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://cdn.example.test/asset.png?size=2",
          "scheme": "https",
          "hostname": "cdn.example.test",
          "port": "",
          "path": "/asset.png",
          "query": "size=2",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://cdn.example.test/img/../asset.png?size=2",
          "scheme": "https",
          "hostname": "cdn.example.test",
          "port": null,
          "path": "/img/../asset.png",
          "query": "size=2",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://cdn.example.test/img/../asset.png?size=2",
          "scheme": "https",
          "hostname": "cdn.example.test",
          "port": 443,
          "path": "/img/../asset.png",
          "query": "size=2",
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P05",
      "input": "https://EXAMPLE.test:443/a/./b/../c?x=%2F",
      "base": "https://portal.example.test/docs/",
      "purpose": "Host case, default port and dot segments",
      "origin": "Reused original refinement3 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a/c?x=%2F",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a/c",
          "query": "x=%2F",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://EXAMPLE.test:443/a/./b/../c?x=%2F",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a/./b/../c",
          "query": "x=%2F",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://EXAMPLE.test/a/./b/../c?x=%2F",
          "scheme": "https",
          "hostname": "EXAMPLE.test",
          "port": 443,
          "path": "/a/./b/../c",
          "query": "x=%2F",
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P06",
      "input": "../guide?mode=plain",
      "base": "https://portal.example.test/docs/",
      "purpose": "Parent-relative reference",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/guide?mode=plain",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/guide",
          "query": "mode=plain",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/guide?mode=plain",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/guide",
          "query": "mode=plain",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/guide?mode=plain",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/guide",
          "query": "mode=plain",
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P07",
      "input": "/guide/intro",
      "base": "https://portal.example.test/docs/",
      "purpose": "Root-relative reference",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/guide/intro",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/guide/intro",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/guide/intro",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/guide/intro",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/guide/intro",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/guide/intro",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P08",
      "input": "?mode=plain&mode=full",
      "base": "https://portal.example.test/docs/",
      "purpose": "Query-only reference",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/?mode=plain&mode=full",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/docs/",
          "query": "mode=plain&mode=full",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/?mode=plain&mode=full",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/docs/",
          "query": "mode=plain&mode=full",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/?mode=plain&mode=full",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/docs/",
          "query": "mode=plain&mode=full",
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P09",
      "input": "#section-two",
      "base": "https://portal.example.test/docs/",
      "purpose": "Fragment-only reference",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/#section-two",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/docs/",
          "query": "",
          "fragment": "section-two",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/#section-two",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/docs/",
          "query": "",
          "fragment": "section-two",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/#section-two",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/docs/",
          "query": null,
          "fragment": "section-two",
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P10",
      "input": "",
      "base": "https://portal.example.test/docs/",
      "purpose": "Empty relative reference",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/docs/",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/docs/",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/docs/",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P11",
      "input": "example.test/path",
      "base": "https://portal.example.test/docs/",
      "purpose": "Bare hostname-looking relative path",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/example.test/path",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/docs/example.test/path",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/example.test/path",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/docs/example.test/path",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/example.test/path",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": 443,
          "path": "/docs/example.test/path",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P12",
      "input": "https:example.test/path",
      "base": "https://portal.example.test/docs/",
      "purpose": "HTTPS scheme without slashes",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/example.test/path",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": "",
          "path": "/docs/example.test/path",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://portal.example.test/docs/example.test/path",
          "scheme": "https",
          "hostname": "portal.example.test",
          "port": null,
          "path": "/docs/example.test/path",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https:example.test/path",
          "scheme": "https",
          "hostname": null,
          "port": 443,
          "path": null,
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P13",
      "input": "https://example.test\\folder\\item",
      "base": "https://portal.example.test/docs/",
      "purpose": "Backslash path separators",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/folder/item",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/folder/item",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test\\folder\\item",
          "scheme": "https",
          "hostname": "example.test\\folder\\item",
          "port": null,
          "path": "",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P14",
      "input": "https://example.test/a/%2e/b",
      "base": "https://portal.example.test/docs/",
      "purpose": "Encoded single-dot segment",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a/b",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a/%2e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a/%2e/b",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a/%2e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a/%2e/b",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P15",
      "input": "https://example.test/a/%2E%2e/b",
      "base": "https://portal.example.test/docs/",
      "purpose": "Encoded parent-dot segment",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/b",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a/%2E%2e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a/%2E%2e/b",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a/%2E%2e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a/%2E%2e/b",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P16",
      "input": "https://example.test/a/%252e%252e/b",
      "base": "https://portal.example.test/docs/",
      "purpose": "Double-encoded dot text",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a/%252e%252e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a/%252e%252e/b",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a/%252e%252e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a/%252e%252e/b",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a/%252e%252e/b",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a/%252e%252e/b",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P17",
      "input": "https://example.test/a b?q=two words",
      "base": "https://portal.example.test/docs/",
      "purpose": "Literal spaces in path and query",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a%20b?q=two%20words",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a%20b",
          "query": "q=two%20words",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a b?q=two words",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a b",
          "query": "q=two words",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P18",
      "input": "  https://example.test/a  ",
      "base": "https://portal.example.test/docs/",
      "purpose": "Leading and trailing ASCII spaces",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a  ",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a  ",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P19",
      "input": "https://exam\nple.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Embedded newline in hostname",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P20",
      "input": "https://exam\tple.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Embedded tab in hostname",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P21",
      "input": "https://name%40label@example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Encoded user-info delimiter",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://name%40label@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "name%40label",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://name%40label@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "name%40label",
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://name%40label@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": "name%40label",
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P22",
      "input": "https://reader:sample@example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Synthetic username and password",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://reader:sample@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "reader",
          "password": "sample"
        },
        "python": {
          "ok": true,
          "serialized": "https://reader:sample@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "reader",
          "password": "sample"
        },
        "ruby": {
          "ok": true,
          "serialized": "https://reader:sample@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": "reader",
          "password": "sample"
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P23",
      "input": "https://one@two@example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Multiple at signs",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://one%40two@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "one%40two",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://one@two@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "one@two",
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P24",
      "input": "https://@example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Empty user information",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://@example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P25",
      "input": "http://example.test:80/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Default HTTP port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "http://example.test/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "http://example.test:80/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": 80,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "http://example.test/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": 80,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P26",
      "input": "http://example.test:443/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Nondefault HTTP port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "http://example.test:443/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": "443",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "http://example.test:443/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "http://example.test:443/a",
          "scheme": "http",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P27",
      "input": "https://EXAMPLE.test.:443/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Trailing-dot hostname and default port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test./a",
          "scheme": "https",
          "hostname": "example.test.",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://EXAMPLE.test.:443/a",
          "scheme": "https",
          "hostname": "example.test.",
          "port": 443,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://EXAMPLE.test./a",
          "scheme": "https",
          "hostname": "EXAMPLE.test.",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P28",
      "input": "https://xn--caf-dma.example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "ASCII punycode label",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://xn--caf-dma.example.test/a",
          "scheme": "https",
          "hostname": "xn--caf-dma.example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://xn--caf-dma.example.test/a",
          "scheme": "https",
          "hostname": "xn--caf-dma.example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://xn--caf-dma.example.test/a",
          "scheme": "https",
          "hostname": "xn--caf-dma.example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P29",
      "input": "https://pаy.example.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Mixed-script subdomain; Cyrillic a",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://xn--py-7kc.example.test/a",
          "scheme": "https",
          "hostname": "xn--py-7kc.example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://pаy.example.test/a",
          "scheme": "https",
          "hostname": "pаy.example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P30",
      "input": "https://192.0.2.1/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "RFC5737 documentation IPv4",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://192.0.2.1/a",
          "scheme": "https",
          "hostname": "192.0.2.1",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://192.0.2.1/a",
          "scheme": "https",
          "hostname": "192.0.2.1",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://192.0.2.1/a",
          "scheme": "https",
          "hostname": "192.0.2.1",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P31",
      "input": "https://3221225985/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Integer spelling of documentation IPv4 192.0.2.1",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://192.0.2.1/a",
          "scheme": "https",
          "hostname": "192.0.2.1",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://3221225985/a",
          "scheme": "https",
          "hostname": "3221225985",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://3221225985/a",
          "scheme": "https",
          "hostname": "3221225985",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P32",
      "input": "https://example.test:0/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Port zero",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test:0/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "0",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test:0/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 0,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test:0/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 0,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P33",
      "input": "https://example.test:65535/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Maximum unsigned 16-bit port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test:65535/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "65535",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test:65535/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 65535,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test:65535/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 65535,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P34",
      "input": "https://example.test:65536/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Out-of-range port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": false,
          "error": "TypeError"
        },
        "python": {
          "ok": false,
          "error": "ValueError"
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test:65536/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 65536,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P35",
      "input": "https://example.test:-1/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Negative port text",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": false,
          "error": "TypeError"
        },
        "python": {
          "ok": false,
          "error": "ValueError"
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P36",
      "input": "https://[2001:db8::xyz]/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Invalid documentation IPv6 spelling",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": false,
          "error": "TypeError"
        },
        "python": {
          "ok": false,
          "error": "ValueError"
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    },
    {
      "id": "P37",
      "input": "https://example.test:/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Empty explicit port",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test:/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P38",
      "input": "https://example.test/a?x=1&x=2&empty=&flag#fragment",
      "base": "https://portal.example.test/docs/",
      "purpose": "Repeated and empty query values",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a?x=1&x=2&empty=&flag#fragment",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "x=1&x=2&empty=&flag",
          "fragment": "fragment",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a?x=1&x=2&empty=&flag#fragment",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a",
          "query": "x=1&x=2&empty=&flag",
          "fragment": "fragment",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://example.test/a?x=1&x=2&empty=&flag#fragment",
          "scheme": "https",
          "hostname": "example.test",
          "port": 443,
          "path": "/a",
          "query": "x=1&x=2&empty=&flag",
          "fragment": "fragment",
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": true
    },
    {
      "id": "P39",
      "input": "https://%65xample.test/a",
      "base": "https://portal.example.test/docs/",
      "purpose": "Percent-encoded ASCII host label",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://%65xample.test/a",
          "scheme": "https",
          "hostname": "%65xample.test",
          "port": null,
          "path": "/a",
          "query": "",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": true,
          "serialized": "https://%65xample.test/a",
          "scheme": "https",
          "hostname": "%65xample.test",
          "port": 443,
          "path": "/a",
          "query": null,
          "fragment": null,
          "username": null,
          "password": null
        }
      },
      "all_accepted": true,
      "accepted_serializations_equal": false
    },
    {
      "id": "P40",
      "input": "https://example.test/a%ZZ?x=%",
      "base": "https://portal.example.test/docs/",
      "purpose": "Malformed percent escapes",
      "origin": "New original P4 fixture",
      "observations": {
        "node": {
          "ok": true,
          "serialized": "https://example.test/a%ZZ?x=%",
          "scheme": "https",
          "hostname": "example.test",
          "port": "",
          "path": "/a%ZZ",
          "query": "x=%",
          "fragment": "",
          "username": "",
          "password": ""
        },
        "python": {
          "ok": true,
          "serialized": "https://example.test/a%ZZ?x=%",
          "scheme": "https",
          "hostname": "example.test",
          "port": null,
          "path": "/a%ZZ",
          "query": "x=%",
          "fragment": "",
          "username": null,
          "password": null
        },
        "ruby": {
          "ok": false,
          "error": "URI::InvalidURIError"
        }
      },
      "all_accepted": false,
      "accepted_serializations_equal": null
    }
  ],
  "limits": [
    "Different API contracts; agreement is not correctness and disagreement is not a vulnerability.",
    "Ruby rejects some non-ASCII inputs; exceptions are retained.",
    "Node port is a string, Python/Ruby numeric-or-null; native values are not coerced into false equality.",
    "Neither DNS, page content, redirects, reputation nor URL safety was tested.",
    "All forty fixtures from the earlier run were rerun; old observations are not pooled with this run."
  ],
  "public_evidence": [
    "fixtures.json",
    "results.json",
    "reproduce.py"
  ],
  "summary": {
    "accepted": {
      "node": 37,
      "python": 37,
      "ruby": 29
    },
    "all_accepted": 28,
    "all_serializations_equal": 15,
    "changed_fixture_ids": {
      "node": [],
      "python": [
        "P18",
        "P36"
      ],
      "ruby": []
    }
  },
  "license": "CC-BY-4.0",
  "earlier_run": {
    "version": "2026-10-24-p4",
    "measured_at_utc": "2026-10-25T00:05:31.118758+00:00",
    "path": "earlier-runs/2026-10-24-p4/index.json",
    "pooled": false
  },
  "comparison_to_earlier_run": "changes-from-2026-10-24-p4.json",
  "runtime_archive_provenance": "runtime-provenance.json"
}
