Files
fidelity-ai-workspace/docs/concepts/workspace-vs-context-pack.md

2.7 KiB

Workspace vs Context Pack

AIWorkspace separates the installed product, user-local settings, and project memory.

This distinction keeps the system simple, shareable, and safe for unrelated projects such as client-mobile and it-support.

Three-Layer Model

AIWorkspace Core
  reusable installed product

User/App Registry
  local machine settings and registered context packs

Project Context Packs
  one isolated context package per project, client, or workstream

AIWorkspace Core

The core is the reusable product. It can be shared with a team.

Typical location during development:

~/Developer/ai-workspace

It contains:

apps/
scripts/
connectors/
templates/
docs/
examples/

It should not contain real project memory, captured messages, customer names, ticket details, or private prompts.

User/App Registry

The registry is local to one developer machine. It records which context packs are available and which project is active.

On macOS, the target location is:

~/Library/Application Support/AIWorkspace/

Example registry:

{
  "schema": "aiworkspace.projects.v1",
  "default_project": "client-mobile",
  "projects": [
    {
      "id": "client-mobile",
      "context_path": "/Users/david/Developer/client-mobile-ai-context"
    },
    {
      "id": "it-support",
      "context_path": "/Users/david/Developer/it-support-ai-context"
    }
  ]
}

The registry is not intended for Git.

Project Context Pack

A context pack is the portable project-specific unit. It may be a private repo, a team-shared repo, or a local folder.

Example:

client-mobile-ai-context/
  aiw.project.json
  knowledge/
  inbox/
  connectors/
  agents/
  prompts/

Each context pack owns its own:

  • canonical memory;
  • raw evidence;
  • connector definitions;
  • people/channel/system maps;
  • prompts and agent instructions specific to that project.

Why Not Store Everything In One Workspace Repo?

One developer can work on unrelated projects. A single monolithic workspace can accidentally mix:

  • channels from different organizations;
  • people maps from unrelated clients;
  • raw evidence with different privacy rules;
  • prompts that only make sense for one domain;
  • AI behavior learned from one project but harmful in another.

Context packs prevent this by making project boundaries explicit.

Optional Product Repository Binding

Product repositories should stay clean by default. If useful, a repo can contain a small optional binding file:

.aiworkspace.json

Example:

{
  "project": "client-mobile",
  "context_path": "/Users/david/Developer/client-mobile-ai-context"
}

This file should point to context. It should not contain memory, secrets, or raw evidence.