Commit graph

69 commits

Author SHA1 Message Date
tobjend
ca7ccb36ff docs: add 8 architecture decision records
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ADR 0001: nvim-treesitter highlights.scm as capture source
ADR 0002: language-agnostic method extraction via child_by_field_name
ADR 0003: method-level n-gram clustering before inference
ADR 0004: frequency filter with min_coverage threshold
ADR 0005: import extraction per cluster
ADR 0006: argument pattern extraction via AST node classification
ADR 0007: JSON output for LLM prompt injection
ADR 0008: BEX ensemble for grammar inference
2026-07-03 22:01:35 +02:00
tobjend
c059d0b7a4 feat: file-level package mapping; add 7 new tests
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- _file_to_package: infer package from file path (kotlin/java/python/src)
- _top_packages: most common packages per cluster
- Packages included in meta dict and JSON output
- New tests: test_file_to_package, test_top_packages, test_extract_imports,
  test_extract_imports_empty, test_extract_imports_no_imports,
  test_extract_arg_info_python, test_summarize_arg_info
2026-07-03 21:59:26 +02:00
tobjend
b6c18c39f2 feat: per-call argument pattern extraction
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- _classify_arg_node: classify AST args as var/lit/call/lambda/kwarg/expr/other
- _find_arglist_node: language-agnostic arglist detection (named field →
  argument_list/call_suffix/template_string fallback)
- _iterate_arg_nodes: extract arg expressions from call_suffix (Kotlin lambdas),
  value_arguments (Kotlin parens), and standard argument lists
