One product, three independent capabilities
Use Workspace, Memory, and Agent Harness separately, or connect them explicitly through public contracts. None requires another to be installed or running.
Choose what you need
| Capability | What it does | Command / standalone |
|---|---|---|
| Workspace | Projects, conversations, files, terminals, and local tools. | alfred workspacealfred-workspace |
| Memory | Persistent knowledge, tenants, local API, MCP, and console. | alfred memoryalfred-memory |
| Agent Harness | Agent operations, skills, policies, profiles, and integration with coding harnesses. | alfred harnessalfred-agent-harness |
The product CLI composes the commands and loads only the requested capability. Standalone commands use the same entrypoints. Existing alfred init, serve, runtime, and skills aliases remain supported, including on 1.1.0.
Independent selection
Setup offers three checkboxes and supports all seven nonempty combinations. For automation:
alfred setup --components=workspace,memory,harness
Only approved Apply records .alfred/setup/components.json. Discovery and preview do not write it. Managed harness files keep their separate .alfred/setup/installation.json receipt, compatible with 1.1.0.
Historical coding means Agent Harness, memory means Memory, and full means Agent Harness + Memory. Updating an existing setup does not add Workspace. Select it explicitly after upgrading to a release that includes it.
Optional connections
Selecting several capabilities does not start services, create tenants, copy credentials, configure MCP, or choose a session runtime. Each connection needs explicit configuration through the receiving capability's public contract.
Workspace exposes SessionPort/SessionAdapter for a caller-supplied runtime. Its legacy adapter remains a compatibility option; this migration does not implement an Alfred Agent Harness adapter or an ACP execution backend.
Memory exposes HTTP, client, and MCP contracts. Callers explicitly supply endpoint, credentials, and scope. The HTTP server remains local and loopback-only, even when its database is remote. Agent Harness can use an authorized persistence capability, but works without one.
Workspace names
The Workspace application is distinct from a Memory filesystem workspace binding. Existing workspace IDs, tenant access, and database tables keep their meanings. Installing the application does not migrate Memory data.