Skip to content

fix(deploy): avoid duplicate service label false positives - #4

Merged
Tetrax merged 1 commit into
mainfrom
fix/policy-engine-v2-service-scope
Aug 20, 2026
Merged

fix(deploy): avoid duplicate service label false positives#4
Tetrax merged 1 commit into
mainfrom
fix/policy-engine-v2-service-scope

Conversation

@Tetrax

@Tetrax Tetrax commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Correctif

Corrige le faux positif :

Génération refusée : le moteur a élargi les services demandés

Cause racine

Une policy V2 peut contenir plusieurs tuples techniques portant le même libellé de présentation, par exemple :

UDP/3479 → MMS
UDP/3481 → MMS
TCP/53   → DNS
UDP/53   → DNS

analyzePolicies() représente correctement ces tuples par un seul objet exact multi-port ou TCP+UDP. Le contrôle serviceScopeIssues comparait cependant des listes avec multiplicité : MMS, MMS était considéré différent de MMS alors que le périmètre technique était conservé.

Correction

  • comparaison des ensembles de libellés uniques, triés et normalisés ;
  • maintien du contrôle de dérive réelle : ajout, suppression ou renommage reste bloquant ;
  • maintien du preflight technique protocole/port comme autorité de sécurité ;
  • aucun changement du grouping, des métriques ou des invariants V2 ;
  • version applicative 1.0.1.

Vérifications

Tests                       105/105 PASS
Syntaxe                     PASS
npm audit CRITICAL          PASS
Rejeu session réelle        PASS
POST /api/deploy/generate   HTTP 200
Policies ré-analysées       388
Missing tuples              0
Unexpected tuples           0
Expansion                   0 %

Image candidate exacte :

fortiflow:scopefix-8def46afbff7

Le replay utilise une copie isolée des caches de session ; le runtime production v1.0.0 n'a pas été modifié.

@Tetrax
Tetrax merged commit da7de8e into main Aug 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant