Browse documentation

Operate and contribute

Compatibility register

See retained and removed compatibility paths, callers, dates, and removal proof.

On this page

Snapshot: 2026-08-12. Review date: 2026-11-01.

This register names compatibility paths that remain reachable. The review date is not an automatic removal date. Each removal requires source callers, generated browser bytes, packaged native reachability, focused regression coverage, migration notes, and rollback to agree for the selected profile.

Frontend V2 is a non-breaking internal refactor at the supported external API and project-data boundaries. Existing operation names, compatibility entry points, client aliases, CLI/MCP identities, routes, and canonical Markdown content remain compatible. Internal routing, transport, authority, and composition changed behind retained adapters and redirects. The removed string route helper and obsolete confirmation preference were internal or inert and do not alter the supported external API or project data.

One insecure configuration path is intentionally retired rather than carried forward: browser-bundled VITE_* bearer credentials. That value was reachable in public frontend bytes and is replaced by the browser cookie/CSRF bootstrap. Trusted Node credentials and AIMEM_* aliases remain compatible; this browser security migration does not change operation names or canonical project data.

Compatibility pathCurrent production reachabilityHardened reachabilityDecision
personal-preview + authMode=none preview browser session and legacy preview dispatcherExplicit local browser compatibility profileRejected/absentRetain through review window; it is the supported source-run browser preview and must never become an automatic fallback
Unscoped/legacy desktop route URLsExisting bookmarks and compatibility extensions; production UI consumers use typed buildersRegistered redirects/recovery onlyRetain until bookmark/support policy and emitted route coverage prove removal safe
AIMEM_* trusted Node/Rust environment aliasesDaemon, Tauri host, MCP install/dev helpers, and existing local configurationNot browser build inputsRetain; canonical name wins and daemon warns. Remove only after callers/config migrations are measured
Legacy %APPDATA%/aimem/daemon-token or POSIX equivalentExisting pre-rename trusted installationsTrusted host only; never browserRetain to avoid silently rotating/breaking configured clients; migrate file under operator control before removal
ZharwingMemoryClient compatibility administrator facadeCLI constructs it; public package may have external trusted Node callersBrowser composition cannot import itRetain. Migrate CLI and all supported external examples before emitted/package removal proof
AimemClient type/value aliasesNo in-repo production import observed; public package compatibility remains externally reachableNot a browser authority source by itselfRetain as an external API residual until a major-version policy and package-consumer evidence exist
CLI binary/server name aimemPackage manifest and MCP installer actively migrate existing configTrusted local tool onlyRetain; manifests are outside this source slice and callers remain
local.aimem.desktop Tauri identifierPackaged application identity and OS-owned stateNative package onlyRetain. Changing it is an installer/data migration, not a source cleanup
AI Memory Root default folder nameNew/default and existing store discovery still use itData path onlyRetain until an explicit store-path migration exists; branding does not justify moving private data
app-managed-llamacpp provider valueExisting project records/contracts/UI display it as disabled/unsupportedNo managed runtime is launchedRetain for decode/migration. Do not offer it as a working provider
aimem.graph.relationshipMode and aimem.graph.positions.d3.v2:*Active non-sensitive preference/layout cache keysOptional local cache onlyRetain through the window; payload validation/reset protects correctness. Rename only with read-once migration or deliberate reset

Removed in this reconciliation#

The old string route-builder/parser facade no longer has a production caller. utils/routes.ts exposes only the typed registry, the desktop contract check rejects reintroduced callers, and registered compatibility URLs remain separate from navigation construction.

aimem.delete.confirm.skip.<itemType> no longer has a production reader or writer. ConfirmDeleteButton always opens the owned confirmation, and the accessibility source check rejects a reintroduced persisted bypass. Old keys are inert and may be deleted from local storage. Project content is unaffected.

Configuration-template reconciliation#

The checked-in .env.example now exposes only the non-secret ZHARWING_PUBLIC_DAEMON_URL and optional ZHARWING_PUBLIC_PROFILE browser hints. Retired VITE_ZHARWING_MEMORY_* names and every browser bearer input are absent. Vite admits only ZHARWING_PUBLIC_*, and the setup, browser, README, and website source describe the same cookie/CSRF bootstrap boundary.

Removal proof template#

For any retained row, record:

  1. selected profile and supported version window;
  2. repository production callers and public package/CLI/native consumers;
  3. browser build, source-map, and packaged artifact reachability;
  4. persisted data/config/bookmark migration;
  5. focused refusal and compatibility regression tests;
  6. exact rollback artifact/profile; and
  7. independent review.

If any item is unknown, retain the path as a dated residual risk.