Commit 36106ff
authored
feat(duplicates): body_hash structural duplication detection (#178)
* feat(duplicates): body_hash structural dupes + harden pass
Add symbols.body_hash (canonical body AST for function-shaped symbols),
SCHEMA_VERSION 39, duplicates recipe, golden scenario, and agent rule row.
Retire ast-hash-duplication plan into architecture/glossary/golden-queries.
* harden: nullish return normalization + O(1) FD body_hash lookup
Fix deferred correctness/perf items: return-position Literal:nullish for
null/undefined/void 0/bare return; void 0 only (not all void); FD symbol
index via markArrowSymbol at push time; docs parity and regression tests.
* fix(duplicates): scope filters before grouping + doc parity
Apply path_prefix and min_body_lines before duplicate_count aggregation
so scoped queries report accurate group sizes. Align golden-queries
wording with function-shaped symbol contract (getter/setter included).
* harden: script probes, scoped duplicates tests, doc parity
Wire duplication.body-hash agent-eval probe; fix spike-crap tier count
after fixture symbols; add duplicates-recipe-scope regression tests;
setter/nullish-scope unit tests; consumer doc caveats (LIMIT, async/gen).1 parent bb8bae9 commit 36106ff
35 files changed
Lines changed: 1097 additions & 206 deletions
File tree
- .changeset
- docs
- plans
- fixtures
- golden
- minimal
- minimal/src/bench
- scripts
- agent-eval
- src
- extractors
- templates
- agent-content/rule
- recipes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
301 | 301 | | |
302 | 302 | | |
303 | 303 | | |
| 304 | + | |
304 | 305 | | |
305 | 306 | | |
306 | 307 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
147 | 147 | | |
148 | 148 | | |
149 | 149 | | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
150 | 154 | | |
151 | 155 | | |
152 | 156 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
81 | 85 | | |
82 | 86 | | |
83 | 87 | | |
| |||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
| 115 | + | |
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
178 | 187 | | |
179 | 188 | | |
180 | 189 | | |
| |||
0 commit comments