Commit 61785f7
committed
feat: add git co-change analysis (backlog #9)
Analyze git history to surface files that historically change together,
using Jaccard similarity coefficients. Results are stored in the DB and
integrated into diff-impact to catch temporal coupling the static graph
misses.
- New src/cochange.js module with scan, compute, analyze, and query functions
- DB migration v5: co_changes + co_change_meta tables
- CLI: `codegraph co-change [file]` with --analyze, --since, --min-support, etc.
- diff-impact now shows historicallyCoupled files when co-change data exists
- MCP: new co_changes tool for AI agent access
- 19 new tests covering pure logic, DB integration, and real git repos
Impact: 13 functions changed, 9 affected1 parent 0ca7560 commit 61785f7
File tree
9 files changed
+936
-3
lines changed- src
- tests
- integration
- unit
9 files changed
+936
-3
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
562 | 562 | | |
563 | 563 | | |
564 | 564 | | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
565 | 627 | | |
566 | 628 | | |
567 | 629 | | |
| |||
0 commit comments