Commit Graph
100 Commits
Author SHA1 Message Date
Julian lechner 6a981bd7f2 fix(instructions): check optional personal file before reading 2026-10-08 15:02:05 +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 32283c428a docs(plugins): explain automatic triggers and opt-outs 2026-10-08 14:49:23 +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 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 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude Opus 5.5 30257e72cd ci: fail PowerShell job when the runtime cannot be installed
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 10:34:00 +02:00
Julian lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude Opus 5.5 b110b6d6cd docs(scripts): document provenance checks and config effect tests
CI / CI configuration security checks (push) Successful in 5s
CI / Capabilities and shell quality (push) Failing after 15s
CI / Python tests and compilation (push) Successful in 32s
CI / Build and inspect generated packages (push) Skipped
CI / Bash integration and installation guards (push) Skipped
CI / Installed client configuration smoke tests (push) Skipped
CI / PowerShell tests on Ubuntu (push) Successful in 56s
CI / Qwen retrieval integration (push) Successful in 14m43s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:59:13 +02:00
Julian lechnerandClaude Opus 5.5 88f9833455 docs(readme): describe isolated builds and sync rollback
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:59:13 +02:00
Julian lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude Opus 5.5 6d4ac56901 docs(scripts): document the semantic search comparison
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:59 +02:00
Julian lechnerandClaude Opus 5.5 3f554f4351 docs(plugins): describe semantic-search and the Codex sandbox
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:58 +02:00
Julian lechnerandClaude Opus 5.5 2cf7a25baa docs(skills): list the semantic-search skill
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:58 +02:00
Julian lechnerandClaude 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 lechnerandClaude 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
Julian lechnerandClaude Opus 5.5 00a44f50b0 test(benchmarks): add concept-search tasks
Three tasks whose target code shares no vocabulary with the prompt, run in a
repository with generated distractor modules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:56 +02:00
Julian lechnerandClaude 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 lechnerandClaude Opus 5.5 587c27c1cd feat(install): install semantic-search only with retrieval
Skip the semantic-search skill while semantic retrieval is disabled and remove
a setup-owned copy when it is turned off.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:55 +02:00
Julian lechnerandClaude 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 lechnerandClaude Opus 5.5 1ad5800833 feat(codex): allow writes to the retrieval data directory
Add the semantic retrieval data directory to
sandbox_workspace_write.writable_roots so Codex can build and refresh the
index without an approval.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:54 +02:00
Julian lechnerandClaude Opus 5.5 14b9185e86 feat(retrieval): create the data directory on install
Sandboxed clients may write only to data/ and cannot create it themselves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:54 +02:00
Julian lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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 lechnerandClaude 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
Julian lechnerandClaude Opus 5.5 4e4a10604d fix(retrieval): keep multi-word arguments on Windows
os.execv does not quote arguments on Windows, so the hand-off to the virtual
environment split every multi-word --query and search always failed. Run the
runtime with subprocess on Windows instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:13:02 +02:00
Julian lechnerandClaude Opus 5.5 83e921301b fix(test): start exited process portably in lock test
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 19s
CI / Build and inspect generated packages (push) Successful in 16s
CI / PowerShell tests on Ubuntu (push) Successful in 1m6s
CI / Installed client configuration smoke tests (push) Successful in 44s
CI / Bash integration and installation guards (push) Successful in 1m4s
CI / Qwen retrieval integration (push) Successful in 14m22s
Start-Process -WindowStyle is unavailable in PowerShell on Linux, which broke
the CI PowerShell job. Use ProcessStartInfo with CreateNoWindow instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:49:04 +02:00
Julian lechnerandClaude Opus 5.5 b51e6a4211 docs(scripts): document benchmark and context report
CI / CI configuration security checks (push) Successful in 6s
CI / Capabilities and shell quality (push) Successful in 14s
CI / Python tests and compilation (push) Successful in 19s
CI / Build and inspect generated packages (push) Successful in 15s
CI / PowerShell tests on Ubuntu (push) Failing after 43s
CI / Installed client configuration smoke tests (push) Successful in 59s
CI / Bash integration and installation guards (push) Successful in 1m4s
CI / Qwen retrieval integration (push) Canceled after 2m1s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:41 +02:00
Julian lechnerandClaude Opus 5.5 89bee27dd2 feat(benchmarks): add setup versus baseline A/B runner
Run tasks with and without the installed setup and compare pass rate, rework,
duration, tokens, cost, tool calls, and workflow checks; exclude runs that end
with a client or API error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:41 +02:00
Julian lechnerandClaude Opus 5.5 3480072ed7 test(benchmarks): add A/B task fixtures with hidden checks
Ten small Python tasks, each failing on the fixture and passing with a
reference solution, including workflow expectations for a small change, a
bugfix, and a delegable change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:40 +02:00
Julian lechnerandClaude Opus 5.5 b8fd66ce3b feat(benchmarks): report context the clients actually load
Read Claude /context, /skill-doctor, and its init event, and Codex debug
prompt-input, to list categories, active plugins, and installed skills that
are missing or listed without description context.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:39 +02:00