Skip to content

deps: bump dikw-core from 0.6.0 to 0.6.5#29

Merged
helebest merged 1 commit into
mainfrom
dependabot/uv/dikw-core-0.6.5
Jun 29, 2026
Merged

deps: bump dikw-core from 0.6.0 to 0.6.5#29
helebest merged 1 commit into
mainfrom
dependabot/uv/dikw-core-0.6.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor

Bumps dikw-core from 0.6.0 to 0.6.5.

Release notes

Sourced from dikw-core's releases.

dikw-core v0.6.5

0.6.5 — Default scaffold ships Gitee embed + rerank; eval cache keys retrieval config and surfaces absolute relevance scores

Added

  • Eval rows surface absolute relevance scores for OOD calibration. (#249) Each retrieval-eval per-query and negative row now carries top1_score (the top hit's score) and top1_vec_cosine — the reranker/fusion-independent raw top-1 vector cosine, captured by an eval-internal HybridSearcher.top_vector_cosine probe (the production search() path and its ranking are untouched). Fusion scores (RRF is rank-based; combsum/combmnz are per-leg min-max normalized) can't carry an absolute magnitude, so expect_none / out-of-distribution robustness was previously immeasurable from rank order alone; the absolute cosine makes it observable (covered query high, OOD query low). The vector probe is skipped for pure-bm25 ablations so they stay embedding-free. A score-based OOD metric is deferred — this release only surfaces the signals.

Changed

  • Default scaffold ships Gitee embed + rerank; unified rerank/embed degrade-logging. dikw init (config.default_config) now defaults the embedder to Gitee bge-m3 (dim 1024) and ships a Gitee bge-reranker-v2-m3 reranker, both keyed by one GITEE_API_KEY, so a fresh base reranks out of the box (OpenAI has no /rerank endpoint, so the prior OpenAI embedding default couldn't pair a matching reranker). The LLM default stays Anthropic. Read-path resilience is now uniformly observable: a transient query-embedding failure degrades the hybrid query to FTS-only (vec leg dropped) instead of 500-ing — hybrid mode only, single-leg vector/bm25 ablations re-raise for eval purity; transient rerank / embed-batch-skip degrades now log at ERROR (a configured leg that failed, was WARNING); an enabled-but-unconfigured reranker and a write path that defers embedding (no embedder wired / version drift) each log a WARNING so the silently-off leg is visible. Permanent provider errors (401/403/404, bad key/model) still fail fast on both the read path (→ 500) and the write path (ingest aborts) — the fail-fast-on-misconfig invariant is unchanged.

Fixed

  • Eval snapshot cache keys the ingest-time tokenizer and reads query-time retrieval config live. (#250) The eval corpus-snapshot cache key omitted RetrievalConfig, so under the default --cache read_write changing any retrieval knob (rrf_k / weights / fusion / rerank_enabled / graph_*) and re-running silently hit the stale snapshot and reused the previous config — no error, wrong numbers, exactly on the retrieval-ablation workflow. The cache key now includes the only ingest-time retrieval field, cjk_tokenizer (a change forces re-ingest); every search-time knob is read from the live config on each _run_queries, so ablations sharing one cache_root are now both fast and correct. A defensive guard re-raises if a cache hit's baked tokenizer ever disagrees with the live one.

... (truncated)

Changelog

Sourced from dikw-core's changelog.

0.6.5 — Default scaffold ships Gitee embed + rerank; eval cache keys retrieval config and surfaces absolute relevance scores

Added

  • Eval rows surface absolute relevance scores for OOD calibration. (#249) Each retrieval-eval per-query and negative row now carries top1_score (the top hit's score) and top1_vec_cosine — the reranker/fusion-independent raw top-1 vector cosine, captured by an eval-internal HybridSearcher.top_vector_cosine probe (the production search() path and its ranking are untouched). Fusion scores (RRF is rank-based; combsum/combmnz are per-leg min-max normalized) can't carry an absolute magnitude, so expect_none / out-of-distribution robustness was previously immeasurable from rank order alone; the absolute cosine makes it observable (covered query high, OOD query low). The vector probe is skipped for pure-bm25 ablations so they stay embedding-free. A score-based OOD metric is deferred — this release only surfaces the signals.

Changed

  • Default scaffold ships Gitee embed + rerank; unified rerank/embed degrade-logging. dikw init (config.default_config) now defaults the embedder to Gitee bge-m3 (dim 1024) and ships a Gitee bge-reranker-v2-m3 reranker, both keyed by one GITEE_API_KEY, so a fresh base reranks out of the box (OpenAI has no /rerank endpoint, so the prior OpenAI embedding default couldn't pair a matching reranker). The LLM default stays Anthropic. Read-path resilience is now uniformly observable: a transient query-embedding failure degrades the hybrid query to FTS-only (vec leg dropped) instead of 500-ing — hybrid mode only, single-leg vector/bm25 ablations re-raise for eval purity; transient rerank / embed-batch-skip degrades now log at ERROR (a configured leg that failed, was WARNING); an enabled-but-unconfigured reranker and a write path that defers embedding (no embedder wired / version drift) each log a WARNING so the silently-off leg is visible. Permanent provider errors (401/403/404, bad key/model) still fail fast on both the read path (→ 500) and the write path (ingest aborts) — the fail-fast-on-misconfig invariant is unchanged.

Fixed

  • Eval snapshot cache keys the ingest-time tokenizer and reads query-time retrieval config live. (#250) The eval corpus-snapshot cache key omitted RetrievalConfig, so under the default --cache read_write changing any retrieval knob (rrf_k / weights / fusion / rerank_enabled / graph_*) and re-running silently hit the stale snapshot and reused the previous config — no error, wrong numbers, exactly on the retrieval-ablation workflow. The cache key now includes the only ingest-time retrieval field, cjk_tokenizer (a change forces re-ingest); every search-time knob is read from the live config on each _run_queries, so ablations sharing one cache_root are now both fast and correct. A defensive guard re-raises if a cache hit's baked tokenizer ever disagrees with the live one.

... (truncated)

Commits
  • f8c1045 chore(release): prepare 0.6.5 (#254)
  • c15b4ee feat(eval): surface absolute relevance scores in eval rows for OOD calibratio...
  • c4e6bb4 fix(eval): key cjk_tokenizer + read query-time retrieval config live (#250) (...
  • 91b530a feat: unify rerank/embed degrade-logging; default scaffold to Gitee embed+rer...
  • c9762e4 chore(docker): bump DIKW_VERSION to v0.6.4 (#248)
  • 8b4279a chore(release): prepare 0.6.4 (#247)
  • 8d61455 refactor(prompts): extract knowledge system prompts to .md, unify product nam...
  • e3032e4 chore(docker): bump DIKW_VERSION to v0.6.3 (#245)
  • aab4ebd chore(release): prepare 0.6.3 (#244)
  • 247eb63 feat(delivery): add tools/loop_metrics.py — delivery-loop effectiveness metri...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [dikw-core](https://github.com/OpenDIKW/dikw-core) from 0.6.0 to 0.6.5.
- [Release notes](https://github.com/OpenDIKW/dikw-core/releases)
- [Changelog](https://github.com/OpenDIKW/dikw-core/blob/main/CHANGELOG.md)
- [Commits](OpenDIKW/dikw-core@v0.6.0...v0.6.5)

---
updated-dependencies:
- dependency-name: dikw-core
  dependency-version: 0.6.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot @github

dependabot Bot commented on behalf of github Jun 29, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: deps. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@helebest helebest left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review — dikw-core 0.6.0 → 0.6.5

Consistency: PR title matches the diff. All three plugin packages (dikw-converter-epub, dikw-converter-example, dikw-converter-mineru) have their minimum constraint updated from >=0.6.0 to >=0.6.5, and the lock file reflects the new wheel/sdist hashes. ✅

Correctness: Changes are limited to pyproject.toml dependency specifiers and the corresponding lock file entries. The lock file wheel URL, sdist URL, and hashes are consistent with the stated 0.6.5 release. ✅

Conventions: Standard workspace dependency-bump pattern. ✅

Security: dikw-core 0.6.1–0.6.5 changes are additive: eval OOD calibration fields, Gitee embed/rerank scaffold defaults, eval cache key correctness fix. All changes land in server/engine territory (dikw_core.server.*, dikw_core.domains.*). Per the repo's layering invariants, plugins may not import from those modules — they depend only on the Converter Protocol and Path. The public plugin API surface is unchanged across this version range. No CVEs or security advisories noted. ✅

Effectiveness: Bumping the minimum constraint ensures plugins receive the bug fix in 0.6.5 (eval cache key, not a plugin concern but correct version hygiene). ✅

Test coverage: No plugin source code changed; no new tests required. ✅

Approving. Will merge once CI is green.


Generated by Claude Code

Copy link
Copy Markdown
Contributor

Code Review — automated

Summary: dikw-core lower-bound bump from >=0.6.0>=0.6.5 across all three plugin packages (dikw-converter-epub, dikw-converter-example, dikw-converter-mineru) plus the lock file.

Dimension Result
Consistency ✅ PR description matches the diff exactly; all three pyproject.toml files and the lock file are updated coherently
Correctness ✅ The lower-bound bump correctly reflects the new minimum; the 0.6.1–0.6.5 changes cover eval scoring, default scaffold configuration, and eval cache-key fixes — none of which touch the Converter Protocol or Path types these plugins depend on
Conventions dikw-core appears under each package's [project] dependencies, as expected
Security ✅ Changelog shows no security advisories; the new functionality (eval probes, Gitee defaults, reranker config) is in server/engine territory that the layering invariants in CLAUDE.md explicitly prohibit these plugins from importing, so the new code is simply not reachable from plugin code
Effectiveness ✅ Achieves its stated purpose
Test coverage ✅ No plugin logic changed; compatibility with the new dikw-core version is validated by the test suite running against the updated lock file

Verdict: LGTM. Proceeding to CI verification.


Generated by Claude Code

Copy link
Copy Markdown
Contributor

CI Verification — All checks green ✅

All 4 required checks passed:

Check Result
test (3.12) ✅ success
test (3.13) ✅ success
analyze ✅ success
CodeQL ✅ success

No regressions. Proceeding to squash merge.


Generated by Claude Code

@helebest helebest merged commit facfac7 into main Jun 29, 2026
4 checks passed
@helebest helebest deleted the dependabot/uv/dikw-core-0.6.5 branch June 29, 2026 23:17

Copy link
Copy Markdown
Contributor

Verification & CI Results — automated

Local test suite: All 134 tests pass (uv run pytest --all-packages).

CI checks: All 4 checks completed green.

Check Result
test (3.12) ✅ success
test (3.13) ✅ success
analyze (CodeQL) ✅ success
CodeQL ✅ success

All steps passed — proceeding with squash merge.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant