fix: add bare function fallback to CALL_PREFIXES, fix IMPORT_PATTERNS order, update pipeline diagram

- CALL_PREFIXES: add bare "function" as last fallback — Kotlin uses
  @function for both calls and definitions (no function.call capture)
- _find_arglist_node: remove template_string from arglist detection
- IMPORT_PATTERNS: require_relative before require (Ruby fix)
- pipeline-overview.txt: remove .gitignore, add min_coverage=0.8 + core/outlier
- DEFAULT_COVERAGE=0.8, frequency_filter at fixed 0.2
This commit is contained in:
tobjend 2026-07-04 01:28:35 +02:00
parent eb2173442b
commit 4a506cd39b
3 changed files with 9 additions and 10 deletions

View file

@ -51,8 +51,8 @@ def _match_glob(filepath, pattern):
IMPORT_PATTERNS = [
re.compile(r"^\s*import\s+"),
re.compile(r"^\s*from\s+"),
re.compile(r"^\s*require\s+"),
re.compile(r"^\s*require_relative\s+"),
re.compile(r"^\s*require\s+"),
re.compile(r"^\s*#\s*include\s+"),
re.compile(r"^\s*use\s+"),
re.compile(r"^\s*include\s+"),

View file

@ -51,7 +51,7 @@ BEHAVIORAL_PREFIXES = (
"module",
)
CALL_PREFIXES = ("function", "reference.call", "reference.class")
CALL_PREFIXES = ("function.call", "function.method.call", "reference.call", "reference.class", "constructor", "function")
def _extract_call_tokens(seq):
"""Extract ordered call-like tokens from a method sequence.
@ -107,8 +107,6 @@ def _find_arglist_node(parent):
for child in parent.children:
if child.type in ("argument_list", "arguments"):
return child
if child.type == "template_string":
return child
return None

View file

@ -4,7 +4,7 @@
│ (.py .js .ts .kt .rb .go │
│ .rs .java .c .cpp .h) │
└──────────┬────────────────────┘
│ scan_directory() + .gitignore
│ scan_directory()
┌───────────────────────────────┐
│ Files grouped by extension │
@ -68,11 +68,12 @@
│ │ └───────────┬────────────┘ │
│ ▼ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ infer_ensemble(symbol_seqs) │ │
│ │ infer_ensemble(symbol_seqs, min_coverage=0.8) │ │
│ │ ├── CRX (fast, unordered) │ │
│ │ ├── iDRegEx (ordered regex) │ │
│ │ └── kOREInference (noisy, probabilistic) │ │
│ │ └── pick best by MDL score │ │
│ │ └── core/outlier split via _find_core(0.8) │ │
│ └──────────────────────┬───────────────────────────┘ │
│ ▼ │
│ (label, result, count, meta) │