Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
3892e7d
chore: gitignore napi-generated artifacts in crates/codegraph-core
carlos-alm Jun 13, 2026
ef8ea4f
chore(tests): remove unused biome suppression in visitor.test.ts
carlos-alm Jun 13, 2026
a372b82
fix(titan-run): sync --start-from enum and phase-timestamp list with …
carlos-alm Jun 13, 2026
9a52c7c
fix(hooks): track Bash file modifications via before/after git status…
carlos-alm Jun 13, 2026
85a26df
chore(native): remove dead code (unused var, method, variant, fields)
carlos-alm Jun 13, 2026
184d221
refactor(native): extract emit_pts_alias_edges params into PtsAliasCt…
carlos-alm Jun 13, 2026
909e1df
fix(wasm): sort call targets by confidence before emit to match nativ…
carlos-alm Jun 13, 2026
66fc899
fix(bench): add 2 warmup runs and raise INCREMENTAL_RUNS to 5 for inc…
carlos-alm Jun 13, 2026
84e1a5f
ci(bench): add per-PR perf canary for extractor/graph/native changes
carlos-alm Jun 13, 2026
d07b358
fix(perf): plumb symbolsOnly through parseFilesWasmInline to skip ana…
carlos-alm Jun 13, 2026
3db5d8c
fix(perf): scope runPostNativeCha to changed files on incremental builds
carlos-alm Jun 13, 2026
8b3aa3d
fix(native): add post-pass phase timings to result.phases
carlos-alm Jun 13, 2026
fd4ffd1
fix(perf): correct INLINE_BACKFILL_THRESHOLD docstring; raise thresho…
carlos-alm Jun 13, 2026
498ee21
fix(perf): guard post-native passes against unnecessary work on 1-fil…
carlos-alm Jun 13, 2026
61a9839
chore(types): remove dead protoMethodsMs field and stale comment
carlos-alm Jun 13, 2026
5f5d4d2
fix: class-scope field annotation typeMap keys to prevent cross-class…
carlos-alm Jun 13, 2026
29dd101
fix(bench): update elixir/julia/objc expected-edges to module-qualifi…
carlos-alm Jun 13, 2026
bd5292e
Merge remote-tracking branch 'origin/main' into fix/field-typemap-cla…
carlos-alm Jun 13, 2026
cff36c6
fix(perf): update stale parseFilesWasmForBackfill docstring to refere…
carlos-alm Jun 13, 2026
7bd9cbc
docs(bench): mention constructor FN alongside receiver-typed FNs in o…
carlos-alm Jun 13, 2026
06a911e
fix(resolver): check class-scoped typeMap key before bare fallback fo…
carlos-alm Jun 13, 2026
84f6c7c
test(1458): add Rust multi-class field collision unit test and end-to…
carlos-alm Jun 13, 2026
aa25c44
style(tests): expand toEqual object literals to pass Biome format check
carlos-alm Jun 13, 2026
76a4380
fix(test): use TypeScript parser for field annotation collision test
carlos-alm Jun 13, 2026
263c39b
Merge remote-tracking branch 'origin/fix/field-typemap-class-scope-14…
carlos-alm Jun 13, 2026
bf06cca
fix: resolve merge conflicts with main
carlos-alm Jun 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/domain/graph/builder/stages/native-orchestrator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,14 @@ interface PostPassTimings {
techniqueBackfillMs: number;
}

interface PostPassTimings {
gapDetectMs: number;
chaMs: number;
thisDispatchMs: number;
reclassifyMs: number;
techniqueBackfillMs: number;
}

