# AyCode.Core — Consumer Workspace Map

> **Bounded consumer-awareness exception** to the Framework-First Design Principle (`.github/copilot-instructions.md` → `## Framework-First Design Principle` → "Docs-side Framework-First", LLMP-DEC-62). This single file lists which higher-layer repos consume `AyCode.Core` (Layer 0 framework). For change-impact assessment when modifying ACCORE — NOT a coupling vector.
>
> **Strict rule**: AyCode.Core code, types, namespaces, topic IDs, and any other `.md` files (`docs/`, `.github/` excluding the narrow workspace-meta-history exception) MUST NOT name any specific consumer listed here. **This is the SINGLE place** in ACCORE that may name consumer repos.

## Workspace consumer map (as of 2026-07-08)

| Prefix         | Repo                          | Layer | Type                | Path (workspace-relative)                                          | Brief usage                                                                  |
|----------------|-------------------------------|------:|---------------------|--------------------------------------------------------------------|------------------------------------------------------------------------------|
| `ACBLAZOR`     | AyCode.Blazor                 |     1 | framework (UI)      | `Aycode/Source/AyCode.Blazor`                                      | Extends ACCORE base classes for Blazor / MAUI UI                             |
| `MGNOPLIB`     | Mango.Nop Libraries           |     1 | framework (libs)    | `Mango/Source/NopCommerce.Common/4.70/Libraries`                   | Domain framework for NopCommerce-plugin development                          |
| `MGNOPCORE`    | Mango.Nop.Core                |     2 | framework (sub)     | `.../Libraries/Mango.Nop.Core`                                     | Inherit-protocol; sub-framework on top of MGNOPLIB                           |
| `MGFBANKPLUG`  | Nop.Plugin.Misc.AIPlugin      |     3 | consumer (plugin)   | `.../Plugins/Nop.Plugin.Misc.AIPlugin`                             | FruitBank nopCommerce plugin source                                          |
| `FBANKNOP`     | FruitBank                     |     2 | product (server)    | `Mango/Source/FruitBank`                                           | nopCommerce server source for the FruitBank deployment                       |
| `FBANKAPP`     | FruitBankHybridApp            |     2 | product (hybrid)    | `Mango/Source/FruitBankHybridApp`                                  | MAUI/Blazor hybrid client app                                                |
| `GIAAPP`       | GiaApp                        |     2 | product (web)       | `Mango/Source/GiaApp`                                              | Blazor Server GPS ↔ worksheet reconciliation app (entities/user-stack/data-layer; app-level SignalR hubs on base `AcBinaryHubProtocol`, tag-based layer unused) |

(See `.github/REPO_PREFIXES.md` for the prefix scheme; each consumer's own `.github/copilot-instructions.md` `@repo` block declares its `prefix` value per LLMP-DEC-58.)

## When modifying AyCode.Core — change-impact lens

Use this list to assess change impact:
- A breaking change to a base class affects all 7 consumers above (cascading rebuilds + verification).
- A new feature gated behind opt-in DI extension → no cascade, just new capability.
- A signature change in a widely-used interface (e.g., `IAcSignalRClientBase`) → at minimum: ACBLAZOR + MGNOPLIB + MGFBANKPLUG + FBANKNOP + FBANKAPP all need verification.
- A change to ID format / topic-code conventions → MGNOPCORE and MGFBANKPLUG (inherit-protocol) plus all primary repos need updating.

**Do NOT** use this list to write framework code that conditionalizes on specific consumers. Generic abstractions only. The list is a **HEURISTIC for impact**, not an **INPUT to logic**.

## Maintenance

When a repo joins or leaves the workspace consuming AyCode.Core, update the table above. The list ITSELF is workspace-meta-tooling — not framework code domain.

**Future automation candidate** (filed as `ACCORE-META-T-?` in `.github/META_TODO.md`): `protocol-audit` skill could compute this list dynamically from each repo's `@repo.own-dep-repos` (inverse-graph traversal) and verify against this file — eliminating manual upkeep.

## Cross-references

- **Decision Log entries**: LLMP-DEC-62 (this file's introduction + docs-side Framework-First rule); LLMP-DEC-58 (Phase 5.1 `.github/` retightening — precedent); LLMP-DEC-25 (workspace-meta exception family).
- **Repo prefix registry (framework's own)**: `.github/REPO_PREFIXES.md`.
- **Topic registry (framework's own)**: `.github/skills/docs-check/references/TOPIC_CODES.md`.
- **META TODOs / Issues**: `.github/META_TODO.md` / `.github/META_ISSUES.md`.
