Skip to content

feat(agents): bump pi-acp release pin to 0.0.32 - #686

Open
ChristianLuciani wants to merge 1 commit into
iOfficeAI:mainfrom
ChristianLuciani:feat/bump-pi-acp-0.0.32
Open

feat(agents): bump pi-acp release pin to 0.0.32#686
ChristianLuciani wants to merge 1 commit into
iOfficeAI:mainfrom
ChristianLuciani:feat/bump-pi-acp-0.0.32

Conversation

@ChristianLuciani

@ChristianLuciani ChristianLuciani commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Bump the ACP Registry npx release pin for Pi from pi-acp@0.0.31pi-acp@0.0.32 in crates/aionui-runtime/resources/acp-registry-npx-lock.json.
  • Runtime still resolves DB args ["-y","pi-acp"] to the locked version via pin_registry_npx_args (migration 025 left args unversioned on purpose).
  • Migration 029: advertise session_capabilities.delete: {} on the Pi builtin row so seeded agent_capabilities match the live ACP handshake from pi-acp#76 (released in v0.0.32).

This unblocks AionUi users of the builtin Pi agent from getting session/delete (and the rest of the 0.0.32 fixes) without manual agent setup.

Why not edit migration 023?

Historical seed stays intact. The pin of record is the release lock; DB command/args remain the stable package identity.

Behavior notes from pi-acp 0.0.32 (for QA)

Beyond session/delete:

  • Startup info can include project-level packages in the extensions list
  • Bash tools render as terminals in ACP clients
  • Extension notifications can carry severity via _meta

The long “available skills” list on first turn is intentional pi-acp startup info (disable with quietStartup: true in pi settings), not an AionUi bug.

Test plan

  • cargo test -p aionui-runtime registry_npx_lock
  • cargo test -p aionui-db --test pi_acp_agent_migration
  • cargo test -p aionui-ai-agent --lib resolve_agent_command_spec_flattens_bare_npx_command
  • cargo test -p aionui-ai-agent --lib manual_check_persists_command_not_found
  • cargo fmt --all -- --check
  • cargo clippy -p aionui-runtime -p aionui-db -- -D warnings
  • CI green on this draft
  • Optional: live smoke against npx -y pi-acp@0.0.32 + Pi CLI handshake

Related

Thanks for maintaining AionCore — happy to adjust the migration or PR shape if you prefer a lock-only change.

