Commit Graph
163 Commits
Author SHA1 Message Date
Julian lechner 13eefe3309 fix(hooks): ignore optional hook failures
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 27s
CI / CI configuration security checks (push) Successful in 4s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Successful in 14m17s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 13s
2026-09-18 16:17:21 +02:00
fraujulian 49be8edbec feat(retrieval): preload Qwen models during setup
CI / Capabilities and shell quality (push) Successful in 11s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 28s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 6s
CI / Qwen retrieval integration (push) Successful in 14m20s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 13s
2026-09-18 15:47:42 +02:00
fraujulian 80e04701fa docs(rules): clarify C# collection and comment guidance
CI / Capabilities and shell quality (push) Successful in 10s
CI / Python tests and compilation (push) Successful in 12s
CI / PowerShell tests on Ubuntu (push) Successful in 32s
CI / CI configuration security checks (push) Successful in 4s
CI / Build and inspect generated packages (push) Successful in 7s
CI / Qwen retrieval integration (push) Successful in 14m15s
CI / Bash integration and installation guards (push) Successful in 16s
CI / Installed client configuration smoke tests (push) Successful in 13s
2026-09-18 15:24:14 +02:00
fraujulian 8966d64f3e docs(rules): allow accuracy updates
CI / Capabilities and shell quality (push) Successful in 13s
CI / Python tests and compilation (push) Successful in 11s
CI / PowerShell tests on Ubuntu (push) Successful in 27s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Successful in 7s
CI / Qwen retrieval integration (push) Successful in 14m12s
CI / Bash integration and installation guards (push) Successful in 15s
CI / Installed client configuration smoke tests (push) Successful in 12s
2026-09-18 13:26:02 +02:00
fraujulian e28a4171ea feat(instructions): require MCPorter for MCPs 2026-09-18 12:40:00 +02:00
fraujulian 145169dea8 fix(hooks): use relocated build commands 2026-09-18 11:38:09 +02:00
fraujulian ef084f6fef feat(retrieval): offer device benchmark 2026-09-18 11:37:09 +02:00
Julian lechnerandClaude Sonnet 5 9ad793289d feat(retrieval): add a background daemon to avoid reloading models per query
Each server.py search/rebuild invocation was a fresh process that reloaded
the embedding and reranker models from disk before answering a single
query. Add an optional daemon (server.py daemon) that keeps both models
resident in memory and serves repeated queries, across repository roots,
over a local socket/pipe.

search and rebuild now try the daemon first, spawn one on a cache miss
(guarded by an exclusive lock file to avoid duplicate spawns), and fall
back to the original one-shot in-process worker if the daemon cannot be
reached or started, so behavior is unchanged when the daemon is
unavailable. The daemon exits on its own after 30 minutes of inactivity.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:36:02 +02:00
Julian lechnerandClaude Sonnet 5 208213c1c7 feat(retrieval): pin model revisions and share encoder/reranker instances
Pin the Qwen embedding/reranker models to specific commit revisions (and
sentence-transformers to the exact version already in use) so index
builds are reproducible instead of floating on each model's main branch.

