{
  "test": {
    "id": "tests/1.0/unordered/cache-state",
    "directory": "tests/1.0/unordered/cache-state",
    "manifestPath": "tests/1.0/unordered/cache-state/manifest.ttl",
    "scenarioPath": "tests/1.0/unordered/cache-state/scenario.yaml",
    "expectedPath": "tests/1.0/unordered/cache-state/expected/events.ndjson",
    "iri": "https://www.pieter.pm/ldes-client-conformance-test-suite/1.0#unordered-cache-state",
    "title": "Immutable nodes are skipped and mutable ETags are revalidated",
    "description": "Across repeated synchronization runs, RDF-immutable and Cache-Control immutable nodes must not be refetched, while the mutable node must be revalidated with its ETag.",
    "requirement": "LDES10-UNORD-020",
    "requirements": [
      "LDES10-UNORD-020",
      "LDES10-UNORD-021",
      "LDES10-UNORD-022",
      "LDES10-UNORD-023",
      "LDES10-UNORD-027",
      "LDES10-UNORD-035",
      "LDES10-UNORD-037"
    ],
    "requirementLevel": "Should",
    "group": "UnorderedTraversal",
    "requiredCapabilities": []
  },
  "outcome": "failed",
  "events": [
    {
      "protocolVersion": 0,
      "type": "member",
      "runId": "initial",
      "id": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/mutable",
      "dataset": "<https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/mutable> <https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#vocab/value> \"mutable\" .\n",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:22:13.999Z"
    },
    {
      "protocolVersion": 0,
      "type": "member",
      "runId": "initial",
      "id": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/header-immutable",
      "dataset": "<https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/header-immutable> <https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#vocab/value> \"header immutable\" .\n",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:22:14.024Z"
    },
    {
      "protocolVersion": 0,
      "type": "member",
      "runId": "initial",
      "id": "https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/rdf-immutable",
      "dataset": "<https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#member/rdf-immutable> <https://raw.githubusercontent.com/pietercolpaert/ldes-client-conformance-test-suite/main/tests/1.0/unordered/cache-state/responses/root.ttl#vocab/value> \"rdf immutable\" .\n",
      "mediaType": "application/n-quads",
      "receivedAt": "2026-10-16T10:22:14.054Z"
    },
    {
      "protocolVersion": 0,
      "type": "statistics",
      "runId": "initial",
      "membersEmitted": 3,
      "receivedAt": "2026-10-16T10:22:14.059Z"
    },
    {
      "protocolVersion": 0,
      "type": "run-end",
      "runId": "initial",
      "status": "completed",
      "receivedAt": "2026-10-16T10:22:14.059Z",
      "adapterStderr": "Oct 16, 2026 10:22:09 AM org.hibernate.jpa.boot.spi.ProviderChecker hibernateProviderNamesContain\nWARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; [org.hibernate.jpa.HibernatePersistenceProvider] will be used instead.\nOct 16, 2026 10:22:09 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation\nINFO: HHH000204: Processing PersistenceUnitInfo [name: pu-sql-jpa]\nOct 16, 2026 10:22:09 AM org.hibernate.Version logVersion\nINFO: HHH000412: Hibernate ORM core version [WORKING]\nOct 16, 2026 10:22:09 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>\nINFO: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}\nOct 16, 2026 10:22:09 AM org.hibernate.dialect.Dialect <init>\nINFO: HHH000400: Using dialect: org.sqlite.hibernate.dialect.SQLiteDialect\nOct 16, 2026 10:22:12 AM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService\nINFO: HHH000130: Instantiating explicit connection provider: com.zaxxer.hikari.hibernate.HikariConnectionProvider\nSLF4J: No SLF4J providers were found.\nSLF4J: Defaulting to no-operation (NOP) logger implementation\nSLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.\nOct 16, 2026 10:22:12 AM org.hibernate.dialect.Dialect <init>\nINFO: HHH000400: Using dialect: org.sqlite.hibernate.dialect.SQLiteDialect\nOct 16, 2026 10:22:13 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService\nINFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]\nOpenLDES status: REPLICATING\nOpenLDES status: REPLICATING\nOpenLDES status: REPLICATING\nOpenLDES status: REPLICATING\nOpenLDES status: REPLICATING\nOpenLDES status: SYNCHRONISING\n"
    },
    {
      "protocolVersion": 0,
      "type": "error",
      "runId": "repeat",
      "kind": "client",
      "message": "java.lang.UnsupportedOperationException: Cannot handle response 500 of TreeNodeRequest TreeNodeRequest{treeNodeUrl='http://127.0.0.1:37591/rdf-immutable', lang=Lang:Turtle, etag='null'}",
      "receivedAt": "2026-10-16T10:22:18.647Z",
      "adapterStderr": "Oct 16, 2026 10:22:14 AM org.hibernate.jpa.boot.spi.ProviderChecker hibernateProviderNamesContain\nWARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; [org.hibernate.jpa.HibernatePersistenceProvider] will be used instead.\nOct 16, 2026 10:22:14 AM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation\nINFO: HHH000204: Processing PersistenceUnitInfo [name: pu-sql-jpa]\nOct 16, 2026 10:22:14 AM org.hibernate.Version logVersion\nINFO: HHH000412: Hibernate ORM core version [WORKING]\nOct 16, 2026 10:22:14 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>\nINFO: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}\nOct 16, 2026 10:22:15 AM org.hibernate.dialect.Dialect <init>\nINFO: HHH000400: Using dialect: org.sqlite.hibernate.dialect.SQLiteDialect\nOct 16, 2026 10:22:17 AM org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator initiateService\nINFO: HHH000130: Instantiating explicit connection provider: com.zaxxer.hikari.hibernate.HikariConnectionProvider\nSLF4J: No SLF4J providers were found.\nSLF4J: Defaulting to no-operation (NOP) logger implementation\nSLF4J: See http://www.slf4j.org/codes.html#noProviders for further details.\nOct 16, 2026 10:22:17 AM org.hibernate.dialect.Dialect <init>\nINFO: HHH000400: Using dialect: org.sqlite.hibernate.dialect.SQLiteDialect\nOct 16, 2026 10:22:17 AM org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator initiateService\nINFO: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]\nOpenLDES status: SYNCHRONISING\nOpenLDES status: SYNCHRONISING\nOpenLDES status: SYNCHRONISING\njava.lang.UnsupportedOperationException: Cannot handle response 500 of TreeNodeRequest TreeNodeRequest{treeNodeUrl='http://127.0.0.1:37591/rdf-immutable', lang=Lang:Turtle, etag='null'}\n\tat ldes.client.treenodefetcher.TreeNodeFetcher.fetchTreeNode(TreeNodeFetcher.java:53)\n\tat ldes.client.treenodesupplier.TreeNodeProcessor.processTreeNode(TreeNodeProcessor.java:76)\n\tat ldes.client.treenodesupplier.TreeNodeProcessor.getMember(TreeNodeProcessor.java:57)\n\tat ldes.client.treenodesupplier.membersuppliers.MemberSupplierImpl.get(MemberSupplierImpl.java:27)\n\tat ldes.client.treenodesupplier.membersuppliers.MemberSupplierImpl.get(MemberSupplierImpl.java:9)\n\tat org.openldes.conformance.OpenLdesAdapter.main(OpenLdesAdapter.java:82)\n"
    }
  ],
  "requests": [
    {
      "sequence": 1,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "text/turtle",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)",
        "accept-encoding": "gzip,deflate"
      },
      "phase": "initial",
      "status": 200,
      "timestamp": "2026-10-16T10:22:13.664Z",
      "completedAt": "2026-10-16T10:22:13.664Z"
    },
    {
      "sequence": 2,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "initial",
      "status": 200,
      "timestamp": "2026-10-16T10:22:13.871Z",
      "completedAt": "2026-10-16T10:22:13.872Z"
    },
    {
      "sequence": 3,
      "method": "GET",
      "path": "/mutable",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "initial",
      "status": 200,
      "timestamp": "2026-10-16T10:22:13.900Z",
      "completedAt": "2026-10-16T10:22:13.901Z"
    },
    {
      "sequence": 4,
      "method": "GET",
      "path": "/header-immutable",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "initial",
      "status": 200,
      "timestamp": "2026-10-16T10:22:14.008Z",
      "completedAt": "2026-10-16T10:22:14.008Z"
    },
    {
      "sequence": 5,
      "method": "GET",
      "path": "/rdf-immutable",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "initial",
      "status": 200,
      "timestamp": "2026-10-16T10:22:14.032Z",
      "completedAt": "2026-10-16T10:22:14.033Z"
    },
    {
      "sequence": 6,
      "method": "GET",
      "path": "/root",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "repeat",
      "status": 200,
      "timestamp": "2026-10-16T10:22:18.274Z",
      "completedAt": "2026-10-16T10:22:18.275Z"
    },
    {
      "sequence": 7,
      "method": "GET",
      "path": "/mutable",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "repeat",
      "status": 304,
      "timestamp": "2026-10-16T10:22:18.624Z",
      "completedAt": "2026-10-16T10:22:18.624Z"
    },
    {
      "sequence": 8,
      "method": "GET",
      "path": "/rdf-immutable",
      "headers": {
        "accept": "text/turtle",
        "accept-encoding": "gzip",
        "host": "127.0.0.1:37591",
        "connection": "Keep-Alive",
        "user-agent": "Apache-HttpClient/4.5.13 (Java/21.0.12.1)"
      },
      "phase": "repeat",
      "status": 500,
      "timestamp": "2026-10-16T10:22:18.629Z",
      "completedAt": "2026-10-16T10:22:18.629Z"
    }
  ],
  "diagnostics": [
    "event 4: expected type run-end, got error",
    "request repeat:/rdf-immutable: expected count 0, got 1",
    "request repeat:/mutable: expected if-none-match: \"mutable-v1\", got <absent>"
  ]
}
