Julian lechner
5e80d30936
fix(config): harden doctor checks and enable Codex full access
CI / CI configuration security checks (push) Successful in 3s
CI / Capabilities and shell quality (push) Successful in 18s
CI / Python tests and compilation (push) Successful in 25s
CI / QMD unit tests (push) Successful in 11s
CI / Build and inspect generated packages (push) Successful in 17s
CI / PowerShell tests on Ubuntu (push) Successful in 1m11s
CI / Installed client configuration smoke tests (push) Successful in 1m10s
CI / Bash integration and installation guards (push) Failing after 1m13s
2026-10-08 15:58:47 +02:00
Julian lechner
8aae370bdb
fix(agents): align research tools and clarify role boundaries
2026-10-08 15:43:30 +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
b1170604eb
fix(instructions): refresh startup rule when custom instructions change
2026-10-08 15:16:19 +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
73cb30c32b
ci(qmd): keep model execution out of ci
2026-10-08 14:59:32 +02:00
Julian lechner
2fe612c8e1
fix(tests): expect codex session start hook in packages
2026-10-08 14:59:19 +02:00
Julian lechner
65c99ac76d
feat(codex): show remaining usage and fast mode in status bar
2026-10-08 14:38:33 +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 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
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
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
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
Julian lechner and Claude Opus 5.5
e6b516f828
feat(benchmarks): summarize A/B results per task category
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:03 +02:00
Julian lechner and Claude Opus 5.5
449ffa3631
test(benchmarks): tag tasks as small change, larger implementation, or search
...
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
f254a1ca40
fix(context-report): accept "< 20" token counts from /context
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-08 10:34:00 +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
13220affb3
fix(install): drop unused variable flagged by shellcheck
...
CI / CI configuration security checks (push) Successful in 5s
CI / Capabilities and shell quality (push) Successful in 21s
CI / Python tests and compilation (push) Successful in 26s
CI / Build and inspect generated packages (push) Successful in 19s
CI / PowerShell tests on Ubuntu (push) Successful in 1m10s
CI / Installed client configuration smoke tests (push) Successful in 50s
CI / Bash integration and installation guards (push) Successful in 1m18s
CI / Qwen retrieval integration (push) Successful in 14m26s
The plan and apply split left exists declared but unused in run_managed_sync
(SC2034), which failed the CI Bash lint.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 15:10:11 +02:00
Julian lechner and Claude Opus 5.5
f43a2df14b
test(benchmarks): add C#/ASP.NET and TypeScript tasks
...
Six tasks with hidden checks: ASP.NET validation and 404 handling, C#
cancellation, and TypeScript overlap, deep merge, and debounce fixes, checked
with dotnet run and node --test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:12 +02:00
Julian lechner and Claude Opus 5.5
97879fd6a5
feat(benchmarks): pin models and verify arm provenance
...
Pin one model and reasoning effort per client for both arms, disable user and
plugin skills in the Codex baseline home, and record what each arm loads in
provenance.json; stop when the arms are not comparable.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:12 +02:00
Julian lechner and Claude Opus 5.5
9ff0330537
test(config): verify agent limits and permissions take effect
...
Check that Codex keeps the V1 multi-agent implementation that honors
max_depth, and, with AI_CONFIG_LIVE_TESTS=1, that Claude withholds the Agent
tool from subagents, refuses subagents above the concurrency limit, and
blocks git reset --hard in every shell tool.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:11 +02:00
Julian lechner and Claude Opus 5.5
dec926fee3
feat(install): roll back interrupted syncs from a journal
...
Plan each sync before writing, record the plan in .ai-config-transaction.json,
and roll an interrupted destination back from its backups on the next run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:10 +02:00
Julian lechner and Claude Opus 5.5
9fc6dc8038
fix(claude): deny destructive commands in both shell tools
...
Claude offers Bash and PowerShell tools on Windows, but each package denied
git reset --hard, git clean, and recursive deletes only for its own shell. A
live test ran git reset --hard through Bash under the PowerShell package.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:10 +02:00
Julian lechner and Claude Opus 5.5
cceb9e4839
fix(build): build privately and swap generated/ after validation
...
Build into a per-run sibling directory and replace generated/ only after
validation, with a lock around the swap, so a failed or parallel build never
leaves generated/ partial.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:59:10 +02:00
Julian lechner and Claude Opus 5.5
fa593d3b27
feat(benchmarks): accept task name patterns
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:27:57 +02:00
Julian lechner and Claude Opus 5.5
e1493d9758
feat(benchmarks): compare sessions with and without semantic search
...
Add the setup-no-search arm for Claude, generated filler modules, an optional
warm index outside the timing, and a searches count per run.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-01 13:27:57 +02:00