Repository navigation
Calibration B1 (ADR-016), archivage > 2 Gio et échelle PRISM/docs - #526
Merged
donovan-dev-web merged 3 commits intoOct 7, 2026
Merged
Conversation
…se de campagne - RunDataFile : source fichier lue en flux, jamais chargée en byte[] (un stream.jsonl de 2500 ticks × 50 agents = 2,34 Gio dépasse int.MaxValue) ; LivexPackageWriter écrit en mode Create avec échange atomique et hachage d'intégrité en flux, Seal en Read → Create, plafond d'entrée du lecteur relevé de 4 à 16 Gio (PACKAGE_FORMAT §9). - Ensemble vide de runIds détecté côté Campagne : avertissement explicite au lieu d'un 422 opaque. - Délai d'analyse ECHOS posé par requête : 30 min pour ingest/run et analysis/* (5 m 30 s mesurées pour ingérer 2500 ticks × 50 agents), 30 s pour les appels ordinaires. - Tests : régression > 2 Gio, archivage du vrai stream.jsonl 2,34 Gio, campagne SYNE publié, analyse ECHOS ; docs PACKAGE_FORMAT / EXPERIMENTS / CHANGELOG à jour.
…s (ADR-016) Défauts du moteur recalibrés pour tenir 2500 ticks à 50 et 100 agents (6/6 runs, 0 extinction, 0 mort, |pente| ≤ 0,0037/tick < 0,005) : réserves food/water 20 000 avec régénération nette 20/10 (degradationTick null), moveEnergyCost 0,05 → 0,03, gains Eat/Drink 2,0/1,0, Rest 1,5/2,0, dérives social/curiosité 0,001/0,002 → 0,0002/0,0005, coûts de communication neutres. engineVersion 0.14.0 → 0.15.0, goldens re-pinnés (DETERMINISM §7), 27 tests adaptés. Accompagnement : reference.json corrigé (chemin catalog.entries) et rejouant B1 ; ComputationShare rapportée en temps/tick ; rejet 413 fiabilisé (vidange bornée du corps avant réponse, fini le broken pipe) ; script rejouable scripts/calibration-campaign.py.
Convention d'échelle arrêtée : k = 100 uu/unité, ticksPerSecond 6, monde 2240 × 2240 (5 km²), worldCellSize 32 uu = case de grille WP 3200 uu (défaut UE, MaxWalkSpeed 600 uu/s). Ajout de SCALE_AND_CADENCE_SPEC.md (11 sections, checklist de validation) et de l'ADR-003 [Proposed] ; README, CHANGELOG, index ADR et PRISM_UNREAL_IMPLEMENTATION mises en cohérence (formule de conversion UnrealX = SyneX × k, tableaux de cadence).
donovan-dev-web
deleted the
feature/calibration-b1-archivage-2go-docs-prism
branch
October 7, 2026 17:39
This was referenced Oct 12, 2026
donovan-dev-web
added a commit
that referenced
this pull request
Oct 12, 2026
* fix(launcher): archive les runs au-delà de 2 Gio et fiabilise l'analyse de campagne - RunDataFile : source fichier lue en flux, jamais chargée en byte[] (un stream.jsonl de 2500 ticks × 50 agents = 2,34 Gio dépasse int.MaxValue) ; LivexPackageWriter écrit en mode Create avec échange atomique et hachage d'intégrité en flux, Seal en Read → Create, plafond d'entrée du lecteur relevé de 4 à 16 Gio (PACKAGE_FORMAT §9). - Ensemble vide de runIds détecté côté Campagne : avertissement explicite au lieu d'un 422 opaque. - Délai d'analyse ECHOS posé par requête : 30 min pour ingest/run et analysis/* (5 m 30 s mesurées pour ingérer 2500 ticks × 50 agents), 30 s pour les appels ordinaires. - Tests : régression > 2 Gio, archivage du vrai stream.jsonl 2,34 Gio, campagne SYNE publié, analyse ECHOS ; docs PACKAGE_FORMAT / EXPERIMENTS / CHANGELOG à jour. * feat(syne): calibration B1 des défauts intégrés — stabilité 2500 ticks (ADR-016) Défauts du moteur recalibrés pour tenir 2500 ticks à 50 et 100 agents (6/6 runs, 0 extinction, 0 mort, |pente| ≤ 0,0037/tick < 0,005) : réserves food/water 20 000 avec régénération nette 20/10 (degradationTick null), moveEnergyCost 0,05 → 0,03, gains Eat/Drink 2,0/1,0, Rest 1,5/2,0, dérives social/curiosité 0,001/0,002 → 0,0002/0,0005, coûts de communication neutres. engineVersion 0.14.0 → 0.15.0, goldens re-pinnés (DETERMINISM §7), 27 tests adaptés. Accompagnement : reference.json corrigé (chemin catalog.entries) et rejouant B1 ; ComputationShare rapportée en temps/tick ; rejet 413 fiabilisé (vidange bornée du corps avant réponse, fini le broken pipe) ; script rejouable scripts/calibration-campaign.py. * docs(prism): fixe l'échelle et la cadence SYNE ↔ Unreal (ADR-003) Convention d'échelle arrêtée : k = 100 uu/unité, ticksPerSecond 6, monde 2240 × 2240 (5 km²), worldCellSize 32 uu = case de grille WP 3200 uu (défaut UE, MaxWalkSpeed 600 uu/s). Ajout de SCALE_AND_CADENCE_SPEC.md (11 sections, checklist de validation) et de l'ADR-003 [Proposed] ; README, CHANGELOG, index ADR et PRISM_UNREAL_IMPLEMENTATION mises en cohérence (formule de conversion UnrealX = SyneX × k, tableaux de cadence).
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.
Quoi
Trois volets couvrant toutes les modifs en cours, pour mettre
developà jour.1.
fix(launcher)— archivage des runs au-delà de 2 Gio + fiabilisation de l'analyse de campagneRunDataFile: source fichier lue en flux, jamais chargée enbyte[](unstream.jsonlde 2500 ticks × 50 agents = 2,34 Gio dépasseint.MaxValueet échouait avec « The file is too long »).LivexPackageWriterréécrit en mode Create (compression directe, échange atomique via temporaire, déterminisme §5.2 inchangé), hachage d'intégrité en flux ;Sealrelit en Read et réécrit en Create.runIdsvide détecté côté Campagne (avertissement explicite au lieu d'un 422 opaque) ; délai d'analyse ECHOS par requête (30 min pouringest/run/analysis/*— ingestion mesurée 5 m 30 s).stream.jsonl2,34 Gio).2.
feat(syne)— calibration B1 des défauts intégrés, stabilité 2500 ticks (ADR-016)degradationTicknull),moveEnergyCost0,05 → 0,03, gains Eat/Drink 2,0/1,0, Rest 1,5/2,0, dérives social/curiosité 0,001/0,002 → 0,0002/0,0005, communication neutre.scripts/calibration-campaign.py.engineVersion0.14.0 → 0.15.0, goldens re-pinnés, 27 tests adaptés,reference.jsoncorrigé (catalog.entries),ComputationShareen temps/tick, rejet 413 fiabilisé (broken pipe).3.
docs(prism)— échelle et cadence SYNE ↔ Unreal (ADR-003, nouvelle branche)k = 100 uu/unité, TPS 6, monde 2240 × 2240 (case 32 uu = 3200 uu WP,MaxWalkSpeed600 uu/s par défaut).SCALE_AND_CADENCE_SPEC.md(11 sections) +ADR-003[Proposed] ; mises en cohérence README/CHANGELOG/index ADR/PRISM_UNREAL_IMPLEMENTATION.md.Vérifications
dotnet buildLauncher.sln et Syne.sln (Release) : 0 erreur, 0 avertissement.ci.yml).