/** Format timing result from native orchestrator phases + JS post-processing. */
function formatNativeTimingResult(
p: Record<string, number>,
Expand Down
92 changes: 46 additions & 46 deletions tests/benchmarks/resolution/fixtures/elixir/expected-edges.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,148 +4,148 @@
"description": "Hand-annotated call edges for Elixir resolution benchmark",
"edges": [
{
"source": { "name": "validate_user", "file": "validators.ex" },
"target": { "name": "valid_name?", "file": "validators.ex" },
"source": { "name": "Validators.validate_user", "file": "validators.ex" },
"target": { "name": "Validators.valid_name?", "file": "validators.ex" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-module helper call within Validators"
"notes": "Same-module helper call within Validators — extractor emits module-qualified names"
},
{
"source": { "name": "validate_user", "file": "validators.ex" },
"target": { "name": "valid_email?", "file": "validators.ex" },
"source": { "name": "Validators.validate_user", "file": "validators.ex" },
"target": { "name": "Validators.valid_email?", "file": "validators.ex" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-module helper call within Validators"
"notes": "Same-module helper call within Validators — extractor emits module-qualified names"
},
{
"source": { "name": "create_user", "file": "service.ex" },
"target": { "name": "validate_user", "file": "validators.ex" },
"source": { "name": "UserService.create_user", "file": "service.ex" },
"target": { "name": "Validators.validate_user", "file": "validators.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Validators.validate_user() — cross-module qualified call"
},
{
"source": { "name": "create_user", "file": "service.ex" },
"target": { "name": "save", "file": "repository.ex" },
"source": { "name": "UserService.create_user", "file": "service.ex" },
"target": { "name": "UserRepository.save", "file": "repository.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserRepository.save() — cross-module qualified call"
},
{
"source": { "name": "get_user", "file": "service.ex" },
"target": { "name": "find_by_id", "file": "repository.ex" },
"source": { "name": "UserService.get_user", "file": "service.ex" },
"target": { "name": "UserRepository.find_by_id", "file": "repository.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserRepository.find_by_id() — cross-module qualified call"
},
{
"source": { "name": "remove_user", "file": "service.ex" },
"target": { "name": "delete", "file": "repository.ex" },
"source": { "name": "UserService.remove_user", "file": "service.ex" },
"target": { "name": "UserRepository.delete", "file": "repository.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserRepository.delete() — cross-module qualified call"
},
{
"source": { "name": "list_users", "file": "service.ex" },
"target": { "name": "list_all", "file": "repository.ex" },
"source": { "name": "UserService.list_users", "file": "service.ex" },
"target": { "name": "UserRepository.list_all", "file": "repository.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserRepository.list_all() — cross-module qualified call"
},
{
"source": { "name": "display_user", "file": "service.ex" },
"target": { "name": "get_user", "file": "service.ex" },
"source": { "name": "UserService.display_user", "file": "service.ex" },
"target": { "name": "UserService.get_user", "file": "service.ex" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-module call to get_user within UserService"
"notes": "Same-module call to get_user within UserService — extractor emits module-qualified names"
},
{
"source": { "name": "display_user", "file": "service.ex" },
"target": { "name": "format_user", "file": "service.ex" },
"source": { "name": "UserService.display_user", "file": "service.ex" },
"target": { "name": "UserService.format_user", "file": "service.ex" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-module call to private helper format_user"
"notes": "Same-module call to private helper format_user — extractor emits module-qualified names"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "new_store", "file": "repository.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserRepository.new_store", "file": "repository.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserRepository.new_store() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "create_user", "file": "service.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserService.create_user", "file": "service.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserService.create_user() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "get_user", "file": "service.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserService.get_user", "file": "service.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserService.get_user() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "list_users", "file": "service.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserService.list_users", "file": "service.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserService.list_users() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "display_user", "file": "service.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserService.display_user", "file": "service.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserService.display_user() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "remove_user", "file": "service.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "UserService.remove_user", "file": "service.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "UserService.remove_user() — cross-module qualified call"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "fetch", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.fetch", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.fetch() — exercises default-value parameter extraction"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "first_of", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.first_of", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.first_of() — exercises tuple-pattern parameter extraction"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "name_of", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.name_of", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.name_of() — exercises map-pattern parameter extraction"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "id_of", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.id_of", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.id_of() — exercises struct-pattern parameter extraction"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "head_of", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.head_of", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.head_of() — exercises list-cons pattern parameter extraction"
},
{
"source": { "name": "run", "file": "main.ex" },
"target": { "name": "all_of", "file": "patterns.ex" },
"source": { "name": "Main.run", "file": "main.ex" },
"target": { "name": "Patterns.all_of", "file": "patterns.ex" },
"kind": "calls",
"mode": "module-function",
"notes": "Patterns.all_of() — exercises list pattern parameter extraction"
Expand Down
90 changes: 45 additions & 45 deletions tests/benchmarks/resolution/fixtures/julia/expected-edges.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,109 +4,109 @@
"description": "Hand-annotated call edges for Julia resolution benchmark",
"edges": [
{
"source": { "name": "main", "file": "main.jl" },
"target": { "name": "new_repo", "file": "repository.jl" },
"source": { "name": "App.main", "file": "main.jl" },
"target": { "name": "Repository.new_repo", "file": "repository.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Repository.new_repo() — qualified call to Repository module"
"notes": "Repository.new_repo() — qualified call to Repository module; extractor emits module-qualified names"
},
{
"source": { "name": "main", "file": "main.jl" },
"target": { "name": "create_user", "file": "service.jl" },
"source": { "name": "App.main", "file": "main.jl" },
"target": { "name": "Service.create_user", "file": "service.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Service.create_user() — qualified call to Service module"
"notes": "Service.create_user() — qualified call to Service module; extractor emits module-qualified names"
},
{
"source": { "name": "main", "file": "main.jl" },
"target": { "name": "get_user", "file": "service.jl" },
"source": { "name": "App.main", "file": "main.jl" },
"target": { "name": "Service.get_user", "file": "service.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Service.get_user() — qualified call to Service module"
"notes": "Service.get_user() — qualified call to Service module; extractor emits module-qualified names"
},
{
"source": { "name": "main", "file": "main.jl" },
"target": { "name": "remove_user", "file": "service.jl" },
"source": { "name": "App.main", "file": "main.jl" },
"target": { "name": "Service.remove_user", "file": "service.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Service.remove_user() — qualified call to Service module"
"notes": "Service.remove_user() — qualified call to Service module; extractor emits module-qualified names"
},
{
"source": { "name": "main", "file": "main.jl" },
"target": { "name": "summary", "file": "service.jl" },
"source": { "name": "App.main", "file": "main.jl" },
"target": { "name": "Service.summary", "file": "service.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Service.summary() — qualified call to Service module"
"notes": "Service.summary() — qualified call to Service module; extractor emits module-qualified names"
},
{
"source": { "name": "create_user", "file": "service.jl" },
"target": { "name": "validate_name", "file": "validators.jl" },
"source": { "name": "Service.create_user", "file": "service.jl" },
"target": { "name": "Validators.validate_name", "file": "validators.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Validators.validate_name() — qualified call to Validators module"
"notes": "Validators.validate_name() — qualified call to Validators module; extractor emits module-qualified names"
},
{
"source": { "name": "create_user", "file": "service.jl" },
"target": { "name": "validate_email", "file": "validators.jl" },
"source": { "name": "Service.create_user", "file": "service.jl" },
"target": { "name": "Validators.validate_email", "file": "validators.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Validators.validate_email() — qualified call to Validators module"
"notes": "Validators.validate_email() — qualified call to Validators module; extractor emits module-qualified names"
},
{
"source": { "name": "create_user", "file": "service.jl" },
"target": { "name": "save", "file": "repository.jl" },
"source": { "name": "Service.create_user", "file": "service.jl" },
"target": { "name": "Repository.save", "file": "repository.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Repository.save() — qualified call to Repository module"
"notes": "Repository.save() — qualified call to Repository module; extractor emits module-qualified names"
},
{
"source": { "name": "get_user", "file": "service.jl" },
"target": { "name": "find_by_id", "file": "repository.jl" },
"source": { "name": "Service.get_user", "file": "service.jl" },
"target": { "name": "Repository.find_by_id", "file": "repository.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Repository.find_by_id() — qualified call to Repository module"
"notes": "Repository.find_by_id() — qualified call to Repository module; extractor emits module-qualified names"
},
{
"source": { "name": "remove_user", "file": "service.jl" },
"target": { "name": "delete", "file": "repository.jl" },
"source": { "name": "Service.remove_user", "file": "service.jl" },
"target": { "name": "Repository.delete", "file": "repository.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Repository.delete() — qualified call to Repository module"
"notes": "Repository.delete() — qualified call to Repository module; extractor emits module-qualified names"
},
{
"source": { "name": "summary", "file": "service.jl" },
"target": { "name": "count", "file": "repository.jl" },
"source": { "name": "Service.summary", "file": "service.jl" },
"target": { "name": "Repository.count", "file": "repository.jl" },
"kind": "calls",
"mode": "module-function",
"notes": "Repository.count() — qualified call to Repository module"
"notes": "Repository.count() — qualified call to Repository module; extractor emits module-qualified names"
},
{
"source": { "name": "summary", "file": "service.jl" },
"target": { "name": "format_summary", "file": "service.jl" },
"source": { "name": "Service.summary", "file": "service.jl" },
"target": { "name": "Service.format_summary", "file": "service.jl" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-file call to private helper function"
"notes": "Same-file call to private helper function — extractor emits module-qualified names"
},
{
"source": { "name": "validate_name", "file": "validators.jl" },
"target": { "name": "check_length", "file": "validators.jl" },
"source": { "name": "Validators.validate_name", "file": "validators.jl" },
"target": { "name": "Validators.check_length", "file": "validators.jl" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-file call to private helper function"
"notes": "Same-file call to private helper function — extractor emits module-qualified names"
},
{
"source": { "name": "validate_email", "file": "validators.jl" },
"target": { "name": "contains_at", "file": "validators.jl" },
"source": { "name": "Validators.validate_email", "file": "validators.jl" },
"target": { "name": "Validators.contains_at", "file": "validators.jl" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-file call to private helper function"
"notes": "Same-file call to private helper function — extractor emits module-qualified names"
},
{
"source": { "name": "count", "file": "repository.jl" },
"target": { "name": "count_entries", "file": "repository.jl" },
"source": { "name": "Repository.count", "file": "repository.jl" },
"target": { "name": "Repository.count_entries", "file": "repository.jl" },
"kind": "calls",
"mode": "same-file",
"notes": "Same-file call to private helper function"
"notes": "Same-file call to private helper function — extractor emits module-qualified names"
}
]
}
Loading
Loading