5.1 KiB
Fiche STE-ORG5-V1 — Niveau N2 — Modèle prévu (modèle de l'agent lp-validator) | utilisé <modèle déclaré> — Agent lp-validator — Skills lp-validate, sk-recount, sk-protocol
1 Objectif : VAL statique sans compilation de STE-ORG5-I1 (bonus v5.26, version minimale, deux fichiers C++ neufs) contre STE-ORG5-SPEC.md et les consignes de Big Boss, avant le build COMMUN-6 (ORG5 n'y entre que si cette VAL passe) — lot STE, registre D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-TACHES.md ligne STE-ORG
2 Complexité : a1 b2 c1 d0 e1 f1 = 6 → N2 compté (aucun ; agent distinct de l'écriture) ; barème § 2 : C3 = 1 ; S = 2 ≥ 2 → issue « acceptée » par l'orchestrateur (VAL de relecture, une seule cible : deux fichiers) ; C9a : relu le 2026-10-14 par l'orchestrateur (fichiers écrits, git status = deux ?? de plus)
2b Agent : lp-validator (modèle surchargé : aucun) — préchargés : ceux de l'agent — à invoquer : lp-validate, sk-recount — outils retirés : aucun
3 Contexte : lecture seule, sans compilation, éditeur, MCP, commandlet ni jeu. Fichiers à valider : D:\Game\LifePlay-master 5.8\Source\LifePlay\LPBonusRewardSubsystem.h et .cpp ; livrable IMPL STE-ORG5-I1-IMPL.md (§ 1.4 API relues, § 5 points VAL-1 à VAL-13, écarts E1-E10) ; SPEC STE-ORG5-SPEC.md (dont « Décisions » et « Règle commune ORG4 / ORG5 » en fin de fichier) ; fiche fiches\STE-ORG5-I1.md (consignes de Big Boss : fichiers neufs seuls, accroche documentée sans nœud ni lecture de journal, réglage dans Config\ et rien dans Saved\, en-tête MIT). Dumps : etat\portage55\L6f\L6f_dump_Person.txt, L6f_dump_GI.txt, etat\ST\STE\dumps\GI__EventGraph_P2.txt, etat\ST\STG\dumps\Person__EventGraph.txt. Moteur : D:\Game\Launcher\Engine\UE_5.8\Engine\Source\ (lecture). Build de l'auteur (référence de comportement, lecture seule) : D:\XxX\LifePlay_2023_04_Stable_64bit.
Points amont à reprendre (incertitudes de l'IMPL) : types réels de GI.CurrentTags, Person.Name_First, paramètre RNG de QueryStat (si RNG n'est pas booléen, aucune récompense ne s'applique) ; ordre des paramètres et absence d'effet de bord de IsInterestedIn ; FCeil (UE_INL_API) lié depuis le module ; désactivation dans un jeu empaqueté avec config = Game.
4 Entrées et contrôles (un par ligne : contrôle → preuve → verdict) :
- Périmètre :
git status --porcelain -- Content Source Config= état d'entrée + exactement les deux??; aucun fichier existant modifié ; Build.cs inchangé et suffisant. - Conformité SPEC : table des 20 clés (contre
Cursor.uexp4643-6408 par la SPEC / l'audit § 9), tirage (10 clés, filtreOverlaps(…, IfEmptyThenTrue=true), conditionattractiontoplayer, 3 au plus, application de la première), formule (vérifier 21 points dont 0 → 2,0, 50 → 1,1, 100 → 0,2), H1 (incrément deSex_OrgasmCounts, pas de double déclenchement, remise à zéro en fin de scène), règle commune (rien àEndsexsansCum), toute personne qui jouit, PNJ compris. - Réflexion : chaque
FindFunction/FindPropertyByNamecontre le dump (nom exact, types, ordre et taille de la structure de paramètres, valeur de retour) ; comportement si introuvable (journal, pas de plantage). - Sûreté : pointeurs nuls, objets en cours de destruction (
IsValid), monde ou GameInstance absents, Shipping (pas d'appel de débogage), coût du sondage (fréquence, nombre de personnes). - Compilation probable (lecture) : includes, macros
UCLASS/GENERATED_BODY,_APIdu module, signatures UE 5.8 citées (fichier:ligne), avertissements probables (masquage C4456 / C4458, conversions double / float),UE_LOG(catégorie déclarée). - Consignes : réglage
config = Game, pas deSaveConfig, rien sousSaved\; en-tête origine + MIT ; aucune lecture de journal ni accroche cachée. - CR / LF : 0 CR dans les deux fichiers (
od -An -v -tx1 <f> | tr ' ' '\n' | grep -c '^0d$'). 5 Pièges : voir lp-validate ; « non compilé » : un verdict sur la compilation reste « probable » ; le crochetecriture-gardienrefuse tout caractère>dans une commande Bash (même dans un motif),python -c, heredocs : au premier refus du crochet, arrêt et compte rendu ; aucun nom d'utilisateur niC:\Users\<nom>dans le livrable. 6 Interdits : aucune écriture hors du livrable ; aucun fichier source modifié (les défauts sont rapportés, pas corrigés) ; pas de compilation, d'éditeur, de MCP, de commandlet ni de jeu ; aucun commit (+ sk-protocol § 2). 7 Livrable :D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-ORG5-V1-VAL.mdau gabarit VAL (un contrôle par ligne : preuve → verdict ; défauts D# avec gravité bloquant / à corriger / mineur, et correctif proposé) + compte rendu sk-protocol § 3 8 Critère d'acceptation : verdictPASS-STATIC|FAIL(défauts D# avec gravité) ; chaque incertitude de l'IMPL tranchée ou marquée « à vérifier à la compilation / en jeu » 9 Budget et arrêt : 40 tours, pic ≤ 160 k, ≈ 35 min — tentative 1/4 ; arrêt au premier refus de permission ou du crochet ; au budget : livrable partiel + état de reprise