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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Claude discovers only skills/<name>/SKILL.md, so 84 nested skills, including
all rule skills, were invisible. Flatten the categorized catalog for Claude,
keep references, and fail the build on duplicate names or a name that differs
from its directory.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Read client output on a thread with a deadline so a silent or exited client
fails instead of hanging, and fail on a missing CLI when
AI_CONFIG_REQUIRE_CLIENTS=1.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Set CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS=5 and
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 so Claude matches the Codex agent
limits and subagents cannot start further subagents.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Install a generated package into a temporary home with foreign settings, then
ask the real Claude and Codex CLIs which skills, agents, and hooks they
discover. No model request completes. The Claude skill check currently fails
because Claude does not discover nested package skills.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Remove only setup-owned hook entries from a hook group and keep foreign
entries with their group options, such as matcher.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows PowerShell pipes re-encode text by console code page: under code page
65001 a BOM broke the config.toml merge, and otherwise non-ASCII characters
became question marks. Pass managed and merged content through files, and
decode piped input as utf-8-sig.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Where the Claude sandbox is enabled, permit network access to
mcp.context7.com only, and validate that exact shape.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Drop the debugging, implementation-planner, code-review, and
regression-verification skills so Superpowers owns these triggers without
competing descriptions. Focused domain skills remain.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep foreign tables such as mcp_servers and model_providers during config
synchronization instead of dropping them; only setup-owned keys are replaced.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>