diff --git a/.github/TOPIC_CODES.md b/.github/TOPIC_CODES.md new file mode 100644 index 0000000..a7ffd53 --- /dev/null +++ b/.github/TOPIC_CODES.md @@ -0,0 +1,43 @@ +# Topic Codes — registry for AyCode.Blazor's own topics (`ACBLAZOR`) + +Per the Framework-First Design Principle, this Layer 1 registry lists **only AyCode.Blazor's own (`ACBLAZOR`) topics**. Lower-layer (inherited) topics live in their own repos' registries — at runtime, the `docs-check` skill walks `own-dep-repos` from the invocation point to gather all inherited topics. AyCode.Blazor inherits from `AyCode.Core` (see this repo's `@repo.own-dep-repos`). + +Full ID format: `---` — see `AyCode.Core/.github/REPO_PREFIXES.md` for the format spec. + +## ACBLAZOR topic codes + +| Code | Topic | Scope | Docs location | +|---------|-----------------------------|-----------------------------------------------------------------------------------|------------------------------------------------------------------------| +| `GRID` | MGGRID (grid component) | MgGrid component family: layout, CRUD, columns, toolbar, rendering | `AyCode.Blazor.Components/docs/MGGRID/` | + +## Type codes (universal — see framework registry) + +Type codes (`I`, `T`, `B`, `C`, `DEC`) are universal across all repos and defined in the framework's `TOPIC_CODES.md` (`AyCode.Core/.github/skills/docs-check/references/TOPIC_CODES.md`). This file does not duplicate them. + +## ID format rules + +See the framework's `TOPIC_CODES.md` (`AyCode.Core/.github/skills/docs-check/references/TOPIC_CODES.md`) for the full ID format rules and Status conventions. This file only registers ACBLAZOR's own topic codes; ACCORE topics are inherited via this repo's `own-dep-repos`. + +## Examples (ACBLAZOR only) + +``` +ACBLAZOR-GRID-T-V4P7 # AyCode.Blazor's MgGrid TODO (e.g., "Generic ID generation in MgGridBase.SetNewId") +ACBLAZOR-GRID-T-S2L9 # AyCode.Blazor's MgGrid TODO (e.g., "Implement local grouping") +ACBLAZOR-GRID-I-XXXX # placeholder for the first MgGrid issue once one is observed +``` + +## Adding a new ACBLAZOR topic + +1. Propose the code (2-5 uppercase chars), short and mnemonic, scoped to AyCode.Blazor's UI-framework domain. +2. Check it doesn't collide with C# class-name prefixes (`Ac*` / `Mg*`). +3. Check it doesn't collide with existing ACBLAZOR topic codes in the table above. +4. Check it doesn't visually collide with framework (`ACCORE-*`) topic codes that this repo references — though the `` component disambiguates, visual distinction helps readers. +5. Add a row to the table above. +6. Create the topic folder under the relevant project: `AyCode.Blazor./docs/{TOPIC_FOLDER_NAME}/` with `README.md`, optional `{TOPIC_FOLDER_NAME}_ISSUES.md`, `{TOPIC_FOLDER_NAME}_TODO.md`. +7. Optional: add an `LLMP-DEC-N` entry in the workspace-level `LLM_PROTOCOL_DECISIONS.md` if the new topic is workspace-meta-significant. + +## Cross-references + +- **Framework registry** (universal type codes, ID format spec, Status conventions): `AyCode.Core/.github/skills/docs-check/references/TOPIC_CODES.md` (resolved via this repo's `own-dep-repos`). +- **Repo prefix scheme**: `AyCode.Core/.github/REPO_PREFIXES.md`. +- **Decision Log**: `AyCode.Core/.github/LLM_PROTOCOL_DECISIONS.md`. diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 5f2ceec..eb90004 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -92,6 +92,7 @@ The first response's `[LOADED_DOCS: ...]` prefix must reflect **3 files** (this # own-dep-repos: "name: path" — paths are relative to this repo root (.github/..) @repo { name = "AyCode.Blazor" + prefix = "ACBLAZOR" type = "framework" layer = 1 own-dep-repos = ["AyCode.Core: ../AyCode.Core"] diff --git a/AyCode.Blazor.Components/docs/MGGRID/MGGRID_ISSUES.md b/AyCode.Blazor.Components/docs/MGGRID/MGGRID_ISSUES.md index c64c2a9..7da20c0 100644 --- a/AyCode.Blazor.Components/docs/MGGRID/MGGRID_ISSUES.md +++ b/AyCode.Blazor.Components/docs/MGGRID/MGGRID_ISSUES.md @@ -2,14 +2,14 @@ For planned/actionable work see `MGGRID_TODO.md`. -No formally-tracked issues yet. In-code TODOs are recorded as TODO entries (`GRID-T-*`) in `MGGRID_TODO.md`, since they describe unfinished work rather than confirmed broken behaviour. +No formally-tracked issues yet. In-code TODOs are recorded as TODO entries (`ACBLAZOR-GRID-T-*`) in `MGGRID_TODO.md`, since they describe unfinished work rather than confirmed broken behaviour. -Add the first `## GRID-I-1: ...` entry below when a concrete issue is observed. +Add the first `## ACBLAZOR-GRID-I-XXXX: ...` entry below when a concrete issue is observed. ## Issue entry template ``` -## GRID-I-NN: Short title +## ACBLAZOR-GRID-I-XXXX: Short title **Severity:** Trivial / Low / Minor / Major · **Status:** Open / Documented / Mitigated · **Area:** @@ -23,5 +23,5 @@ Why it happens (code location + design mismatch). Steps a consumer can take until fixed. ### Related TODO -`MGGRID_TODO.md#grid-t-NN` (if applicable). +`MGGRID_TODO.md#acblazor-grid-t-XXXX` (if applicable). ``` diff --git a/AyCode.Blazor.Components/docs/MGGRID/MGGRID_TODO.md b/AyCode.Blazor.Components/docs/MGGRID/MGGRID_TODO.md index 3c8ef82..9022165 100644 --- a/AyCode.Blazor.Components/docs/MGGRID/MGGRID_TODO.md +++ b/AyCode.Blazor.Components/docs/MGGRID/MGGRID_TODO.md @@ -7,7 +7,7 @@ For known issues / bugs see `MGGRID_ISSUES.md`. --- -## GRID-T-1: Generic ID generation in `MgGridBase.SetNewId` +## ACBLAZOR-GRID-T-V4P7: Generic ID generation in `MgGridBase.SetNewId` **Priority:** P2 · **Type:** Refactor (framework-first) · **Origin:** 2026-04-24 in-code TODO audit · **Area:** `Components/Grids/MgGridBase.cs:460` `SetNewId(TDataItem dataItem)` branches on `dataItem.Id is Guid` vs `dataItem.Id is int` to produce a new ID, and converts through `TypeConverter` back to `TId`. The in-code comment `//TODO: int !!! - J.` flags this as unfinished — the logic is not cleanly generic over `TId`. @@ -44,7 +44,7 @@ Problems: - Existing `Guid` and `int` consumers unaffected. - Remove the `//TODO: int !!! - J.` comment. -## GRID-T-2: Implement local grouping in `MgGridSignalRDataSource.GetGroupInfoAsync` +## ACBLAZOR-GRID-T-S2L9: Implement local grouping in `MgGridSignalRDataSource.GetGroupInfoAsync` **Priority:** P3 · **Type:** Feature · **Origin:** 2026-04-24 in-code TODO audit · **Area:** `Components/Grids/MgGridSignalRDataSource.cs:202` ```csharp @@ -72,8 +72,8 @@ Not urgent — only light grouping usage so far; the base path works. Promote to ## TODO entry template ``` -## GRID-T-NN: Short title -**Priority:** P0 / P1 / P2 / P3 · **Type:** Bug fix / Feature / Refactor / Docs · **Related:** `MGGRID_ISSUES.md#grid-i-NN` (if applicable) +## ACBLAZOR-GRID-T-XXXX: Short title +**Priority:** P0 / P1 / P2 / P3 · **Type:** Bug fix / Feature / Refactor / Docs · **Related:** `MGGRID_ISSUES.md#acblazor-grid-i-XXXX` (if applicable) Description of what and why, including the trigger (user request, audit finding, incident).