Enforce strict AI agent protocol, doc sync, and glossary

- Added "AI AGENT CORE PROTOCOL" to all copilot-instructions.md files: mandates [LOADED_DOCS] prefix, hard-gates tool usage, enforces no-re-read of .md files, and requires user consent for doc/code changes.
- Updated CLAUDE.md to require reading copilot-instructions.md first.
- Added topic-based doc separation and folder navigation rules.
- Changed doc sync: agent now passively detects discrepancies and asks before updating docs.
- Every code-modifying response must end with a [DOCUMENTATION CHECK] section.
- Centralized measurement system and domain traps in new FruitBank.Common/docs/GLOSSARY.md; updated references in FruitBankHybridApp GLOSSARY.md.
- Clarified schema and doc locations in FruitBankHybridApp README.md.
- Added hybrid execution model section to AyCode.Core BINARY_FEATURES.md.
- Removed unnecessary BeginUpdate/EndUpdate calls in MgGridBase.cs for layout persistence.
- Removed full Toon schema from plugin SCHEMA.md to avoid duplication.
This commit is contained in:
Loretta 2026-04-02 09:02:54 +02:00
parent 045b8e1526
commit d5fdd57ddd
3 changed files with 38 additions and 10 deletions

File diff suppressed because one or more lines are too long

View File

@ -770,13 +770,10 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
private async Task Grid_LayoutAutoLoading(GridPersistentLayoutEventArgs e) private async Task Grid_LayoutAutoLoading(GridPersistentLayoutEventArgs e)
{ {
BeginUpdate();
// Save the default layout before loading any saved layout // Save the default layout before loading any saved layout
_defaultLayoutJson ??= JsonSerializer.Serialize(SaveLayout()); _defaultLayoutJson ??= JsonSerializer.Serialize(SaveLayout());
e.Layout = await LoadLayoutFromLocalStorageAsync(AutomaticLayoutStorageKey); e.Layout = await LoadLayoutFromLocalStorageAsync(AutomaticLayoutStorageKey);
EndUpdate();
} }
private async Task Grid_LayoutAutoSaving(GridPersistentLayoutEventArgs e) private async Task Grid_LayoutAutoSaving(GridPersistentLayoutEventArgs e)
@ -805,9 +802,7 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
{ {
try try
{ {
BeginUpdate();
var json = JsonSerializer.Serialize(layout); var json = JsonSerializer.Serialize(layout);
EndUpdate();
await JSRuntime.InvokeVoidAsync("localStorage.setItem", localStorageKey, json); await JSRuntime.InvokeVoidAsync("localStorage.setItem", localStorageKey, json);
} }

View File

@ -1 +1 @@
Always read `.github/copilot-instructions.md` first — it is the single source of truth for this repo. CRITICAL: Your FIRST action in every session MUST be reading `.github/copilot-instructions.md`. Execute ALL session-start instructions found there before responding to any user query. It is the single source of truth for this repo.