Topics met learning_relevance: 'exclude' (bedoeld als referentiemateriaal voor R42) verdwijnen uit de knowledge graph na een Full Analysis. Ook relevance_locked: true topics zijn niet beschermd. In de live data zijn 36 excluded topics — allemaal locked — door één Full Analysis run verwijderd.
Root cause
analyzeGraph in KnowledgeGraph.jsx past actions.deletions en actions.merges.deleteId zonder filter toe — geen check op learning_relevance === 'exclude' of relevance_locked === true.
SYSTEM_PROMPTS.full vraagt het model expliciet om "vague / irrelevant / malformed" topics te deleten; tegelijk vertelt het niets over excluded reference material dat moet blijven bestaan.
De full-scope compactTopics payload omit relevance_locked (alleen voor scope relevance), dus zelfs als de prompt het verbood kon het model het niet honoreren.
Fix
Client-side guard in analyzeGraph: strip excluded + locked ids uit actions.deletions en actions.merges (deleteId-kant) — pure helper in src/lib/graphGuard.js.
Prompt-uitbreiding: expliciete "PROTECTED TOPICS" sectie aan SYSTEM_PROMPTS.full.
relevance_locked meesturen in full-scope compactTopics.
Unit tests in src/lib/__tests__/graphGuard.test.js.
UI: ShieldCheck-banner met aantal geblokkeerde acties, excluded-count naast de show-exclude toggle.
Herstel
De 36 verwijderde topics zaten in de localStorage-snapshot én zijn als JSON-backup naar disk gekopieerd. Na merge zet ik ze terug via de bestaande "↩ Restore to …" knop in de graph-sidebar.
**Bug**
Topics met `learning_relevance: 'exclude'` (bedoeld als referentiemateriaal voor R42) verdwijnen uit de knowledge graph na een Full Analysis. Ook `relevance_locked: true` topics zijn niet beschermd. In de live data zijn 36 excluded topics — allemaal locked — door één Full Analysis run verwijderd.
**Root cause**
1. `analyzeGraph` in `KnowledgeGraph.jsx` past `actions.deletions` en `actions.merges.deleteId` zonder filter toe — geen check op `learning_relevance === 'exclude'` of `relevance_locked === true`.
2. `SYSTEM_PROMPTS.full` vraagt het model expliciet om "vague / irrelevant / malformed" topics te deleten; tegelijk vertelt het niets over excluded reference material dat moet blijven bestaan.
3. De full-scope `compactTopics` payload omit `relevance_locked` (alleen voor scope `relevance`), dus zelfs als de prompt het verbood kon het model het niet honoreren.
**Fix**
- Client-side guard in `analyzeGraph`: strip excluded + locked ids uit `actions.deletions` en `actions.merges` (deleteId-kant) — pure helper in `src/lib/graphGuard.js`.
- Prompt-uitbreiding: expliciete "PROTECTED TOPICS" sectie aan `SYSTEM_PROMPTS.full`.
- `relevance_locked` meesturen in full-scope `compactTopics`.
- Unit tests in `src/lib/__tests__/graphGuard.test.js`.
- UI: ShieldCheck-banner met aantal geblokkeerde acties, excluded-count naast de show-exclude toggle.
**Herstel**
De 36 verwijderde topics zaten in de localStorage-snapshot én zijn als JSON-backup naar disk gekopieerd. Na merge zet ik ze terug via de bestaande "↩ Restore to …" knop in de graph-sidebar.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bug
Topics met
learning_relevance: 'exclude'(bedoeld als referentiemateriaal voor R42) verdwijnen uit de knowledge graph na een Full Analysis. Ookrelevance_locked: truetopics zijn niet beschermd. In de live data zijn 36 excluded topics — allemaal locked — door één Full Analysis run verwijderd.Root cause
analyzeGraphinKnowledgeGraph.jsxpastactions.deletionsenactions.merges.deleteIdzonder filter toe — geen check oplearning_relevance === 'exclude'ofrelevance_locked === true.SYSTEM_PROMPTS.fullvraagt het model expliciet om "vague / irrelevant / malformed" topics te deleten; tegelijk vertelt het niets over excluded reference material dat moet blijven bestaan.compactTopicspayload omitrelevance_locked(alleen voor scoperelevance), dus zelfs als de prompt het verbood kon het model het niet honoreren.Fix
analyzeGraph: strip excluded + locked ids uitactions.deletionsenactions.merges(deleteId-kant) — pure helper insrc/lib/graphGuard.js.SYSTEM_PROMPTS.full.relevance_lockedmeesturen in full-scopecompactTopics.src/lib/__tests__/graphGuard.test.js.Herstel
De 36 verwijderde topics zaten in de localStorage-snapshot én zijn als JSON-backup naar disk gekopieerd. Na merge zet ik ze terug via de bestaande "↩ Restore to …" knop in de graph-sidebar.
PR: #15