packages feed

rdkafka-hs-1.1.0.0: docs/testing/seek-evidence.json

{
  "schema_version": 1,
  "owner": 10,
  "status": "complete",
  "revision": "4c2a519c7c1ea72f05e9f97a6ac77a0abd28054a",
  "fingerprint": "e0efdb19089bfda33df08ddbc34c1a98a57c7a16430ce167addf2a2ff3c3fa14",
  "at": "2026-10-24T11:02:42.589841+00:00",
  "focused_tests": 76,
  "unit_tests": 21,
  "integration_tests": 320,
  "normal_seconds": 156.82,
  "instrumented_seconds": 149.39,
  "tooling_controls": 18,
  "native": "(\"2.15.0\",34537727)",
  "broker_versions": [
    {
      "node_id": 0,
      "version": "v26.2.1 - 8cd781be99c737c7d147d9dc239a0bbdd591a4d8"
    }
  ],
  "tests": [
    "rdkafka-hs-integration.seek-partitions.async.unassigned member reports native error",
    "rdkafka-hs-integration.seek-partitions.async.empty list preserves top-level invalid argument",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout unassigned failure is immediate",
    "rdkafka-hs-integration.seek-partitions.async.empty zero-timeout preserves top-level error",
    "rdkafka-hs-integration.seek-partitions.async.rewind without assignment does not seek",
    "rdkafka-hs-integration.seek-partitions.async.top-level error precedes member error and is destroyed",
    "rdkafka-hs-integration.seek-partitions.async.first substantive error follows input order",
    "rdkafka-hs-integration.seek-partitions.async.reversed input selects the other substantive error",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout skips pending but reports later failure",
    "rdkafka-hs-integration.seek-partitions.async.nonzero-timeout preserves residual pending",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout all pending promises initiation only",
    "rdkafka-hs-integration.seek-partitions.async.nonzero-timeout all pending is not success",
    "rdkafka-hs-integration.seek-partitions.async.top-level decoder exception still destroys error object",
    "rdkafka-hs-integration.seek-partitions.async.rewind assignment failure prevents seek",
    "rdkafka-hs-integration.seek-partitions.async.single seek replays exact record",
    "rdkafka-hs-integration.seek-partitions.async.multiple successful seeks replay both partitions",
    "rdkafka-hs-integration.seek-partitions.async.mixed seek reports failure without rolling back success",
    "rdkafka-hs-integration.seek-partitions.async.mixed errors follow actual request order",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout valid seek is followed by synchronous replay",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout mixed request keeps immediate unknown error",
    "rdkafka-hs-integration.seek-partitions.async.zero-timeout logical offsets promise initiation only",
    "rdkafka-hs-integration.seek-partitions.async.infinite native timeout completes a valid seek",
    "rdkafka-hs-integration.seek-partitions.async.duplicate entries preserve residual native pending error",
    "rdkafka-hs-integration.seek-partitions.async.unassigned existing partition returns state error",
    "rdkafka-hs-integration.seek-partitions.async.unknown topic reports member error",
    "rdkafka-hs-integration.seek-partitions.async.stored sentinel is rejected without altering position",
    "rdkafka-hs-integration.seek-partitions.async.end and exact high watermark produce no record",
    "rdkafka-hs-integration.seek-partitions.async.seek before retained log range resets to actual low watermark",
    "rdkafka-hs-integration.seek-partitions.async.rewind without committed offset starts at beginning",
    "rdkafka-hs-integration.seek-partitions.async.rewind uses committed next offset exactly",
    "rdkafka-hs-integration.seek-partitions.async.rewind message commit resumes after committed message",
    "rdkafka-hs-integration.seek-partitions.async.rewind lookup failure prevents seek",
    "rdkafka-hs-integration.seek-partitions.async.rewind propagates assignment change after committed lookup",
    "rdkafka-hs-integration.seek-partitions.async.beginning sentinel replays offset zero",
    "rdkafka-hs-integration.seek-partitions.async.absolute low watermark replays offset zero",
    "rdkafka-hs-integration.seek-partitions.async.invalid sentinel uses configured earliest reset",
    "rdkafka-hs-integration.seek-partitions.async.above high watermark uses configured earliest reset",
    "rdkafka-hs-integration.seek-partitions.async.native tail sentinel replays final two records",
    "rdkafka-hs-integration.seek-partitions.sync.unassigned member reports native error",
    "rdkafka-hs-integration.seek-partitions.sync.empty list preserves top-level invalid argument",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout unassigned failure is immediate",
    "rdkafka-hs-integration.seek-partitions.sync.empty zero-timeout preserves top-level error",
    "rdkafka-hs-integration.seek-partitions.sync.rewind without assignment does not seek",
    "rdkafka-hs-integration.seek-partitions.sync.top-level error precedes member error and is destroyed",
    "rdkafka-hs-integration.seek-partitions.sync.first substantive error follows input order",
    "rdkafka-hs-integration.seek-partitions.sync.reversed input selects the other substantive error",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout skips pending but reports later failure",
    "rdkafka-hs-integration.seek-partitions.sync.nonzero-timeout preserves residual pending",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout all pending promises initiation only",
    "rdkafka-hs-integration.seek-partitions.sync.nonzero-timeout all pending is not success",
    "rdkafka-hs-integration.seek-partitions.sync.top-level decoder exception still destroys error object",
    "rdkafka-hs-integration.seek-partitions.sync.rewind assignment failure prevents seek",
    "rdkafka-hs-integration.seek-partitions.sync.single seek replays exact record",
    "rdkafka-hs-integration.seek-partitions.sync.multiple successful seeks replay both partitions",
    "rdkafka-hs-integration.seek-partitions.sync.mixed seek reports failure without rolling back success",
    "rdkafka-hs-integration.seek-partitions.sync.mixed errors follow actual request order",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout valid seek is followed by synchronous replay",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout mixed request keeps immediate unknown error",
    "rdkafka-hs-integration.seek-partitions.sync.zero-timeout logical offsets promise initiation only",
    "rdkafka-hs-integration.seek-partitions.sync.infinite native timeout completes a valid seek",
    "rdkafka-hs-integration.seek-partitions.sync.duplicate entries preserve residual native pending error",
    "rdkafka-hs-integration.seek-partitions.sync.unassigned existing partition returns state error",
    "rdkafka-hs-integration.seek-partitions.sync.unknown topic reports member error",
    "rdkafka-hs-integration.seek-partitions.sync.stored sentinel is rejected without altering position",
    "rdkafka-hs-integration.seek-partitions.sync.end and exact high watermark produce no record",
    "rdkafka-hs-integration.seek-partitions.sync.seek before retained log range resets to actual low watermark",
    "rdkafka-hs-integration.seek-partitions.sync.rewind without committed offset starts at beginning",
    "rdkafka-hs-integration.seek-partitions.sync.rewind uses committed next offset exactly",
    "rdkafka-hs-integration.seek-partitions.sync.rewind message commit resumes after committed message",
    "rdkafka-hs-integration.seek-partitions.sync.rewind lookup failure prevents seek",
    "rdkafka-hs-integration.seek-partitions.sync.rewind propagates assignment change after committed lookup",
    "rdkafka-hs-integration.seek-partitions.sync.beginning sentinel replays offset zero",
    "rdkafka-hs-integration.seek-partitions.sync.absolute low watermark replays offset zero",
    "rdkafka-hs-integration.seek-partitions.sync.invalid sentinel uses configured earliest reset",
    "rdkafka-hs-integration.seek-partitions.sync.above high watermark uses configured earliest reset",
    "rdkafka-hs-integration.seek-partitions.sync.native tail sentinel replays final two records"
  ],
  "mutation_evidence": "dist-seek-mutations/20261024T105811Z-z8yr14j7/results.json",
  "mutations": 7,
  "unchanged_control": true,
  "source_reference": {
    "project": "mori://confluentinc/librdkafka",
    "project_relative_paths": [
      "librdkafka/src/rdkafka.h",
      "librdkafka/src/rdkafka.c",
      "librdkafka/src/rdkafka_partition.c"
    ],
    "artifact_uri_status": "pending",
    "local_revision": "122fc0c98562d086c3618bf376862632ae0808e1",
    "release_tag": "v2.15.0",
    "release_revision": "9a94e11452cdeb0a844db44ee5dd01ccbe17d3ab",
    "release_function_sha256": {
      "rd_kafka_seek_partitions": "2f37a035e8427eafda6d7a35d3c423c5dbbf1fe97b25e09535123564894b54eb",
      "rd_kafka_toppar_seek": "649914c932a65375d7043ae6c1941ac62d42ec1f98587b27b44390991b933f46",
      "rd_kafka_topic_partition_list_set_offset": "9536878a019edaffd90edc02a218bcc64314b71d5e020fdc198465bf153c5e29"
    },
    "local_functions_identical_to_release": true
  },
  "commands": {
    "focused": "nix develop -c just test-it '--test-options=-p /seek-partitions/'",
    "normal": "nix develop -c cabal test rdkafka-hs-test rdkafka-hs-integration -f integration --test-show-details=direct",
    "instrumented": "nix develop -c just coverage",
    "mutations": "nix develop -c python3 scripts/test-seek-mutations.py",
    "checks": [
      "nix develop -c just check",
      "nix develop -c cabal check",
      "okf validate docs/adr --strict --profile docs/adr/profile.dhall --profile-enforce --log-enforce"
    ]
  },
  "artifacts": {
    "/tmp/rdkafka-ep10-before.log": "f1a047d79f732e979da2dd34749c3599e23385f8713577a7d562ffbec5a5243e",
    "/tmp/rdkafka-ep10-matrix.log": "06ac8c7254a563534ad5e0565043689a7ff778aa01639ce35fc4db844f621924",
    "/tmp/rdkafka-ep10-matrix3.log": "2f1d7fe426444e23508d7b8d1db4d11fc23dcb428edd1e9f1953cc6ef659b291",
    "/tmp/rdkafka-ep10-normal.log": "4afdd6c417f6a4900034372090865bd63b4eb1445b368605313d9ba7673595ad",
    "/tmp/rdkafka-ep10-check.log": "d057de772c82e3e611b346c9a0c1e8cea400369f5b3e041849eaeb847a01a9e4",
    "/tmp/rdkafka-ep10-cabal-check.log": "e56e09e5ab9d1068ef55f6cfff9c20c9defa3f40af0c5abb1ff43d69d5ce931e",
    "/tmp/rdkafka-ep10-coverage.log": "8a0bb043d7f99ba5b1aaf1bbab3b45d696cd1f0e7082833fc89b6329063676d7",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/results.json": "3a593ea4fb338a71dee2a78491eff1343de879a5ff8405ac480cdf91faa2fb3d",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/unchanged-control.build.log": "d2f08ca40b87a60371f36b0be3f5822c636bde13bbe516eb97fa68170e17a2db",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/unchanged-control.test.log": "1ae9bf8c004dda8ed5ce07bd7a0fc75ddd37080fc429011dbe220c276bf0fd64",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/member-errors-dropped.build.log": "d4e1748b9a8a0221535f86fc1799e3c96edd4ea858030d32929de8b8596f1267",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/member-errors-dropped.test.log": "0931bc2cdea3d1a675f3be43ac4e58e419ff06665a8eeeb434415d7eb5c95401",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/error-order-reversed.build.log": "a987a77cfb0f3da8c4e120d84c73cc748b6be14347a917dc6d3d8d49534a73de",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/error-order-reversed.test.log": "e3a44dc4a043806bb91d318f9ec10b80d58206b0b8254b594fa832775d43ca04",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/pending-always-normalized.build.log": "a987a77cfb0f3da8c4e120d84c73cc748b6be14347a917dc6d3d8d49534a73de",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/pending-always-normalized.test.log": "b74f1c229ef02ee0a459057716c944321a446c98af5c38e7c83b50741ec29842",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/pending-never-normalized.build.log": "c47185e3f01580faa721695b917dfd8b9757bab191190b0ac15abf17ac189b55",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/pending-never-normalized.test.log": "4370a1f48eadbb51b2adf0dd64838f4c870252962ab16c74e77aad883fccbf04",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/message-commit-forgets-next-offset.build.log": "12f40c3a3ea7edc79a0cee00cfaaa8cb1ae60d98a13d3193ad63b1b25445db77",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/message-commit-forgets-next-offset.test.log": "d56732a3b894a8154ae131d024db6523a3059ecae31e15bc2237268e823c4864",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/rewind-decrements-committed-offset.build.log": "12f40c3a3ea7edc79a0cee00cfaaa8cb1ae60d98a13d3193ad63b1b25445db77",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/rewind-decrements-committed-offset.test.log": "4883b661b9edf946e312c760c55d4eb56a0466722efd59c64fe9890a97d100c0",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/rewind-discards-seek-error.build.log": "a987a77cfb0f3da8c4e120d84c73cc748b6be14347a917dc6d3d8d49534a73de",
    "dist-seek-mutations/20261024T105811Z-z8yr14j7/rewind-discards-seek-error.test.log": "e037412c061ae8a34ee1f0e4e0b004f1a4cc5a0eca7326271c79ee05045a45d1"
  },
  "owned_source_sha256": {
    "src/Kafka/Consumer.hs": "dea0ff7193ca4c10962fcf281a8985e654862de0f2e31a260bdd8d25d6152002",
    "src/Kafka/Consumer/Convert.hs": "d9e821da80314908c093f021a43c1603331db7538a324111f3da1c1f132a1a4c",
    "test-integration/Kafka/Integration/SeekPartitionsTest.hs": "681ac36e6934a0ccc84bbc2f956926e89e32b8a183dada2028002b3237a7cdea",
    "test-integration/Kafka/SeekTestSupport.hs": "5c19e85be0f3ec19a750c8d7ac1e87b955dca8948d8f216cab036175f34b89f8",
    "test-integration/cbits/seek_faults.c": "9aad50936a4bd1dcfb24b0a7b7b01eb50ce0d137ae79485db1ca599a6ffc9f4a",
    "scripts/test-seek-mutations.py": "5a08ea029b3ac4ba0175b3446377f0e49cf586538a6ad6245ad5203b35322ea7"
  }
}