[LOADED_DOCS: 3 files, no new loads]
Update ID format to use per-repo prefixes and random suffix Migrated all issue, TODO, and decision IDs to a new 4-part format: <PREFIX>-<TOPIC>-<TYPE>-<RAND>. Added per-repo prefix declarations in copilot-instructions.md and documented conventions in REPO_PREFIXES.md. Updated all topic registries, logs, cross-references, and documentation to use the new format. Introduced MIGRATION_ID_MAPPING.md for old-to-new ID mapping. Enhanced skills and protocol audit logic to validate and enforce per-repo prefixes and topic codes at runtime. Clarified Framework-First doctrine and ensured all references are unambiguous.
This commit is contained in:
parent
b4d68e1fa4
commit
3cee1e20d7
|
|
@ -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: `<PREFIX>-<TOPIC>-<TYPE>-<RAND>` — 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 `<PREFIX>` 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.<Project>/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`.
|
||||
|
|
@ -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"]
|
||||
|
|
|
|||
|
|
@ -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:** <subsystem>
|
||||
|
||||
|
|
@ -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).
|
||||
```
|
||||
|
|
|
|||
|
|
@ -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).
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue