Julian lechner
8aae370bdb
fix(agents): align research tools and clarify role boundaries
2026-10-08 15:43:30 +02:00
Julian lechner
8288ea51f0
docs: refresh configuration guides and remove obsolete plans
2026-10-08 15:37:03 +02:00
Julian lechner
7f441d388d
fix(qmd): resolve hoisted dependencies from package context
CI / CI configuration security checks (push) Successful in 3s
CI / Capabilities and shell quality (push) Successful in 15s
CI / Python tests and compilation (push) Successful in 23s
CI / QMD unit tests (push) Failing after 11s
CI / Build and inspect generated packages (push) Successful in 17s
CI / PowerShell tests on Ubuntu (push) Successful in 1m2s
CI / Installed client configuration smoke tests (push) Successful in 1m7s
CI / Bash integration and installation guards (push) Successful in 1m17s
2026-10-08 15:25:33 +02:00
Julian lechner
83091d247a
fix(instructions): add startup rule only for existing custom instructions
2026-10-08 15:16:07 +02:00
Julian lechner
6a981bd7f2
fix(instructions): check optional personal file before reading
2026-10-08 15:02:05 +02:00
Julian lechner
99d30163ce
feat(skills): enforce automatic plugin workflow routing
2026-10-08 14:49:10 +02:00
Julian lechner
8e9b28ffb0
refactor(rules): shorten mandatory research guidance
2026-10-08 14:48:55 +02:00
Julian lechner
1cdb6b1881
refactor(image): retain focused SEO and performance guidance
2026-10-08 14:38:49 +02:00
Julian lechner
5c66f79a76
fix(hooks): initialize flashbang when its DLL cache is unavailable
2026-10-08 14:38:18 +02:00
Julian lechner
3586245408
feat(workflows): enforce research checkpoints across development phases
2026-10-08 14:38:05 +02:00
Julian lechner
fe7a4d7a25
feat(research): require Context7 evidence for external behavior
2026-10-08 14:37:47 +02:00
Julian lechner
21e3352456
docs(rules): enforce research gates across workflows
2026-10-08 13:55:27 +02:00
Julian lechner
d929c6df26
docs(skills): require primary evidence for every technical lookup
2026-10-08 13:55:27 +02:00
Julian lechner
f497a23aaa
docs(skills): apply semantic routing before every repository lookup
2026-10-08 13:55:26 +02:00
Julian lechner
e12caa0d9f
docs(skills): require research checks for every repository lookup
2026-10-08 13:55:26 +02:00
Julian lechner
a1427f18a3
feat(skills): add mandatory research gate
2026-10-08 13:55:25 +02:00
Julian lechner and Claude Opus 5.5
3f51bc908e
docs(skills): make technical research mandatory for unverified external behavior
...
CI / PowerShell tests on Ubuntu (push) Failing after 3s
CI / CI configuration security checks (push) Successful in 4s
CI / Capabilities and shell quality (push) Successful in 22s
CI / Python tests and compilation (push) Successful in 23s
CI / Build and inspect generated packages (push) Successful in 19s
CI / Bash integration and installation guards (push) Failing after 22s
CI / Installed client configuration smoke tests (push) Successful in 1m16s
CI / QMD local search integration (push) Failing after 12m46s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:56:29 +02:00
Julian lechner and Claude Opus 5.5
36851c34e2
docs(skills): hand semantic search hits to repository research
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:56:28 +02:00
Julian lechner and Claude Opus 5.5
ede0c37d24
docs(skills): make repository research mandatory and route unknown identifiers to semantic search
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:56:28 +02:00
Julian lechner and Claude Opus 5.5
06c4848336
fix(qmd): handle a lost daemon start race and stale daemon tokens
...
startDaemon accepts the daemon of another launch when its own child
exits 0. A 403 from the daemon marks daemon.json as stale: the wrapper
deletes it and starts a new daemon once.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:47:41 +02:00
Julian lechner and Claude Opus 5.5
3012e1666e
fix(qmd): let only one concurrent launch start the daemon
...
An exclusive daemon.lock (stale after 2 minutes) is held from before the
health check until the daemon listens; a launch that loses exits 0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:47:03 +02:00
Julian lechner and Claude Opus 5.5
691ad6a69f
fix(qmd): skip git-ignored paths in repository collections
...
The daemon passes `git ls-files --others --ignored --directory` as
escaped ignore globs to addCollection. QMD's YAML write-through drops
`ignore` and index.yml wins on every re-sync, so the list is also
written into index.yml and re-synced whenever it changes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:45:27 +02:00
Julian lechner and Claude Opus 5.5
abface2293
fix(qmd): write index.yml atomically
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:42:40 +02:00
Julian lechner and Claude Opus 5.5
ced6d8f119
fix(qmd): keep models loaded until the daemon's own idle exit
...
QMD 2.8.3 createStore unloads the models after 5 idle minutes, which
made the next search reload them.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:42:05 +02:00
Julian lechner and Claude Opus 5.5
c31af49b70
docs(qmd): make semantic search mandatory and document QMD local search
...
Prompt budget stays within +10% of baseline (instruction 1485 -> 1331,
skill metadata 3163 -> 3017, rule catalog claude 28818 -> 30517); baseline
files unchanged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:15:15 +02:00
Julian lechner and Claude Opus 5.5
5bb0bdf62f
refactor(retrieval): remove the Python Qwen stack and the QMD extension entry
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:12:22 +02:00
Julian lechner and Claude Opus 5.5
953401a431
fix(qmd): reject unreliable npm listings and restore non-mapping models verbatim
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:55:47 +02:00
Julian lechner and Claude Opus 5.5
7f89ae70bd
fix(qmd): preserve user models block, adopt-and-remove ledger package, guard symlinks
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:53:22 +02:00
Julian lechner and Claude Opus 5.5
29e712e751
fix(qmd): measure embed throughput after warm-up and fail on embed errors
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:47:48 +02:00
Julian lechner and Claude Opus 5.5
d8a5ad7492
feat(qmd): add GPU and CPU benchmark for Auto selection
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:46:05 +02:00
Julian lechner and Claude Opus 5.5
f483ea7fe7
fix(qmd): stop hook group growth on re-sync and harden the warm-up lock
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:44:18 +02:00
Julian lechner and Claude Opus 5.5
f3c88a089e
feat(qmd): warm the index and daemon from a SessionStart hook
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:37:47 +02:00
Julian lechner and Claude Opus 5.5
08f015de92
fix(qmd): start the search daemon only when none runs and fail fast on child exit
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:29:05 +02:00
Julian lechner and Claude Opus 5.5
a40ff270d8
feat(qmd): add search wrapper with daemon start and CLI fallback
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:25:28 +02:00
Julian lechner and Claude Opus 5.5
f4dd193ea1
fix(qmd): harden daemon refresh, fingerprint, and request handling
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:23:55 +02:00
Julian lechner and Claude Opus 5.5
cba9a7a2f4
feat(qmd): add token-protected search daemon with idle exit
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:16:52 +02:00
Julian lechner and Claude Opus 5.5
1ad1880704
feat(qmd): add shared Node helpers and index.yml model block editing
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:15:08 +02:00
Julian lechner and Claude Opus 5.5
56f9981cc9
docs(rules): merge repeated completion checks in definition of done
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:02 +02:00
Julian lechner and Claude Opus 5.5
0af6b13a16
docs(rules): leave commented-out code to the definition of done
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:02 +02:00
Julian lechner and Claude Opus 5.5
bd4d94e451
docs(rules): keep Java composition guidance in modern-java only
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:01 +02:00
Julian lechner and Claude Opus 5.5
f4f38b38c9
docs(rules): give each C# rule statement one authoritative file
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:01 +02:00
Julian lechner
a81c67f070
feat(semantic-search): report search cost before retrieval
CI / CI configuration security checks (push) Successful in 4s
CI / Capabilities and shell quality (push) Successful in 15s
CI / Python tests and compilation (push) Successful in 18s
CI / Build and inspect generated packages (push) Successful in 19s
CI / PowerShell tests on Ubuntu (push) Successful in 1m6s
CI / Installed client configuration smoke tests (push) Successful in 38s
CI / Bash integration and installation guards (push) Successful in 1m10s
CI / Qwen retrieval integration (push) Successful in 14m24s
2026-10-01 15:50:29 +02:00
Julian lechner and Claude Opus 5.5
a8f6f01f2f
docs(rules): point concept questions to semantic-search
...
Replace the restrictive retrieval paragraph with a short rule: rg for known
names, the semantic-search skill first for concept questions.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:27:56 +02:00
Julian lechner and Claude Opus 5.5
14e6588d4e
feat(skills): add semantic-search skill
...
Expose the local Qwen search as a skill with an explicit trigger for concept
questions, the command for both shells, result handling, and its limits.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:27:55 +02:00
Julian lechner and Claude Opus 5.5
9d922cd678
fix(retrieval): run in-process when pipes are forbidden
...
The Codex sandbox on Windows denies the pipes that the daemon and worker
process use, so searches waited 120 seconds and then failed. Detect that and
run the search in-process.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:27:54 +02:00
Julian lechner and Claude Opus 5.5
739d2f7801
perf(retrieval): use bfloat16 on supporting GPUs
...
Load both models in bfloat16 when a CUDA GPU supports it and keep float32 on
CPUs. Document the daemon versioning and the indexed file types.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:13:07 +02:00
Julian lechner and Claude Opus 5.5
f134c50d39
fix(retrieval): match the Qwen query prompt format
...
Drop the trailing space after "Query:" as in the model card and include the
prompt in the query cache key.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:13:06 +02:00
Julian lechner and Claude Opus 5.5
d60dd10c45
fix(retrieval): end brace-language symbols at top-level braces
...
Code after a top-level closing brace belonged to the preceding function, for
example shell loops labeled as quote_toml. Attribute it to the module.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:13:05 +02:00
Julian lechner and Claude Opus 5.5
e138c0277e
feat(retrieval): index markup, style, SQL, and project files
...
Add HTML, CSS, SCSS, XAML, SQL, XML, project, Razor, Kotlin, Gradle, and
module JavaScript files with SQL and Kotlin symbols, and rebuild the index.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:13:04 +02:00
Julian lechner and Claude Opus 5.5
2354ce2c2c
fix(retrieval): version the daemon by code hash
...
Derive the daemon address and start lock from a hash of server.py, so an
updated server never reuses a daemon still running older code.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:13:03 +02:00