Knowledge Portal · engineering documentation

Skip to content

ADR-004 — Adapter Architecture

Status: Accepted
Date: 2026-06-28
Phase: 12-1A
Deciders: Platform Architect
Certified adapters at v1.0 GA: cursor-adapter-v1


Context

ERP v1.0 implemented Cursor Adapter v1 with workspace at .cursor/. Multi-IDE future and product independence require:

  • Resolved namespace (.zaixos/ vs .cursor/)
  • Clear materialization model
  • Certification process
  • No vendor paths in Platform Core

Decision

Adapter architecture

  1. Adapters are platform-owned packages under adapters/{adapter-id}/
  2. Each adapter ships: profile.md, workspace template, metadata JSON, capability gaps
  3. Certification requires passing AdapterWorkspaceTest + manual acceptance checklist
  4. Products select adapter in platform.yml — never author uncertified adapters

Namespace resolution (final)

PathRole
.zaixos/Canonical platform namespace in product repos
.zaixos/platform.lockPinned versions
.zaixos/extensions/Product extensions
.cursor/Materialization target for cursor-adapter-v1 only

Materialization rule: Installer copies adapters/cursor-v1/workspace/ → product .zaixos/adapters/cursor-v1/ and creates symlink .cursor/.zaixos/adapters/cursor-v1/workspace/ (or direct copy if symlinks unsupported).

This resolves Phase 12-1 ambiguity: platform owns .zaixos/; Cursor IDE reads .cursor/.

Adapter versioning

First certified adapter

  • ID: cursor-adapter-v1
  • Source: ERP v1.0 .cursor/ tree (byte-identical at 1.0.0 GA)
  • Profile: adapters/cursor-adapter-v1/profile.md migrated to platform repo

Consequences

Positive

  • Multi-adapter registry without core changes
  • Clear CI checks on materialized workspace
  • Cursor compatibility preserved via .cursor/ mount

Negative

  • Symlink/copy step adds installer complexity
  • Windows symlink permissions may require copy fallback

Alternatives considered

AlternativeRejected because
Keep .cursor/ as canonicalPlatform namespace not IDE-neutral
Only .zaixos/ — reconfigure CursorPoor DX; non-standard
Product-maintained .cursor/Drift from platform

ADR-004 — Adapters materialize; platform owns .zaixos/.

ZAIXOS Knowledge Portal — public engineering docs at /docs · Staff operations at /admin