|
2 | 2 |
|
3 | 3 | All notable changes to jcodemunch-mcp are documented here. |
4 | 4 |
|
| 5 | +## [1.108.140] - 2026-07-18 - the first gold corpus: channel accuracy, measured |
| 6 | + |
| 7 | +### Added |
| 8 | +- **An authored gold corpus for `find_implementations` channel accuracy** |
| 9 | + (`benchmarks/goldset/`). Every implementation relation — declared |
| 10 | + subclasses, duck-typed conformers, decorator-registered handlers — and |
| 11 | + every deliberate false-positive trap (a module-homonym base class, same- |
| 12 | + name-different-domain methods like electrical/legal `charge`, substring |
| 13 | + decorator matches like a `/user_created_report` route against a |
| 14 | + `user_created` event) is labeled in `gold.json` with a per-pair rationale, |
| 15 | + so ground truth is exact by construction. |
| 16 | +- **A reproducible measurement harness** (`benchmarks/goldset/measure.py`): |
| 17 | + snapshots the corpus to a temp dir, indexes it, runs |
| 18 | + `find_implementations` per gold target, joins each surfaced implementation |
| 19 | + to its label, and writes per-channel precision/recall to |
| 20 | + `benchmarks/provenance/channel_accuracy.json`. First measured round: AST |
| 21 | + 0.833 precision (the homonym trap), duck 0.6, decorator 0.6 — recall 1.0 |
| 22 | + across all channels. Notably the shipped priors survive contact with |
| 23 | + measurement: 0.85 declared vs 0.833 measured for AST, 0.65 vs 0.6 for |
| 24 | + duck, and the 0.45 decorator prior is *more* conservative than measured. |
| 25 | +- **The measurement re-runs in CI** (`tests/test_channel_accuracy.py`): the |
| 26 | + committed artifact must equal a live re-measurement and the corpus content |
| 27 | + hash, so the numbers cannot drift from the reproducible run — a corpus or |
| 28 | + channel change forces a deliberate artifact regeneration. |
| 29 | +- **Registry and responses carry the measured reference.** Each heuristic |
| 30 | + channel's provenance entry gains `measured_ref` (precision/recall, corpus, |
| 31 | + artifact path) beside its declared ranking prior, surfaced in |
| 32 | + `_meta.confidence_provenance`; `MEASURED` gains |
| 33 | + `implementation_channel_accuracy`. The operating constants deliberately |
| 34 | + stay `declared` — they are ranking priors, and recalibrating them to a |
| 35 | + small-n corpus would trade honest stability for false precision; the |
| 36 | + artifact states its scope (authored-pattern discrimination, not |
| 37 | + in-the-wild base rates). LSP/SCIP channels carry no `measured_ref` — they |
| 38 | + are the ground-truth side of the comparison. |
| 39 | + |
5 | 40 | ## [1.108.139] - 2026-07-18 - measured provenance rides the reporting surfaces |
6 | 41 |
|
7 | 42 | ### Added |
|
0 commit comments