ApplyBattleTest

2

tests

0

failures

0

ignored

0.020s

duration

100%

successful

Tests

Test Duration Result
bascule recupere les champs cles vs LLM tronque vide() 0.010s passed
battle apply - gain end-to-end sur vrais blobs() 0.010s passed

Standard output

20:41:20.746 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=seloger outcome=EXTRACTED champs=18 par-couche={STRUCTURED=7, DESCRIPTION=11}
20:41:20.746 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 18 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, adresse←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←DESCRIPTION, ges←DESCRIPTION, etage←DESCRIPTION, ascenseur←DESCRIPTION, anneeConstruction←DESCRIPTION, chargesCopro←DESCRIPTION, nbLotsCopro←DESCRIPTION, chauffage←DESCRIPTION, cave←DESCRIPTION, surfaceExterieure←DESCRIPTION, typeExterieur←DESCRIPTION]
20:41:20.750 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=lbc outcome=EXTRACTED champs=15 par-couche={STRUCTURED=15}
20:41:20.750 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 13 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←STRUCTURED, ges←STRUCTURED, etage←STRUCTURED, anneeConstruction←STRUCTURED, chargesCopro←STRUCTURED, nbChambres←STRUCTURED, quartier←STRUCTURED]
20:41:20.751 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=preux outcome=NO_STRUCTURED_DATA champs=0 par-couche={}

===== BATTLE-TEST BASCULE — LLM vide (markdown tronqué) + apply déterministe =====
20:41:20.755 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=lbc outcome=EXTRACTED champs=15 par-couche={STRUCTURED=15}
20:41:20.755 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 13 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←STRUCTURED, ges←STRUCTURED, etage←STRUCTURED, anneeConstruction←STRUCTURED, chargesCopro←STRUCTURED, nbChambres←STRUCTURED, quartier←STRUCTURED]

• lbc-blob-annecy.html  [outcome=EXTRACTED]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 12 champs → [annee=1986, chargesCopro=948, codePostal=74000, dpe=C, etage=2, ges=B, nbPieces=4, prix=457600, quartier=Mandallaz - Prairie - Vovray, surface=83, type=Appartement, ville=Annecy]
20:41:20.756 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=seloger outcome=EXTRACTED champs=18 par-couche={STRUCTURED=7, DESCRIPTION=11}
20:41:20.756 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 18 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, adresse←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←DESCRIPTION, ges←DESCRIPTION, etage←DESCRIPTION, ascenseur←DESCRIPTION, anneeConstruction←DESCRIPTION, chargesCopro←DESCRIPTION, nbLotsCopro←DESCRIPTION, chauffage←DESCRIPTION, cave←DESCRIPTION, surfaceExterieure←DESCRIPTION, typeExterieur←DESCRIPTION]

• seloger-t3-lyon.html  [outcome=EXTRACTED]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 14 champs → [adresse=La Villette, annee=1980, ascenseur=true, chargesCopro=2520, codePostal=69003, dpe=D, etage=6, ges=D, nbPieces=3, nombreLots=180, prix=315000, surface=65, type=Appartement, ville=Lyon 3ème arrondissement]
    🔑 nombreLots=180 (→ fingerprint RNC / résolution banId)
20:41:20.758 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=seloger outcome=EXTRACTED champs=19 par-couche={STRUCTURED=7, DESCRIPTION=12}
20:41:20.758 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 19 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, adresse←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←DESCRIPTION, ges←DESCRIPTION, etage←DESCRIPTION, ascenseur←DESCRIPTION, chargesCopro←DESCRIPTION, nbChambres←DESCRIPTION, quartier←DESCRIPTION, cave←DESCRIPTION, parkingGarage←DESCRIPTION, surfaceExterieure←DESCRIPTION, typeExterieur←DESCRIPTION, anneeRenovation←DESCRIPTION]

• seloger-appartement-t3-paris.html  [outcome=EXTRACTED]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 13 champs → [adresse=15 rue de la Roquette, ascenseur=true, chargesCopro=2400, codePostal=75011, dpe=E, etage=2, ges=D, nbPieces=3, prix=450000, quartier=Bastille, surface=65, type=Appartement, ville=Paris 11ème]
20:41:20.759 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=pap outcome=EXTRACTED champs=18 par-couche={STRUCTURED=8, DESCRIPTION=10}
20:41:20.759 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 18 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, surfaceTerrain←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, adresse←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, dpe←DESCRIPTION, ges←DESCRIPTION, anneeConstruction←DESCRIPTION, nbChambres←DESCRIPTION, taxeFonciere←DESCRIPTION, quartier←DESCRIPTION, chauffage←DESCRIPTION, surfaceExterieure←DESCRIPTION, typeExterieur←DESCRIPTION, anneeRenovation←DESCRIPTION]

• pap-maison-bordeaux.html  [outcome=EXTRACTED]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 12 champs → [adresse=12 rue du Général Thiébault, annee=1935, codePostal=33000, dpe=B, ges=A, nbPieces=5, prix=495000, quartier=Chartrons, surface=110, surfaceTerrain=320, type=Maison, ville=Bordeaux]
20:41:20.760 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=pap outcome=EXTRACTED champs=8 par-couche={STRUCTURED=7, DESCRIPTION=1}
20:41:20.760 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractionApplier -- [listing-apply] 8 champ(s) comblé(s) (gap-filler, zéro écrasement): [prix←STRUCTURED, surface←STRUCTURED, ville←STRUCTURED, codePostal←STRUCTURED, adresse←STRUCTURED, type←STRUCTURED, nbPieces←STRUCTURED, chargesCopro←DESCRIPTION]

• pap-studio-poitiers.html  [outcome=EXTRACTED]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 8 champs → [adresse=Promenade des Cours, chargesCopro=950, codePostal=86000, nbPieces=1, prix=64000, surface=25, type=Appartement, ville=Poitiers]
20:41:20.761 [Test worker] INFO com.alertimmo.aiscraping.extraction.structured.ListingExtractor -- [listing-extractor] portal=preux outcome=NO_STRUCTURED_DATA champs=0 par-couche={}

• preux-va4736-annecy.html  [outcome=NO_STRUCTURED_DATA]
    AVANT (LLM tronqué) : 0 champ
    APRÈS apply         : 0 champs → []

=================================================================================