AyCode.Blazor/CONSUMERS.md

2.3 KiB

AyCode.Blazor — Consumer Workspace Map

Bounded consumer-awareness exception to the Framework-First Design Principle (LLMP-DEC-62): this single file lists which higher-layer repos consume AyCode.Blazor (Layer 1 UI framework). For change-impact assessment when modifying ACBLAZOR — NOT a coupling vector.

Strict rule: AyCode.Blazor code, types, namespaces, topic IDs, and any other .md files MUST NOT name any specific consumer listed here. This is the SINGLE place in ACBLAZOR that may name consumer repos.

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

Prefix Repo Layer Type Path (workspace-relative) Brief usage
FBANKAPP FruitBankHybridApp 2 product (hybrid) Mango/Source/FruitBankHybridApp MAUI/Blazor hybrid client — MgGrid + SignalR datasource stack
GIAAPP GiaApp 2 product (web) Mango/Source/GiaApp Blazor Server app — MgGrid with server-side data (no SignalR datasource)

(See AyCode.Core/.github/REPO_PREFIXES.md for the prefix scheme; each consumer's own .github/copilot-instructions.md @repo block declares its prefix value.)

When modifying AyCode.Blazor — change-impact lens

  • A breaking change to MgGridBase / MgGridWithInfoPanel affects both consumers above.
  • A change to MgGridSignalRDataSource affects only SignalR-datasource consumers (FBANKAPP; GIAAPP binds server-side data directly).
  • DevExpress version bumps cascade to every consumer (license + API compatibility check per consumer).

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.Blazor, update the table above. The list ITSELF is workspace-meta-tooling — not framework code domain.

Cross-references

  • Decision Log entries: LLMP-DEC-62 (CONSUMERS.md pattern introduction); LLMP-DEC-69 (GiaApp join).
  • AyCode.Core's consumer map: AyCode.Core/CONSUMERS.md.