Commit graph

35 commits

Author SHA1 Message Date
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
tobjend
6bf7a681ce purge make_charts.py, examples/, full-text papers, blog_post (moved to ~/Desktop/kesai/); translate German CLI to English 2026-07-01 11:28:42 +02:00
tobjend
c8a49f0149 scale PNG logo to 150% 2026-07-01 11:21:02 +02:00
tobjend
923ecfd231 half the gif display size 2026-07-01 11:20:24 +02:00
tobjend
9d71763b27 restore original dervish.gif below explanation; add new logo left-aligned, smaller 2026-07-01 11:18:13 +02:00
tobjend
64c3313da9 replace logo with dervis_logo.png; add to SHOWCASE.md and blog_post.md 2026-07-01 11:16:21 +02:00
tobjend
67369f31a8 remove context-cost chart (too blatant) 2026-07-01 11:06:39 +02:00
tobjend
17b5c271ec deduplicate: replace detailed Real-world Results with summary table linking to SHOWCASE.md 2026-07-01 11:05:26 +02:00
tobjend
b05c3ee116 rename to Dervish MCP; expand description with token-savings framing; add xkcd-style bar charts; link papers to actual URLs 2026-07-01 11:05:03 +02:00
tobjend
6d1c033267 remove Terraform showcase (everything-optional grammar isn't useful); fix GHA scope claim 2026-07-01 10:42:08 +02:00
tobjend
d7477344a6 move format-specific adapters to examples/, purge format-specific MCP tools 2026-07-01 10:36:14 +02:00
tobjend
25d844d1f9 purge Portainer references, format-specific tools, and Domain Adapters section; make showcases concrete with extracted types 2026-07-01 10:36:04 +02:00
tobjend
097dfc9954 Rename to Dervish, add animated logo to README 2026-07-01 10:19:08 +02:00
tobjend
a8a8bddb37 Move MCP server to top of README — it's the primary interface
Restructure: MCP Server first (with agent workflow example), then
Why grammar inference / showcases, then Quick Start, then details.
This matches how users actually interact with the project: via MCP tools.
2026-07-01 10:18:10 +02:00
tobjend
9f5bde22d5 Remove bugs section (implementation bugs, not paper bugs), remove Docker Compose (private data), add Portainer templates, fix geerlingguy claim precision
Blog post: remove 'The bugs we found' section (all 4 bugs were from our implementation, not the paper algorithms). Replace company data references in MCP section with Galaxy example. Update ensemble dynamics table with public datasets.

README: replace Docker Compose with Portainer templates in 'Why grammar inference?' table, Real-world Results, and Domain Adapters.

SHOWCASE: replace Docker Compose with Portainer templates.

All claims verified: no public documentation of geerlingguy module ordering convention exists.
2026-07-01 10:15:22 +02:00
tobjend
547376894c Update README and SHOWCASE with real-world dataset evaluations
README:
- Replace outdated company benchmarks with public showcases
- Add Algorithm Selection Guide
- Add 'When each algorithm wins' table
- Add 'Why grammar inference?' table with value prop for LLMs
- Add 'What doesn't work' section documenting failed approaches
- Update all domain adapter examples with public results
- Clean up outdated references (companyweb roles, hashistack terraform)

SHOWCASE:
- Add Helm (kube-prometheus-stack) with iDRegEx minimal core
- Add Docker Compose per-project patterns
- Add GitHub Actions cross-project Go lint pattern
- Add Terraform modules with vocabulary analysis
- Add 'What doesn't work' section
- Explain WHY each dataset helps an LLM
2026-07-01 10:04:10 +02:00
tobjend
0e2aec582b Grammar inference engine: CRX + iDRegEx ensemble with MDL scoring, MCP server, showcase, and blog post
- Ensemble inference (infer_ensemble) runs both CRX and iDRegEx, picks best by MDL
- CRX: CRX algorithm for wide coverage (accepts all sequences, large vocabulary)
- iDRegEx: iDRegEx for minimal core grammar (tightest common pattern)
- MDL scoring: fixed model_cost to count alphabet symbol occurrences, fixed dispatch order in _count_words_fast
- Fixed _match_tokens: rewritten as _match_possible with proper backtracking
- Fixed _parse_parts disjunction: children use _parse_flat_symbol to avoid dot-splitting
- MCP server: infer_best_grammar and infer_grammar tools
- Added prefer parameter (crx/idregex) to skip ensemble
- 28 passing tests
- SHOWCASE.md with Geerlingguy Galaxy demonstration
- blog_post.md with full technical deep-dive
2026-07-01 09:51:41 +02:00
tobjend
a1567bffbe Add bin/mcp-server wrapper script for robust path resolution
Avoids module shadowing when CWD contains another bex package.
2026-07-01 08:06:17 +02:00
tobjend
adc52c99ec Add MCP server: grammar inference via FastMCP
- bex/mcp_server.py: FastMCP server with 3 tools:
  * infer_grammar(sequences, method='crx'|'idregex')
  * infer_yaml_grammar(yaml_dir, pattern, method)
  * infer_ansible_role_grammar(roles_dir)
- pyproject.toml: add bex-mcp console_scripts entry point
2026-07-01 08:03:10 +02:00
tobjend
7c00c6713d Initial commit: BEX-based grammar inference engine
- CRX: direct CHARE inference (Algorithm 7, TODS 2010)
- iDRegEx: k-ORE inference (Algorithm 4, arXiv 2010)
- RWR₀: SORE repair (Algorithm 6, TODS 2010)
- rwr²: k-ORE extraction (Algorithm 3, arXiv 2010)
- SOA, k-OA, iKoa, 2T-INF, Baum-Welch
- Ansible role grammar adapter
- Generic YAML key-path converter
- 28 tests, all passing
2026-07-01 08:01:16 +02:00