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
fa43cb13ac
docs(skills): explain mandatory research workflow
CI / CI configuration security checks (push) Successful in 3s
CI / Capabilities and shell quality (push) Successful in 17s
CI / Python tests and compilation (push) Successful in 24s
CI / Build and inspect generated packages (push) Successful in 42s
CI / Bash integration and installation guards (push) Failing after 20s
CI / PowerShell tests on Ubuntu (push) Failing after 1m27s
CI / Installed client configuration smoke tests (push) Successful in 40s
CI / QMD local search integration (push) Failing after 13m6s
2026-10-08 13:55:28 +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
766f08af26
fix(codex): use elevated Windows sandbox
2026-10-08 13:55:24 +02:00
Julian lechner and Claude Sonnet 5.5
c041521668
feat(codex): enable api_key_model_discovery feature
...
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 22s
CI / Build and inspect generated packages (push) Successful in 27s
CI / PowerShell tests on Ubuntu (push) Failing after 1m7s
CI / Bash integration and installation guards (push) Failing after 24s
CI / Installed client configuration smoke tests (push) Successful in 1m9s
CI / QMD local search integration (push) Failing after 12m46s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-08 13:11:58 +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
b8ebe452bf
chore(gitignore): ignore .NET build output of benchmark fixtures
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:54:08 +02:00
Julian lechner and Claude Opus 5.5
1e93e1dad4
chore(gitignore): ignore Python bytecode caches
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:54:07 +02:00
Julian lechner and Claude Opus 5.5
c0fa0961c3
docs(qmd): document the git ignore list in repository collections
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:48:09 +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
1618cd7cd0
docs(qmd): note the CLI fallback under the Codex sandbox
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:41:49 +02:00
Julian lechner and Claude Opus 5.5
233152ff54
fix(qmd): honor XDG_CACHE_HOME for the setup-owned model files
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:41:42 +02:00
Julian lechner and Claude Opus 5.5
7ebd61f35b
fix(qmd): make removal wait for the daemon and survive partial failures
...
Removal reads the daemon PID before --stop and waits up to 10 s for it
to exit. A model file that cannot be deleted stays recorded in the state
for a retry instead of aborting removal, and a failing models block
restore only warns.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:41:19 +02:00
Julian lechner and Claude Opus 5.5
0c203a3905
fix(qmd): stop the legacy Python daemon before removing its directory
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:40:37 +02:00
Julian lechner and Claude Opus 5.5
f1d7894ba0
fix(qmd): treat Auto install and GPU probe failures as unsuitable
...
Auto now rolls back and reports "not suitable" when Node.js is too old,
npm or the model download fails. A failing GPU probe falls back to the
CPU in both Yes and Auto.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:40:12 +02:00
Julian lechner and Claude Opus 5.5
60f739ceb9
fix(qmd): repair integration test, pull models first, reorder CI steps
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:19:18 +02:00
Julian lechner and Claude Opus 5.5
5f21e4fb7c
ci(qmd): replace the Qwen retrieval job with a QMD integration job
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:17:49 +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
505e6ae084
feat(install): ask for QMD local search models and run the QMD installer
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 12:10:19 +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
59796d99d7
feat(qmd): install, benchmark, migrate, and remove QMD local search
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:49: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
c7c7c57621
docs(plans): simplify the warm-up step
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:10:18 +02:00
Julian lechner and Claude Opus 5.5
76de4f8dab
docs(plans): plan QMD local search implementation
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:10:04 +02:00
Julian lechner and Claude Opus 5.5
6850ef5f2a
docs(specs): run QMD search through an SDK daemon with expansion
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 11:03:03 +02:00
Julian lechner and Claude Opus 5.5
6dd7cad9f5
docs(specs): design QMD as the local search engine
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:58:42 +02:00
Julian lechner and Claude Opus 5.5
5b098fef70
test(benchmarks): phrase the transient retry prompt as a task
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:40:22 +02:00
Julian lechner and Claude Opus 5.5
0779e5c7db
fix(benchmarks): resume Codex sessions without the rejected --sandbox flag
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:40:21 +02:00
Julian lechner and Claude Opus 5.5
af1e248243
fix(benchmarks): pass prompts through stdin so Windows rework turns keep newlines
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:40:21 +02:00