registry.dcglab.co.uk has been decommissioned and replaced by
docker.dcglab.co.uk. Images move off the Gitea built-in registry (which
never successfully accepted a push) to the new host, published at the
root with no org segment: docker.dcglab.co.uk/kb/engine and .../kb/mcp.
IMAGE_ORG is now empty by default but still honoured when set, so the
documented REGISTRY=ghcr.io IMAGE_ORG=myorg override keeps working.
Gitea remains the git forge — the release download URLs in README.md are
unchanged and still point at gitea.dcglab.co.uk.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Implements five of the six enhancements from docs/kb-enhancements-proposal.htm,
closing the retrieval-quality gap identified in the qmd review.
- Cross-encoder reranking: new kb/reranker.py loads an optional reranking
model at startup (KB_RERANK_ENABLED, KB_RERANKER_MODEL,
KB_RERANK_CANDIDATES). Search degrades gracefully to plain hybrid
retrieval when the model is absent. Exposed via a "rerank" block in
/status, a rerank flag on search, and --no-rerank in the CLI.
- RRF rank fusion: FTS and vector lists now merge by reciprocal rank
fusion with a top-rank bonus, replacing the old score blend. Scores are
comparable across queries.
- Bench harness and explain traces: kb bench runs a query fixture against
each backend and reports precision@k, recall and MRR. --explain returns a
per-result score breakdown.
- Tag context descriptions: tags carry an optional one-line description
(kb tag-describe), returned as tag_contexts with search results. Adds a
tags.description column migration.
- Structured data ingestion: .json/.yaml/.toml files ingest as text via the
new "data" doc type, pretty-printing minified JSON before chunking.
Query expansion (proposal item 5) is deliberately left out pending bench
results. Requires engine v3.3.0.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The standalone Registry v2 host (docker.dcglab.co.uk, briefly registry.dcglab.co.uk)
is being scrapped. Move all kb images to Gitea's built-in container registry.
BREAKING: Remove Dockerfile.rocm, compose.rocm.yaml, and ROCm image
build/push from the release pipeline. Remove AMD quick-start and ROCm
references from README and DEVELOPER docs. Update docker-deployment
and developer-docs specs to reflect CPU + NVIDIA only.
The ROCm variant added significant complexity (4.2GB torch wheel,
>20GB container) with limited usage. Users on AMD GPUs should stay
on engine v3.2.x or switch to CPU mode.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Two changes:
1. structured-add-commands: The implicit note shorthand (kb "text") caused
accidental note creation from mistyped commands. Replaced with explicit
kb addnote <text> command. Root command reverts to standard Cobra
behaviour. Updated examples, tests, SKILL.md, and specs.
2. split-readme-developer-docs: Moved build-from-source instructions, release
process, API reference, and ROCm migration notes from README.md into a
new DEVELOPER.md. README now links to DEVELOPER.md for dev workflows.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>