Commit Graph
28 Commits
Author SHA1 Message Date
Julian lechner 83091d247a fix(instructions): add startup rule only for existing custom instructions 2026-10-08 15:16:07 +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 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 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 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 96313f4056 feat(install): lock destinations during sync
Create <destination>/.ai-config.lock exclusively while syncing so parallel
installs or updates fail instead of interleaving writes. A lock left by an
exited process of the same shell on the same host is replaced.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:39 +02:00
Julian lechnerandClaude Opus 5.5 d4143ae2ac fix(install): replace all managed files atomically
Write config.toml, settings.json, the manifest, and every other managed file to
a temporary sibling and rename it over the target, so an interrupted run
cannot leave a partly written file. Previously only SKILL.md was replaced
this way.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:45:38 +02:00
Julian lechner 8e4aa0523e fix(install): keep skill backups undiscoverable 2026-09-30 17:07:33 +02:00
Julian lechner 17e8be13b7 fix(update): retain custom config keys 2026-09-30 09:27:48 +02:00
Julian lechner 3973ed48f3 fix(update): preserve unmanaged client settings 2026-09-30 09:22:55 +02:00
fraujulian 6a1730c6ec fix(ci): resolve Linux and summary checks
CI / Capabilities and shell quality (push) Successful in 13s
CI / Python tests and compilation (push) Successful in 14s
CI / PowerShell tests on Ubuntu (push) Failing after 17s
CI / CI configuration security checks (push) Successful in 3s
CI / Build and inspect generated packages (push) Failing after 9s
CI / Bash integration and installation guards (push) Skipped
CI / Installed client configuration smoke tests (push) Skipped
CI / Qwen retrieval integration (push) Successful in 14m48s
2026-09-25 07:10:26 +00:00
fraujulian ee19c64beb feat(install): configure custom status line 2026-09-24 22:58:56 +02:00
Julian lechner 438b1656ed fix(manifest): reject unsafe paths and links 2026-09-24 17:08:31 +02:00
Julian lechner 62513b6858 fix(manifest): preserve substituted file newlines 2026-09-24 17:08:30 +02:00
Julian lechner db499bff81 fix(manifest): preserve spaces in Bash paths 2026-09-24 17:08:30 +02:00
Julian lechner 60205169f4 fix(manifest): clarify dynamic shell references 2026-09-17 23:02:36 +02:00
Julian lechner 561e010c41 fix(install): migrate duplicate skills and resolve concurrency tokens 2026-09-17 15:27:02 +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 7c6d7c610f fix(manifest): preserve Bash model settings
CI / linux (push) Failing after 5s
2026-09-17 14:03:20 +02:00
Julian lechner 65eee69fb9 fix(codex): preserve local model settings 2026-09-17 13:00:20 +02:00
Julian lechner 13594fb401 fix(update): preserve local model and effort 2026-09-17 11:45:00 +02:00
fraujulian 9a2a606410 feat(update): persist interactive install choices 2026-09-16 22:43:33 +02:00
fraujulian c749fcd792 fix(install): preserve codex plugin registrations during sync 2026-09-16 19:18:22 +02:00
Julian lechner 453da10b61 feat(output): summarize managed file sync 2026-09-16 16:53:28 +02:00
Julian lechner 18b6a7e390 feat(scripts): add summary mode to managed-file sync
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-09-16 14:24:39 +02:00
Julian lechnerandClaude Sonnet 5 0ae373c202 fix(installer): tolerate BOM, CRLF, and uppercase in older manifests (Bash)
Bash's manifest reader stripped only the trailing newline, so a
CRLF-terminated manifest left a stray \r on every hash, a UTF-8 BOM on the
header line was folded into the "path" field, and an uppercase hash never
matched sha256sum's lowercase output. Reproduced against a real
manifest written by an earlier version of the PowerShell installer, where
every single managed file was misreported as locally modified.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 16:07:27 +02:00
Julian lechnerandClaude Sonnet 5 1163f6d96e fix: mark shell scripts executable in git
All tracked .sh files were stored as mode 100644 (non-executable), even
though the CI workflow and normal usage invoke several of them directly
(./scripts/build.sh) rather than through `bash`. On a fresh Linux
checkout this fails with a permission error.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 16:06:37 +02:00
Julian lechnerandClaude Sonnet 5 80cff169f4 feat(installer): add managed-file manifest module (Bash)
Bash equivalent of the PowerShell manifest module: sync_managed_destination
plus its read/write/hash helpers, using sha256sum and a TSV manifest so
the same idempotent-install, stale-detection, and local-modification
protection behavior is available without a PowerShell dependency.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 15:42:53 +02:00