diff --git a/CHANGELOG.md b/CHANGELOG.md index a623776..49789b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,28 @@ The release procedure (prompt template and step-by-step instructions) lives in [ ## [Unreleased] +## [1.0.1] - 2026-06-29 + +### Added +- Third-level **project index** (`aggregate-project` goal): a single `project.ai.md` table of contents harvesting each package's lead, with an optional one-call AI `#### Overview` paragraph. +- **Rule-based file routing** for the `generate` goal: each `` routes a file to a `(model, prompt)` via a composable `` tree (``/``/`` over `extensions`/`size`/`lines`/`modifiedAfter`/`modifiedBefore`/`pathGlob`), with ``, ``, and exactly one explicit ``. Plan-then-execute loads each model once; `aiIndex.planOnly=true` prints the routing plan tree without loading a model. +- Plan-time **context-window fit check**: oversized files fail the build up front; new big-window fallback preset (IBM Granite 4.0-H-Tiny, Apache-2.0) covers source files up to ~1 MB. +- Independently switchable phases via `aiIndex.file.skip` / `aiIndex.package.skip` / `aiIndex.project.skip` (plus the global `aiIndex.skip`). +- File-size **band filter** (`minFileSizeBytes` / `maxFileSizeBytes`) for size-tiered indexing, and `excludes` globs to skip generated/trivial sources. +- Deterministic child-link list (`F` header field) for project → package → file navigation. +- Per-file **progress bar with ETA** and measured (actual vs estimated) per-file generation time. +- **GPU support**: opt-in `gpu-cuda` / `gpu-vulkan` profiles, parameterized native classifier, and `gpuLayers` / `mainGpu` / `devices` knobs. +- Opt-in sampling controls (default off): `min_p`, `top_n_sigma`, DRY repetition suppression, reasoning/think budget, and model-level `swa-full` + cache-reuse. +- Extension-selected file-body prompts (java / sql / fallback). + +### Changed +- Default model preset is now `gpt-oss-20B-mxfp4`; all gpt-oss presets are GPU-ready. +- Pinned `net.ladenthin:llama` to the released `5.0.3` (dropped the SNAPSHOT dependency and snapshot repository). +- Bumped JUnit 6.1.0 → 6.1.1 and palantir-java-format 2.92.0 → 2.94.0. + +### Removed +- The empty-body generation retry mechanism. + ## [1.0.0] - 2026-06-08 First public release on Maven Central. Pre-OpenSSF history themes (March–May 2026): Java 8 compatibility, key-indexed `aiDefinitions` (PR #21), Sonatype Central Portal migration, JaCoCo+Coveralls+Codecov, GH Actions major-version bumps, CodeQL v3→v4, model catalogue (Qwen2.5-Coder, Ministral 8B/14B, Gemma 4 MoE). @@ -32,5 +54,6 @@ First public release on Maven Central. Pre-OpenSSF history themes (March–May 2 --- -[Unreleased]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.0...HEAD +[Unreleased]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.1...HEAD +[1.0.1]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/compare/v1.0.0...v1.0.1 [1.0.0]: https://github.com/bernardladenthin/llamacpp-ai-index-maven-plugin/releases/tag/v1.0.0 diff --git a/CLAUDE.md b/CLAUDE.md index 96f0f2c..d1d54d7 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -10,7 +10,7 @@ This document provides guidance for AI assistants working on the llamacpp-ai-ind - **Group ID:** `net.ladenthin` - **Artifact ID:** `llamacpp-ai-index-maven-plugin` -- **Version:** 1.0.1-SNAPSHOT +- **Version:** 1.0.1 - **Java:** target bytecode 1.8, built with JDK 21 - **License:** Apache 2.0 - **Author:** Bernard Ladenthin (Copyright 2026) diff --git a/README.md b/README.md index 7a94b9e..e475123 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ The plugin is configured from three building blocks, declared on the plugin insi net.ladenthin llamacpp-ai-index-maven-plugin - 1.0.0 + 1.0.1 diff --git a/TODO.md b/TODO.md index 05ba6ac..b48da88 100644 --- a/TODO.md +++ b/TODO.md @@ -15,8 +15,6 @@ recorded in git history and `crossrepostatus.md`, not here. - **Expand PIT mutation scope (optional).** `pom.xml` wires `100` over an explicit `` list (config / document / prompt / provider / support value+logic classes, plus `indexer.AiInputWindowCalculator` and `support.AiProgressBar`), all killed at 100%. Still out (optional, need careful fixtures): `document.AiMdDocumentCodec` / `AiMdHeaderCodec`, `prompt.AiPromptPreparationSupport`, and the newer `indexer.AiIndexPlan` / `config.AiConditionGroup`. The orchestration layers (`indexer.*` walk, `mojo.*`) and the JNI provider stay out of PIT — they need a Maven/native context rather than pure-unit mutation (see crossrepostatus "Deliberate non-parity"). -- **README install example version.** The consumer install example pins `1.0.0` — confirm `1.0.0` is actually published on Maven Central, or update the example. (The per-model `` parameters, incl. `minP`, are now fully documented in README "Per-model `` parameters".) - - **Big-window fallback beyond ~1 MB.** The `granite-4.0-h-tiny-bigwindow` preset (384K context) covers source files up to ~1 MB; larger files hard-fail by design. If genuinely needed, add a still-larger preset (Granite allocates up to its 512K training limit, with further quality loss) or document a file-splitting workflow. - **Cross-repo code-quality TODOs** — see [`../workspace/policies/code-quality-todos.md`](../workspace/policies/code-quality-todos.md) for the canonical `@VisibleForTesting` design-fit review, package hierarchy review, and class/method naming review. This repo has no `@VisibleForTesting` usages today; the package and naming reviews are still open here. diff --git a/docs/ai-index-benchmark/tools/score.sh b/docs/ai-index-benchmark/tools/score.sh index decd3ae..ab3f614 100644 --- a/docs/ai-index-benchmark/tools/score.sh +++ b/docs/ai-index-benchmark/tools/score.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# SPDX-FileCopyrightText: 2026 Bernard Ladenthin +# +# SPDX-License-Identifier: Apache-2.0 +# # Objective scorer for one AI-index benchmark cell. # Usage: score.sh # Prints a single TSV row: sections\treachesConc\bytes\claimedMaxBucket\parenCount\countErr\truncated\promptTok\prefillMs\decodeTok\decodeMs diff --git a/pom.xml b/pom.xml index bc0ff24..c2430ab 100644 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,7 @@ SPDX-License-Identifier: Apache-2.0 net.ladenthin llamacpp-ai-index-maven-plugin - 1.0.1-SNAPSHOT + 1.0.1 maven-plugin llamacpp-ai-index-maven-plugin