diff --git a/packages/contact-center/store/ai-docs/AGENTS.md b/packages/contact-center/store/ai-docs/AGENTS.md
new file mode 100644
index 000000000..d8a987598
--- /dev/null
+++ b/packages/contact-center/store/ai-docs/AGENTS.md
@@ -0,0 +1,205 @@
+# Contact Center Store (`@webex/cc-store`)
+
+## Overview
+
+`@webex/cc-store` is the shared, singleton MobX store for all Contact Center widgets. It holds global agent,session and task state, proxies SDK events, and exposes convenience APIs for fetching lists (queues, entry points, address book), task lifecycle handling, and common mutations.
+
+**Package:** `@webex/cc-store`
+**Version:** See package.json
+
+---
+
+## Why and What is This Used For?
+
+### Purpose
+
+The store enables Contact Center widgets to:
+- **Initialize and register** with the Webex Contact Center SDK
+- **Observe global state** (teams, device type, login options, agent state, tasks and many more)
+- **Handle SDK events** (login, logout, multi-login, task lifecycle, agent state changes)
+- **Fetch domain data** (buddy agents, queues, entry points, address book)
+- **Centralize callbacks and error handling** for consistent behavior across widgets
+
+### Key Capabilities
+
+- **Singleton** state via MobX observables
+- **Event wiring** to SDK (TASK_EVENTS and CC_EVENTS)
+- **Task list management** and current task tracking
+- **Helpers** for buddy agents, queues, entry points, address book
+- **Error propagation** via `setOnError`
+- **Feature flags** parsing from SDK profile
+
+---
+
+## Examples and Usage
+
+### Basic Initialization
+
+```typescript
+import store from '@webex/cc-store';
+
+// Option A: If you already have a Webex instance, best for existing webex enabled apps
+await store.init({
+ webex: someWebexInstance, // must include cc
+});
+
+// Option B: Let the store initialize Webex for you, best for new apps
+await store.init({
+ webexConfig: {/* sdk config */},
+ access_token: authToken,
+});
+```
+
+### Registration (when Webex is ready)
+
+```typescript
+// If you need explicit (re-)registration using an existing webex
+await store.registerCC(someWebexInstance);
+```
+
+### Observing State in React
+
+```typescript
+import {observer} from 'mobx-react-lite';
+import store from '@webex/cc-store';
+
+const Header = observer(() => {
+ return (
+
+
Agent ID: {store.agentId}
+
Logged In: {store.isAgentLoggedIn ? 'Yes' : 'No'}
+
Device: {store.deviceType}
+
Team: {store.teamId}
+
+ );
+});
+```
+
+### Setting Up Error Callback
+
+```typescript
+import store from '@webex/cc-store';
+
+store.setOnError((componentName, error) => {
+ console.error(`Error from ${componentName}`, error);
+ // forward to telemetry
+});
+```
+
+### Subscribing/Unsubscribing to SDK Events on contact center object
+
+```typescript
+import store, {CC_EVENTS, TASK_EVENTS} from '@webex/cc-store';
+
+const onLogin = (payload) => console.log('Login success:', payload);
+store.setCCCallback(CC_EVENTS.AGENT_STATION_LOGIN_SUCCESS, onLogin);
+
+// Later
+store.removeCCCallback(CC_EVENTS.AGENT_STATION_LOGIN_SUCCESS);
+```
+
+### Subscribing/Unsubscribing to Task Events on task object
+
+```typescript
+import store, {TASK_EVENTS} from '@webex/cc-store';
+
+// Choose a task (e.g., current task)
+const taskId = store.currentTask?.data?.interactionId;
+if (taskId) {
+ const handleMedia = (track) => {
+ // e.g., use track for call control audio
+ console.log('Media track received', track?.kind);
+ };
+
+ // Subscribe to a task event
+ store.setTaskCallback(TASK_EVENTS.TASK_MEDIA, handleMedia, taskId);
+
+ // Later, unsubscribe
+ store.removeTaskCallback(TASK_EVENTS.TASK_MEDIA, handleMedia, taskId);
+}
+```
+
+### Fetching Lists
+
+```typescript
+// Buddy agents for current task media type
+const buddies = await store.getBuddyAgents();
+
+// Queues for a channel
+const {data: queues} = await store.getQueues('TELEPHONY', {page: 0, pageSize: 25});
+
+// Entry points
+const entryPoints = await store.getEntryPoints({page: 0, pageSize: 50});
+
+// Address book (no-op if disabled)
+const addressBook = await store.getAddressBookEntries({page: 0, pageSize: 50});
+```
+
+### Mutating Common State
+
+```typescript
+store.setDeviceType('BROWSER');
+store.setDialNumber('12345');
+store.setTeamId('teamId123');
+store.setState({id: 'Available', name: 'Available', isSystem: true, isDefault: true});
+```
+
+---
+
+## Key API (Selected)
+
+Properties (observable via MobX):
+- `teams`, `loginOptions`, `idleCodes`, `wrapupCodes`, `featureFlags`
+- `agentId`, `agentProfile`, `isAgentLoggedIn`, `deviceType`, `dialNumber`, `teamId`
+- `currentTask`, `taskList`, `currentState`, `lastStateChangeTimestamp`, `lastIdleCodeChangeTimestamp`
+- `showMultipleLoginAlert`, `currentTheme`, `customState`, `isMuted`, `isAddressBookEnabled`
+
+Methods:
+- `init(params)`, `registerCC(webex?)`
+- `setOnError(cb)`, `setCCCallback(event, cb)`, `removeCCCallback(event)`
+- `refreshTaskList()`, `setCurrentTask(task, isClicked?)`
+- `setDeviceType(option)`, `setDialNumber(value)`, `setTeamId(id)`
+- `setCurrentState(stateId)`, `setState(state | {reset:true})`
+- `getBuddyAgents(mediaType?)`, `getQueues(mediaType?, params?)`
+- `getEntryPoints(params?)`, `getAddressBookEntries(params?)`
+
+For full types, see src/store.types.ts.
+
+---
+
+## Dependencies
+
+See exact versions in package.json
+
+### Runtime
+
+| Package | Purpose |
+|---------|---------|
+| `@webex/contact-center` | SDK integration (methods/events) |
+| `mobx` | Observable state management |
+
+### Dev/Test
+
+TypeScript, Jest, ESLint, Webpack (see [package.json](../package.json)).
+
+---
+
+## Installation
+
+```bash
+yarn add @webex/cc-store
+```
+
+---
+
+## Additional Resources
+
+For detailed store architecture, event flows, and sequence diagrams, see [architecture.md](./architecture.md).
+
+---
+
+_Last Updated: 2025-11-26_
+
+
+
+
diff --git a/packages/contact-center/store/ai-docs/ARCHITECTURE.md b/packages/contact-center/store/ai-docs/ARCHITECTURE.md
new file mode 100644
index 000000000..1538d31c0
--- /dev/null
+++ b/packages/contact-center/store/ai-docs/ARCHITECTURE.md
@@ -0,0 +1,230 @@
+# Contact Center Store — Architecture
+
+## Component Overview
+
+The store layer follows the architecture: **Widget → Hook → Component → Store → SDK**. This document details the Store’s structure, its wrapper, SDK integrations, data flows, and sequences for common scenarios.
+
+### Components Table
+
+| Layer | Component | File | State | Methods / Responsibilities | Events | Tests |
+|-------|-----------|------|-------|----------------------------|--------|-------|
+| **Store (core)** | `Store` | `src/store.ts` | Teams, loginOptions, idleCodes, wrapupCodes, agentProfile, isAgentLoggedIn, deviceType, dialNumber, teamId, taskList, currentTask, featureFlags, timestamps, flags | `init()`, `registerCC()`, populate observables from SDK profile, parse feature flags | N/A | `packages/contact-center/store/tests/*` |
+| **Store (wrapper)** | `StoreWrapper` | `src/storeEventsWrapper.ts` | Proxies all observables | Event wiring, list fetchers, mutations, error callback, task lifecycle handling, media handling | Subscribes to `CC_EVENTS` and `TASK_EVENTS` | Same |
+| **Index** | Re-exports | `src/index.ts` | N/A | Default export of `StoreWrapper`, exports types and enums | N/A | Same |
+| **Consumers** | Widgets/Hooks | Various | Read-only (observer) | Use store methods and observables; set callbacks | Receive reactions via MobX | Various |
+| **SDK** | Webex CC SDK | `@webex/contact-center` | N/A | Provides methods/events | Emits CC/TASK events | SDK tests |
+
+---
+
+## SDK Methods & Events Integration
+
+| Area | SDK Methods Used | SDK Events Subscribed | Store/Wrapper Methods |
+|------|-------------------|-----------------------|-----------------------|
+| Initialization | `register()`, `LoggerProxy` | `agent:dnRegistered`, `agent:reloginSuccess`, `agent:stationLoginSuccess` | `init()`, `registerCC()`, `setupIncomingTaskHandler()` |
+| Agent Session | `stationLogin()`, `stationLogout()`, `deregister()` | `agent:logoutSuccess`, `agent:multiLogin` | `cleanUpStore()`, `setShowMultipleLoginAlert()` |
+| Agent State | `setAgentState()` | `agent:stateChange` | `handleStateChange()`, `setCurrentState()`, timestamp setters |
+| Tasks | `taskManager.getAllTasks()` | `task:incoming`, `task:assigned`, `task:end`, `task:hydrate`, `task:merged`, consult/conference events, media events | `registerTaskEventListeners()`, `refreshTaskList()`, `setCurrentTask()`, consult handlers, media handling |
+| Directory & Lists | `getBuddyAgents()`, `getQueues()`, `getEntryPoints()`, `addressBook.getEntries()` | (N/A) | `getBuddyAgents()`, `getQueues()`, `getEntryPoints()`, `getAddressBookEntries()` |
+
+> Events enums exported via `TASK_EVENTS` and `CC_EVENTS` from `src/store.types.ts`.
+
+---
+
+## File Structure
+
+```
+store/
+├── src/
+│ ├── index.ts # Re-exports default store wrapper and types
+│ ├── store.ts # Core Store (MobX observables, init/register)
+│ ├── store.types.ts # Types, enums, public API surface
+│ ├── storeEventsWrapper.ts # Wrapper: events wiring, helpers, mutations
+│ ├── task-utils.ts # Task helpers (e.g., isIncomingTask)
+│ ├── util.ts # Feature flags parsing, utilities
+│ └── constants.ts # Shared constants (if any)
+├── tests/ # Store unit tests
+├── ai-docs/
+│ ├── agent.md # Overview & usage
+│ └── architecture.md # This file
+├── package.json
+├── tsconfig.json
+└── webpack.config.js
+```
+
+---
+
+## Data Flows
+
+### Layer Communication Flow
+
+```mermaid
+graph TB
+ subgraph "Consumers"
+ Widget[Widget]
+ Hook[Custom Hook]
+ UI[Component]
+ end
+
+ subgraph "State"
+ Wrapper[StoreWrapper
storeEventsWrapper.ts]
+ Store[Store
store.ts]
+ end
+
+ subgraph "SDK"
+ SDK[@webex/contact-center]
+ end
+
+ Widget --> Hook
+ Hook -->|reads/writes| Wrapper
+ Wrapper -->|proxies| Store
+ Wrapper -->|invokes| SDK
+ SDK -->|events| Wrapper
+ Wrapper -->|runInAction updates| Store
+ Store -->|observable reactions| Hook
+ Hook --> UI
+```
+
+---
+
+## Sequence Diagrams
+
+### 1) Store Initialization
+
+```mermaid
+sequenceDiagram
+ participant App
+ participant Wrapper as StoreWrapper
+ participant Store
+ participant SDK
+
+ App->>Wrapper: init(params)
+ Wrapper->>Store: init(params, setupIncomingTaskHandler)
+ alt params.webex provided
+ Store->>Store: setupEventListeners(webex.cc)
+ Store->>Store: registerCC(webex)
+ else params.webexConfig + access_token
+ Store->>SDK: Webex.init()
+ SDK-->>Store: ready
+ Store->>Store: setupEventListeners(webex.cc)
+ Store->>Store: registerCC(webex)
+ end
+ Store->>SDK: register()
+ SDK-->>Store: Profile
+ Store->>Store: populate observables, feature flags
+ Store-->>Wrapper: initialized
+ Wrapper-->>App: resolved
+```
+
+### 2) Incoming Task Handling
+
+```mermaid
+sequenceDiagram
+ participant SDK
+ participant Wrapper
+ participant Store
+
+ SDK-->>Wrapper: task:incoming (ITask)
+ Wrapper->>Wrapper: registerTaskEventListeners(task)
+ Wrapper->>Wrapper: onIncomingTask?() (if new)
+ Wrapper->>Wrapper: handleTaskMuteState(task)
+ Wrapper->>Wrapper: refreshTaskList()
+ Wrapper->>Store: setCurrentTask(task?) (when applicable)
+```
+
+### 3) Agent State Change
+
+```mermaid
+sequenceDiagram
+ participant SDK
+ participant Wrapper
+ participant Store
+
+ SDK-->>Wrapper: agent:stateChange
+ Wrapper->>Wrapper: handleStateChange()
+ Wrapper->>Store: setCurrentState(auxCodeId or DEFAULT)
+ Wrapper->>Store: setLastStateChangeTimestamp()
+ Wrapper->>Store: setLastIdleCodeChangeTimestamp()
+```
+
+### 4) Multi-login Alert
+
+```mermaid
+sequenceDiagram
+ participant SDK
+ participant Wrapper
+ participant Store
+
+ SDK-->>Wrapper: agent:multiLogin
+ Wrapper->>Store: setShowMultipleLoginAlert(true)
+```
+
+### 5) Logout and Cleanup
+
+```mermaid
+sequenceDiagram
+ participant SDK
+ participant Wrapper
+ participant Store
+
+ SDK-->>Wrapper: agent:logoutSuccess
+ Wrapper->>Wrapper: cleanUpStore()
+ Wrapper->>Store: reset observables (deviceType, dial, task, timestamps, flags)
+ Wrapper->>Wrapper: remove CC listeners
+```
+
+---
+
+## Troubleshooting Guide
+
+### Store Not Initializing
+- Ensure Webex SDK is ready when passing `params.webex`
+- If letting store init Webex, verify `webexConfig` and `access_token`
+```typescript
+await store.init({webexConfig, access_token});
+console.log('CC instance:', store.cc); // should be defined
+```
+
+### No Events or State Updates
+- Verify `setCCCallback` and `removeCCCallback` usage
+- Confirm `init()` was awaited before rendering widgets
+```typescript
+store.setCCCallback(CC_EVENTS.AGENT_STATION_LOGIN_SUCCESS, (p) => console.log('login', p));
+```
+
+### Task List Stale
+- Call `refreshTaskList()` after external task actions
+```typescript
+store.refreshTaskList();
+```
+
+### Address Book Empty
+- Feature may be disabled; `isAddressBookEnabled` must be true
+```typescript
+if (!store.isAddressBookEnabled) {
+ console.log('Address book disabled by org config');
+}
+```
+
+### Error Boundary Triggered
+- Set `setOnError` to surface details
+```typescript
+store.setOnError((name, err) => {
+ console.error(`[${name}]`, err);
+});
+```
+
+---
+
+## Related Documentation
+
+- [Agent Documentation](./agent.md) - Usage examples and API
+- [Store Types](../src/store.types.ts) - Type definitions and enums
+- [MobX Patterns](../../../../ai-docs/patterns/mobx-patterns.md) - MobX best practices
+- [React Patterns](../../../../ai-docs/patterns/react-patterns.md) - React integration patterns
+- [Testing Patterns](../../../../ai-docs/patterns/testing-patterns.md) - Testing strategies
+
+---
+
+_Last Updated: 2025-11-26_
+
+