{
  "kind": "lexical-retrieval-practice",
  "version": "1.0.0",
  "checkedAt": "2026-10-22T12:11:22.481Z",
  "passed": true,
  "scope": "Only original offline English synthetic fixture and CLI input/metric checks. No embedding, reranker, parser, LLM, RAG answer quality, GPU, network isolation or other OS tests.",
  "environment": {
    "node": "v24.18.0",
    "platform": "win32",
    "arch": "x64"
  },
  "sourceFiles": [
    {
      "file": "LICENSE.txt",
      "sha256": "3adfe3b157b700f22539b7f4364de072772fe3a109f919f1f78cf9632c0eed8a"
    },
    {
      "file": "README.md",
      "sha256": "cfa2da3834ab663c7f27e577cc845534f3c8147957343abb3f4fc771b9bd8c1f"
    },
    {
      "file": "fixture.json",
      "sha256": "e58bee3860490780a23bb982d8b211c969bc5a7b1769981b7db1afef6f29141d"
    },
    {
      "file": "retrieval.mjs",
      "sha256": "8ed1b024db884f804837075e8cff80efc186ea5f7f696d340157e3011c2d36cc"
    }
  ],
  "cases": [
    {
      "name": "original",
      "exitCode": 0,
      "result": {
        "kind": "lexical-retrieval-practice",
        "k": 2,
        "modelUsed": false,
        "answerGenerated": false,
        "scope": "English synthetic fixture, literal word overlap only; candidates are not answers or proof of semantic relevance.",
        "metrics": {
          "answerableQueries": 4,
          "meanRecallAtK": 1,
          "meanReciprocalRank": 1,
          "unanswerableQueries": 2,
          "falsePositiveUnanswerable": 1
        },
        "cases": [
          {
            "queryId": "backup-locations",
            "relevantIds": [
              "archive",
              "drive"
            ],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.4
              },
              {
                "id": "drive",
                "text": "Project backups can also be copied to a removable drive.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "meeting-day",
            "relevantIds": [
              "meeting"
            ],
            "candidates": [
              {
                "id": "meeting",
                "text": "The design meeting starts on Thursday at ten.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "demo-color",
            "relevantIds": [
              "theme"
            ],
            "candidates": [
              {
                "id": "theme",
                "text": "The demo website theme uses blue cards.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "menu-shortcut",
            "relevantIds": [
              "shortcut"
            ],
            "candidates": [
              {
                "id": "shortcut",
                "text": "Use Control K to open the command menu.",
                "score": 0.42857142857142855
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "unanswerable-overlap",
            "relevantIds": [],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.3333333333333333
              },
              {
                "id": "drive",
                "text": "Project backups can also be copied to a removable drive.",
                "score": 0.25
              }
            ],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": true
          },
          {
            "queryId": "unanswerable-none",
            "relevantIds": [],
            "candidates": [],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": false
          }
        ]
      }
    },
    {
      "name": "invalid-reference",
      "exitCode": 1,
      "error": "Practice input error: Invalid query or unknown/duplicate relevant document ID"
    },
    {
      "name": "restored",
      "exitCode": 0,
      "result": {
        "kind": "lexical-retrieval-practice",
        "k": 2,
        "modelUsed": false,
        "answerGenerated": false,
        "scope": "English synthetic fixture, literal word overlap only; candidates are not answers or proof of semantic relevance.",
        "metrics": {
          "answerableQueries": 4,
          "meanRecallAtK": 1,
          "meanReciprocalRank": 1,
          "unanswerableQueries": 2,
          "falsePositiveUnanswerable": 1
        },
        "cases": [
          {
            "queryId": "backup-locations",
            "relevantIds": [
              "archive",
              "drive"
            ],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.4
              },
              {
                "id": "drive",
                "text": "Project backups can also be copied to a removable drive.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "meeting-day",
            "relevantIds": [
              "meeting"
            ],
            "candidates": [
              {
                "id": "meeting",
                "text": "The design meeting starts on Thursday at ten.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "demo-color",
            "relevantIds": [
              "theme"
            ],
            "candidates": [
              {
                "id": "theme",
                "text": "The demo website theme uses blue cards.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "menu-shortcut",
            "relevantIds": [
              "shortcut"
            ],
            "candidates": [
              {
                "id": "shortcut",
                "text": "Use Control K to open the command menu.",
                "score": 0.42857142857142855
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "unanswerable-overlap",
            "relevantIds": [],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.3333333333333333
              },
              {
                "id": "drive",
                "text": "Project backups can also be copied to a removable drive.",
                "score": 0.25
              }
            ],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": true
          },
          {
            "queryId": "unanswerable-none",
            "relevantIds": [],
            "candidates": [],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": false
          }
        ]
      }
    },
    {
      "name": "k-one",
      "exitCode": 0,
      "result": {
        "kind": "lexical-retrieval-practice",
        "k": 1,
        "modelUsed": false,
        "answerGenerated": false,
        "scope": "English synthetic fixture, literal word overlap only; candidates are not answers or proof of semantic relevance.",
        "metrics": {
          "answerableQueries": 4,
          "meanRecallAtK": 0.875,
          "meanReciprocalRank": 1,
          "unanswerableQueries": 2,
          "falsePositiveUnanswerable": 1
        },
        "cases": [
          {
            "queryId": "backup-locations",
            "relevantIds": [
              "archive",
              "drive"
            ],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.4
              }
            ],
            "recallAtK": 0.5,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "meeting-day",
            "relevantIds": [
              "meeting"
            ],
            "candidates": [
              {
                "id": "meeting",
                "text": "The design meeting starts on Thursday at ten.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "demo-color",
            "relevantIds": [
              "theme"
            ],
            "candidates": [
              {
                "id": "theme",
                "text": "The demo website theme uses blue cards.",
                "score": 0.2857142857142857
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "menu-shortcut",
            "relevantIds": [
              "shortcut"
            ],
            "candidates": [
              {
                "id": "shortcut",
                "text": "Use Control K to open the command menu.",
                "score": 0.42857142857142855
              }
            ],
            "recallAtK": 1,
            "reciprocalRank": 1,
            "falsePositiveUnanswerable": false
          },
          {
            "queryId": "unanswerable-overlap",
            "relevantIds": [],
            "candidates": [
              {
                "id": "archive",
                "text": "Project backups are stored in the archive folder.",
                "score": 0.3333333333333333
              }
            ],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": true
          },
          {
            "queryId": "unanswerable-none",
            "relevantIds": [],
            "candidates": [],
            "recallAtK": null,
            "reciprocalRank": null,
            "falsePositiveUnanswerable": false
          }
        ]
      }
    }
  ],
  "archive": {
    "sha256": "b11c2d1805de4885dccb4534e81b3c98a37e5a945c9d0c035980f4c2632fecfb",
    "bytes": 4197,
    "sourceFilesMatched": true,
    "files": 4,
    "checkedAt": "2026-10-22T12:11:23.0019085Z"
  }
}
