Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ACP compatibility and upstream port

The ACP-only contracts below preserve the decomposed jj-acp port. The maintained Buzz agent is a separate copied implementation, attributed in docs/agent-upstream.md; it is outside the no-verbatim-ACP-source boundary.

Requirements

IDRequirement
LAI-COMPAT-001The upstream port source MUST be pinned by repository, path and commit in docs/upstream-lock.md together with a per-file disposition map.
LAI-COMPAT-002Adopted upstream attribution MUST be recorded in docs/licenses/NOTICE.md, and upstream repository-level agent instructions MUST NOT be copied into this repository.
LAI-COMPAT-003Upstream drift MUST be detectable by a script that materializes the pinned source into ignored scratch storage and verifies recorded digests.
LAI-COMPAT-004The Rust toolchain MUST be pinned and formatting MUST be checked by both the normal and the specification check lanes.
LAI-COMPAT-005Integration tests MUST reach a terminal outcome without a model provider, a network endpoint or a credential.
LAI-COMPAT-006Qualification against a real installed runner MUST be recorded separately and MUST NOT be inferred from fixture-peer tests.
LAI-COMPAT-007Every disposition in the port map MUST be one of ported, ported-with-changes, dropped or not-ported, and a dropped region MUST name the reason.

Pins and drift

docs/upstream-lock.md, docs/upstream/disposition.json and docs/upstream/lock.json retain the original ACP design/port audit against block/buzz at 2664d14316790a57ea44b3f97c57440b70e43436. The Lapis AI import manifest separately pins jj-acp, JJ Store, maintained Buzz and Mesh sources.

node scripts/upstream-sync.mjs --self-test checks the original ACP pin and map offline. Explicit --fetch materializes the pinned source only under .local/upstream and compares its digests. --write changes the recorded lock and requires its own governed review. No normal build needs this source tree. The closed disposition vocabulary remains ported, ported-with-changes, dropped and not-ported. Repository-level upstream agent guidance is never adopted.

The deterministic ACP suite covers framing, configuration, bounded queues, permissions, deadlines, crashes and process cleanup without provider access. Installed cloud adapters remain independently unqualified here. The native Lapis agent and local-model acceptance are recorded separately; the original source’s live Codex/Cursor and JJ Store host evidence is not inherited acceptance.

docs/imports/acp-release-reference.md is historical source context. This new repository has no publication, signing or hosted release qualification.

Cargo publication metadata and coordinated versions follow the release contract. The ACP wire, catalog, session, task and permission contracts remain unchanged by release preparation.

The GitHub ownership transfer updates package documentation links to lapismd/lapis-ai; the owning ACP requirements and runtime behavior are unchanged.