Skip to content

feat!: remove ailoop integration and the ailoop-core dependency - #196

Merged
aroff merged 1 commit into
mainfrom
chore/remove-ailoop
Oct 22, 2026
Merged

aroff merged 1 commit into
mainfrom
chore/remove-ailoop

Conversation

@aroff

@aroff aroff commented Oct 22, 2026

Copy link
Copy Markdown
Owner

Summary

Removes the ailoop integration and its mandatory ailoop-core git dependency.
The upstream goailoop/ailoop repository is no longer publicly fetchable, so
any build that resolves cli-framework failed to fetch ailoop-core
anonymously, even for consumers that never used it.

  • Drop ailoop-core from Cargo.toml and delete src/ailoop.
  • Remove every reference: lib.rs, AppBuilder / App (with_ailoop_channel,
    with_ailoop_config, ailoop_client), DispatchEnv, the chat command and
    runtime, McpHostToolAdapter, and ConfirmationMode::Ailoop in the tool bridge.
  • RiskEnforcer::enforce_preflight loses its ailoop_available parameter.
    Sensitive proceeds when the terminal is interactive or --yes is given;
    Destructive needs ALLOW_DESTRUCTIVE_COMMANDS=1 and an interactive
    terminal. PrefightError docs and the DestructiveNeedsInteractive message
    no longer mention ailoop.
  • Delete the with_ailoop example and the ailoop_websocket integration test
    (and their [[example]] / [[test]] entries).
  • Docs: README, CONTEXT, CONTRIBUTING, AGENTS, and the skill
    (plugins-and-ailoop.md becomes plugins.md; skill version 0.4.0 → 0.5.0).
    ADRs are left as historical records.
  • .cargo/audit.toml: drop the RUSTSEC-2026-0098/0099/0104 ignores. They
    existed only for the rustls-webpki 0.101 that ailoop-core pulled in
    through reqwest 0.11 (chore: bump aikit-sdk and ailoop-core to latest (fix legacy ailoop Question wire format) #51). After this change the lockfile resolves
    rustls-webpki 0.103.16 only.

Release notes

Breaking: the AppBuilder ailoop API is removed (with_ailoop_channel,
with_ailoop_config, App::ailoop_client, the cli_framework::ailoop
module, ChatToolCallOptions::ailoop_client, ConfirmationMode::Ailoop), and
RiskEnforcer::enforce_preflight takes three arguments instead of four. See
CHANGELOG [Unreleased].

Test plan

  • cargo fmt --all -- --check
  • cargo clippy --all-features -- -D warnings
  • cargo test (default, chat, mcp-server, chat,mcp-server)
  • cargo test --features telemetry,config,config-service,mcp-server,api-server,testkit,derive: all pass except two config_backend_file permission tests, which fail only because the local run was as root (permission bits are not enforced); that code is untouched here
  • cargo build --examples
  • cargo build --all-features --release: left to CI
  • cargo tree -i ailoop-core --all-features finds nothing; Cargo.lock has no ailoop entry

Follow-up to #51: the advisory ignores it tracked are no longer needed.


Generated by Claude Code

The upstream goailoop/ailoop repository is no longer publicly fetchable,
so every build resolving cli-framework failed on its mandatory
ailoop-core git dependency.

- Drop ailoop-core and src/ailoop; remove AppBuilder::with_ailoop_channel,
  with_ailoop_config, App::ailoop_client, ChatToolCallOptions::ailoop_client
  and ConfirmationMode::Ailoop.
- RiskEnforcer::enforce_preflight loses its ailoop_available parameter:
  Sensitive proceeds when interactive or --yes; Destructive needs
  ALLOW_DESTRUCTIVE_COMMANDS and an interactive terminal.
- Delete the with_ailoop example and the ailoop_websocket test.
- Drop the cargo-audit ignores that existed only for ailoop-core's
  rustls-webpki 0.101 (#51).
- Update README, CONTEXT, CONTRIBUTING, AGENTS and the skill (0.5.0).

BREAKING CHANGE: the AppBuilder ailoop API and cli_framework::ailoop are
removed; enforce_preflight takes three arguments.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ULw7P2iqqymdGs7U3jpE7b
@aroff
aroff enabled auto-merge (squash) October 22, 2026 17:32
@aroff
aroff merged commit 38a8013 into main Oct 22, 2026
6 checks passed
@aroff
aroff deleted the chore/remove-ailoop branch October 22, 2026 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants