Imbad0202/academic-research-skills

Academic Research Skills for Claude Code: research → write → review → revise → finalize

Python★ 46,084+496 that day#8 on trending

Analyzed September 4, 2026 at 9443623 (main) with jscpd 5.4.0 in 9.6s. Code duplication stayed at 4.22% across 4 appearances since Sep 1.

4.22%duplicated code · 5,484 of 129,922 lines
276clones in code
228code files of 2,302 scanned
6.8%duplicated over all files · 1,953 clones

The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.

Largest clones in the code

  • 351 lines in 2 placespython2,155 tokens
    1956        "triggering divergence"
    1957    )
    1958elif row["cross_model_verdict"] == rec["pre_reapplication_verdict"]:
    1959    # §6 dispatch order is normative: diverges is identified
    1960    # FIRST (judge verdict vs the row's verdict), THEN the
    1961    # system intent is emitted and the 2B' call dispatched. A
    1962    # judge verdict equal to the dispatch-time pre-value means
    1963    # no divergence existed to resolve — the chain manufactures
    1964    # its own diverges status after the fact.
    1965    fails.add(
    

    First 10 of 351 lines.

  • 144 lines in 2 placespython1,509 tokens
    719if row["obligation_class"] == "MUST_FIX":
    720    if not has_status:
    721        v.fail(path, "MUST_FIX rows always carry cross_model_status (§5.3 / #539)")
    722elif has_status or has_cmv:
    723    v.fail(path, "SHOULD_FIX/CONSIDER rows carry neither cross-model field (#539 scope)")
    724if has_status:
    725    v.enum(row["cross_model_status"], f"{path}.cross_model_status",
    726           ("agree", "diverges", "unavailable", "not_configured"))
    727    if row["cross_model_status"] in ("agree", "diverges"):
    728        if not has_cmv:
    

    First 10 of 144 lines.

  • 151 lines in 2 placespython1,428 tokens
    499v.enum(art["contract_version"], "$.contract_version", ("1.1",))
    500v.string(art["round_id"], "$.round_id")
    501v.pattern(art["precommitment_hash"], "$.precommitment_hash", _SHA256_RE, "sha256 hex")
    502v.array(art["items"], "$.items")
    503for i, rec in enumerate(art["items"]):
    504    path = f"$.items[{i}]"
    505    v.obj(rec, path, ["item_id", "verdict", "change_summary", "verified_by", "applied_criterion"],
    506          ["evidence_anchor", "cannot_verify_reason", "residual_gap"])
    507    v.pattern(rec["item_id"], f"{path}.item_id", _ITEM_ID_RE, "REV-<id>")
    508    v.enum(rec["verdict"], f"{path}.verdict", VERDICTS)
    

    First 10 of 151 lines.

7 more
Largest clones over all files, tests and data included
By format, code only
FormatFilesLinesClonesDuplicated linesDuplication
python210126,7552765,4844.33%
bash162,800000%
javascript1193000%
perl1174000%
By format, all files
FormatFilesLinesClonesDuplicated linesDuplication
python445261,89286112,5404.79%
markdown916190,84956410,0205.25%
json50468,21444613,29719.49%
text1677,453202513.37%
yaml1355,929172363.98%
txt215151632062.14%
diff2236297721.27%
r218785328.34%
bash434,25061192.8%
markup92,53361566.16%

Trending appearances

DayRankStarsFilesLinesClonesAll filesCodeHealthCommit
Sep 4, 2026#846,084 (+496)2,302545,1071,9536.8%4.22%—9443623
Sep 3, 2026#945,682 (+799)2,302545,1071,9596.87%4.22%—9443623
Sep 2, 2026#245,097 (+193)2,302545,1071,9526.8%4.22%—9443623
Sep 1, 2026#244,562 (+161)2,301545,0341,9536.82%4.22%—e8bf858

Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.