AyCode.Core/CONSUMERS.md

4.4 KiB

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-04-26)

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

(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 6 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.