Ship pi-acp v0.0.32 (session/delete, svkozak/pi-acp#76) through the
ACP Registry npx lock. DB args stay unversioned; runtime injects the
pinned package. Also advertise session_capabilities.delete on the Pi
builtin row so seeded metadata matches the live handshake.
@ChristianLuciani
ChristianLuciani marked this pull request as ready for review July 25, 2026 17:46
@kaizhou-lab

Copy link
Copy Markdown
Contributor

Thanks for the contribution — the pi-acp 0.0.32 findings here are solid. We independently re-probed pi-acp@0.0.32 today: initialize ok, session/new returns a cleanly classified auth-required error, and the handshake indeed advertises sessionCapabilities.delete.

Two notes on how this lands on our side:

  1. The pin bump is now covered by chore(acp): bump registry npx lock to probed versions #695, which syncs all 8 drifted Registry pins (including pi-acp 0.0.31 -> 0.0.32) with fresh ACP probe evidence, and updates the same three lock-derived test assertions this PR touches.

  2. On migration 029: we'd prefer to keep release-pin updates lock-only by design. agent_capabilities is refreshed at runtime from the live handshake — initialize/session/new results are written back to the catalog row through the registry's catalog-sync path — so the seeded value is bootstrap-only and self-heals on the first real connect with 0.0.32. Coupling migrations to upstream capability deltas doesn't scale: this sync alone bumped 8 packages, and the seed would still drift for any bump that skips its migration. So we'd rather not take the migration or its test.

Given that, we suggest closing this PR in favor of #695 — the pi bump lands there, and the delete capability is picked up automatically on first handshake. Sorry for the overlap: your PR predates #695 by two days, and the probe evidence here matches ours exactly.

kaizhou-lab added a commit that referenced this pull request Jul 28, 2026
## Summary

Scheduled ACP Registry version sync. Bumps 8 of 11 pinned Registry npx
packages in `crates/aionui-runtime/resources/acp-registry-npx-lock.json`
to the versions currently published on the ACP Registry. Every bump is
backed by a fresh ACP probe of the exact pinned version before the lock
change, per the release-lock policy (probe evidence required; versions
never stored in `agent_metadata`).

| backend | package | old | new | initialize | session/new |
|---|---|---|---|---|---|
| dimcode | dimcode | 0.2.31 | 0.2.36 | ok (agentInfo 0.2.36) | auth
required (-32000, provider credentials) |
| dirac | dirac-cli | 0.4.17 | 0.4.27 | ok (agentInfo 0.4.27) | success
(plan/act modes) |
| glm-acp-agent | glm-acp-agent | 1.1.4 | 1.3.0 | ok | success (modes,
models, thought_level option) |
| grok | @xai-official/grok | 0.2.102 | 0.2.112 | ok (capabilities +
authMethods; adapter omits agentInfo) | auth required (-32000) |
| kilo | @kilocode/cli | 7.4.11 | 7.4.16 | ok (agentInfo 7.4.16) |
success (model/effort/mode config options) |
| nova | @compass-ai/nova | 1.1.27 | 1.1.29 | ok (agentInfo kore-cli) |
auth required (-32000, terminal-setup authMethods) |
| pi | pi-acp | 0.0.31 | 0.0.32 | ok (agentInfo 0.0.32) | auth required
(-32000, terminal-login authMethods) |
| sigit | @smbcloud/sigit | 1.4.1 | 1.5.0 | ok (agentInfo 1.5.0) |
success (local-inference model options) |

No drift: autohand 0.2.1, codebuddy 2.106.7, deepagents 0.1.7. Drifted
but not upgraded: none of the audited snapshot — all 8 passed probes.

## Registry snapshot

- Audit source: ACP Registry CDN `registry/v1/latest/registry.json`,
fetched 2026-07-27 ~12:35 UTC. All 11 pinned package versions match the
tagged snapshot
[`v2026.07.27-6a4e802`](https://cdn.agentclientprotocol.com/registry/v1/v2026.07.27-6a4e802/registry.json),
the newest release of `agentclientprotocol/registry` at audit time.
- CDN tagged paths, CDN `latest`, and GitHub release assets are
published from the same build artifact by the registry's
`build-registry.yml` (verified: the `registry.json` release asset of
`v2026.07.27-888cd13` is SHA-256-identical to both CDN copies).
- Post-audit drift: `dirac-cli` has since moved 0.4.27 -> 0.4.28
(release `v2026.07.27-888cd13`, published 22:56 UTC). Intentionally not
bumped here — no probe evidence for 0.4.28 in this PR; the next
scheduled sync will pick it up.

## Changes

- Lock file: 8 version bumps (release lock only; no metadata or
migration changes).
- `registry_npx_lock.rs`, `factory/acp.rs`,
`services/availability/mod.rs`: lock-derived test assertions for the pi
pin updated 0.0.31 -> 0.0.32. The `npx_cache_repair.rs` fixtures
intentionally keep their literal version inputs — they assert cache-hash
derivation from given strings, not lock state.

## Validation

- `cargo test -p aionui-runtime` — pass
- `cargo test -p aionui-ai-agent` — pass (779 unit tests + integration
suites)
- Full `just push` gate (migration check, lint, fmt, `cargo nextest run
--workspace`) — pass
- Note: the first gate run failed on `aionui-system
sysinfo::tests::test_env_override_log_dir` because the dev host app
injects `AIONUI_LOG_DIR=~/Library/Logs/AionUi-Dev`, whose case-sensitive
path does not contain `aionui`. Verified as a pre-existing environment
sensitivity via an A/B single-test run (fails with the injected var,
passes without); the gate was re-run with that variable unset. Not
addressed in this PR.

## Logging

No logging changes: lock-only version bumps; existing startup/session
error paths already identify a failing agent by backend.

## Related

- Overlaps #686 (external PR, pi-acp 0.0.31 -> 0.0.32): the pin bump and
the same three lock-derived assertion updates land here. We suggested
closing #686 in its comments — its migration 029 (seeding
`session_capabilities.delete`) is not needed because
`agent_capabilities` is runtime-synced from the live ACP handshake;
release-pin updates stay lock-only by design.

Co-authored-by: zk <>
@ChristianLuciani

Copy link
Copy Markdown
Contributor Author

Thanks for the detailed review and for picking up the pi-acp bump in #695 — the lock-only approach makes complete sense. We had not fully appreciated that agent_capabilities self-heals from the live ACP handshake via the catalog-sync path; coupling migrations to upstream capability deltas indeed does not scale, and we will follow that pattern going forward.

Closing in favor of #695. Appreciate the patience with the overlap — glad the probe evidence matched exactly.

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