Commit Graph

45 Commits

Author SHA1 Message Date
128fa919f2 docs: replace retired US_UK_PROFI with US_UK outside benchmarking history 2026-04-26 12:32:13 +02:00
1f5decd6ea fix: pitest runs too long and consumes all memory for some tests 2026-04-24 01:26:42 +02:00
9eee321fef feat(trie): add diacritic processing modes with strip normalization 2026-04-24 00:43:43 +02:00
3e0f786042 fix: regression-golden updated to the latest data format 2026-04-23 23:51:47 +02:00
041b7f43fb Practical improvements
fix: cli-compilation doc is missing some params
chore: ExperimentCli is not relevant for JaCoCo
feat: human-readable format of trie metadata
fix: some new JUnit-s added
2026-04-23 23:43:25 +02:00
8785f2b7cb feat: Apply metadata-driven case normalization in get/getAll 2026-04-23 22:32:05 +02:00
4d939f5b6e feat: Prepare TrieMetadata and new stemmer data integration 2026-04-23 20:21:46 +02:00
a9d15fa3ae test: add regression coverage for trailing SKIP omission in patch encoding 2026-04-20 00:08:07 +02:00
0dc516357f docs: improve README, MkDocs content, branding assets, and site polish (2) release@1.0.0 2026-04-19 00:20:24 +02:00
0b674a39a8 docs: improve README, MkDocs content, branding assets, and site polish 2026-04-19 00:18:42 +02:00
db79dd2d4f ci: refine build, benchmark, and Pages workflows
* add workflow-level concurrency control for benchmark and Pages pipelines
* keep release changelog generation and the separate distZip step in the build workflow by design
* align the benchmark workflow with the primary Gradle action setup
* add Gradle wrapper validation to benchmark runs
* switch benchmark caching and setup to gradle/actions/setup-gradle
* remove the redundant Gradle wrapper executable-bit adjustment
* keep benchmark generation in Pages unchanged while improving workflow control
2026-04-18 15:38:19 +02:00
db446932fc docs: refine footer branding and improve Javadoc overview
- remove Material for MkDocs generator branding from the site footer
- keep footer presentation aligned with the project's professional documentation style
- improve Javadoc overview content for the API landing page
- align Javadoc introductory text with the main project site messaging
- clarify project scope, documentation purpose, and license information
2026-04-18 15:04:37 +02:00
1df6c0c87e docs: refine Pages publishing and homepage positioning
fix Pages publishing workflow to preserve worktree metadata and keep .nojekyll after site synchronization
add generated historical builds index and publish builds/index.html explicitly
improve homepage messaging to highlight extensibility of compiled dictionaries through additional transformation layers
2026-04-18 14:15:41 +02:00
31ed39c785 Merge branch 'main' of https://gitea.egothor.org/Egothor/Radixor 2026-04-18 11:57:26 +02:00
4b57eecbeb fix: .gh-pages folder was not pushed to gh-pages 2026-04-18 11:55:55 +02:00
a002238602 fix: mkdocs build --strict ...failed 2026-04-18 02:40:55 +02:00
92d2c98fed fix: mkdocs build --strict ...failed 2026-04-18 02:35:29 +02:00
bc031f2d8b feat: add MkDocs Material site and publish docs + CI reports to GitHub Pages 2026-04-18 02:14:45 +02:00
59128edc42 fix: exclude all maven-metadata.xml variants from central bundle release@0.9.2 2026-04-16 22:25:36 +02:00
7e1aea72bf refactor: apply minor Radixor refinements and refresh dependency locks release@0.9.1 2026-04-16 21:31:01 +02:00
594abe2c4b feat: add jqwik property-based coverage for trie and patch invariants
test: add property-based tests for FrequencyTrie determinism across repeated compilation
test: verify semantic alignment of get(), getAll(), and getEntries()
test: verify binary serialization and compressed persistence round-trip stability
test: verify builder reconstruction preserves observable trie behavior
test: add property-based tests for PatchCommandEncoder encode/apply round-trip and determinism
test: add generated stemmer-trie properties ensuring returned patches reconstruct only acceptable stems
test: introduce bounded reusable jqwik generators and scenario builders for maintainable property coverage
build: add jqwik to test dependencies and integrate it with the existing JUnit Platform setup
test: replace Jupiter display and tag annotations in jqwik suites with jqwik-native metadata to remove discovery warnings
2026-04-16 19:40:29 +02:00
953ce2226a feat(test): add deterministic fuzz-style coverage for trie compilation and stemming
* add fixed-seed fuzz scenario generator for bounded trie and dictionary inputs
* validate compilation stability across repeated builds and binary round-trips
* validate generated stemming dictionaries for non-crashing compilation and acceptable stem reconstruction
* add CI-safe semantic invariants for reduced trie reconstruction using get() and getAll()
* avoid unstable count-preservation assertions for builder reconstruction from reduced shared tries
2026-04-16 18:51:39 +02:00
05692726c5 feat: publish Pages-backed quality badges in README
* add README badges for CI status, coverage, reports, mutation score, benchmark speedup, Maven Central, license, and Java baseline
* generate Shields endpoint metadata for JaCoCo, PIT, and JMH results
* move badge generation logic into tools/generate-pages-badges.py to keep workflows concise and maintainable
* update Pages publishing workflow to publish badge metadata for both build-specific and latest report views
* expose published badge metadata links in the reports index for transparency and troubleshooting
2026-04-16 18:22:24 +02:00
c18563617d feat: add release changelog generation and package distribution integration
feat: add custom release changelog generator based on release tag ranges and prefixed commit lines
build: include generated CHANGELOG.md in the distribution ZIP when present
ci: generate release changelog during release workflow and use it as the GitHub release body
ci: split release packaging so distZip is rebuilt after changelog generation
chore: keep changelog generation out of quality-gate and report publishing workflows
2026-04-16 17:42:22 +02:00
436deefd14 fix: exclude Maven metadata files from Central upload bundle
fix: remove maven-metadata files from the generated Central bundle
fix: align uploaded archive with Sonatype Portal component layout expectations
2026-04-16 03:42:59 +02:00
ad8194b7dc fix: pass signing secrets to tagged release build in GitHub Actions release@0.9.0 2026-04-16 03:23:34 +02:00
ff85aa6f94 chore: refresh PIT verification metadata and lock state
fix: bootstrap verification metadata for the pitest configuration
fix: generate missing lock state for PIT under strict dependency locking
2026-04-16 02:58:48 +02:00
f594cddce8 chore: refresh Gradle verification metadata for plugin classpath
chore: update gradle/verification-metadata.xml with missing plugin portal metadata artifacts
chore: refresh dependency lock state after release packaging setup changes
fix: unblock CI strict dependency verification for Gradle plugin resolution
2026-04-16 02:30:02 +02:00
5730babd06 feat: add Maven Central packaging and release publishing
refactor: move Maven POM and publication logic into gradle/maven-pom.gradle
feat: publish signed mavenJava artifacts with sources and Javadoc jars
feat: add Central staging, checksum generation, and centralBundle packaging
feat: add packageReleaseCandidate task for clean local release verification
docs: define Maven POM metadata for org.egothor:radixor
docs: switch project licensing metadata and repository license file to BSD-3-Clause
ci: build signed Central bundle in tagged release workflow
ci: upload Central bundle to Maven Central via Sonatype Portal API
ci: attach Central bundle to GitHub release assets
2026-04-16 02:00:59 +02:00
558707d78e chore: harden Gradle dependency reproducibility
feat: enable Gradle dependency locking for all configurations
feat: enforce strict lock-state usage in the build
feat: centralize repository declaration in settings.gradle
feat: enable strict Gradle dependency verification via gradle.properties
feat: add committed dependency lock state and verification metadata
fix: defer mockito agent resolution to test execution phase for locked builds
ci: validate reproducibility inputs before workflow builds
ci: include lock and verification inputs in workflow change detection
docs: establish explicit dependency update workflow for locks and verification metadata
2026-04-15 22:33:48 +02:00
2288852300 feat: add CycloneDX SBOM generation and publishing support
feat: add CycloneDX Gradle plugin for standards-based SBOM generation
feat: generate SBOM artifacts in JSON and XML formats
feat: publish SBOM artifacts in CI and expose them through project reports
fix: align CycloneDX task configuration with current plugin task model
fix: remove deprecated String-based projectType assignment for Gradle 10 compatibility
chore: keep SBOM scope focused on production classpaths only
2026-04-15 17:38:27 +02:00
b0b33f8548 build: add on-demand dependency vulnerability scanning support
build: add OWASP Dependency-Check Gradle integration with NVD API key support
build: add conditional dependency suppression file support with unused-rule enforcement
build: remove dependency scanning from default check lifecycle and regular CI builds
build: keep gh-pages dependency report publication logic passive when report is absent
2026-04-14 22:48:07 +02:00
56d5da6b95 feat: add end-to-end Compile CLI integration tests and normalize us_uk dictionary encoding
test: add CompileIntegrationTest for remark-aware fixture and bundled dictionaries
test: verify compilation, gzip serialization, reload, overwrite handling, and lookup semantics
test: cover store-original behavior with dedicated remark-aware test resource
fix: normalize us_uk stemmer dictionary entry encoding for UTF-8 CLI parsing
fix: unblock compilation of bundled dictionaries through Compile integration workflow
2026-04-14 21:25:39 +02:00
a95b2028d4 feat: publish JMH result files directly on GitHub Pages
replace broken JMH directory links with direct links to jmh-results.txt and jmh-results.csv
keep latest and per-build report pages aligned with the actual JMH artifact structure
improve Pages report navigation for benchmark outputs
2026-04-14 19:24:30 +02:00
ad8fe0ea1b feat: add deterministic compiled-trie artifact regression tooling
test: add deterministic regression coverage for compiled trie artifacts
test: add golden artifact resources and SHA-256 sidecar validation
test: add compiled trie artifact generator utility for regression preparation
build: add Gradle task for regression artifact generation
chore: add bash script to generate golden compiled trie regression files
fix: normalize SHA-256 sidecar output to use artifact basename only
fix: harden test resource loading for regression classpath access
fix: reconstruct stems from patch commands in golden artifact semantic probes
2026-04-14 19:12:51 +02:00
6b3559097a feat: add JMH comparison benchmarks for Radixor vs Snowball Porter stemmers
build: isolate Snowball benchmark integration into dedicated Gradle script
docs: highlight benchmarked throughput advantage in README
docs: add detailed benchmarking guide and execution notes
2026-04-14 18:25:41 +02:00
85e33f2f60 feat: JMH benchmarks added 2026-04-14 02:40:30 +02:00
3c3f3b4312 feat: PIT report added 2026-04-14 02:01:30 +02:00
f183ee96e2 docs: PMD URL fixed 2026-04-14 01:30:13 +02:00
a7bc24886e feat: GH workflow (init)
Some checks failed
Build and Release / Quality gates (push) Failing after 1m27s
Publish Reports to GitHub Pages / Publish static reports (push) Failing after 1s
Build and Release / Publish tagged distribution (push) Has been skipped
feat: JaCoCo
2026-04-14 00:36:56 +02:00
5266650bc1 fix: incorrect syntax in MD 2026-04-13 02:13:51 +02:00
038514bad0 Refine stemmer core, compiled trie workflow, tests, and public documentation
feat: implement Compile CLI for building binary stemmer tables from source dictionaries
feat: add loading support for persisted compiled tries, including GZip-compressed binaries
feat: add a builder path for recreating a writable trie from a compiled trie
feat: expose read-only value/count access for compiled trie entries
feat: support deterministic NOOP patch encoding for identical source and target words

