{
 "generatedBy": "pipeline/sequence-toolkit/reference.py",
 "scriptSha256": "1bc66633d1a780a7f255b02743e9258652769ed35b770f193c5d74e0070410d6",
 "recordedOn": "2026-10-06",
 "versions": {
  "biopython": "1.88",
  "primer3-py": "2.3.1",
  "python": "3.11.15",
  "primer3Library": "libprimer3 release 2.6.1 (bundled with primer3-py 2.3.1)"
 },
 "use": "Tests read these files in place from pipeline/sequence-toolkit/fixtures/ and check each file's sha256 against this manifest; nothing is copied under src/ (CSO ruling, 6 October 2026, item 11).",
 "files": {
  "oligo-tm.json": {
   "sha256": "1588ca109f2e31df344ead30369790c5d9e6e2482a51d251c2c09eb96969fd29",
   "cases": 45,
   "refusals": 7,
   "acceptance": 3
  },
  "hairpin-dimer.json": {
   "sha256": "4cfa54e6037cd7f9656d2b886a325168f2f5b5c7b2584763db4ee8e88ad1e8cb",
   "cases": 20
  },
  "hairpin-dimer-probes.json": {
   "sha256": "2c62f274cca3525fc0945cb6965b7180ba699cf60f4da0e26da4d01ee14ce2fd",
   "cases": 11
  },
  "hairpin-dimer-extra.json": {
   "sha256": "060471828ed8b7a2fc4cc29049cac32df7237e83acee521b6a8e7709a9cadd17",
   "cases": 5
  },
  "dna-mw.json": {
   "sha256": "15f60ea1db40d55db94cd00f9a71a0324d84ea5b564d98e3e0478f825e8fe2a6",
   "cases": 5
  },
  "protein.json": {
   "sha256": "de4163c56cf4b5d9774e2f504f7b92f51a18aedf9bfd2aaf34991f798d0461a7",
   "cases": 22
  },
  "translation.json": {
   "sha256": "2f4debf7f26cdcf9ade70b6cd8f945048e079120eb35f3a2c13c5e2d6290acaf",
   "cases": 108,
   "cdsCases": 5
  },
  "orf.json": {
   "sha256": "631f0a2853fe0219ad6e461366cfc0db08ac03b2523e0f4332edc88c962083d9",
   "cases": 18
  },
  "peptide-smiles.json": {
   "sha256": "4ca03c17768ce37a6bd24d23f956fc156b27e6eefcf44a6e920c2f72642ab48e",
   "cases": 101,
   "drawn": 89,
   "refusals": 12,
   "generatedBy": "pipeline/sequence-toolkit/peptides.py",
   "scriptSha256": "045265f95eff57fb70cc684fdfd8f769c0ca6eb84e08898594e09136edbf725b",
   "rdkit": "2026.03.6"
  },
  "pcr-product.json": {
   "sha256": "dd145d143e6f6542aee4d625492315db1d69e1aada4c3934ae2ea18f6b4a3759",
   "cases": 30,
   "refusals": 13,
   "generatedBy": "pipeline/sequence-toolkit/exact_matches.py",
   "scriptSha256": "d6e68e76d2041367238c4274faafd9a188628c25447618f00cdbadbcd0c2da6d",
   "biopython": "1.88",
   "recordedOn": "2026-10-10"
  },
  "fragment-search.json": {
   "sha256": "dffa9bebd1843720f2e5893f552b81cef4cff671057f93117283401c0c6b6df1",
   "cases": 26,
   "refusals": 9,
   "generatedBy": "pipeline/sequence-toolkit/exact_matches.py",
   "scriptSha256": "d6e68e76d2041367238c4274faafd9a188628c25447618f00cdbadbcd0c2da6d",
   "biopython": "1.88",
   "recordedOn": "2026-10-10"
  },
  "selection-hand.json": {
   "sha256": "f1f786bc24944e36c5bcc338a4329c9eb18992db8d99befeecd699ba8e8216d6",
   "cases": 8,
   "gcCases": 3,
   "positionCases": 5,
   "generatedBy": "by hand (each case's work is in the file)",
   "recordedOn": "2026-10-10"
  },
  "revision-transforms.json": {
   "sha256": "84ad2e1c96908cefd7c18a4be06088e58e48c6efce62b68668099830a228974a",
   "cases": 10,
   "generatedBy": "pipeline/sequence-toolkit/revision-transforms.py",
   "recordedOn": "2026-10-10",
   "biopython": "1.88"
  },
  "primer-design.json": {
   "sha256": "ce1239c060a57c39399d12362e625221081484a761e367c48bf60cd69983c6ec",
   "cases": 13,
   "refusals": 4,
   "generatedBy": "pipeline/sequence-toolkit/primer_design.py",
   "scriptSha256": "5f4daeed831507adfce10b9eb07abd3adeded576b461e94890da43709a389971",
   "biopython": "1.88",
   "recordedOn": "2026-10-11"
  },
  "primer-design-qualification-v2.json": {
   "sha256": "15bc9c8cb50e4568f42a10cdd3d52eb88121d59826c73dfc9a2a24abbef3dd21",
   "cases": 32,
   "designCases": 9,
   "tmCases": 10,
   "recordCases": 13,
   "independentTmChecks": 62,
   "generatedBy": "pipeline/sequence-toolkit/primer_qualification.py",
   "scriptSha256": "379a69993c91f4183772571403223d4290d33b23b3358142ec0fd1e822a2b591",
   "recordedOn": "2026-10-11",
   "biopython": "1.88"
  },
  "primer-qualification-effective-salt-v1.json": {
   "sha256": "a569c0580c3dc800630aa1ff0577b9608580fff815d96bb0e3f514c878aeb302",
   "cases": 23,
   "accepted": 7,
   "refusals": 16,
   "independentTmChecks": 4,
   "generatedBy": "pipeline/sequence-toolkit/primer_qualification_effective_salt.py",
   "scriptSha256": "95e5fd8d2ae37385f83dc664e9894b2d8f34b1f205b0e4dcc3cd83b7e72c8c16",
   "recordedOn": "2026-10-11",
   "biopython": "1.88"
  },
  "primer-walk-v1.json": {
   "sha256": "531dbd74cdbb47a281c52d9ad70c802b3bdb8cd47489f9989bd886ab9e404769",
   "cases": 1,
   "generatedBy": "pipeline/sequence-toolkit/primer_walk.py",
   "scriptSha256": "5df62d01a3a231b3c157478077d0f773571fd2e31a61fc0f5e63cde621cc3094",
   "recordedOn": "2026-10-11",
   "biopython": "1.88"
  }
 }
}
