forked from bchanot/claude
fix(hooks): drop \bux\b from design-toolchain pattern (FR prose FPs)
3rd tightening pass (series LRN-1005/1007): bare "ux" matched inside French prose (2 logged FPs, both FR — latest "changement ux vu"). \bui\b kept: zero logged FP, one logged true positive, now locked by a must-fire test row. Flip-tested: quiet row fired pre-change.
This commit is contained in:
@@ -44,7 +44,11 @@ lc="$(printf '%s' "$prompt" | tr '[:upper:]' '[:lower:]')"
|
||||
# "design system", "redesign", "front-?end design". dashboard -> \bdashboard\b
|
||||
# so a filename like ecc_dashboard.py no longer matches while "admin dashboard"
|
||||
# still does. animation kept (rarely non-UI).
|
||||
pattern='redesign|refonte|refont|ui/ux|ux/ui|\bui\b|\bux\b|ui kit|design system|design-system|front-?end design|\bnavbar\b|\bsidebar\b|\bmodal\b|\bbouton\b|\bbutton\b|formulaire|\bhero\b|\bheader\b|\bfooter\b|dropdown|tooltip|\bbadge\b|\bchart\b|graphique|accordion|carousel|\bslider\b|landing|\bdashboard\b|homepage|home page|\baccueil\b|\bécran\b|\becran\b|portfolio|maquette|mockup|wireframe|prototype|\bjoli\b|\bjolie\b|\bbeau\b|\bbelle\b|esth[eé]tique|aesthetic|\bvisuel\b|\bvisual\b|embellir|fignol|peaufin|polish|styliser|styling|stylesheet|\bskin\b|charte graphique|\bbrand\b|branding|\blogo\b|favicon|ic[oô]ne|\bicon\b|\bcss\b|tailwind|shadcn|couleur|gradient|d[eé]grad[eé]|\bombre\b|spacing|espacement|\bmarge\b|\bpadding\b|\bmargin\b|\bradius\b|arrondi|\bhover\b|dark mode|light mode|typograph|\bfont\b|\bfonts\b|font pairing|\bpolice\b|animation|\bmotion\b|micro-interaction|keyframe|glassmorph|neumorph|claymorph|skeuomorph|brutalis|bento|minimalis|responsive|figma'
|
||||
# Tightened 2026-07-30 (3rd pass): dropped \bux\b — bare "ux" matched inside
|
||||
# French prose ("changement ux vu…"; 2 logged FPs, both FR). \bui\b KEPT
|
||||
# (zero logged FP, one logged true positive). NB: the log records only the
|
||||
# FIRST match per fire (head -1), so per-token FP rates aren't derivable.
|
||||
pattern='redesign|refonte|refont|ui/ux|ux/ui|\bui\b|ui kit|design system|design-system|front-?end design|\bnavbar\b|\bsidebar\b|\bmodal\b|\bbouton\b|\bbutton\b|formulaire|\bhero\b|\bheader\b|\bfooter\b|dropdown|tooltip|\bbadge\b|\bchart\b|graphique|accordion|carousel|\bslider\b|landing|\bdashboard\b|homepage|home page|\baccueil\b|\bécran\b|\becran\b|portfolio|maquette|mockup|wireframe|prototype|\bjoli\b|\bjolie\b|\bbeau\b|\bbelle\b|esth[eé]tique|aesthetic|\bvisuel\b|\bvisual\b|embellir|fignol|peaufin|polish|styliser|styling|stylesheet|\bskin\b|charte graphique|\bbrand\b|branding|\blogo\b|favicon|ic[oô]ne|\bicon\b|\bcss\b|tailwind|shadcn|couleur|gradient|d[eé]grad[eé]|\bombre\b|spacing|espacement|\bmarge\b|\bpadding\b|\bmargin\b|\bradius\b|arrondi|\bhover\b|dark mode|light mode|typograph|\bfont\b|\bfonts\b|font pairing|\bpolice\b|animation|\bmotion\b|micro-interaction|keyframe|glassmorph|neumorph|claymorph|skeuomorph|brutalis|bento|minimalis|responsive|figma'
|
||||
|
||||
if printf '%s' "$lc" | grep -Eq "$pattern"; then
|
||||
# Counter: log the fire (time, matched token, excerpt) — best-effort, never blocks.
|
||||
|
||||
@@ -22,6 +22,7 @@ check D8-dash-file "$(fire 'ecc_dashboard.py')" quiet
|
||||
# --- Harness-generated inputs must be QUIET even with UI tokens ---
|
||||
check D9-tasknotif "$(fire '<task-notification> <task-id>x</task-id> add css header fonts')" quiet
|
||||
check D10-notif-file "$(fire '<task-notification> design-motion-principles keyframe done')" quiet
|
||||
check D11-bare-ux "$(fire 'changement ux vu de tes trouvailles')" quiet
|
||||
|
||||
# --- Real UI signals must still FIRE ---
|
||||
check F1-button "$(fire 'add a button')" fire
|
||||
@@ -33,6 +34,7 @@ check F6-frontdesign "$(fire 'frontend design work')" fire
|
||||
check F7-admin-dash "$(fire 'admin dashboard screen')" fire
|
||||
check F8-animation "$(fire 'add an animation')" fire
|
||||
check F9-designsys "$(fire 'our design system')" fire
|
||||
check F10-bare-ui "$(fire 'revois l'\''ui du panneau admin')" fire
|
||||
|
||||
# --- Fire is logged (time + token + excerpt) ---
|
||||
tmp="$(mktemp -d)"
|
||||
|
||||
Reference in New Issue
Block a user