feat(ui): cross-column constraints point-and-click in de app (#50)#56
Draft
StevenRamondt wants to merge 1 commit into
Draft
feat(ui): cross-column constraints point-and-click in de app (#50)#56StevenRamondt wants to merge 1 commit into
StevenRamondt wants to merge 1 commit into
Conversation
De engine + CLI ondersteunen sinds #45 cross-column constraints via een YAML- schema; de app had er nog geen ingang voor. - ui/config.render_constraints: niveau-2 expander 'Logische regels (optioneel)' in stap 2. Volgorde tussen kolommen via dropdowns (≤/</≥/>) en geldige combinaties via multiselect — geen YAML. inequality_rule vertaalt operator-keuze naar de rule-vorm (kolomvolgorde × strict). - core.synthesize.build_constraints publiek gemaakt; _build_constraints delegeert. App en CLI delen zo één vertaalpad rule-dict → sdv.cag (geen nieuwe engine-logica). - _run_tabular past de constraints toe via add_constraints vóór fit; botsende/ ongeldige regels vallen in de bestaande foutafhandeling. - Regels resetten bij een nieuwe dataset (verwijzen naar oude kolommen). Tests: inequality_rule-mapping (≤/</≥/>) + rule→build_constraints round-trip. Geverifieerd met AppTest: constraints-UI rendert in stap 2, generatie-path werkt. Closes #50
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wat
Golf 3, deel 2 — het laatste issue van het UX-traject. De engine + CLI ondersteunen sinds #45 cross-column constraints via een YAML-schema; de app (primaire interface) had daar nog geen ingang voor.
#50 — Logische regels point-and-click
ui/config.render_constraints: niveau-2 expander "Logische regels (optioneel)" in stap 2 (Genereren), standaard ingeklapt.kolom A·≤ / < / ≥ / >·kolom B, met toevoegen/verwijderen. Operator + kolomvolgorde →Inequality(strictbij</>).FixedCombinations.Geen nieuwe engine-logica
core.synthesize.build_constraints(rules)is publiek gemaakt;_build_constraints(schema)delegeert ernaar. App (point-and-click) en CLI (schema) delen zo één vertaalpad rule-dict →sdv.cag._run_tabularpast de constraints toe viaadd_constraintsvóórfit; botsende/ongeldige regels vallen in de bestaande foutafhandeling.Detail
Ontwerp (ui-designer / ISGVO, lichte pass)
Contained niveau-2 component met in het issue al vastgelegde UI-spec → lichte ISGVO-pass i.p.v. volledige skill-ceremonie (conform de scope-gate uit de skill-evaluatie). Toegepast: Hicks (dropdowns beperken keuze), constraint-over-instructie (geen YAML), progressive disclosure (niveau 2), feedforward (regel in gewone taal getoond).
Tests & verificatie
inequality_rule-mapping (≤/</≥/>) + rule →build_constraintsround-trip (één Inequality). Bestaande engine-tests (feat: cross-column hard constraints (inschrijfjaar ≤ uitschrijfjaar, geldige combinaties) #45) dekken de cag-toepassing opfit.ruffschoon.Docs
docs/configuratie.md: app- én schema-pad beschreven (één vertaling).docs/aan-de-slag.md: Logische regels bij stap 2.Closes #50