fix: make value selection deterministic for equal frequencies using length and lexical tie-breakers
fix: preserve valid alternative reductions during trie optimization and reduction
fix: correct patch command edge cases discovered in round-trip and malformed-input tests
fix: address persistence and compiled-trie handling defects found during implementation review
fix: resolve test failures and behavioral regressions uncovered by PMD and JUnit runs

refactor: reorganize trie-related support types into dedicated packages and classes
refactor: simplify the core FrequencyTrie design toward a cleaner practical architecture
refactor: improve compiled/read-only trie boundaries without restoring mutability
refactor: clean up internal reduction, serialization, and helper structure

test: add professional JUnit coverage for stemmer core classes
test: split trie tests into dedicated test classes per production type
test: improve parameterized tests for readability, diagnostics, and edge-case traceability
test: cover positive, negative, malformed, persistence, and round-trip scenarios
test: verify compiled dictionaries against source inputs using getAll semantics

docs: write public README and supplementary Markdown documentation for project publishing
docs: document architecture, reduction model, built-in languages, and operational guidance
docs: clarify reverse-word storage, mutable construction, and compiled-trie runtime behavior
docs: remove placeholders, vague buzzwords, and unexplained terminology from the documentation
docs: improve examples and wording for professional reader-facing project guidance

chore: align project materials with the practical Radix scope and Egothor/Stempel lineage
chore: raise overall project quality through documentation review and test hardening
2026-04-13 02:10:46 +02:00
15248c92c9 Eclipse IDE configuration and setup 2026-04-12 13:15:27 +02:00
f753197bf2 Basic settings 2026-04-12 12:54:09 +02:00
c949ccd97f Initial commit 2026-04-12 12:12:08 +02:00