Commit Graph
100 Commits
Author SHA1 Message Date
Julian lechnerandClaude Sonnet 5 5b768e0aed test(build): cover unknown Claude tool name in PowerShell build validation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:54 +02:00
Julian lechnerandClaude Sonnet 5 99c345f551 feat(build): fail configuration validation on unknown Claude tool names
Check every generated agent's tools frontmatter against the set of real
Claude Code tool names, so an unrecognized name fails validate-config.py
(and therefore the build) instead of silently shipping a broken agent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:48 +02:00
Julian lechnerandClaude Sonnet 5 4da6950062 feat(build): resolve shell-specific agent tool placeholder in Bash build
Mirror the PowerShell build's __SHELL__ resolution so both entry points
stay behaviorally equivalent.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:41 +02:00
Julian lechnerandClaude Sonnet 5 0f387b7df2 feat(build): resolve shell-specific agent tool placeholder in PowerShell build
Replace __SHELL__ in each generated Claude agent's tools field with
PowerShell or Bash depending on the package being built, so a role that
needs shell execution only gets the one matching its target shell.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:34 +02:00
Julian lechnerandClaude Sonnet 5 4374c69caa fix(claude-agents): map agent capabilities to real Claude Code tool names
Search, Diff, Shell, and Tests are not valid Claude Code tools, so every
generated subagent silently launched with a broken or empty tool set. Map
each role to the tools its own prompt actually needs, and use a __SHELL__
placeholder so build resolves it to the target package's own shell tool
instead of granting both Bash and PowerShell unconditionally.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-18 09:31:27 +02:00
Julian lechner 4408f23c68 chore(shellcheck): annotate nameref inputs
CI / linux (push) Successful in 6s
2026-09-17 23:04:44 +02:00
Julian lechner c4676e9a2f chore(shellcheck): allow shared script globals 2026-09-17 23:04:24 +02:00
Julian lechner 110842b9a4 refactor(shell): remove unused local fields 2026-09-17 23:04:05 +02:00
Julian lechner fd707539d5 refactor(hooks): drop unused workspace variable 2026-09-17 23:03:44 +02:00
Julian lechner 953eb34e21 fix(retrieval): declare Bash interpreter 2026-09-17 23:03:23 +02:00
Julian lechner 670c907375 fix(plugins): clarify indirect shell fields 2026-09-17 23:02:59 +02:00
Julian lechner 60205169f4 fix(manifest): clarify dynamic shell references 2026-09-17 23:02:36 +02:00
Julian lechner c2a79cf415 fix(statusline): delimit ANSI escape variables 2026-09-17 23:01:43 +02:00
Julian lechner f7230dd84f ci: refresh pinned GitHub actions 2026-09-17 23:00:43 +02:00
Julian lechner 1bc59ca881 perf(retrieval): gate semantic repository search 2026-09-17 23:00:18 +02:00
Julian lechner fe9ca9552f test(config): enforce sandbox defaults 2026-09-17 23:00:01 +02:00
Julian lechner fb926e9877 feat(claude): enable strict command sandbox 2026-09-17 22:59:33 +02:00
Julian lechner b7bac4c9cc feat(codex): constrain sandbox and agent depth 2026-09-17 22:59:13 +02:00
Julian lechnerandClaude Sonnet 5 b77114ad90 docs(readme): document the npm CLI reinstall install option
Explains the new "Uninstall Codex/Claude/Both and reinstall via npm?"
install-time prompt, its npm package mapping, and its dry-run behavior.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:59 +02:00
Julian lechnerandClaude Sonnet 5 dc71fb4cc4 test(install-options): feed the new reinstall prompt answer
The entrypoint test now supplies a fourth answer for the "Uninstall
... and reinstall via npm?" prompt install.ps1/install.sh ask after
the existing three install options.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:49 +02:00
Julian lechnerandClaude Sonnet 5 5ae8e0cff5 feat(install): wire the npm CLI reinstall prompt (Bash)
install.sh now asks whether to uninstall and reinstall the selected
client CLI(s) via npm, using the helpers added to install-options.sh.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:43 +02:00
Julian lechnerandClaude Sonnet 5 8379e29eb6 feat(install): wire the npm CLI reinstall prompt (PowerShell)
install.ps1 now asks whether to uninstall and reinstall the selected
client CLI(s) via npm, using the helpers added to install-options.ps1.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:39 +02:00
Julian lechnerandClaude Sonnet 5 ed8dd89ba7 feat(install-options): add npm CLI reinstall helpers (Bash)
global_npm_package, cli_npm_package, read_cli_reinstall_option, and
invoke_cli_reinstall are the Bash equivalent of the PowerShell npm
reinstall helpers. Not wired into install.sh yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:34 +02:00
Julian lechnerandClaude Sonnet 5 6c3538f888 feat(install-options): add npm CLI reinstall helpers (PowerShell)
Test-GlobalNpmPackage, Get-CliNpmPackage, Read-CliReinstallOption, and
Invoke-CliReinstall let install.ps1 offer uninstalling and reinstalling
a client CLI through npm. Not wired into install.ps1 yet.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:29 +02:00
Julian lechnerandClaude Sonnet 5 769af0d206 docs(readme): document the uninstall script
Adds an Uninstall section describing usage, the confirmation guard,
and its removal/backup semantics, and mentions it in the feature list.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:23 +02:00
Julian lechnerandClaude Sonnet 5 6bf3cc63d7 feat(uninstall): add uninstall.sh script
Bash equivalent of uninstall.ps1: removes managed files, extension/
skill ledger entries, semantic retrieval, and the saved Quickupdate
selection for a selected client.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:48:03 +02:00
Julian lechnerandClaude Sonnet 5 942288eeda feat(uninstall): add uninstall.ps1 script
Removes managed files, extension/skill ledger entries, semantic
retrieval, and the saved Quickupdate selection for a selected client,
reusing the same manifest-sync backup and warn-and-retain semantics as
install and update.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-17 21:47:59 +02:00
Julian lechner bb5ff39f03 fix(codex): extend retrieval timeout
CI / linux (push) Successful in 6s
2026-09-17 17:53:21 +02:00
Julian lechner fd58b5c198 feat(retrieval): install CUDA runtime 2026-09-17 17:52:56 +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 0a964ad0bc fix(ci): tolerate missing PowerShell in Gitea runner
CI / linux (push) Successful in 7s
2026-09-17 16:10:48 +02:00
Julian lechner e0aa4106d5 fix(ci): tolerate missing PowerShell in act
CI / linux (push) Failing after 3s
2026-09-17 16:05:39 +02:00
Julian lechner 68d51896ef ci: add workflow security checks
CI / linux (push) Failing after 4s
2026-09-17 16:02:24 +02:00
Julian lechner a1429c225b ci: test integrations and Qwen retrieval 2026-09-17 16:02:24 +02:00
Julian lechner 6d2769415e ci: validate generated packages 2026-09-17 16:02:23 +02:00
Julian lechner c5d0ae0077 ci: test PowerShell on Ubuntu 2026-09-17 16:02:23 +02:00
Julian lechner fcc1f4d249 ci: run Python tests and validation 2026-09-17 16:02:23 +02:00
Julian lechner bda123d4c1 ci: add shell quality checks 2026-09-17 16:02:22 +02:00
Julian lechner c88e683c6d ci: define Ubuntu workflow triggers and permissions 2026-09-17 16:02:22 +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 5dbb1b21b4 feat(budget): include installed and cached skill inventories 2026-09-17 15:27:04 +02:00
Julian lechner b7842234c0 feat(prompts): inventory skill metadata and duplicate names 2026-09-17 15:27:03 +02:00
Julian lechner 6ce4fcc848 fix(scripts): forward retrieval summary options in both shells 2026-09-17 15:27:03 +02:00
Julian lechner 5ca0dcfb53 fix(retrieval): suppress dry-run details in summary mode 2026-09-17 15:27:02 +02:00
Julian lechner 561e010c41 fix(install): migrate duplicate skills and resolve concurrency tokens 2026-09-17 15:27:02 +02:00
Julian lechner 975e1fd5f0 fix(install): copy canonical skills before legacy migration 2026-09-17 15:27:02 +02:00
Julian lechner 14940cc118 fix(doctor): allow install-time concurrency placeholders 2026-09-17 15:27:01 +02:00
Julian lechner 55c80ab9de fix(build): reject unknown tokens beside allowed placeholders 2026-09-17 15:27:01 +02:00
Julian lechner a182b9c5c7 docs: document qwen3 reranking feature
CI / linux (push) Failing after 3s
2026-09-17 14:38:23 +02:00
Julian lechner 121c004100 ci: add ubuntu build and test workflow 2026-09-17 14:37:18 +02:00
Julian lechner e74366f19a fix(config): validate codex settings and allow claude concurrency override 2026-09-17 14:37:18 +02:00
Julian lechner 8274d7d52d perf(prompt): reduce permanent instruction context 2026-09-17 14:37:18 +02:00
Julian lechner 7c6d7c610f fix(manifest): preserve Bash model settings
CI / linux (push) Failing after 5s
2026-09-17 14:03:20 +02:00
Julian lechner 92fbcc8114 fix(manifest): preserve PowerShell model settings 2026-09-17 14:03:00 +02:00
Julian lechner 8c7ede54a6 docs: describe review status displays
CI / linux (push) Failing after 3s
2026-09-17 13:22:55 +02:00
Julian lechner 83929e856f feat(statusline): show review mode 2026-09-17 13:22:42 +02:00
Julian lechner 3ddf2756c2 docs: describe shared rule manifest 2026-09-17 13:16:35 +02:00
Julian lechner d308bc037e refactor: share rule skill manifest 2026-09-17 13:16:24 +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 d01b819b02 chore(retrieval): describe reranking setup 2026-09-17 13:07:57 +02:00
Julian lechner 727c499d2c feat(retrieval): rerank semantic search results 2026-09-17 13:07:47 +02:00
Julian lechner 2975619da8 docs: clarify shared rule manifest 2026-09-17 13:02:43 +02:00
Julian lechner 6420e54e4e perf(codex): remove Impeccable hooks 2026-09-17 13:00:37 +02:00
Julian lechner 84fcb0f583 chore: refresh prompt budget baseline 2026-09-17 13:00:29 +02:00
Julian lechner 65eee69fb9 fix(codex): preserve local model settings 2026-09-17 13:00:20 +02:00
Julian lechner 64fb27f539 ci: streamline validation workflow 2026-09-17 13:00:06 +02:00
Julian lechner 381f99ea54 docs(readme): note preserved Codex settings
CI / linux (push) Failing after 4s
CI / compatibility-canary (push) Skipped
2026-09-17 11:47:24 +02:00
Julian lechner 8ab180c73a docs(configuration): describe status and local settings 2026-09-17 11:47:07 +02:00
Julian lechner 83401a4732 docs(plugins): document QMD integration 2026-09-17 11:46:36 +02:00
Julian lechner 4f6ac68e0c feat(statusline): show Codex permission mode 2026-09-17 11:46:06 +02:00
Julian lechner f07aaf8f63 feat(qmd): add managed extension integration 2026-09-17 11:45:41 +02:00
Julian lechner 1b64c54fda feat(instructions): guide semantic retrieval 2026-09-17 11:45:16 +02:00
Julian lechner 13594fb401 fix(update): preserve local model and effort 2026-09-17 11:45:00 +02:00
Julian lechner 7572ec40d9 fix(hooks): run Impeccable hook on Windows 2026-09-17 11:44:36 +02:00
Julian lechner 79d981e78b fix(retrieval): order Claude MCP arguments 2026-09-17 09:21:45 +02:00
Julian lechner b67eb844bc docs(retrieval): document optional local layer 2026-09-17 09:17:46 +02:00
Julian lechner aaf3a183f4 feat(install): reconcile retrieval runtime 2026-09-17 09:17:20 +02:00
Julian lechner 27f1c1ec79 feat(retrieval): add optional Qwen semantic layer 2026-09-17 09:16:53 +02:00
Julian lechner bfbe001248 feat(selection): persist retrieval preference 2026-09-17 09:16:05 +02:00
Julian lechner 151306a6cc fix(capabilities): check shell and tool requirements 2026-09-17 09:15:37 +02:00
Julian lechner 0079fe2b92 docs(ci): document and run capability checks 2026-09-17 08:43:21 +02:00
Julian lechner 5c23f21586 feat(capabilities): add strict shell checks 2026-09-17 08:43:12 +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 be87628d67 feat(plugins): record resolved extension revisions 2026-09-17 08:32:17 +02:00
Julian lechner 8ae8e7a173 feat(review): standardize finding scope and severity 2026-09-17 08:32:08 +02:00
Julian lechner ea2c80817b feat(agents): generate capabilities and rule loading 2026-09-17 08:31:58 +02:00
Julian lechner 3fad860256 ci: cover bash and powershell on linux 2026-09-17 08:31:47 +02:00
Julian lechner 2c3e63ed29 feat(prompt-budget): enforce absolute context caps 2026-09-17 08:31:38 +02:00
Julian lechner 1d77feeb71 fix(plugins): correct impeccable selector 2026-09-17 08:31:28 +02:00
Julian lechner 5ef3bc5525 docs(readme): use clone in quickstart 2026-09-17 08:31:17 +02:00
Julian lechner c6c8bf7105 feat: add keyboard plugin selection
CI / linux (push) Failing after 11s
2026-09-16 17:37:53 +02:00