Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1411 commits
Select commit Hold shift + click to select a range
74c64aa
test(graph): require identical batch sequences when indexing a repo t…
vitali87 Jul 7, 2026
3f7a526
test(graph): cover Project-only graph exemption and compare label to …
vitali87 Jul 8, 2026
510a307
fix(graph): detect nested exports by AST ancestry and harden audit qu…
vitali87 Jul 8, 2026
2868b99
Merge pull request #648 from vitali87/feat/graph-integrity-audit
vitali87 Jul 8, 2026
50d072f
chore: bump version to 0.0.250
github-actions[bot] Jul 8, 2026
940910a
test(integration): pin Memgraph integration tests to one xdist worker…
vitali87 Jul 8, 2026
cd18f38
test(integration): guard pathless items and add pytest-xdist to dev g…
vitali87 Jul 8, 2026
f91bfac
Merge pull request #649 from vitali87/fix/serialize-integration-tests
vitali87 Jul 8, 2026
cf3ade0
chore: bump version to 0.0.251
github-actions[bot] Jul 8, 2026
1a43ea1
fix(js): reference new-expression constructor callbacks and nested ar…
vitali87 Jul 8, 2026
90f5602
refactor(js): guard arrow-binding fallback to nameless function ances…
vitali87 Jul 8, 2026
c87de84
Merge pull request #651 from vitali87/fix/js-new-expression-callback-…
vitali87 Jul 8, 2026
0eff3c2
chore: bump version to 0.0.252
github-actions[bot] Jul 8, 2026
59a4d7d
fix(js): nest class-method closures under the method and reference ca…
vitali87 Jul 8, 2026
d40603d
docs: document dead-code detection in README, PyPI page, and user guide
vitali87 Jul 8, 2026
cc332d0
Merge pull request #653 from vitali87/fix/class-method-anonymous-naming
vitali87 Jul 8, 2026
493d9df
chore: bump version to 0.0.253
github-actions[bot] Jul 8, 2026
64c6cc7
docs: note --classes also traverses INSTANTIATES/INHERITS in dead-cod…
vitali87 Jul 8, 2026
4c7b112
Merge pull request #654 from vitali87/docs/dead-code
vitali87 Jul 8, 2026
230b017
chore: bump version to 0.0.254
github-actions[bot] Jul 8, 2026
c1be20b
test(cpp): add failing containment tests for lambda, nested-type, and…
vitali87 Jul 8, 2026
460aecf
fix(cpp): eliminate all souffle orphans via deferred registry-verifie…
vitali87 Jul 8, 2026
b8168d2
fix(cpp): scope deferred lambda containment by enclosing namespace to…
vitali87 Jul 8, 2026
8a97a3d
Merge pull request #655 from vitali87/fix/cpp-orphan-containment
vitali87 Jul 8, 2026
3593272
chore: bump version to 0.0.255
github-actions[bot] Jul 8, 2026
01af55b
fix(go): resolve inline field-hop calls and build-variant package sib…
vitali87 Jul 8, 2026
90340b6
chore: bump version to 0.0.256
github-actions[bot] Jul 8, 2026
4fc07b3
test(cpp): add failing tests for include resolution, namespace canoni…
vitali87 Jul 8, 2026
aee491b
fix(cpp): resolve includes against real files and unify module, class…
vitali87 Jul 8, 2026
6761c61
fix(cpp): rank same-suffix include candidates by common path components
vitali87 Jul 8, 2026
daebde8
chore: refresh uv.lock after rebase onto main
vitali87 Jul 8, 2026
1bf491b
fix(java): link new-expression to constructor and class instantiation…
vitali87 Jul 8, 2026
36a9b27
chore: bump version to 0.0.257
github-actions[bot] Jul 8, 2026
d7a0227
Merge pull request #657 from vitali87/fix/cpp-dangling-calls
vitali87 Jul 8, 2026
1b92328
chore: bump version to 0.0.258
github-actions[bot] Jul 8, 2026
e1febdf
test(cpp): failing tests for preproc caller attribution and cross-fil…
vitali87 Jul 8, 2026
408be04
test(cpp): failing test for ctor OVERRIDES onto same-named nested class
vitali87 Jul 8, 2026
611f55e
test(cpp): failing test for template function duplicate node registra…
vitali87 Jul 8, 2026
c3ebd56
fix(cpp): record pass-2 function locations for call attribution, defe…
vitali87 Jul 8, 2026
ce765ca
test(cpp): adjust concept composition floor after template duplicate …
vitali87 Jul 8, 2026
09aad70
test(cpp): failing test for INHERITS lost on incremental reparse of d…
vitali87 Jul 8, 2026
a75c2c9
test(cpp): failing test for spaced template base name resolution
vitali87 Jul 8, 2026
252e292
fix(cpp): resolve deferred INHERITS across incremental rehydration an…
vitali87 Jul 8, 2026
f9d3f0f
test(cpp): failing test for self-INHERITS via unresolvable qualified …
vitali87 Jul 8, 2026
4498595
fix(cpp): never emit self-INHERITS from unresolvable qualified base f…
vitali87 Jul 8, 2026
606ed29
fix(java): root serialization hooks so reflectively-invoked methods a…
vitali87 Jul 8, 2026
52824a2
fix(java): resolve nested-class type names referenced by simple name …
vitali87 Jul 8, 2026
eadf154
chore: bump version to 0.0.259
github-actions[bot] Jul 8, 2026
0663141
Merge pull request #663 from vitali87/fix/cpp-dangling-callers-inherits
vitali87 Jul 8, 2026
a6c217b
chore: bump version to 0.0.260
github-actions[bot] Jul 8, 2026
d56492a
fix(java): anonymous-class override dispatch (OVERRIDES edges + lexic…
vitali87 Jul 8, 2026
90b8677
chore: bump version to 0.0.261
github-actions[bot] Jul 8, 2026
58ea0bd
fix(java): cast-expression receivers and anonymous-class own-method c…
vitali87 Jul 8, 2026
da9c730
chore: bump version to 0.0.262
github-actions[bot] Jul 8, 2026
1ca5dfd
test(audit): record dangling violations unfiltered in sweep mode with…
vitali87 Jul 8, 2026
1cda6af
test(js): builtin-resolved calls must not emit phantom builtin.* CALL…
vitali87 Jul 8, 2026
9ddccba
fix(js): skip CALLS emission to synthetic builtin.* qns, keep callbac…
vitali87 Jul 8, 2026
35912af
test: cross-file and external bases must resolve or emit no INHERITS/…
vitali87 Jul 8, 2026
d322766
fix(class-ingest): defer non-C++ INHERITS/IMPLEMENTS until all classe…
vitali87 Jul 8, 2026
67d70be
test: IMPORTS edges must verify internal targets against real modules…
vitali87 Jul 8, 2026
62b1dfc
fix(imports): verify internal IMPORTS targets against real modules, d…
vitali87 Jul 8, 2026
c50cbc2
test: external bases must emit INHERITS/IMPLEMENTS onto ExternalModul…
vitali87 Jul 8, 2026
3159beb
fix(inherits): target ExternalModule nodes for positively-external ba…
vitali87 Jul 8, 2026
b12af16
fix(calls): generalize record-and-reuse caller attribution and type-f…
vitali87 Jul 8, 2026
ed57510
test: destructured require and Java inner classes must not emit phant…
vitali87 Jul 8, 2026
df15e86
feat(audit): enforce zero dangling relationships in every fixture test
vitali87 Jul 8, 2026
f65ecce
test(js): bare package specifiers ending in a JS extension keep their…
vitali87 Jul 8, 2026
7a25b77
fix(review): strip JS extensions only on relative specifiers, uniform…
vitali87 Jul 8, 2026
c01c8ea
Merge pull request #665 from vitali87/fix/fixture-dangling-sweep
vitali87 Jul 8, 2026
f900116
chore: bump version to 0.0.263
github-actions[bot] Jul 8, 2026
410c7d4
test(java): implicit java.lang bases must emit INHERITS/IMPLEMENTS on…
vitali87 Jul 8, 2026
0a0e1a6
fix(java): externalize implicit java.lang bases onto ExternalModule n…
vitali87 Jul 8, 2026
dea4faf
Merge pull request #666 from vitali87/fix/java-lang-base-externalization
vitali87 Jul 8, 2026
16759a7
chore: bump version to 0.0.264
github-actions[bot] Jul 8, 2026
1910ab8
test: src-root bases must suffix-resolve and unresolvable written bas…
vitali87 Jul 8, 2026
5487805
fix(js-ts): reference functions consumed via casts, currying, member …
vitali87 Jul 8, 2026
fa621da
chore: bump version to 0.0.265
github-actions[bot] Jul 8, 2026
5801ed8
fix(inherits): suffix-resolve src-root bases and externalize unresolv…
vitali87 Jul 8, 2026
b08001d
test(evals): distribution-name imports must resolve through a unique …
vitali87 Jul 8, 2026
cdec3d4
test(evals): syn oracle must model the module-anchor fallback for imp…
vitali87 Jul 8, 2026
77c578d
fix(evals): syn oracle anchors external-impl methods to the module li…
vitali87 Jul 8, 2026
73c07a5
test(evals): java oracle must model the module-anchor fallback for an…
vitali87 Jul 8, 2026
d5ba632
fix(evals): java oracle anchors anonymous-class members to the module…
vitali87 Jul 8, 2026
55b56f1
test(js): nested prototype and object-literal functions must take the…
vitali87 Jul 8, 2026
125dcb9
test(evals): go oracle must emit containment for function-local type …
vitali87 Jul 8, 2026
65fa4ae
test(evals): ast oracle spans must include trailing body comments lik…
vitali87 Jul 8, 2026
83dd6f2
fix(evals,parsers): oracle src-root imports, trailing-comment spans, …
vitali87 Jul 8, 2026
11f3469
test: shadowed rust trait names and python submodule imports must res…
vitali87 Jul 8, 2026
41ecbf8
test: python src-root submodule imports must target the submodule not…
vitali87 Jul 8, 2026
7fa6e23
test: ambiguous import suffix matches must tie-break by the importing…
vitali87 Jul 8, 2026
e70a6ac
fix(imports,evals): python full-name and language tie-break verificat…
vitali87 Jul 8, 2026
64b7b65
Merge pull request #669 from vitali87/fix/oracle-remeasure-findings
vitali87 Jul 8, 2026
5509c40
chore: bump version to 0.0.266
github-actions[bot] Jul 8, 2026
bfb12cd
fix(py,ts): click and zustand dead-code residuals plus same-line and …
vitali87 Jul 8, 2026
703cf21
chore: bump version to 0.0.267
github-actions[bot] Jul 8, 2026
a526c98
fix(js): express dead-code residuals via named fn-expr references, me…
vitali87 Jul 9, 2026
e050ce2
chore: bump version to 0.0.268
github-actions[bot] Jul 9, 2026
4bb52da
feat(cpp-frontend): emit IMPORTS edges for within-repo includes (#671)
vitali87 Jul 9, 2026
d1819d7
chore: bump version to 0.0.269
github-actions[bot] Jul 9, 2026
92559c6
feat: register C/C++ and Rust macro definitions as Function nodes wit…
vitali87 Jul 9, 2026
17c3fdf
chore: bump version to 0.0.270
github-actions[bot] Jul 9, 2026
c0f7ea5
test(cpp): cover macro guard paths flagged by codecov and reorder def…
vitali87 Jul 9, 2026
a117195
refactor: extract cpp template location recording to reduce _register…
vitali87 Jul 9, 2026
414e593
chore: regenerate uv.lock for 0.0.270
vitali87 Jul 9, 2026
613c944
feat(go): promote Go to fully supported and unskip its integration tests
vitali87 Jul 9, 2026
146c27a
Merge pull request #673 from vitali87/fix/pr672-bot-reports
vitali87 Jul 9, 2026
d91459c
chore: bump version to 0.0.271
github-actions[bot] Jul 9, 2026
7b0c3d9
test(js): one source function must mint exactly one node across all J…
vitali87 Jul 9, 2026
a92a063
fix(js): unify duplicate function nodes via span claims and deferred …
vitali87 Jul 9, 2026
626247f
test(evals): js oracle must model constructor containment for prototy…
vitali87 Jul 9, 2026
a47e657
test(js): nested functions must parent to the claimed enclosing node …
vitali87 Jul 9, 2026
064fc67
test(js): eagerly registered nested function must parent to the later…
vitali87 Jul 9, 2026
889cadf
test(evals): js oracle constructor lookup must unwrap paren exports a…
vitali87 Jul 9, 2026
b42e363
fix(js,evals): nested parents reuse claimed spans and js oracle model…
vitali87 Jul 9, 2026
d4c09fa
test(js): same-line named functions must not mint twin nodes
vitali87 Jul 9, 2026
2c5cde2
fix(parsers): key function_locations by full span so same-line functi…
vitali87 Jul 9, 2026
9fabb88
test(java,rust): interface-typed calls must keep the static interface…
vitali87 Jul 9, 2026
6a2e0f2
fix(resolver): emit sole-impl interface dispatch as an additive edge …
vitali87 Jul 9, 2026
5848cba
Merge pull request #674 from vitali87/feat/promote-go-full
vitali87 Jul 9, 2026
51db3f8
chore: bump version to 0.0.272
github-actions[bot] Jul 9, 2026
3e8caf2
test(resolver): cover interface_sole_impl_targets guard branches flag…
vitali87 Jul 9, 2026
024d6dd
merge main: reconcile span-keyed function_locations with extracted cp…
vitali87 Jul 9, 2026
ba82dfc
Merge pull request #676 from vitali87/fix/interface-stub-static-call-…
vitali87 Jul 9, 2026
9f95aba
chore: bump version to 0.0.273
github-actions[bot] Jul 9, 2026
f3eebe8
Merge remote-tracking branch 'origin/main' into fix/js-duplicate-node…
vitali87 Jul 9, 2026
667adac
Merge pull request #675 from vitali87/fix/js-duplicate-node-unification
vitali87 Jul 9, 2026
c3698cc
chore: bump version to 0.0.274
github-actions[bot] Jul 9, 2026
94f21e2
test: expose missing OVERRIDES edges for interface and trait implemen…
vitali87 Jul 9, 2026
bca305c
fix: emit OVERRIDES edges for interface and trait implementations
vitali87 Jul 9, 2026
36b2741
test: cover the unregistered-class guard in the override walk
vitali87 Jul 9, 2026
80459e4
test(c,cpp): functions after a comment-bearing #define macro must be …
vitali87 Jul 9, 2026
b8b75ae
fix(deps): source tree-sitter-c and tree-sitter-cpp from forks fixing…
vitali87 Jul 9, 2026
b30c39c
refactor: sort implementer sets and chain parent iteration in overrid…
vitali87 Jul 9, 2026
8f6a98f
Merge pull request #678 from vitali87/fix/comment-in-define-grammar-f…
vitali87 Jul 9, 2026
ce70b47
chore: bump version to 0.0.275
github-actions[bot] Jul 9, 2026
a95fb4c
Merge remote-tracking branch 'origin/main' into fix/implements-overri…
vitali87 Jul 9, 2026
15c4a28
Merge pull request #677 from vitali87/fix/implements-overrides-edges
vitali87 Jul 9, 2026
a13b85f
chore: bump version to 0.0.276
github-actions[bot] Jul 9, 2026
2b6a3d2
test(rust): expose trait-object receivers binding to arbitrary impl v…
vitali87 Jul 9, 2026
9007a45
fix(rust): type dyn and impl Trait receivers to their trait so calls …
vitali87 Jul 9, 2026
8c60f62
fix(rust): treat one-element tuple_type as grouping only without a tr…
vitali87 Jul 9, 2026
0806b53
refactor: split constants.py into constants/ submodule (#501)
ChetanyaRathi Jul 7, 2026
63cb798
refactor(constants): reorganize split into themed per language and pe…
vitali87 Jul 9, 2026
69f16ca
fix(constants): sort missing NodeLabel keys in the import time valida…
vitali87 Jul 9, 2026
74441a1
refactor(rust): extract generic-type branch to cut _rust_bare_type_na…
vitali87 Jul 9, 2026
67ccaf7
Merge pull request #680 from vitali87/refactor/split-constants-501
vitali87 Jul 9, 2026
ffa21ce
chore: bump version to 0.0.277
github-actions[bot] Jul 9, 2026
710f44e
Merge origin/main: relocate rust trait-object type constants into con…
vitali87 Jul 9, 2026
8245f73
Merge pull request #679 from vitali87/fix/rust-trait-object-receiver-…
vitali87 Jul 9, 2026
3779eae
chore: bump version to 0.0.278
github-actions[bot] Jul 9, 2026
edcc8e1
test(rust): free-function factory results must type to their return t…
vitali87 Jul 9, 2026
78a70b8
fix(rust): type free-function factory results from recorded return types
vitali87 Jul 9, 2026
0bc7770
refactor(rust): extract chain-base typing to reduce cognitive complexity
vitali87 Jul 9, 2026
01d8b20
Merge pull request #681 from vitali87/fix/rust-free-fn-return-types
vitali87 Jul 9, 2026
a084f1b
chore: bump version to 0.0.279
github-actions[bot] Jul 9, 2026
dfd2278
test(cpp): hybrid frontend must layer macros and includes onto tree-s…
vitali87 Jul 9, 2026
592d001
feat(cpp): add hybrid frontend layering libclang macros and includes …
vitali87 Jul 9, 2026
805d014
test(cpp): nested macro expansion must emit macro-to-macro CALLS
vitali87 Jul 9, 2026
f20ecc6
feat(cpp): emit macro-to-macro CALLS from definition-body references
vitali87 Jul 9, 2026
b794860
docs(cpp): document hybrid frontend mode and macro-to-macro CALLS
vitali87 Jul 9, 2026
5f45671
test(cpp): incremental hybrid run must not re-attribute unchanged fil…
vitali87 Jul 9, 2026
8359ca9
fix(cpp): skip hybrid macro-call resolution for files an incremental …
vitali87 Jul 9, 2026
6659343
test(cpp): cover ignored-dir macro-use drop and remove unreachable se…
vitali87 Jul 9, 2026
b2fa6b1
test(cpp): edited header's macro nodes must survive an incremental hy…
vitali87 Jul 9, 2026
08c45a8
fix(cpp): run hybrid frontend after Pass 2 so changed-file deletes ca…
vitali87 Jul 9, 2026
715faaa
test(cpp): macro parameter shadowing a macro name must not emit a CAL…
vitali87 Jul 9, 2026
3aebae1
fix(cpp): exclude function-like macro parameters from macro-body CALL…
vitali87 Jul 9, 2026
e03cccb
Merge pull request #682 from vitali87/feat/cpp-hybrid-frontend
vitali87 Jul 9, 2026
5bdf956
chore: bump version to 0.0.280
github-actions[bot] Jul 9, 2026
9476188
test(deadcode): client-side collector must replace per-root BFS query
vitali87 Jul 9, 2026
8c744ac
fix(deadcode): compute reachability client-side to kill per-root BFS …
vitali87 Jul 9, 2026
ac09168
test(deadcode): cover null-decorators and non-candidate module-edge g…
vitali87 Jul 10, 2026
fb53411
perf(deadcode): scan only newly-live nodes per override expansion round
vitali87 Jul 10, 2026
31285a2
Merge pull request #683 from vitali87/fix/dead-code-client-side-reach…
vitali87 Jul 10, 2026
d1499d8
chore: bump version to 0.0.281
github-actions[bot] Jul 10, 2026
1e5aaf7
test(parsers): returned closure must link both duplicate-QN twins
vitali87 Jul 10, 2026
e63a539
fix(parsers): record every duplicate-QN twin for returned closures
vitali87 Jul 10, 2026
e497980
Merge pull request #684 from vitali87/fix/dup-qn-returned-closure-both
vitali87 Jul 10, 2026
0c46487
chore: bump version to 0.0.282
github-actions[bot] Jul 10, 2026
f067771
test(parsers): argument to a call-expression callee must be referenced
vitali87 Jul 10, 2026
1532c25
fix(parsers): reference first-party functions passed to unnamed callees
vitali87 Jul 10, 2026
4b0d7fd
Merge pull request #685 from vitali87/fix/call-of-call-arg-references
vitali87 Jul 10, 2026
1a1cd4a
chore: bump version to 0.0.283
github-actions[bot] Jul 10, 2026
c7c09c1
test(parsers): ternary-assigned and returned self-method values must …
vitali87 Jul 10, 2026
257fe73
fix(parsers): reference ternary-assigned and returned method values i…
vitali87 Jul 10, 2026
4c9623f
fix(parsers): exclude ternary condition from assignment value references
vitali87 Jul 10, 2026
17af4af
Merge pull request #686 from vitali87/fix/self-method-value-references
vitali87 Jul 10, 2026
03eb758
chore: bump version to 0.0.284
github-actions[bot] Jul 10, 2026
8dd4b7b
test(parsers): prototype-method this-call must resolve to sibling method
vitali87 Jul 10, 2026
e129de7
fix(parsers): resolve this-calls in prototype methods to sibling methods
vitali87 Jul 10, 2026
f57b0a4
fix(parsers): guard prototype-sibling this resolution against dotless…
vitali87 Jul 10, 2026
3e66342
Merge pull request #687 from vitali87/fix/js-prototype-this-dispatch
vitali87 Jul 10, 2026
5944ec3
chore: bump version to 0.0.285
github-actions[bot] Jul 10, 2026
2bc3cc2
test(parsers): package-attribute base must resolve through star re-ex…
vitali87 Jul 10, 2026
53ece76
fix(parsers): resolve package-attribute bases through star re-exports
vitali87 Jul 10, 2026
88578d0
style(tests): format package re-export inheritance test
vitali87 Jul 10, 2026
ee3cd89
fix(parsers): restrict package re-export inheritance targets to type …
vitali87 Jul 10, 2026
118c629
fix(parsers): require package export before matching re-export inheri…
vitali87 Jul 10, 2026
4c86926
Merge pull request #688 from vitali87/fix/package-reexport-inherits
vitali87 Jul 10, 2026
5e51a4d
chore: bump version to 0.0.286
github-actions[bot] Jul 10, 2026
a6d920b
test(cli): no-embeddings flag, skip setting, and device override must…
vitali87 Jul 10, 2026
c34a693
feat(cli): add no-embeddings flag, skip setting, and embedding device…
vitali87 Jul 10, 2026
3d727e8
test(embedder): cover mps device override fallback when metal is unav…
vitali87 Jul 10, 2026
007be2d
Merge pull request #691 from vitali87/feat/no-embeddings-flag
vitali87 Jul 10, 2026
c8206d6
chore: bump version to 0.0.287
github-actions[bot] Jul 10, 2026
2177cb3
test(embedder): mps runs must synchronize and release Metal buffers a…
vitali87 Jul 10, 2026
1590650
fix(embedder): drain mps command buffers after each embedding batch
vitali87 Jul 10, 2026
d6382ac
test(embedder): metal cache drop must be periodic, not per batch
vitali87 Jul 10, 2026
6a3a535
perf(embedder): drop metal allocator cache every 64 batches instead o…
vitali87 Jul 10, 2026
b6b2e86
Merge pull request #692 from vitali87/fix/mps-embedding-sync
vitali87 Jul 10, 2026
a2b37bc
chore: bump version to 0.0.288
github-actions[bot] Jul 10, 2026
166c29a
test(deadcode): methods of classes built by live factory functions mu…
vitali87 Jul 10, 2026
38ab882
fix(deadcode): treat methods of factory-built classes as dispatch roots
vitali87 Jul 10, 2026
bbe5834
refactor(tests): merge duplicate _method helper in dead-code eval tests
vitali87 Jul 10, 2026
5853f86
test(deadcode): factory revived by override expansion must still root…
vitali87 Jul 10, 2026
32ceac8
fix(deadcode): iterate factory-class and override expansions to a fix…
vitali87 Jul 10, 2026
87289c3
Merge pull request #693 from vitali87/fix/factory-class-method-roots
vitali87 Jul 10, 2026
654e3f0
chore: bump version to 0.0.289
github-actions[bot] Jul 10, 2026
baa184e
test(parsers): top-level symbols of browser scripts must be reachabil…
vitali87 Jul 10, 2026
4e9d2bd
fix(parsers): mark top-level browser-script symbols as page-global ex…
vitali87 Jul 10, 2026
634097a
test(parsers): prototype methods in browser scripts must be reachabil…
vitali87 Jul 10, 2026
829429f
fix(parsers): compute page-global export flag for assignment-style js…
vitali87 Jul 10, 2026
1808b82
test(parsers): bare top-level blocks in scripts are not scope boundaries
vitali87 Jul 10, 2026
72f6340
fix(parsers): stop script-global walk only at function scopes, not ba…
vitali87 Jul 11, 2026
db6dfce
test(parsers): script module scan must be memoized per file root
vitali87 Jul 11, 2026
a55c0fe
perf(parsers): memoize the per-file script module scan on the tree root
vitali87 Jul 11, 2026
c628911
Merge pull request #694 from vitali87/fix/js-script-globals
vitali87 Jul 11, 2026
cb4f9ad
chore: bump version to 0.0.290
github-actions[bot] Jul 11, 2026
6835fc8
test(parsers): sibling-mixin shadow methods must get OVERRIDES edges …
vitali87 Jul 11, 2026
4f15b32
fix(parsers): link sibling-mixin shadow methods with OVERRIDES edges
vitali87 Jul 11, 2026
3dfdf34
test(parsers): diamond common ancestor must not shadow the sibling br…
vitali87 Jul 11, 2026
1f661f6
fix(parsers): linearize shadow ancestry in reverse post-order to matc…
vitali87 Jul 11, 2026
4a0234c
docs(parsers): align shadow-pass comment with reverse post-order line…
vitali87 Jul 11, 2026
3c7b746
test(parsers): pin single shadow edge across classes combining the sa…
vitali87 Jul 11, 2026
06ea97b
Merge pull request #695 from vitali87/fix/mro-shadow-overrides
vitali87 Jul 11, 2026
d010173
chore: bump version to 0.0.291
github-actions[bot] Jul 11, 2026
7cd20a4
test(parsers): container-held and class-body function values must be …
vitali87 Jul 11, 2026
fb02615
fix(parsers): reference function values inside containers, class bodi…
vitali87 Jul 11, 2026
f49fc7a
test(parsers): dict-value ternaries must reference both dispatch bran…
vitali87 Jul 11, 2026
fc64b54
fix(parsers): expand parenthesized and ternary dispatch-table values
vitali87 Jul 11, 2026
caedbe6
style(parsers): fold value-wrapper node types into one frozenset
vitali87 Jul 11, 2026
d868edc
refactor(parsers): deterministic expansion order and field-based bool…
vitali87 Jul 11, 2026
a9bd98d
Merge pull request #696 from vitali87/fix/container-value-references
vitali87 Jul 11, 2026
6ce08a0
chore: bump version to 0.0.292
github-actions[bot] Jul 11, 2026
905aa66
test(deadcode): enum protocol hooks must be reachability roots
vitali87 Jul 11, 2026
da3e4dd
fix(deadcode): treat python enum protocol hooks as reachability roots
vitali87 Jul 11, 2026
c2c7650
test(deadcode): user-defined _order_ methods are not enum hooks
vitali87 Jul 11, 2026
ea47ff5
fix(deadcode): drop enum class attributes from the protocol hook set
vitali87 Jul 11, 2026
a0f8f13
Merge pull request #697 from vitali87/fix/enum-sunder-roots
vitali87 Jul 11, 2026
58b830e
chore: bump version to 0.0.293
github-actions[bot] Jul 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
.git
__pycache__
*.py[oc]
.venv
.env
.envrc
.ruff_cache
.mypy_cache
.pytest_cache
.claude
.coverage
.DS_Store
build
dist
wheels
*.egg-info
docs
site
.github
.qdrant_code_embeddings
CLAUDE.md
AGENTS.md
PROJECT.md
22 changes: 22 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,17 @@
# CYPHER_MODEL=gemini-2.5-flash
# CYPHER_API_KEY=your-google-api-key

# Example 6: LiteLLM with custom provider
# ORCHESTRATOR_PROVIDER=litellm_proxy
# ORCHESTRATOR_MODEL=gpt-oss:120b
# ORCHESTRATOR_ENDPOINT=http://litellm:4000/v1
# ORCHESTRATOR_API_KEY=sk-your-litellm-key

# CYPHER_PROVIDER=litellm_proxy
# CYPHER_MODEL=openrouter/gpt-oss:120b
# CYPHER_ENDPOINT=http://litellm:4000/v1
# CYPHER_API_KEY=sk-your-litellm-key

# Thinking budget for reasoning models (optional)
# ORCHESTRATOR_THINKING_BUDGET=10000
# CYPHER_THINKING_BUDGET=5000
Expand All @@ -68,9 +79,20 @@
MEMGRAPH_HOST=localhost
MEMGRAPH_PORT=7687
MEMGRAPH_HTTP_PORT=7444
# Memgraph authentication credentials
# Leave MEMGRAPH_USERNAME empty (or omit it) if your Memgraph instance doesn't require authentication
# If authentication is enabled, provide both username and password
# Common defaults: username=neo4j, password=password (or your custom credentials)
MEMGRAPH_USERNAME=
MEMGRAPH_PASSWORD=
LAB_PORT=3000
MEMGRAPH_BATCH_SIZE=1000

# Qdrant settings
# Leave QDRANT_URL unset to use local file mode (only suitable below ~20k embeddings)
# For larger codebases, run the bundled docker-compose service and point at it:
# QDRANT_URL=http://localhost:6333

# Repository settings
TARGET_REPO_PATH=.

Expand Down
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @vitali87
128 changes: 128 additions & 0 deletions .github/CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
eheva87@gmail.com.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
3 changes: 1 addition & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@
github: vitali87
buy_me_a_coffee: vitali87

# Uncomment and add username when you set up Patreon:
# patreon: YOUR_USERNAME
patreon: vitali87
7 changes: 2 additions & 5 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
blank_issues_enabled: false
blank_issues_enabled: true
contact_links:
- name: 💬 Discussions
url: https://github.com/vitali87/code-graph-rag/discussions
about: Ask questions and discuss ideas with the community
- name: 📚 Documentation
url: https://github.com/vitali87/code-graph-rag#readme
url: https://github.com/vitali87/code-graph-rag
about: Read the documentation and setup guides
- name: 🎓 MCP Server Setup
url: https://github.com/vitali87/code-graph-rag/blob/main/docs/claude-code-setup.md
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/question.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ body:
- type: markdown
attributes:
value: |
Thank you for your question! For general discussions or open-ended questions, consider using [GitHub Discussions](https://github.com/vitali87/code-graph-rag/discussions).
Thank you for your question! Please keep questions concrete; for broader topics, prefer opening an [issue](https://github.com/vitali87/code-graph-rag/issues) with the `question` label.

- type: textarea
id: question
Expand Down
46 changes: 46 additions & 0 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Security Policy

## Supported Versions

| Version | Supported |
| ------- | ------------------ |
| 0.0.x | :white_check_mark: |

As the project is in early development (pre 1.0), only the latest release receives security updates. Please ensure you are running the most recent version before reporting a vulnerability.

## Reporting a Vulnerability

**Please do not report security vulnerabilities through public issues, pull requests, or any other public channels.**

Instead, please use GitHub's private vulnerability reporting: go to the [Security tab](https://github.com/vitali87/code-graph-rag/security/advisories/new) and click **Report a vulnerability**. This keeps the details confidential between you and the maintainers until a fix is available.

When reporting, please include:

- A description of the vulnerability and its potential impact
- Steps to reproduce or a proof of concept
- The version(s) affected
- Any suggested fix, if available

## What to Expect

- **Acknowledgement** within 72 hours of your report
- **Status update** within 7 days with an initial assessment
- **Resolution target** of 30 days for confirmed vulnerabilities, though critical issues will be prioritized for faster turnaround

If the vulnerability is accepted, we will work on a fix, coordinate disclosure with you, and credit you in the release notes (unless you prefer to remain anonymous).

If the vulnerability is declined, we will provide a clear explanation of why.

## Scope

This policy applies to the `code-graph-rag` Python package and its official repository. Third party dependencies are outside the direct scope of this policy, though we use Dependabot to monitor and update them.

## Security Measures in This Project

- **Dependency scanning**: Dependabot is enabled for automated dependency updates
- **Secret scanning**: GitHub secret scanning is active on this repository
- **Branch protection**: The `main` branch requires pull request reviews before merging

## Preferred Languages

We accept security reports in English.
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
38 changes: 38 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Summary

<!-- What does this PR do? Keep it brief: 1-3 bullet points. -->

-

## Type of Change

<!-- Check all that apply. -->

- [ ] Bug fix
- [ ] New feature
- [ ] Performance improvement
- [ ] Refactoring (no functional changes)
- [ ] Documentation
- [ ] CI/CD or tooling
- [ ] Dependencies

## Related Issues

<!-- Link related issues: "Fixes #123", "Closes #456", or "Related to #789" -->

## Test Plan

<!-- How was this tested? Check all that apply. -->

- [ ] Unit tests pass (`make test-parallel` or `uv run pytest -n auto -m "not integration"`)
- [ ] New tests added
- [ ] Integration tests pass (`make test-integration`, requires Docker)
- [ ] Manual testing (describe below)

## Checklist

- [ ] PR title follows [Conventional Commits](https://www.conventionalcommits.org/) format
- [ ] All pre-commit checks pass (`make pre-commit`)
- [ ] No hardcoded strings in non-config/non-constants files
- [ ] No `# type: ignore`, `cast()`, `Any`, or `object` type hints
- [ ] No new comments or docstrings (code should be self-documenting)
Loading