- extract_arg_info: per-file arg structure for all behavioral captures
- _summarize_arg_info: merge across files into min/max/common arg counts
- _build_arg_patterns: cluster-scoped aggregation
- Output shows top-4 calls per cluster with arg count + type patterns
- e.g. assertEquals: n=2 [lit,var], every: n=1 [lambda], verify: n=0-1 [lambda|var]
2026-07-03 21:57:15 +02:00
tobjend
2d4fc8eed5 feat: per-cluster import extraction + JSON output
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- _extract_imports scans source files for language-agnostic import patterns
- analyze_clusters tracks file paths through frequency_filter via identity
- Each cluster output includes its unique imports and file paths
- --json flag outputs structured JSON for LLM prompt injection
- Flat mode (--cluster false) also extracts imports
2026-07-03 21:52:02 +02:00
tobjend
73b94af959 feat: cluster methods by n-gram patterns before inference
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- _extract_call_tokens filters to call-like captures only
- cluster_methods groups sequences by shared 3-gram call patterns
- analyze_clusters runs per-cluster CRX/iDRegEx/kORE inference
- Lists 17 convention clusters for RAGSAK test code
- iDRegEx and kOREInference now produce ordered grammars per cluster
- (other) cluster captures diverse conventions as CRX vocabulary
- min-cluster-size (default 3) and ngram-size (default 3) CLI flags
2026-07-03 21:41:46 +02:00
tobjend
2620b6e49f feat: method-level sequence extraction via child_by_field_name('body')
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- _find_method_bodies uses tree-sitter's universal body field (9/10 grammars)
- Kotlin fallback: scan children for body-like types
- preprocess_by_method groups highlight captures by enclosing method body
- Returns per-method sequences for k-ORE ordering analysis
- analyze.py infer() now uses preprocess_by_method
- Document findings in ANALYSIS.md
- 97 tests pass
2026-07-03 21:34:25 +02:00
tobjend
0c7703f63b feat: universal tag-preprocessor orchestrator with frequency filter
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Rename bex/tag-preprocessor/ to bex/tag_preprocessor/ (valid Python package)
- Add analyze.py: scan_directory, frequency_filter, infer, analyze_directory
- Frequency filter removes symbols below min_coverage threshold (Phase 1.0 step 4)
- infer() wires preprocess → frequency_filter → ensemble (Phase 1.0 step 5)
- --dir CLI mode for running full pipeline on directories (Phase 1.0 step 6)
- 9 new tests (test_analyze.py), all 94 tests pass
2026-07-03 20:58:18 +02:00
tobjend
8bda174293 docs: document Kotlin and JS/TS special cases in analysis
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-03 20:54:03 +02:00
tobjend
70300ff917 chore: add Gemini session chat logs as reference
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-03 20:48:50 +02:00
tobjend
ee5ebc9eb4 feat: universal AST preprocessor with nvim-treesitter queries
- Replace old per-language query files with unified tag-preprocessor
- Universal preprocessor uses nvim-treesitter highlights.scm for 10 langs
- Resolves ; inherits: directives (ecma, jsx) for JS/TS
- ts-kotlin bundled query for Kotlin compatibility
- Strips unsupported #set! 3-arg predicates for jsx
- archive old community queries
2026-07-03 20:48:47 +02:00
tobjend
986eaa7f83 feat: add community tags findings audit and kotlin tags query 2026-07-03 18:40:53 +02:00
tobjend
8d06ac2d52 chore: add downloaded community queries for kotlin + typescript
Kotlin (fwcd/tree-sitter-kotlin) and TypeScript packages
don't bundle queries. These are downloaded from upstream repos.
2026-07-03 18:05:19 +02:00
tobjend
069c63f2c8 feat: inspect TreeSitter tag queries for Dervish universal AST extraction
- Fetch TAGS_QUERY and HIGHLIGHTS_QUERY from 8 official TreeSitter language packages
- Save all curated queries as .scm files
- Analysis confirms universal query approach is viable
- TreeSitter silently ignores non-existent node types per language
- Add full conversation references (gemini chat markdown files)
- Add comprehensive conversation summary with roadmap
2026-07-03 17:46:33 +02:00
28f5f897d5 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 18:17:16 +00:00
d74b36e563 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 18:14:48 +00:00
197a0a3c22 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 18:08:42 +00:00
136ae08fe3 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 18:06:38 +00:00
ea8e2f1db7 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 16:33:51 +00:00
16cbff61a8 Update README.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-02 16:33:02 +00:00
tobjend
b037098730 fix: regenerate chart with Comic Neue + path.sketch xkcd style
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 16:14:24 +02:00
d2d57bc431 Merge pull request 'feat: kOREInference — Algorithm 4 iDRegEx with MDL scoring + ensemble integration' (#1) from feature/kore-inference into main
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 14:08:18 +00:00
tobjend
90d8c69aa7 fix: broken y-axis bar chart for readability
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 16:05:49 +02:00
tobjend
2562519718 fix: grouped bar chart with Without Dervish vs With Dervish
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 16:04:55 +02:00
tobjend
ce4088e705 fix: chart bars use Dervish purple #853E91
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 16:03:20 +02:00
tobjend
d96e99d84f docs: xkcd-style chart
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 16:02:14 +02:00
tobjend
b34e39d4b9 feat: replace single-chart Helm with cross-project convention (15 charts, 6 publishers)
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 16:00:04 +02:00
tobjend
fbdb39bf7c docs: syntax highlighting tags in SHOWCASE.md
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:48:36 +02:00
tobjend
bc81bbdce1 docs: extra blank line above coffee button
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:42:14 +02:00
tobjend
bb193d000f docs: bump logo 180→216px
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:41:55 +02:00
tobjend
4969819dbb docs: center logo, move coffee button below nav links
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:41:35 +02:00
tobjend
a70024397f chore: ignore examples/
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:40:02 +02:00
tobjend
929a50c95d docs: add Buy Me a Coffee button
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:37:09 +02:00
tobjend
0be1a7fd79 docs: badges row, nav links, language tags on code blocks
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:24:00 +02:00
tobjend
5e0674bf77 docs: fix Go lint description (both optional), format outliers in SHOWCASE usage
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:21:55 +02:00
tobjend
0886e5f3bc docs: update README and SHOWCASE for kOREInference + core/outlier analysis
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:18:32 +02:00
tobjend
036a84cc76 docs: add min_coverage to MCP tool + README, include core in output
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:16:24 +02:00
tobjend
9045769d57 feat: core+outlier analysis via min_coverage parameter, 6 new tests
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 15:09:10 +02:00
tobjend
edd6d9d4dd feat: implement kOREInference (Algorithm 4) with MDL scoring, add to ensemble, 79 tests
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2026-07-01 14:50:09 +02:00
tobjend
dc559a4aee fix badge position; purge remaining German user-reference comments
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 13:28:55 +02:00
tobjend
6b60e0131f clean up agent-betraying comments; fix stale test names
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 13:26:03 +02:00
tobjend
dcfd8b054e remove pull:true (image cached now)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 13:23:29 +02:00
tobjend
79c6a0734c force pull of dervish-ci:latest
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-07-01 13:22:39 +02:00
tobjend
701c5649c7 use pre-built dervish-ci image with pytest; no pip install in pipeline
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/manual/woodpecker Pipeline failed
2026-07-01 13:20:56 +02:00
tobjend
6191427983 fix pipeline: editable install; add CI badge to README
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-07-01 13:19:11 +02:00
tobjend
416527c209 add Woodpecker CI: run tests on push/pull/manual
Some checks failed
ci/woodpecker/manual/woodpecker Pipeline failed
2026-07-01 13:15:53 +02:00
tobjend
b8cc40177c remove redundant infer_grammar tool; update docs to single-tool MCP 2026-07-01 13:15:19 +02:00
tobjend
ed495d3477 gif 65% 2026-07-01 11:52:51 +02:00
tobjend
2b7541a8b1 gif 50% bigger than 37.5% = 56.25% 2026-07-01 11:40:09 +02:00
tobjend
0c91e11d4b gif back to 75% 2026-07-01 11:39:53 +02:00
07ac315751 Update README.md 2026-07-01 09:33:02 +00:00