Skip to content

Releases: tiezbro/paseo-agy-acp

2.1.0.0

Choose a tag to compare

@tiezbro tiezbro released this 23 Aug 12:18

2.1.0.0 - 2026-08-23

Changed

  • Switched ACP execution from the PTY/SQLite scraper to the official Google
    agy-acp NDJSON server (Registry id antigravity-acp). The product binary
    stays agy-acp and runs as a thin proxy: it injects Paseo daemon
    appendSystemPrompt, maps session modes, rewrites MCP http servers to
    sse, overlays product identity, and fences Admission around the official
    session/prompt write.
  • Official live modes are default, auto_edit, and yolo. Legacy
    accept-edits maps to auto_edit, dangerously-skip-permissions maps to
    yolo, and plan maps to default because official has no plan mode.
  • Blank official end_turn results with no visible assistant output become a
    JSON-RPC error instead of an empty successful turn.
  • Deleted the scraper kernel. PASEO_AGY_ACP_KERNEL=legacy and
    --legacy-kernel fail closed. The product source stays Apache-2.0; the
    official kernel binary is proprietary and is spawned, not redistributed.
    Set PASEO_AGY_ACP_OFFICIAL_BIN to override the pinned official wrapper.
    Official Admission state is isolated under $AGY_ACP_STATE_DIR/official-kernel.
  • Isolated canary on 127.0.0.1:6768 proved product 2.1.0.0 + official
    kernel + daemon context (ISOLATED_OFFICIAL_KERNEL_CANARY_OK). Production
    127.0.0.1:6767 was not mutated by that canary.
  • Default Admission is 8 shared seats / 8 concurrent starts / 2s start
    interval
    , from production testing (including a 10-agent Antigravity
    dispatch that did not reproduce the scraper hang). The queue stays enabled
    so Paseo → Antigravity delegation stays steadier under burst. Env integers
    ≥ 1 can raise seats/starts for concurrency experiments; this repo does
    not publish a product maximum. Admission schema v3 rebuilds
    policy_state so SQLite no longer carries a leftover upper CHECK from the
    old 1–8 ledger. Isolated 6-way yolo stress on 127.0.0.1:6768 also did not
    reproduce the scraper hang; official ACP is still not proven unlimited.
    Optional AGY_ACP_ADMISSION_MAX_ACTIVE_TURNS=3 and
    AGY_ACP_ADMISSION_MAX_CONCURRENT_STARTS=1 remain a tighter fence, not the
    default.

Unchanged

  • Production Paseo daemon 127.0.0.1:6767 was not restarted. After the
    8/8 Admission raise, /home/tiezbro/.local/bin/agy-acp was retargeted to
    /home/tiezbro/.local/opt/paseo-agy-acp-2.1.0.0-20260823T112457Z/bin/agy-acp-production
    with a fresh ledger at
    /home/tiezbro/.local/state/paseo-agy-acp/production-official-8 so the
    durable 3+1 fingerprint cannot fail-close the new policy. The default Paseo
    antigravity provider still runs that symlink. antigravity-official-canary
    is disabled so production is not split. Idle Antigravity agents pick up 8/8
    on the next spawn; live Cursor/Claude agents were left running.
  • Stage 2 Scheme pointers and the 2.0.0.0 closeout facts below are unchanged.

paseo-agy-acp v2.0.0.1

Choose a tag to compare

@tiezbro tiezbro released this 17 Aug 11:02

Why v2.0

Admission Controller v2 addresses the concurrency failure pattern reported in the official Antigravity CLI tracker at google-antigravity/antigravity-cli#573: agy -p can hang under sustained neighboring CLI concurrency even when solo and lighter runs succeed. This is a bounded Paseo-side mitigation; no Google endorsement is claimed.

Highlights

  • Coordinates all local Paseo agents through a durable account-wide queue with three shared active seats, one serialized start permit, a two-second minimum start interval, FIFO eligibility, and agent fairness.
  • Recovers capacity through durable leases, process identity, owner-death handling, startup recovery, and a runtime reaper without guessing that a live process is dead.
  • Adds soft drain from three seats to one, provider/model-scoped capacity cooldown, atomic queue timeout/cancel settlement, and typed terminal outcomes.
  • Fences the one-shot business write so ambiguous dispatch becomes durable recovery state and is never silently replayed.
  • Hardens native conversation binding, provider terminal failure handling, Claude effort selection, and secure 0700 Admission state preflight.
  • Expands both English and Chinese README documentation with the queue model, operational advantages, conservative policy controls, and validation boundary.

Verification

  • npm run validate: 58 test files passed; 626 tests passed, 2 skipped; architecture and secret scans passed.
  • Fresh 2.0.0.1 tarball installation passed package version, public-entry import, CLI bin, native PTY, ACP initialize, and secure state-mode checks.
  • Production-candidate acceptance on 127.0.0.1:6767 passed real Gemini and Claude turns, stable 3 active + 1 queued FIFO handoff, and an additional six-request mixed-provider pressure run.
  • Nine additional agy 1.1.13 Claude probes completed through the production queue; final ledger state was zero leases and zero retained payloads, SQLite integrity passed, and no OOM or candidate process remained.

Provider capacity evidence boundary