Also move the encoder and reranker instances to module-level singletons
shared by every Index, instead of one pair per instance, so a process
serving multiple repository roots only loads each model once.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:35:46 +02:00
Julian lechnerandClaude Sonnet 5 96a1175e20 feat(retrieval): make the file-scan limit configurable and warn on it
Repositories with more than 2000 indexable files silently lost the
remainder during indexing. Make the cap configurable via
SEMANTIC_RETRIEVAL_MAX_FILES (default unchanged) and print an explicit
stderr warning naming the repository when it is reached, instead of
truncating without any signal.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:35:38 +02:00
Julian lechner fd707539d5 refactor(hooks): drop unused workspace variable 2026-09-17 23:03:44 +02:00
Julian lechner c2a79cf415 fix(statusline): delimit ANSI escape variables 2026-09-17 23:01:43 +02:00
Julian lechner 1bc59ca881 perf(retrieval): gate semantic repository search 2026-09-17 23:00:18 +02:00
fraujulian 9b312cd840 fix(retrieval): run search as local CLI
CI / linux (push) Successful in 6s
2026-09-17 19:27:11 +02:00
Julian lechner e5b63965b8 feat(retrieval): prefer CUDA devices 2026-09-17 17:50:33 +02:00
Julian lechner 5ec6d0b6ac perf(retrieval): batch changed embeddings 2026-09-17 17:50:14 +02:00
Julian lechner 0f8aa0a25d feat(qwen): rerank 50 candidates and return five 2026-09-17 15:54:23 +02:00
Julian lechner e97404a0a1 feat(qwen): fuse dense and lexical search with RRF 2026-09-17 15:54:10 +02:00
Julian lechner fd37422de2 feat(qwen): maintain a lexical search index 2026-09-17 15:53:59 +02:00
Julian lechner b76a993c75 feat(qwen): split chunks at symbols and sections 2026-09-17 15:53:48 +02:00
Julian lechner 685dbe61f4 feat(qwen): add token windows and document metadata 2026-09-17 15:53:36 +02:00
Julian lechner 7be729cb22 feat(qwen): enforce 1024-dimensional embeddings 2026-09-17 15:52:43 +02:00
Julian lechner 459c520201 fix(rules): prioritize Qwen discovery and unify task workflows
CI / linux (push) Failing after 3s
2026-09-17 15:27:04 +02:00
Julian lechner 2079792a74 fix(qwen): isolate and refresh indexes with code-search prompts 2026-09-17 15:27:04 +02:00
Julian lechner 8274d7d52d perf(prompt): reduce permanent instruction context 2026-09-17 14:37:18 +02:00
Julian lechner 83929e856f feat(statusline): show review mode 2026-09-17 13:22:42 +02:00
Julian lechner 78667b182f docs(rules): require Qwen reranking
CI / linux (push) Failing after 4s
2026-09-17 13:08:06 +02:00
Julian lechner 727c499d2c feat(retrieval): rerank semantic search results 2026-09-17 13:07:47 +02:00
Julian lechner 1b64c54fda feat(instructions): guide semantic retrieval 2026-09-17 11:45:16 +02:00
Julian lechner 27f1c1ec79 feat(retrieval): add optional Qwen semantic layer 2026-09-17 09:16:53 +02:00
Julian lechner bdf98d5b71 feat(telemetry): add local agent efficiency metrics 2026-09-17 08:32:39 +02:00
Julian lechner 4fa8708ba7 feat(session): bind verification to git state 2026-09-17 08:32:28 +02:00
Julian lechner 8ae8e7a173 feat(review): standardize finding scope and severity 2026-09-17 08:32:08 +02:00
fraujulian 0daca8b03f docs(hooks): describe canonical task state 2026-09-16 22:45:46 +02:00
fraujulian f7ab0160e8 feat(session): maintain canonical task state 2026-09-16 22:45:15 +02:00
fraujulian 74d62fe878 refactor(agents): separate review and verification roles 2026-09-16 22:44:31 +02:00
fraujulian bf43b256a0 feat(orchestration): add compact delegation protocol 2026-09-16 22:44:21 +02:00
fraujulian 27783733e4 refactor(rules): scale verification to change risk 2026-09-16 22:44:07 +02:00
fraujulian 6a0c4abb65 refactor(shell): use powershell and bash package names 2026-09-16 22:43:55 +02:00
fraujulian 07ba85de6a docs(hooks): distinguish registered hooks from optional utilities 2026-09-16 19:18:26 +02:00
fraujulian 50cb82074e feat(statusline): show compact colored context and token metrics 2026-09-16 19:18:24 +02:00
fraujulian 35c39e7bfe refactor(rules): scope refactoring checks to affected behavior 2026-09-16 19:18:23 +02:00
fraujulian 317776f405 refactor(rules): align completion criteria with targeted verification 2026-09-16 19:18:23 +02:00
fraujulian 516a87cbb3 refactor(rules): make verification proportional to change risk 2026-09-16 19:18:23 +02:00
Julian lechner 9b5e862d8a feat: persist compact session state 2026-09-16 17:37:48 +02:00
Julian lechner bfd3093776 refactor(rules): narrow ambiguity and output guidance 2026-09-16 16:53:15 +02:00
Julian lechner 847038d1e0 style(statusline): compact Claude status display 2026-09-16 16:53:03 +02:00
Julian lechnerandClaude Haiku 4.5 c979f47621 refactor(rules): point definition-of-done at general.md instead of restating it
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-09-16 15:50:08 +02:00
Julian lechnerandClaude Haiku 4.5 89de58ff24 refactor(rules): de-duplicate priority/decision/documentation guidance into general.md
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-09-16 15:46:20 +02:00
Julian lechnerandClaude Haiku 4.5 01220cebd4 refactor(rules): split ui-ux.md into index + references
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-09-16 15:34:43 +02:00