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

Verification

IDStatusEvidence
AIC-CORE-001Implementedsrc/persistence/store.test.ts; src/domain/engine.test.ts
AIC-CORE-002Implementedsrc/domain/engine.test.ts; workspace identifier serialization
AIC-CORE-003ImplementedContinuation regressions cover idempotent linked attempts, new instructions, verified progress, exact ownership and rejection of uncertain execution or tool effects. src/persistence/store.test.ts; conservative unknown and interruption states
AIC-CORE-004Implementedsrc/persistence/store.test.ts; src/transport/server.test.ts
AIC-CORE-005Implementedsrc/persistence/store.test.ts; private command, output, preparation, tool payloads and diagnostic exceptions
AIC-CORE-006Implementedsrc/service.test.ts; src/persistence/store.test.ts; src/runtime.test.ts restricted reattachment; execution ACP identity/session-boundary tests; ACP configure helper tests keep host-invented unsupported thinking non-fatal and fail closed only for requested fields; transport server read/write capture callback ordering and disconnect tests
AIC-CORE-007Implementedsrc/execution/acp-worker-pool.test.ts covers global LRU, busy protection, idle expiry and cancellation; src/execution/acp.test.ts verifies retained same-thread execution; domain integration reserves before preparation and releases in the turn-finalization path.
AIC-CORE-008Implementedsrc/execution/opencode-models.test.ts covers connected-provider-only model discovery against a large disconnected catalogue; src/execution/opencode.test.ts covers session-scoped SSE output and permission deduplication; src/execution/opencode-server.ts owns authenticated loopback process lifecycle and src/cli/config.ts validates the separate driver.
AIC-CORE-009Implementedsrc/execution/opencode.test.ts covers premature stream failure and shared-capacity idle eviction; src/execution/acp-worker-pool.test.ts covers expiry and busy-worker protection.
AIC-CORE-010Implementedsrc/execution/native-approval-policy.test.ts covers exact Codex and OpenCode mappings plus the OpenCode automatic fallback envelope. src/execution/codex-runtime-policy.test.ts verifies the Codex app-server wire values. ACP, Codex and OpenCode provider policy tests cover forwarding, native status and warm-session replacement.
AIC-CORE-011Implementedsrc/execution/native-approval-policy.test.ts and src/execution/opencode-provider-policy.test.ts cover supervised and unrestricted rules, typed automatic fallback and policy-bound native session replacement.
AIC-TOOL-001Implementedsrc/domain/engine.test.ts; src/transport/server.test.ts
AIC-TOOL-002ImplementedACP effective-policy regressions reproduce four missing-policy failures and cover applied/unsupported/rejected/unreported native modes separately from generic approval policy. Approval-policy tests cover restricted effective Ask. Disposable packed-host acceptance: 134 tests passed; spec:check/check/build passed. Source checks pass against the documented packed-host installation. Eight real-provider turns verify Ask and Allow all decisions plus exact file effects across native Codex, Codex ACP, Cursor and OpenCode; see docs/local-policy-validation.md. ACP lifecycle tests cover host expiry/cancellation during capture, exact identity, one interaction and no late host response. Engine, policy and schema tests cover exact offered choices, task input and host deadlines.
AIC-TOOL-003Implementedsrc/domain/engine.test.ts wraps mutating tools with cooperative capture, fails closed when begin throws, and records observed activity without exclusive begin
AIC-MEM-001Implementedsrc/transport/server.test.ts; src/memory/lapis/native-memory-service.test.ts; src/memory/group/embedding-lifecycle.test.ts proves service start does not warm embeddings while explicit rebuild contains background failures; src/memory/embeddings/provider.test.ts covers lazy loading, query/document formatting, cooldown, idle disposal, reload, and shutdown; src/memory/embeddings/native-runtime.test.ts covers pinned cache resolution and checksum rejection.
AIC-MEM-002Implementedsrc/memory/recall.test.ts; src/transport/server.test.ts
AIC-MEM-003Implementedsrc/memory/lapis/native-memory-service.test.ts; src/memory/group/service.test.ts
AIC-API-001Implementedsrc/transport/server.test.ts; src/runtime.test.ts
AIC-API-002Implementedsrc/transport/server.test.ts; src/persistence/store.test.ts
AIC-API-003Implementedsrc/auth/scopes.test.ts; src/auth/session.test.ts; src/transport/server.test.ts session authorization
AIC-API-004Implementedsrc/transport/server.test.ts memory and tool isolation; src/auth/authorize.test.ts
AIC-API-005ImplementedTransport server test forwards optional providers.models sessionId; ACP provider test passes that id to listAcpModels.
AIC-CLI-001ImplementedRuntime CLI and managed protocol tests; snapshot installer regressions and cold installed-service smoke.
AIC-CLI-002Implementedscripts/local-controller.test.mjs and scripts/runtime-install.test.ts cover local update, atomic snapshots, source independence, and failure preservation.
AIC-PKG-001Implementedscripts/check-boundaries.mjs; pnpm publint scripts/npm-release.test.mjs and GitHub CI/release jobs cover checksum-bound candidates, protected OIDC publication, and clean registry integrity/provenance verification.
AIC-PKG-002Implementedscripts/runtime-packages.test.mjs verifies independently copied hard-linked files, preserved bytes/executable bits, excluded unshipped files and script-free inventories for dependencies with prepare hooks; complete CLI builds and verified runtime installation exercise the package graph.
AIC-ARCH-001Implementedscripts/architecture.test.mjs covers new-file budget, counted-line growth, stale budgets, comment-only edits, missing baseline paths, and CI=true --write-baseline. pnpm check:architecture passes against scripts/architecture-baseline.json.
AIC-ARCH-002ImplementedArchitecture fixtures cover forbidden relative/re-export/dynamic imports, runtime cycles, composition-root permission, type-only store imports, production→test isolation, dump filenames, and CLI→controller imports.
AIC-GOV-001Implementedpnpm spec:check
AIC-API-006ImplementedTransport server tests verify provider-scoped resource reads and rejection of another provider; ACP provider tests verify host snapshot forwarding and explicit unavailability.
AIC-GOV-002Implementedpnpm spec:check
AIC-GOV-003Implementedpnpm spec:check
AIC-CAP-001Implementedsrc/persistence/sanitization.test.ts inspects first SQL bindings; src/memory/group/capture-store.test.ts checks index ingress/replay
AIC-CAP-002Implementedsrc/capture/session.test.ts; public allowlist without lifecycle or extension leftovers; one usage snapshot after several updates; src/execution/compat/acp-event-mapper.test.ts folds tool_call_update into the same tool pair
AIC-CAP-008Implementedsrc/execution/compat/tool-snapshot.test.ts extracts command and merges updates; src/capture/session.test.ts keeps original args and name across a thin tool_call_update; src/execution/compat/acp-event-mapper.test.ts maps command, locations, permission envelope and optional usage cost
AIC-CAP-003Implementedsrc/capture/session.test.ts whole logical messages, thinking, immediate fixed status and interruption gaps
AIC-CAP-004ImplementedContinuation and private-transcript-replay tests cover live metadata-only replay without persisting plaintext and explicit history loss after restart. Focused regression: one failed before, passed after; full suite 130 passed, spec:check/check/build passed. src/transport/transcript.test.ts covers owner authorization and durable acknowledgment before execution.
AIC-CAP-005Implementedsrc/persistence/sanitization.test.ts raw tool execution and sanitized model results; existing unknown-outcome recovery tests
AIC-CAP-006ImplementedGroup capture-store and Lapis native-memory-service tests cover first index writes and legacy reads; execution location capabilities remain separate
AIC-CAP-007ImplementedManaged stderr buffers complete EOF with bounded scan; local compiled binary starts its isolated scanner and persists a policy-bearing thread; start does not await stdin finish; start writes resolve without stdin close; start failures include the readiness cause; bare names resolve from PATH or $HOME/.local/bin; scripts/build-cli.mjs compiles without --self-extracting, prunes source maps, declaration files, test/spec files and test/example/benchmark directories from the staged runtime dependencies, removes stale artifacts/.lapis-ai-controller, and asserts no executable-adjacent extraction cache remains.
AIC-GOV-004ImplementedREADME.md; public-export example compilation; package checks
AIC-GOV-005Implemented.github/workflows/publish-spec-pages.yml; mdbook build spec; actionlint

Group embedding lifecycle regressions reproduce two unhandled capture rejections (read and write) before the fix. Both fail closed after the fix without raw writes or additional embedding dispatch. Service start no longer warms the embedding worker, and closing during an in-flight explicit rebuild batch also prevents later batches and writes before the scanner is disposed.

Validation for the embedding drain repair (2026-09-24): three focused lifecycle regressions pass; pnpm spec:check, pnpm check, pnpm test (137 tests), and pnpm build pass. The packed package passes all 365 enabled Nostr controller tests, including its native checkout repair (two opt-in provider/clone tests remain skipped in that run). Lapis uses the separate vault-memory profile; its implementation is unchanged.