The final agy 1.1.13 pressure window did not emit a live capacity 503. Historical native agy 1.1.12 logs establish the trusted 503 UNAVAILABLE carrier, while deterministic tests verify the current classifier and provider/model cooldown boundary. Unknown or untrusted failures continue to fail closed without creating a capacity cooldown.

Artifact

  • paseo-agy-acp-2.0.0.1.tgz
  • SHA-256: 0131ee7497f60c749a87709a1daeda398cbb92a9972b51d19e3f2e2d1cecaa43

paseo-agy-acp v2.0.0.0

Choose a tag to compare

@tiezbro tiezbro released this 16 Aug 13:22

Highlights

  • Adds the durable shared Admission Controller with schema v2, cross-process policy consistency, soft drain, bounded owner recovery, and runtime lease reaping.
  • Routes production prompt dispatch through durable intent and exactly-once terminal handling, including typed timeout, provider failure, cancellation, and recovery outcomes.
  • Preserves interactive Antigravity permissions while enforcing enabled-mode auth gates and safe prompt fencing.
  • Makes the built package entry importable and keeps provider/model discovery available before Paseo assigns the final agent identity.
  • Stabilizes first-turn delivery on a fresh Antigravity PTY by waiting for authentication and model redraws to settle before the single fenced prompt write.

Verification

  • 56 test files passed: 611 passed, 2 skipped.
  • Architecture boundaries and secret scan passed.
  • A locally built 2.0.0.0 tarball passed fresh-prefix installation, public-entry import, CLI EOF, and native PTY smoke tests.
  • The exact installed tarball completed a real isolated Antigravity gemini-3.1-pro Admission canary on 127.0.0.1:6768 with response STAGE4_ADMISSION_CANARY_OK; the durable request reached completed and released its lease.
  • Existing production 127.0.0.1:6767 connectivity was separately confirmed without switching or modifying the active production connector.

Known limitation

Trusted provider-capacity/503 classification remains deliberately gated until a source-verifiable Provider signal exists. Unknown or untrusted capacity errors continue to fail closed and do not create a cooldown.

paseo-agy-acp v1.0.0.4

Choose a tag to compare

@tiezbro tiezbro released this 07 Aug 05:04

Fixed

  • Suppress the connector posthoc completed-edit approval bridge when the active Antigravity session mode is dangerously-skip-permissions. This keeps Paseo unattended runs fully unattended after Antigravity has already applied an edit through agy --dangerously-skip-permissions.
  • Parse tab-separated agy models output as modelId<TAB>display name and pass the exact provider-native model id to Antigravity. This prevents display labels such as Gemini 3.6 Flash (High) from being folded into the model id and avoids sending unsupported --effort flags for exact variant ids.

Verification

  • npx vitest run tests/cli.test.ts --testNamePattern "posthoc edit review|dangerous permission bypass" — passes.
  • npx vitest run tests/acp-server.test.ts tests/cli.test.ts --testNamePattern "tab-separated|exact tab-list|modern stable model slugs|passes --effort|parseAgyModels|dangerous permission bypass" — passes.
  • Full suite: env -u PASEO_AGENT_ID -u PASEO_AGENT_CWD -u PASEO_HOME npm test — 386 passed, 1 skipped.
  • env -u PASEO_AGENT_ID -u PASEO_AGENT_CWD -u PASEO_HOME npm run build — passes.

Canary

Fresh Paseo Antigravity write canary passed with gemini-3.1-pro, thinking high, mode dangerously-skip-permissions, Status=idle, PendingPermissions=[], and the expected file content written.

paseo-agy-acp v1.0.0.3

Choose a tag to compare

@tiezbro tiezbro released this 07 Aug 05:04

Changed

  • Add bilingual README navigation.
  • Refresh the provider feature table and public-facing project documentation.

paseo-agy-acp v1.0.0.2

Choose a tag to compare

@tiezbro tiezbro released this 07 Aug 05:04

Added

  • Expose Antigravity CLI native unattended permission bypass as ACP mode id dangerously-skip-permissions.
  • Map that mode directly to agy --dangerously-skip-permissions; no custom full-access alias is introduced.
  • Support /mode dangerously-skip-permissions and common operator aliases such as /mode yolo.

Changed

  • When agy-acp itself is launched with --dangerously-skip-permissions, the initial ACP mode is reported as dangerously-skip-permissions.
  • Switching away from dangerously-skip-permissions through ACP mode/config selection disables the bypass for later turns.

Verification

  • env -u PASEO_AGENT_ID -u PASEO_AGENT_CWD -u PASEO_HOME npm test — 383 passed, 1 skipped.
  • env -u PASEO_AGENT_ID -u PASEO_AGENT_CWD -u PASEO_HOME npm run build — passes.

paseo-agy-acp v1.0.0.1

Choose a tag to compare

@tiezbro tiezbro released this 07 Aug 05:04

Fixed

  • Treat PASEO_HOME as optional when reading Paseo daemon context.
  • Fall back to ~/.paseo when PASEO_AGENT_ID is present and PASEO_HOME is unset or empty.

Why it matters

This restores Paseo daemon append-system-prompt visibility for Antigravity connector processes started with the default Paseo home.