{
 "format": "ac-bench/1",
 "entry": "hoppscotch",
 "kind": "scramble",
 "variant": "default",
 "repo": "~/ac-targets/hoppscotch",
 "sha": "63273f8e599e73f0fb38c0739314e8d46b6bc83d",
 "packageRoot": "packages/hoppscotch-backend",
 "moduleRoot": "src",
 "files": 186,
 "featureFiles": 156,
 "groundTruthModules": 25,
 "hardFiles": 46,
 "leakyFiles": 0,
 "leakage": {
  "renamed": 0,
  "inFeatureFolder": 0,
  "underSubFolder": 0,
  "subFolders": [
   {
    "folder": "constants",
    "files": 1,
    "features": 1
   }
  ],
  "unseen": 3
 },
 "scramble": {
  "commit": "a38bd84671c2e18defba297eb98464300b3d2559",
  "tree": "a005c3c9036b6e3da0bc753d37ab7b1c939c68b0",
  "moved": 156,
  "declined": 1,
  "excluded": 22,
  "certificate": {
   "verdict": "pass",
   "scope": "static",
   "digest": "sha256:110a9b0bf19849b8b8184932bbc7791bba85f7ecef44fe57a033593e02dce260",
   "failing": []
  }
 },
 "methods": [
  {
   "method": "B0 type folders",
   "kind": "baseline",
   "clusters": 17,
   "mojoFm": 9.66,
   "ari": -0.022,
   "c2cCvg": 0,
   "clusterCountRatio": 0.6,
   "mojoFmHard": 30,
   "turboMq": {
    "sum": 1.1112,
    "mean": 0.0654
   },
   "backEdges": 15
  },
  {
   "method": "name-token (full stem)",
   "kind": "baseline",
   "clusters": 109,
   "mojoFm": 57.24,
   "ari": 0.393,
   "c2cCvg": 0.56,
   "clusterCountRatio": 3.48,
   "mojoFmHard": 30,
   "turboMq": {
    "sum": 6.4074,
    "mean": 0.0588
   },
   "backEdges": 44
  },
  {
   "method": "name-token (anchored)",
   "kind": "baseline",
   "clusters": 56,
   "mojoFm": 75.17,
   "ari": 0.541,
   "c2cCvg": 0.76,
   "clusterCountRatio": 1.88,
   "mojoFmHard": 50,
   "turboMq": {
    "sum": 7.4341,
    "mean": 0.1328
   },
   "backEdges": 53
  },
  {
   "method": "export-token (anchored)",
   "kind": "baseline",
   "clusters": 62,
   "mojoFm": 74.48,
   "ari": 0.528,
   "c2cCvg": 0.76,
   "clusterCountRatio": 2.04,
   "mojoFmHard": 45,
   "turboMq": {
    "sum": 6.9181,
    "mean": 0.1116
   },
   "backEdges": 47
  },
  {
   "method": "seeds draft (file names)",
   "kind": "draft",
   "clusters": 43,
   "mojoFm": 80,
   "ari": 0.593,
   "c2cCvg": 0.8,
   "clusterCountRatio": 1.56,
   "mojoFmHard": 57.5,
   "turboMq": {
    "sum": 7.6293,
    "mean": 0.1774
   },
   "backEdges": 37
  },
  {
   "method": "seeds draft (export names)",
   "kind": "baseline",
   "clusters": 45,
   "mojoFm": 81.38,
   "ari": 0.634,
   "c2cCvg": 0.8,
   "clusterCountRatio": 1.6,
   "mojoFmHard": 62.5,
   "turboMq": {
    "sum": 7.3714,
    "mean": 0.1638
   },
   "backEdges": 36
  },
  {
   "method": "Louvain r=1 (mean of seeds 1-5)",
   "kind": "baseline",
   "clusters": 8.4,
   "mojoFm": 32.55,
   "ari": 0.278,
   "c2cCvg": 0.032,
   "clusterCountRatio": 0.3,
   "mojoFmHard": 57,
   "turboMq": {
    "sum": 4.0217,
    "mean": 0.4794
   },
   "backEdges": 17.2,
   "note": "mean of seeds 1-5"
  },
  {
   "method": "Louvain r=2 (mean of seeds 1-5)",
   "kind": "baseline",
   "clusters": 17,
   "mojoFm": 56.96,
   "ari": 0.516,
   "c2cCvg": 0.272,
   "clusterCountRatio": 0.64,
   "mojoFmHard": 77,
   "turboMq": {
    "sum": 6.7364,
    "mean": 0.3963
   },
   "backEdges": 58,
   "note": "mean of seeds 1-5"
  },
  {
   "method": "Louvain r=4 (mean of seeds 1-5)",
   "kind": "baseline",
   "clusters": 33.6,
   "mojoFm": 74.62,
   "ari": 0.601,
   "c2cCvg": 0.616,
   "clusterCountRatio": 1.26,
   "mojoFmHard": 79,
   "turboMq": {
    "sum": 9.6309,
    "mean": 0.2868
   },
   "backEdges": 76.4,
   "note": "mean of seeds 1-5"
  },
  {
   "method": "planner (Ultra)",
   "kind": "planner",
   "clusters": 29,
   "mojoFm": 87.59,
   "ari": 0.794,
   "c2cCvg": 0.84,
   "clusterCountRatio": 1.16,
   "mojoFmHard": 67.5,
   "turboMq": {
    "sum": 8.1235,
    "mean": 0.2801
   },
   "backEdges": 30
  }
 ],
 "bestBaseline": {
  "method": "seeds draft (export names)",
  "mojoFm": 81.38,
  "turboMq": 7.3714
 },
 "planner": {
  "cassette": "cassettes/s7-bench.jsonl",
  "recordedCostUsd": 0.137482,
  "spentUsd": 0,
  "replayed": true,
  "calls": {
   "replayed": 2,
   "recorded": 0
  },
  "rules": 2,
  "groups": 29,
  "modules": 22,
  "change": {
   "draftGroups": 43,
   "samePartition": false,
   "filesMoved": 7,
   "groupsMerged": 14,
   "winner": {
    "label": "ultra#1",
    "groupEntries": 43,
    "moves": 7,
    "movesById": 0,
    "issues": {
     "foreign-name": 2
    }
   },
   "critic": {
    "suggestions": 9,
    "kept": 8
   }
  },
  "planSha256": "615def2cbbab977eea977bc2d6182596b24dc35948ae4218c837f1033c3dc994"
 },
 "louvainMojoFmByResolution": {
  "1": [
   29.66,
   35.17,
   35.86,
   32.41,
   29.66
  ],
  "2": [
   56.55,
   51.72,
   59.31,
   57.93,
   59.31
  ],
  "4": [
   75.86,
   73.79,
   74.48,
   75.86,
   73.1
  ]
 },
 "draft": {
  "method": "seeds draft (file names)",
  "source": "file names",
  "contested": {
   "fileNames": 10,
   "exportNames": 12
  }
 },
 "notes": [
  "1 feature file is pinned in the facts (no method can place it) and not scored.",
  "The planner starts from the seeds draft (file names): plannerDraft takes the export names only when they leave fewer files contested than the file names, and here they leave 12 against 10 (no ground truth is read).",
  "The planner's plan moves 7 of 186 files out of their draft group and merges 14 draft groups into others (43 draft groups, 29 plan groups). The winning edit, ultra#1, had 43 group entries and 7 moves; the validator found 2 problems with it (foreign-name 2) and dropped or repaired each before applying it. The critic made 9 suggestions and its gate kept 8.",
  "Leakage, over the 186 movable files every method sees: 0 give their feature away in their path (0 still in a feature folder; 0 leaky renames; 0 in a sub-folder that only files of their feature share). Sub-folders kept under the type folders: constants (1 file, 1 feature); the planner's prompt shows them, and no deterministic method groups by them. 3 more leaky files are pinned or not read by the facts, so no method sees them: not counted."
 ]
}
