diff --git a/aidlc-docs/features/cms-frontend/construction/plans/unit-0-nfr-design-plan.md b/aidlc-docs/features/cms-frontend/construction/plans/unit-0-nfr-design-plan.md new file mode 100644 index 0000000..eaaef5b --- /dev/null +++ b/aidlc-docs/features/cms-frontend/construction/plans/unit-0-nfr-design-plan.md @@ -0,0 +1,42 @@ +# NFR Design Plan — Unit 0: Backend Prerequisites + +Welkom bij de NFR Design fase voor Unit 0. In deze fase vertalen we de NFR-eisen naar een concreet technisch ontwerp. + +Beantwoord de onderstaande vragen om het plan te valideren: + +## Vraag 1: CORS Implementation Details +A) Custom `CorsPolicy` +B) `ServiceCollectionExtensions` configuratie (Aanbevolen) +X) Anders (beschrijf na de [Answer]: tag hieronder) + +[Answer]: B + +## Vraag 2: Rate Limiting +A) `RateLimiterAttribute` op de controllers +B) Globale `RateLimiter` pipeline in de middleware (Aanbevolen) +X) Anders (beschrijf na de [Answer]: tag hieronder) + +[Answer]: B + +## Vraag 3: Cookie Security +A) Strict (`HttpOnly`, `Secure`, `SameSite.Strict`) (Aanbevolen) +B) Aangepaste instellingen +X) Anders (beschrijf na de [Answer]: tag hieronder) + +[Answer]: A + +## Vraag 4: Error Handling +A) `GlobalExceptionHandler` uitbreiden (Aanbevolen) +B) Custom middleware voor `ProblemDetails` +X) Anders (beschrijf na de [Answer]: tag hieronder) + +[Answer]: A + +## Vraag 5: Configuration +A) `appsettings.json` (conform `dotnet-appsettings` skill, Aanbevolen) +B) Anders +X) Anders (beschrijf na de [Answer]: tag hieronder) + +[Answer]: A + +Laat me weten als je klaar bent met de antwoorden door "Klaar" of iets dergelijks in de chat te typen. diff --git a/aidlc-docs/gap-reports/gap-003.md b/aidlc-docs/gap-reports/gap-003.md new file mode 100644 index 0000000..9704691 --- /dev/null +++ b/aidlc-docs/gap-reports/gap-003.md @@ -0,0 +1,34 @@ +# Gedetailleerd Gap-rapport: Inconsistente Vraagstelling en Interactie-formaat (Gap-003) + +## 1. Context en Incidentbeschrijving +Tijdens de uitvoering van de `aidlc-workflow` voor de feature `cms-frontend`, specifiek in de fase **Construction > Unit 0 > NFR Design**, is een inconsistentie opgetreden in de manier waarop de agent vragen stelde aan de gebruiker. In plaats van het voorgeschreven **Multiple Choice** formaat te gebruiken in het `unit-0-nfr-design-plan.md` bestand, presenteerde de agent open-einde vragen. + +De gebruiker moest de agent corrigeren en expliciet om meerkeuzevragen vragen, wat leidde tot onnodige cognitieve belasting en een breuk in de efficiënte workflow-ervaring. + +## 2. Analyse van de Oorzaak (Root Cause Analysis) +Een diepere analyse van de `aidlc-workflow` skill onthult de volgende oorzaken: + +* **Zwakke Koppeling tussen Globale Regels en Fase-specifieke Instructies**: Hoewel `common/question-format-guide.md` expliciet het Multiple Choice formaat (met een verplichte "Other" optie) voorschrijft, ontbreekt in veel fase-specifieke bestanden (zoals `construction/nfr-design.md`) een expliciete verwijzing naar dit gids-bestand. +* **Prioritering van Inhoud boven Formaat**: In `nfr-design.md` ligt de nadruk zwaar op de *inhoud* van de vragen (Resilience, Scalability, etc.) via "CRITICAL" en "DIRECTIVE" secties. De agent wordt aangespoord om "proactief" te zijn, maar wordt niet herinnerd aan de *vormvereisten* van de interactie op dat specifieke moment. +* **Laksheid in Zelf-validatie**: De agent (LLM) neigt naar het genereren van de meest directe (vaak open-einde) vragen als de instructies op dat specifieke punt niet dwingend genoeg zijn, ondanks globale "MANDATORY" regels in de `SKILL.md`. + +## 3. Impact +* **Gebruikerservaring**: Verhoogde cognitieve belasting; de gebruiker moet zelf antwoorden structureren in plaats van te kunnen kiezen. +* **Efficiëntie**: De workflow wordt onderbroken voor handmatige correcties. +* **Betrouwbaarheid**: Het "voorspelbare" karakter van de workflow komt in het gedrang. + +## 4. Bewijslast (Evidence) +* **Artifact**: `aidlc-docs\features\cms-frontend\construction\plans\unit-0-nfr-design-plan.md` (initiële versie bevatte geen opties). +* **Interactie**: User prompt: *"skill-creator, waarom krijg ik niet gewoon multiple choice vragen? Waarom moet ik de vragen ineens in een open format gaan beantwoorden?"* + +## 5. Aanbevelingen voor de Skill-agent +Om dit structureel op te lossen in de `aidlc-workflow` skill, moeten de volgende wijzigingen worden doorgevoerd: + +1. **Versterk Stage-specifieke Instructies**: Voeg aan ELK fase-bestand waarin vragen worden gegenereerd (Requirements, User Stories, Functional Design, NFR Design, etc.) een expliciete herinnering toe: + * *“MANDATORY: Follow formatting rules in `common/question-format-guide.md`. All content questions MUST be Multiple Choice with an 'Other' option.”* +2. **Update SKILL.md**: Voeg een sectie toe onder "Key Principles" of "MANDATORY Rules" genaamd **Interaction Pattern Consistency**. Hierin moet staan dat afwijken van het `question-format-guide.md` formaat een kritieke fout is. +3. **Template Handhaving**: Zorg dat alle voorbeeld-prompts of templates in de skill-details standaard de Multiple Choice structuur tonen. +4. **Self-Correction Loop**: Instrueer de agent om vóór het wegschrijven van een plan-bestand met vragen, te valideren of ELKE vraag voldoet aan het `[Answer]:` formaat EN voorzien is van opties A, B, C, etc. + +## 6. Overdracht aan Skill-agent +Dit rapport dient als input voor een reparatie-taak aan de `aidlc-workflow` skill. De focus moet liggen op het expliciet maken van de koppeling tussen *wat* gevraagd moet worden en *hoe* het gevraagd moet worden, over alle fasen van de workflow heen.