r-io suiter-io suitereference docs
← Documentation home
Reference / Release plan

Release plan

The end-to-end scenarios replayed on a release build of r-io suite before each release, with their checkpoints in order. The latest result of each scenario is in the Release table of the home page.

01 · RP-01-01

IMT Crisis default game scenario

Game scenario: « Default Game Scenario », 4 dates · 8 DATA steps, 22 planned sensors; one r-iosemit Next step moves the whole scenario forward by one date and sends 8 launchDataSetOnTopic (r-iota has no step button). The 4 dates are played:

DateTimeline itemMoving values
20:48:48message « Energy company social media » (Margaret Parker): Due to high electricity demand, there is a risk of power outages in your area.Rapsodee gas 113.9
20:59:57planned actuality « Analyze the gas leak at Rapsodee »Rapsodee gas 643.5 → 656.5 (threshold 650) → CEP rule R1 of the gas sensor
21:09:04actuality « Presence detected at Iomega »Main Entrance intrusion → true → CEP rule R1 of the intrusion sensor
21:27:02actuality « Alert detected at Iomega »Iomega radar → true → reflex event, drone photo analysed by the LLM

Checkpoints, in order:

#ActionExpected result
0start-up: Projects workspace → IMT Albi Crisis → Load → « create a specific collaboration ? » No → OK« Use-case successfully loaded !!! »; « Project List »: IMT Albi Crisis, 12 launchers
0br-ioga « Edit project », read only, CancelIA Provider Albert, IA Model Mistral-small-3-2-24b-instruct-2506
1r-ioda (launcher), Context And Partners tabActive filter only; 69 active nodes: Albi, École des mines and its buildings (Gymnase, Rapsodee, ICA, Incubator, Iomega, Main Building), 25 people (Emily Hernandez and Oliver Taylor with phone, watch, GPS, temperature, heart rate), dogs Rocky and Tyson, SDIS 81, Police station Albi, sensors, Gas boiler, 4 cameras, 3 pedestrian networks; the diagram is larger than the screen
2r-ioplay (launcher)World map, satellite view centred on the École: green footprint, coloured buildings, triangular purple area to the south-east; 42 markers; view lock padlock
3r-iosemit (launcher), STORY tab« Default Game Scenario »; Story settings: Current timeline, 23/09/2026 20:44:44 → 21:44:44, French; Story guidance « Burglars try to create a diversion… Rapsodee… Iomega… IT equipment »; 1 social message; Invented story present; Story narrator (FR)
4r-iosemit TIMELINE → Next step (date 1)log: 8 launchDataSetOnTopic, 2 calls to albert.api.etalab.gouv.fr in HTTP 200
5r-iotalive: 1 ALERTS TO VALIDATE, FIND SOLUTION(S) greyed out, yellow status rgb(255, 238, 50)
6OPEN DETAILS« Problems found », 1 item: Power outages / Risk / « Prevents Power outages »; SIMILAR TYPE Risk; NEAREST INSTANCE « Risk of power outage (near: 0.95) »; Delete / Validate
7Validate → Save1 SURE ALERTS, FIND SOLUTION(S) enabled, red status; risk « ⚠ 70 % » south-west of the site
8r-iosemit Next step (date 2), then r-iotalog: 8 launchDataSetOnTopic, CEP rule R1 of the gas sensor (node …_rule_R1_…, edges Impacts Rapsodee and Near); r-iota live: 2 SURE ALERTS
9OPEN DETAILSas expected: 2 items, Delete only — Power outages / Risk / « Prevents Power outages » / « The sentence explicitly states that due to high electricity demand… »; Analyze the gas leak at Rapsodee / Toxic_Gas_Alert / « Treats Analyze the gas leak »; then Save (state unchanged)
10r-iosemit Next step (date 3), then r-iotalog: 8 launchDataSetOnTopic, no LLM; r-iota live: 5 SURE ALERTS, « Reflex Events Detected !!! », Cameras panel « None camera » (camera off: expected); 5 red pulsars rgb(231, 30, 30): Prevents Power outages, Treats Analyze the gas leak, Contact the center manager, Treats Presence detected, Secured the site
11OPEN DETAILSas expected: 5 items, Delete only — Power outages / Risk; Analyze the gas leak at Rapsodee / Toxic_Gas_Alert; Presence detected at Iomega / Intrusion_Alert × 3 (Contact the center manager, Treats Presence detected, Secured the site); close without change (name « Presence detected » before the RIOSUITE-1232 fix)
12r-iosemit Next step (date 4), then r-iotar-iosemit: end of the timeline, Next step greyed out; log: 8 launchDataSetOnTopic, 2 Albert calls in 200; r-iota: 6 SURE ALERTS, drone photo thumbnail « Wait picture analysis (IA from ALBERT)... »
13wait for the end of the analysis (1 to 2 min)5 SURE ALERTS + 2 ALERTS TO VALIDATE; thumbnail: Retry and « 2 problems found !!! »; yellow circle in the green area
14click the number « 2 » of the thumbnail« Problems to resolve from 'Alert detected at Iomega' » (photo, Open button), 2 items Risk produced by the LLM (names vary): Drone Collision (NEAREST « None (near: 0) ») and Loss of Control (NEAREST « Risk of power outage (near: 0.75) »)
15Drone Collision: PROBLEM TYPE pencil → « Edit Type » → Actuality → SavePROBLEM TYPE Actuality; SIMILAR TYPE Intrusion_Alert (Damage); NEAREST INSTANCE « Unidentified flying object (near: 0.85) »
16Validate on Drone Collision, Delete on the other problem, Save6 SURE ALERTS; thumbnail « 1 problems found !!! »; 6th red pulsar « Treats Drone Collision »; Drone Collision marker in the green area
17OPEN DETAILS, then Saveas expected: 6 items, Delete only — the 5 of step 11 + Drone Collision / Intrusion_Alert / « Treats Drone Collision » with the photo and « The image shows a drone in flight… »
18FIND SOLUTION(S) → Advanced options strategy = YES → Findpreselected strategy Drools - Crisis Satisfaction Strategy, « Deduce and run » at YES
19advanced options window: scroll through it entirelyas expected, as is: title « Drools - Simple Satisfaction Strategy »; FIRST_GOOD_SOLUTION, max 30; Actualities: Analyze the gas leak at Rapsodee → Confirm gas leak; Presence detected → Contact the center manager, Secured the site, Arrest the suspects, Arrest the suspects with the surveillance dog (all checked); Potentialities: Power outages (Emerging Risk), Preventive and Corrective → Relieve the electricity grid (Electric vehicle charging circuit breaker), Activate another power source (Circuit breaker for all circuits except IT and communications, Start the generator); 5 objectives not prioritized (Treats Analyze the gas leak, Contact the center manager, Secured the site, Treats Presence detected, Relieve the electricity grid); Implementation Potentiality empty; PERSON_FIRST; Insert move tasks NO; Default solver; Drone Collision absent
20Deducethe deduction starts (« At least one actor provides each functions for each plans »)
21—OK since 2026-10-15 (RIOSUITE-1232 fixed): no « Error » dialog, straight to « Starting supervision... » (~50 s after Deduce). Behaviour before the fix, to be treated as a failure if it comes back: « Error » dialog « … have no 'Impacts' relationship to any resource: Presence detected (objective(s): 'Contact the center manager', 'Treats Presence detected', 'Secured the site') » — the CEP intrusion actuality only has Near, not Impacts → Iomega. Workaround: add the edge by hand, redo steps 18 to 20
22wait for the supervision (~20 s)log: deduceSolutionASync, deploySolution, selectSolution, superviseSolution in 200, 0 ERROR; Event_Flow condition Generated_By("Power outages"); cockpit « Supervision active », blue status, objectives 0/6, « 0 achieved tasks on 23 expected (total: 25) »; « Started at » = time of the day (a transient « 1970-01-01 » display is not a failure)
23r-iota, Process tab (since 2026-10-15 the tabs are only icons: Process = account_tree, cockpit = speed)Start → Nominal SubTask #f5b041 → CE flow → corrective « Circuit breaker for all circuits except IT and communications » neutral → End
24r-iosemit: TIMELINE, then DATATIMELINE at the end of the timeline; DATA → Sensors: 22 sensors, « Connected »
25DATA → Potentialities Management → refreshbefore refresh: « No active emerging or intrinsic potentiality »; after: Power outages (EMERGING) at 70 %, actuality to activate « Power outage »
26Power outages slider to 100 %« 100 % », « Power outage » activated; log [EVENT-FLOW] Nominal SubTask_… : rule fired, launching recovery Circuit breaker for all circuits…
27r-iota, without reloadinggraph: the corrective turns orange #f5b041; map: as expected, the 100 % risk became an actuality — Power outages risk frozen and no longer drawn, « Power outage » actuality (red beacon) with « Treats Power outage » and its blue pulsar rgb(50, 101, 255); the remaining « ⚠ 60 % » label is the probability of Drone Collision
28backend log, over the whole run0 Impossible to find scope, 0 TEMP-DEBUG, 0 hexString can not be null; only ERROR allowed: getRiopiotContext (camera off)
02 · RP-01-02

IMT Crisis conditions scenario: mute, deletion and exclusive conditions

Game scenario: « Default Game Scenario » modified without saving it (no click on the floppy disk); the mute and the deletions only apply to the playback session.

#ActionExpected result
0start-up with IMT Albi Crisis« Use-case successfully loaded !!! »; « Project List »: IMT Albi Crisis
1r-iosemit (launcher), TIMELINE tabDefault Game Scenario, 23/09/2026 20:44:44 → 21:44:44, header « 4 dates · 8 DATA steps »; 4 cards: message Energy company social media (20:48:48), Analyze the gas leak at Rapsodee (20:59:57), Presence detected at Iomega (21:09:04), Alert detected at Iomega (21:27:02)
2🔈 icon (aria-label="Mute") of the Energy company social media cardcard greyed out and struck through (class muted), 🔇 icon « Muted: kept on the timeline but not played », hollow dot on the timeline; « 4 dates · 8 DATA steps · 1 muted »
3click Presence detected at Iomega → « Planned actuality » dialog (Activation, « Actualities produced by the same CEP rule are scheduled and removed together ») → Remove scheduled transitioncard removed; « 3 dates · 6 DATA steps · 1 muted »
4same for Alert detected at Iomega (the dialog also shows the reflex photo « Photo-Cam-Radar-iomega »)card removed; « 2 dates · 4 DATA steps · 1 muted »; no refusal
5Next step (date 1, muted message)log: [PLAYBACK] checkpoint … before step 0, 4 launchDataSetOnTopic in 200, no LLM call (neither Albert, OpenAI nor Mistral), no trace of the message text, 0 ERROR; the only ML lines are WARN ChatGPTPredictEngine: Not implemented !!! (ordinary sensor events)
6Next step (date 2)log: 4 launchDataSetOnTopic in 200, CEP rule R1 of the gas sensor (…_rule_R1_…, edges Near and Impacts to Rapsodee), 0 ERROR; r-iosemit: Next step greyed out (end of the timeline)
7r-iota (launcher)bundle ng-version 22.x; 1 SURE ALERTS, FIND SOLUTION(S) enabled, red status; a single pulsar « Treats Analyze the gas leak »; neither Power outages nor Iomega alert
8OPEN DETAILS → Save« Problems found », 1 item: Analyze the gas leak at Rapsodee / Toxic_Gas_Alert / « Treats Analyze the gas leak »; state unchanged after Save
9FIND SOLUTION(S), default settings → FindDrools - Crisis Satisfaction Strategy, entries at NO (Prioritize objectives, Include forecast, Advanced options, Insert move tasks), Deduce and run at YES; log: deduceSolutionASync, deploySolution, selectSolution, superviseSolution in 200; 0 ERROR, 0 ConcurrentModificationException, 0 hexString; « Deduction, deployment and supervision completed »; cockpit « Supervision active », 0/1, 11 tasks
10r-iota, Process tab, zoom out twiceStart → Confirm gas leak → two CE flows to Cut off the local gas valve and Cut off the school gas supply (never chained), two otherwise flows Confirm gas leak → End, no __bypass__ flow. Local valve branch: Grab the toolbox, Report the damage, Event report to the center team → End (order varies from one deduction to the next; on 2026-10-16: Grab → Report → Event report → End). School supply branch: Secure equipment → Repair gas installation → End; Retrieve information about the event → Validate the message… → Send a message to colleagues → End. No join between the two branches (Report the damage only depends on the local valve branch, since the fix of defect no. 2, checked on 2026-10-16)
11r-ioga to-do list11 tasks; Confirm gas leak started (orange); the two cut-offs planned on the same slot
12Confirm gas leak → Accept → CONFIRMED GAS LEAK = Yes and repairable → Donelog: [SEQUENCE-FLOW-CONDITION] Confirm gas leak → local gas valve true, → school gas supply false, → End (otherwise) true and false; engine: enter in node: Cut off the local gas valve, no enter in node: Cut off the school gas supply; to-do list: Confirm gas leak green, local valve orange, school supply grey; r-iota: Confirm gas leak node green #31964e, local valve orange #f5b041, objectives 0/1, blue pulsar rgb(50, 101, 255) (an objective is only reached once its whole task graph is done, since 2026-10-15; « 1/1, orange pulsar » at this point would be a regression)
13validate in the to-do list every started task (Accept → Done)the 4 tasks of the local valve branch done (order set by the deduction, on 2026-10-16: Cut off the local gas valve, Grab the toolbox, Report the damage, Event report to the center team); the 6 tasks of the school supply branch never started; engine End of join, end of execution; 0 ERROR; r-iota « No alert detected !!! », green status, RESOLVED / TARGET 1 / 1, orange pulsar rgb(245, 176, 65)
14r-iota → Delete positive deviations (add_circle) → Delete → refresha single « Positive Deviation Analysis » dialog: OBJECTIVES Treats Analyze the gas leak and ACTUALITIES Analyze the gas leak at Rapsodee, both at YES; deleteModels 200; log supervision of … ended: processes ended and no ACTIVE objective left (~10 s); after refresh: no pulsar, no add_circle button, « No alert detected », green status
15r-ioda (launcher), Objectives tabActive filter: only « Default Objectives Manager »; with Freeze: only the frozen nodes of the use case (« Load new configuration », « Equipment signal off »); neither the gas objective nor the gas actuality, active or frozen
03 · RP-01-03

IMT Crisis: tasks on the field, real or simulated

A solution deduced with inserted move and wait tasks, carried out on a phone with r-io4U, then in the r-ioga to-do list. r-iosemit answers the accepted simulated tasks with field values through the task events; a task whose On box is unchecked is real. Guided walkthrough: Tasks on the field.

#ActionExpected result
0r-ioga: Projects workspace → IMT Albi Crisis → LoadProject in Project List, launchers for r-iosemit and r-iota
1r-iosemit: TIMELINE: mute the social message and the two Iomega actualities"4 dates · 8 DATA steps · 3 muted"
2r-iosemit: Next step twiceThe gas sensor crosses its threshold, the CEP rule raises the alert
3r-iota: Open r-iota1 SURE ALERTS, FIND SOLUTION(S) enabled
4r-iota: FIND SOLUTION(S): Crisis, Insert move tasks and Insert wait tasks = YES → FindSolution deployed and supervised: 16 tasks, including 4 moves and 1 wait
5r-iosemit: TASKS tabEvery task with its actor, status, expected and simulated values; tooltip on On
6r-iosemit: Output of Confirm gas leak → "Yes and repairable"; move of Emily → another path, ×8Edited value kept; move expected 613 m / 446 s, simulated 891 m / 646 s
7r-io4U: Move to Confirm gas leak → AcceptExpected path and ghost; the position is followed live
8r-io4U: Arrival → DonePath replayed; field values 652 s / 809 m in red (more than 20 % above)
9r-io4U: Confirm gas leak → Accept → DoneField values on the task, output filled with "Yes and repairable"; repair branch taken
10r-io4U: Cut off the local gas valve → Accept, sheet openThe values arrive in the open sheet, Done becomes enabled
11r-ioga: To-do listSame tasks with their actor; a 470 s wait of Alice, on the branch not taken
12r-ioga: Grab the toolbox → Accept → DoneField values received through the task events
13r-iosemit / r-ioga: Uncheck On on Report the damage; Accept in r-iogaDuration measured, the remaining value typed; Done enabled once filled
14r-ioga: Event report to the center team → Accept → DoneThe process ends; every task of the branch is Done
15r-iota / backend: Check r-iota and the log"No alert detected"; no ERROR
04 · RP-02

Exception_Flow on an implementation risk

Checkpoints, in order (wait 15 to 25 s after each step before reading r-ioda, r-iota or r-ioga):

#CheckExpected
0start-upIMT Albi Healthcare in « Project List », 12 launchers
1r-iocal« Treat Routine checkup of James Miller » Planned in « My default planning »
2r-ioda, Objectives tab (Active filter only); r-iota« Treat Routine checkup of James Miller », « Routine checkup of James Miller -impacts: Iomega- », « My default planning »; r-iota: 1 SURE ALERTS
3r-iosemit, 1 step (« sensor not started » → Yes); r-ioda« Danger of Electrical Failure » and 3 risks at probability: 0 appear: « Risk of software unavailability », « … for Blood Test Request Function », « … for Preparation of equipment Function »
42nd step; r-iodathe 3 risks at 0.33. The parent risk is renamed by the rule « Risk of software unavailability at École des mines d'Albi-Carmaux »
53rd step; r-ioda; logthe 3 risks at 0.66; exactly 3 POST launchDataSetOnTopic, 0 ERROR
6r-iota FIND SOLUTION(S), preselected strategy, Deduce and run = YESstrategy Drools - Healthcare Satisfaction Strategy; « total: 8 »; 1 POST selectSolution; 3 edge_exception_flow_* edges published; graph: Blood test Request in #f5b041, the 3 correctives neutral
7r-ioga, to-do listTotal tasks 8; Blood test Request orange rgb(236, 131, 47), the 7 others grey rgb(122, 117, 117)
84th step; r-iodathe risks disappear (frozen); « Sofware unavailable », « Healthcare software unavailability for Blood Test Request Function », « Healthcare sofware unavailability for Preparation of equipment Function » appear
9r-iota map2 blue pulsars rgb(50, 101, 255): « Treat Routine checkup of James Miller » and « Sofware unavailable »
10r-iota graph, without reloadingBlood test Request #d50000; Paper Record and White Board Centralisation #f5b041; Edition by Handwritten note neutral
11r-ioga, to-do listBlood test Request red rgb(218, 45, 45); Paper Record and White Board Centralisation orange rgb(236, 131, 47), started (-> ???); the 5 others grey
12backend log[EXCEPTION-FLOW] Blood test Request … 2 rule(s) became true while running; Impossible to find scope 0; TEMP-DEBUG 0; a single ERROR allowed: HumantaskSOAPImpl « Nominal task replaced by recovery » (the normal replacement of the task, logged as an error)
05 · RP-03

Crisis Event Show Parc des Princes: three successive incidents

Checkpoints, in order (wait ~15 s after each Next step before reading r-iota):

#CheckExpected
0start-upCrisis Event Show Parc des Princes in « Project List », Collaborative/Crisis domains, 9 extensions, 12 launchers
1r-ioda, Context And Partners tabthe diagram shows Stade du Parc des Princes, Parc des Princes, Paris and the staff with their roles (Marc Dubois, Camille Leroy, Lucas Bernard…)
2r-ioplay, MAP → World, then the stadium 3D view (last entry of the selector, « Stade du Parc des Princes › 3D view »)r-ioplay opens on the « Parc des Princes » plan; World: Paris, stadium to the south-west; 3D: the stadium model (WebGL canvas) and the MOVE / LOOK / ALT / ZOOM panel
3r-iotaNo alert detected !!!, green status rgb(59, 180, 46)
4r-iosemit: Full Scenario, 3 dates · 6 DATA steps; Next stepr-iota 2 SURE ALERTS, red status; 2 red pulsars rgb(231, 30, 30) on Gate B, titles Treats Door Breakdown and Treats Crowd Orientation; OPEN DETAILS: 2 items Door Breakdown on Gate B (Alert) with these two objectives
5FIND SOLUTION(S), preselected strategy Drools - Crisis Satisfaction Strategy, Find« Deduction, deployment and supervision completed. »; total: 10; blue status and pulsars rgb(50, 101, 255); graph: 5 tasks #f5b041 in parallel (Identify the fault, Ask an agent to check if an IT problem…, Check the status of the ticketing system, Ask an agent to check the technique on door, Request door closure)
6r-ioga To Do ListTotal tasks 10; each started task (orange) is clickable: « To accept » dialog → Accept → « Accepted » → Done; after Confirm door closure, the 4 reorientation tasks turn orange; r-iota graph live (green #31964e / orange)
7r-iota after the 10 tasksorange pulsars rgb(245, 176, 65) on Gate B (the status dot is green), « RESOLVED / TARGET 2 / 2 », « 10 achieved tasks on 10 expected »; Delete positive deviations button present
8Delete positive deviations → Delete → Refreshobjectives deleted, pulsars and button gone; log supervision of … ended: processes ended and no ACTIVE objective left
9r-ioda, Objectives tab, Active filter (after reloading)no more Door Breakdown on Gate B actuality; only Default Objectives Manager nodes remain (one per deduction played: expected)
10Next step (16:17:44)r-iota 2 SURE ALERTS: Broken Seat number 11 with Treats Spectateur and with Treats Broken Seat; red pulsars in the centre of the stadium
11FIND SOLUTION(S) → Find; to-do listtotal: 7 = 7 new tasks (Total tasks 17); all completed; orange pulsars
12Delete positive deviationsobjectives deleted, and Broken Seat number 11 deleted
13Next step (16:36:02)r-iota 1 SURE ALERTS: Metro line breakdown at Aera 2 with Treats Metro line breakdown
14FIND SOLUTION(S) → Find; to-do list; Delete positive deviationstotal: 6 (Total tasks 23); orange pulsar; the dialog lists the objective and the actuality; after Delete: « No alert detected », r-ioda without any of the three actualities (three Default Objectives Manager, one per deduction: expected)
15backend log0 ERROR; 3 POST selectSolution; 0 hexString can not be null
06 · RP-04

Generate a use case from a document (Tarbes Crisis)

Checkpoints, in order:

#CheckExpected
0start-up« Use-case successfully loaded !!! »; Tarbes Crisis in « Project List », 12 launchers; log EmbeddingStoreIngestor « Finished storing 5 text segments »
1r-ioga « Edit project » → IA & RAG Knowledge documents, then CancelIA Provider Openai, IA Model Gpt-5.5; RAG base: Tarbes_Crisis_Case_Study_Context_Form.pdf (506.9 KB); note with the here link to /r-ioga/webjars/app/share/assets/docs/Template_Case_Study_Context_Form.pdf
2forms (reading, outside the r-io suite applications)blank: 3 pages (city, sites, goods, sensors, roles; context; contacts); Tarbes: TARBES, Town Hall site, Main Building and Parking P1 (GeoJSON), SS_MB_1 SMOKE sensor fixed on Main Building, Alice Johnson (Security agent) and Emma Thomson (Town hall secretary) acting on the Town Hall
3r-ioda Context And Partnersempty model
4AI Creator Assistantsentence « Your RAG is activated… here »
5here → Find Context and Partnerschecked by default: Sensor, Territory, Person, Role, Building; « Use Web Research For Unknown Roles » at NO
6Find« LLM Reasoning » Completed in less than 60 s, 11 agents DONE; summary: Sensor 1, Person 2, Building 1, Territory 2, Role 2, Function ≥ 3, Model nodes 13; api.openai.com calls all in 200; ModelController COMPLETE (file log)
7preview13 nodes, 12 edges: SS_MB_1 Fixed_Onto Main Building Fixed_Onto Town Hall Fixed_Onto TARBES; Alice Johnson and Emma Thomson Acts_On Town Hall, Has Security agent / Town hall secretary; Town hall secretary Provides its functions (names vary)
8Push (ACTIVE) → « Recommandation » → Yessynchronisations in 200, 0 ERROR, no « Could not find source or target territory »; Active: 6 nodes, 5 edges, labels « Role: Security agent » / « Role: Town hall secretary » under the people; Freeze: Town hall secretary and its functions
9r-iosemit« No game scenario yet »; Create a scenario « Smoke in the Town Hall » → Save
10TIMELINE → Add an actuality or a message…Sensor actualities 1: Fire detected at Main Building, 📍 Main Building, 📡 SS_MB_1, SS_MB_1 R1 · false → true; date 13:00 → Save → « 1 dates · 2 DATA steps »; save the scenario (save icon)
11DATA tabSS_MB_1, DEDICATED - SMOKE, Connected, CREATED, dataset smoke_in_the_town_hall_ss_mb_1
12Next stepstartSensor and 2 launchDataSetOnTopic in 200; « events received 2 »; log [DEDUCTION-PUBLISH] of an actuality …_rule_R1_… Near the clone of node_5918a7c4…
13r-iota1 SURE ALERTS, red status rgb(248, 7, 7), red pulsar rgb(231, 30, 30) « Treats Fire detected », fire on Main Building; OPEN DETAILS: Fire detected at Main Building / Fire_Alert / Treats Fire detected → Cancel (validate nothing)
14r-iota FIND SOLUTION(S), preselected strategy Drools - Crisis Satisfaction Strategy, Find« Deduction, deployment and supervision completed. » in ~10 s; total: 2; blue status and pulsar rgb(50, 101, 255) « Treats Fire detected »; graph Start → Activate fire alarm → Use a fire extinguisher on the fire → End
15deduction log[DEBUG-ACTOR-ELIGIBILITY] task='Activate fire alarm' requiredActorTypes=[Security agent] → afterRanker=[Alice Johnson]; actingResourceIds = the two people of the document
16r-ioga To Do ListTotal tasks 2; Activate fire alarm (2 min) then Use a fire extinguisher on the fire (5 min), actor Alice Johnson [Security agent]; each one: click → Accept → Done; the second starts when the first is done
17r-iota after the 2 tasksorange pulsar rgb(245, 176, 65) « Treats Fire detected », green status dot; dashboard « RESOLVED / TARGET 1 / 1 »; graph: both tasks green
18capture of the final processexport of the SVG of the r-iota graph (app-solution-graph) on a dark background, readable labels, two green tasks
19backend log0 ERROR
07 · RP-05

Hello world: create a use case from scratch (Fire at Albi Cathedral)

Checkpoints, in order:

#CheckExpected
0r-ioga, Create project → Crisis, name Fire at Albi Cathedral, Clear all references, valid AI providerthe project appears in « Project List », empty REFERENCES column, 12 launchers. In edit mode, the name field is read only
1r-ioda Context And Partners, AI Creator Territory « Albi » (City), then Building « Albi Cathedral »2 nodes with their photo (no empty icon); building « Sainte-Cecile Cathedral of Albi »
2right click on the cathedral → Fixed_Onto → Albiedge created; log [DEDUCTION-PUBLISH] create edge … Fixed_Onto … created=true
2br-ioplay, launched from « Project List »the map opens on the outline of the Albi municipality; zooming on the old town (bank of the Tarn), the cathedral footprint matches the building of the satellite view (shape colours change from one run to the next) (≈ 43.9283 / 2.1426)
3AI Creator Role « Firefighter », Push, Freeze recommendation → YesFreeze filter only: Firefighter and ~6 functions, including Extinguish fires; no 500 on inventRoles
4Provides → Function « Confirm Fire », Radio output Fire Confirmed (Yes/No); right click on Extinguish fires → Needs to Confirm Fire, with the short condition @Fire Confirmed[Confirm Fire] == "Yes" (expression only, without boolean …;)@ autocompletion offers @Fire Confirmed[Confirm Fire] output · radio; the condition is read back unchanged when the edge is reopened; the edge carries a CE badge and hovering it shows the code
5AI Creator Person, 1 person, Firefighter role, located in Albi; open the person, rename it Owen Hartley for a man, Olivia Hartley for a woman (same login); the dialog title follows the new name, REQUIRED INFORMATION → ACTIONS → Generate corresponding user → Save, then Save the person1 active person; « Register … as user » dialog: login ohartley, default password displayed; the person has an Assigned_To edge to a User node (checkable in Neo4j); the Generate button is then disabled
6Objectives tab, Freeze only, Fire_Alert palette « Fire in Albi Cathedral », Generate associated objectivefrozen objective « Treats Fire in Albi Cathedral », linked by Treats; no « Refactore 2026 » exception
7objective → Broken relations Satisfies → Add → Extinguish firesthe Extinguish fires line is present when reopened
8AI Creator Sensor Dedicated / Smoke / event type « Fire In Albi Cathedral » / Fixed Onto Asset cathedral; renamed « Smoke sensor of Albi Cathedral »CONFIGURATION: MAX threshold referencing « Fire in Albi Cathedral (FREEZE, Fire_Alert) »; push in 200 (no SensorModelsPopulateInterceptor NPE)
9r-iotaNo alert detected, green status
10r-iosemit Start sensor, then 4 × Play selected dataset step by stepvalues 0, 0, 0, 1; r-iota: 1 SURE ALERTS, red pulsar rgb(231, 30, 30)
11r-iota FIND SOLUTION(S), preselected strategy, Findstrategy Drools - Crisis Satisfaction Strategy; banner « Deduction, deployment and supervision completed. »; blue status, objective 0/1, « total: 2 »; graph Start → Confirm Fire → Extinguish fires → End and an otherwise flow Confirm Fire → End; no « Not implemented » at deployment
11br-iota execution graph (2nd tab), hover the CE badges of the two flows leaving Confirm Fireflow to Extinguish fires: @Fire Confirmed[Confirm Fire] == "Yes" (copied as is); …__otherwise flow to End: comment // otherwise: … (property releasesObjectives): followed by // - Treats Fire in Albi Cathedral, then boolean __condition_result__c = @Fire Confirmed[Confirm Fire] == "Yes"; boolean condition = __condition_result__c; boolean otherwise = !condition; otherwise;
12r-io4U (web, signed in as ohartley) → menu → Tasks; empty before the deduction; after point 11, the tasks arrive live (without refreshing) → check Confirm Fire → form titled « Confirm Fire » (subtitle « Output data of the task », explanatory note), Fire Confirmed = Yes, DoneConfirm Fire (orange) and Extinguish fires (grey) assigned to Owen/Olivia; POST …/humantask/updateTask in 200; log [SEQUENCE-FLOW-CONDITION] … Extinguish fires : true and … EndEvent : false; Extinguish fires turns orange live
13r-io4U: check Extinguish fires (no output) → « Process Ended!!! Thanks For your help !!! »; r-iotaboth tasks green; r-iota No alert detected, green status; the fire area (ACTIVE objective and alert, FIRE effect of Fire_Alert) stays drawn on the cathedral: expected, the EXPECTED clone of the objective is gone but the active objective waits for the expert validation
13br-iota, toolbar → Delete positive deviations (add_circle icon, visible while positive markers remain) → Delete → Refreshthe « Positive Deviation Analysis » dialog lists Objectives: Treats Fire in Albi Cathedral and Actualities: Fire in Albi Cathedral at Sainte-Cecile Cathedral of Albi, both at YES; after Delete + Refresh: no more path.area-fire, the cathedral is drawn again as a building, the button disappears; log supervision of <solution> ended: processes ended and no ACTIVE objective left (at the end of the process, before the validation: goes on: 1 ACTIVE objective(s) left); solution selected=false, no EXPECTED_FREEZE node; the frozen alert and objective stay FREEZE
13cr-iosemit Stop selected dataset then 4 steps → r-iota FIND SOLUTION(S) → r-ioga to-do list (administrator; the new task also arrives live in r-io4U): new Confirm Fire = No, dialog titled with the task name and an explanatory note → r-iota → Delete positive deviationsnew sure alert (red pulsar); second solution deployed; [SEQUENCE-FLOW-CONDITION] Confirm Fire -> Extinguish fires : false and to EndEvent: true; [OTHERWISE-RELEASE] … expected twin released: ['Treats Fire in Albi Cathedral', 'Fire in Albi Cathedral at …']; the second Extinguish fires stays grey; r-iota « No alert detected », orange pulsar; after the validation, supervision closed as in 13b
14r-ioga « Project List » → Export project (.zip) → Yesarchive Fire at Albi Cathedral.zip (~1.9 MB, 17 entries): 7 models (project, 3 active, 3 freezed_*), CEP rule of the sensor, game scenario and dataset, distance/time matrix, photos
15restart (empty base), Import ZIP of the archivePOST …/projects/importProject in 200; log « project freeze models loaded: 3 » and « project active models loaded: 3 »; the project reappears in « Project List » with 12 launchers; r-ioda Context And Partners: Albi, the cathedral, the 2 firefighters, the sensor. A WARN « CEP rules not generated while the project is loaded » is normal. The import restores the state at export time (active alert if exported at the end of the scenario)
08 · RP-06

Henri at the barbecue: 2L rules driven by sensor values

Checkpoints, in order (wait 10 s after each step, the time of the walk; r-ioplay and r-iota stay open without reloading from point 2 to point 13):

#CheckExpected
0start-up with Barbecuethe project appears in « Project List »; its APPLICATIONS column opens r-iosemit, r-ioplay and r-iota in the project context
1r-iosemit, select the « Henri barbecue story » scenario9 dates from 10:05 to 10:45, each with a sensor value card (value or GPS coordinates); Previous step, Next step, Restart buttons; no error when opening
2r-iota; r-ioplay 2D; r-ioplay 3D (second tab), Camera menu → 3rd on Henrir-iota No alert detected, green status; r-ioplay: Henri on the other side of the house, no danger area; Camera · 3rd person button, camera behind Henri from the start, before any walk (not from the side)
2bfollow camera, in 3rd then 1st: MOVE / LOOK / ALT / ZOOM panel, then mouse (left drag, right drag, wheel), then ⌂the view reacts in both modes: LOOK ↺ ↻ and left drag rotate the camera around Henri (3rd) or turn the gaze (1st), ˄ ˅ tilt it; ZOOM and wheel move closer / further (3rd) or move the viewpoint forward / back (1st); MOVE, ALT and right drag shift the target; ⌂ (or H) restores the default follow view; the setting is kept during the walks of the next steps and reset when the mode changes
3step 1 (water level 1)Submersion ACTIVE; r-ioplay: 10 m area centred on the pool, drawn live; r-iota 0 alert
4step 2 (thermal 60)High Temperature ACTIVE; 6 m area around the barbecue; r-iota 0 alert
5step 3 (Henri 5.5 m from the barbecue)Henri walks, then Henri risks getting burned appears on arrival, probability 0.11, with Prevent Henri risks getting burned ACTIVE; label « ⚠ 11 % » in r-ioplay 2D and r-iota, risk marker at Henri's feet in 3D; r-iota 1 SURE ALERTS; Henri's watch and heart sensor are at his position
6step 4 (Henri at 3 m)probability 0.67, label « ⚠ 67 % »; r-iota 1 SURE ALERTS
7step 5 (Henri at 1 m)Henri burns ACTIVE, the burn risk and its Prevent objective FREEZE, Treat Henri burns ACTIVE with a Created at equal to the step time; r-iota 1 SURE ALERTS (Treat Henri burns), no more risk label; red beacon on Henri in 3D
8step 6 (edge of the pool area, 9.7 m)Henri is in danger of drowning ACTIVE, probability 0.10, and Prevent Henri is in danger of drowning ACTIVE; label « ⚠ 10 % »; r-iota 2 SURE ALERTS
9step 7 (8.35 m from the pool)probability 0.55, label « ⚠ 55 % »; r-iota 2 SURE ALERTS
10step 8 (Henri in the water, altitude −1.5 m)in 3D, Henri sinks steadily down to −1.5 m during the walk; Henri drowns and Treat Henri drowns ACTIVE, the drowning risk FREEZE, Henri burns FREEZE; r-iota 1 SURE ALERTS; the « ⚠ 55 % » label disappears (no orphan label: document.querySelectorAll('.leaflet-tooltip.rio-marker-label').length = 0)
11step 9 (heart rate 0)Henri is dead and Bradycardia detected on Watch of Henri Martinez ACTIVE, both on the pool (≈ 43.90900 / 2.14913); Henri FREEZE, Henry's corpse ACTIVE; r-iota 3 SURE ALERTS, no pulsar at (0,0)
12Previous step, then white slider dragged to 10:20Henri reappears in the water (r-iota 1 SURE ALERTS), then comes back up and walks his path backwards (2D and 3D); at 10:20: burn risk at 67 %, no burn or drowning alert, r-iota 1 SURE ALERTS
13RestartHenri back on the other side of the house, on the ground; no danger area left; r-iota No alert detected (counter at 0); the story plays again without restarting
14backend log0 [2L-FIXPOINT] rule failed, 0 oscillation on node, 0 not converged
Référence / Plan de release

Plan de release

Les scénarios de bout en bout rejoués sur une version de release de r-io suite avant chaque livraison, avec leurs points de contrôle dans l’ordre. Le dernier résultat de chaque scénario figure dans le tableau Release de l’accueil.

01 · RP-01-01

Scénario de jeu par défaut IMT Crisis

Scénario de jeu : « Default Game Scenario », 4 dates · 8 pas DATA, 22 capteurs planifiés ; un Next step de r-iosemit avance tout le scénario d'une date et émet 8 launchDataSetOnTopic (r-iota n'a pas de bouton de pas). Les 4 dates sont jouées :

DateÉlément de friseValeurs qui bougent
20:48:48message « Energy company social media » (Margaret Parker) : Due to high electricity demand, there is a risk of power outages in your area.gaz Rapsodee 113,9
20:59:57actualité planifiée « Analyze the gas leak at Rapsodee »gaz Rapsodee 643,5 → 656,5 (seuil 650) → règle CEP R1 du capteur de gaz
21:09:04actualité « Presence detected at Iomega »intrusion Main Entrance → true → règle CEP R1 du capteur d'intrusion
21:27:02actualité « Alert detected at Iomega »radar Iomega → true → événement réflexe, photo du drone analysée par le LLM

Points de contrôle, dans l’ordre :

#ActionRésultat attendu
0amorçage : Projects workspace → IMT Albi Crisis → Load → « create a specific collaboration ? » No → OK« Use-case successfully loaded !!! » ; « Project List » : IMT Albi Crisis, 12 lanceurs
0br-ioga « Edit project », lecture seule, CancelIA Provider Albert, IA Model Mistral-small-3-2-24b-instruct-2506
1r-ioda (lanceur), onglet Context And Partnersfiltre Active seul ; 69 nœuds actifs : Albi, École des mines et ses bâtiments (Gymnase, Rapsodee, ICA, Incubator, Iomega, Main Building), 25 personnes (Emily Hernandez et Oliver Taylor avec téléphone, montre, GPS, température, rythme cardiaque), chiens Rocky et Tyson, SDIS 81, Police station Albi, capteurs, Gas boiler, 4 caméras, 3 réseaux piétons ; le diagramme dépasse l'écran
2r-ioplay (lanceur)carte World, vue satellite centrée sur l'École : emprise verte, bâtiments colorés, zone violette triangulaire au sud-est ; 42 marqueurs ; cadenas de verrouillage de la vue
3r-iosemit (lanceur), onglet STORY« Default Game Scenario » ; Story settings : Current timeline, 23/09/2026 20:44:44 → 21:44:44, Français ; Story guidance « Des cambrioleurs tentent de faire une diversion… Rapsodee… Iomega… matériel informatique » ; 1 message social ; Invented story présente ; Story narrator (FR)
4r-iosemit TIMELINE → Next step (date 1)log : 8 launchDataSetOnTopic, 2 appels albert.api.etalab.gouv.fr en HTTP 200
5r-iotaen direct : 1 ALERTS TO VALIDATE, FIND SOLUTION(S) grisé, statut jaune rgb(255, 238, 50)
6OPEN DETAILS« Problems found », 1 item : Power outages / Risk / « Prevents Power outages » ; SIMILAR TYPE Risk ; NEAREST INSTANCE « Risk of power outage (near: 0.95) » ; Delete / Validate
7Validate → Save1 SURE ALERTS, FIND SOLUTION(S) actif, statut rouge ; risque « ⚠ 70 % » au sud-ouest du site
8r-iosemit Next step (date 2), puis r-iotalog : 8 launchDataSetOnTopic, règle CEP R1 du gaz (nœud …_rule_R1_…, arêtes Impacts Rapsodee et Near) ; r-iota en direct : 2 SURE ALERTS
9OPEN DETAILSconforme : 2 items, Delete seul — Power outages / Risk / « Prevents Power outages » / « The sentence explicitly states that due to high electricity demand… » ; Analyze the gas leak at Rapsodee / Toxic_Gas_Alert / « Treats Analyze the gas leak » ; puis Save (état inchangé)
10r-iosemit Next step (date 3), puis r-iotalog : 8 launchDataSetOnTopic, pas de LLM ; r-iota en direct : 5 SURE ALERTS, « Reflex Events Detected !!! », panneau Cameras « None camera » (caméra éteinte : normal) ; 5 pulsars rouges rgb(231, 30, 30) : Prevents Power outages, Treats Analyze the gas leak, Contact the center manager, Treats Presence detected, Secured the site
11OPEN DETAILSconforme : 5 items, Delete seul — Power outages / Risk ; Analyze the gas leak at Rapsodee / Toxic_Gas_Alert ; Presence detected at Iomega / Intrusion_Alert × 3 (Contact the center manager, Treats Presence detected, Secured the site) ; fermer sans modification (nom « Presence detected » avant le correctif RIOSUITE-1232)
12r-iosemit Next step (date 4), puis r-iotar-iosemit : fin de frise, Next step grisé ; log : 8 launchDataSetOnTopic, 2 appels Albert en 200 ; r-iota : 6 SURE ALERTS, vignette de la photo du drone « Wait picture analysis (IA from ALBERT)... »
13attendre la fin de l'analyse (1 à 2 min)5 SURE ALERTS + 2 ALERTS TO VALIDATE ; vignette : Retry et « 2 problems found !!! » ; cercle jaune dans la zone verte
14cliquer le nombre « 2 » de la vignette« Problems to resolve from 'Alert detected at Iomega' » (photo, bouton Open), 2 items Risk produits par le LLM (noms variables) : Drone Collision (NEAREST « None (near: 0) ») et Loss of Control (NEAREST « Risk of power outage (near: 0.75) »)
15Drone Collision : crayon de PROBLEM TYPE → « Edit Type » → Actuality → SavePROBLEM TYPE Actuality ; SIMILAR TYPE Intrusion_Alert (Damage) ; NEAREST INSTANCE « Unidentified flying object (near: 0.85) »
16Validate sur Drone Collision, Delete sur l'autre problème, Save6 SURE ALERTS ; vignette « 1 problems found !!! » ; 6e pulsar rouge « Treats Drone Collision » ; marqueur Drone Collision dans la zone verte
17OPEN DETAILS, puis Saveconforme : 6 items, Delete seul — les 5 de l'étape 11 + Drone Collision / Intrusion_Alert / « Treats Drone Collision » avec la photo et « The image shows a drone in flight… »
18FIND SOLUTION(S) → Advanced options strategy = YES → Findstratégie présélectionnée Drools - Crisis Satisfaction Strategy, « Deduce and run » à YES
19fenêtre des options avancées : la faire défiler en entierconforme, tel quel : titre « Drools - Simple Satisfaction Strategy » ; FIRST_GOOD_SOLUTION, max 30 ; Actualities : Analyze the gas leak at Rapsodee → Confirm gas leak ; Presence detected → Contact the center manager, Secured the site, Arrest the suspects, Arrest the suspects with the surveillance dog (tout coché) ; Potentialities : Power outages (Emerging Risk), Preventive et Corrective → Relieve the electricity grid (Electric vehicle charging circuit breaker), Activate another power source (Circuit breaker for all circuits except IT and communications, Start the generator) ; 5 objectifs non priorisés (Treats Analyze the gas leak, Contact the center manager, Secured the site, Treats Presence detected, Relieve the electricity grid) ; Implementation Potentiality vide ; PERSON_FIRST ; Insert move tasks NO ; solveur Default ; Drone Collision absent
20Deducela déduction se lance (« At least one actor provides each functions for each plans »)
21—OK depuis le 2026-10-15 (RIOSUITE-1232 corrigé) : aucun dialogue « Error », passage direct à « Starting supervision... » (~50 s après Deduce). Comportement d'avant le correctif, à traiter en KO s'il revient : dialogue « Error » « … have no 'Impacts' relationship to any resource: Presence detected (objective(s): 'Contact the center manager', 'Treats Presence detected', 'Secured the site') » — l'actualité CEP de l'intrusion n'a que Near, pas Impacts → Iomega. Contournement : ajouter l'arête à la main, refaire les étapes 18 à 20
22attendre la supervision (~20 s)log : deduceSolutionASync, deploySolution, selectSolution, superviseSolution en 200, 0 ERROR ; condition d'Event_Flow Generated_By("Power outages") ; cockpit « Supervision active », statut bleu, objectifs 0/6, « 0 achieved tasks on 23 expected (total: 25) » ; « Started at » = heure du jour (un affichage « 1970-01-01 » transitoire n'est pas un KO)
23r-iota, onglet Process (depuis le 2026-10-15 les onglets ne sont plus que des icônes : Process = account_tree, cockpit = speed)Start → Nominal SubTask #f5b041 → flux CE → correctif « Circuit breaker for all circuits except IT and communications » neutre → End
24r-iosemit : TIMELINE, puis DATATIMELINE en fin de frise ; DATA → Sensors : 22 capteurs, « Connected »
25DATA → Potentialities Management → refreshavant refresh : « No active emerging or intrinsic potentiality » ; après : Power outages (EMERGING) à 70 %, actualité à activer « Power outage »
26curseur de Power outages à 100 %« 100 % », « Power outage » activée ; log [EVENT-FLOW] Nominal SubTask_… : rule fired, launching recovery Circuit breaker for all circuits…
27r-iota, sans rechargementgraphe : le correctif passe en orange #f5b041 ; carte : conforme, le risque à 100 % est devenu une actualité — risque Power outages gelé et plus dessiné, actualité « Power outage » (balise rouge) avec « Treats Power outage » et son pulsar bleu rgb(50, 101, 255) ; l'étiquette « ⚠ 60 % » restante est la probabilité de Drone Collision
28log du profil, sur tout le passage0 Impossible to find scope, 0 TEMP-DEBUG, 0 hexString can not be null ; seules ERROR admises : getRiopiotContext (caméra éteinte)
02 · RP-01-02

Scénario Conditions IMT Crisis : sourdine, suppression et conditions exclusives

Scénario de jeu : « Default Game Scenario » modifié sans l'enregistrer (pas de clic sur la disquette) ; la sourdine et les suppressions valent pour la session de lecture.

#ActionRésultat attendu
0amorçage avec IMT Albi Crisis« Use-case successfully loaded !!! » ; « Project List » : IMT Albi Crisis
1r-iosemit (lanceur), onglet TIMELINEDefault Game Scenario, 23/09/2026 20:44:44 → 21:44:44, en-tête « 4 dates · 8 DATA steps » ; 4 cartes : message Energy company social media (20:48:48), Analyze the gas leak at Rapsodee (20:59:57), Presence detected at Iomega (21:09:04), Alert detected at Iomega (21:27:02)
2icône 🔈 (aria-label="Mute") de la carte Energy company social mediacarte grisée et barrée (classe muted), icône 🔇 « Muted: kept on the timeline but not played », point creux sur la frise ; « 4 dates · 8 DATA steps · 1 muted »
3clic sur Presence detected at Iomega → boîte « Planned actuality » (Activation, « Actualities produced by the same CEP rule are scheduled and removed together ») → Remove scheduled transitioncarte supprimée ; « 3 dates · 6 DATA steps · 1 muted »
4idem pour Alert detected at Iomega (la boîte montre aussi la photo réflexe « Photo-Cam-Radar-iomega »)carte supprimée ; « 2 dates · 4 DATA steps · 1 muted » ; aucun refus
5Next step (date 1, message en sourdine)log : [PLAYBACK] checkpoint … before step 0, 4 launchDataSetOnTopic en 200, aucun appel LLM (ni Albert, ni OpenAI, ni Mistral), aucune trace du texte du message, 0 ERROR ; les seules lignes ML sont des WARN ChatGPTPredictEngine: Not implemented !!! (événements capteurs ordinaires)
6Next step (date 2)log : 4 launchDataSetOnTopic en 200, règle CEP R1 du gaz (…_rule_R1_…, arêtes Near et Impacts vers Rapsodee), 0 ERROR ; r-iosemit : Next step grisé (fin de frise)
7r-iota (lanceur)bundle ng-version 22.x ; 1 SURE ALERTS, FIND SOLUTION(S) actif, statut rouge ; un seul pulsar « Treats Analyze the gas leak » ; ni Power outages ni alerte Iomega
8OPEN DETAILS → Save« Problems found », 1 item : Analyze the gas leak at Rapsodee / Toxic_Gas_Alert / « Treats Analyze the gas leak » ; état inchangé après Save
9FIND SOLUTION(S), réglages par défaut → FindDrools - Crisis Satisfaction Strategy, entrées à NO (Prioritize objectives, Include forecast, Advanced options, Insert move tasks), Deduce and run à YES ; log : deduceSolutionASync, deploySolution, selectSolution, superviseSolution en 200 ; 0 ERROR, 0 ConcurrentModificationException, 0 hexString ; « Deduction, deployment and supervision completed » ; cockpit « Supervision active », 0/1, 11 tâches
10r-iota, onglet Process, dézoomer 2 foisStart → Confirm gas leak → deux flux CE vers Cut off the local gas valve et Cut off the school gas supply (jamais chaînées), deux flux otherwise Confirm gas leak → End, aucun flux __bypass__. Branche local valve : Grab the toolbox, Report the damage, Event report to the center team → End (ordre variable d'une déduction à l'autre ; le 2026-10-16 : Grab → Report → Event report → End). Branche school supply : Secure equipment → Repair gas installation → End ; Retrieve information about the event → Validate the message… → Send a message to colleagues → End. Aucune jointure entre les deux branches (Report the damage ne dépend que de la branche local valve, depuis le correctif du défaut n° 2, vérifié le 2026-10-16)
11todo-list r-ioga11 tâches ; Confirm gas leak démarrée (orange) ; les deux coupures planifiées sur le même créneau
12Confirm gas leak → Accept → CONFIRMED GAS LEAK = Yes and repairable → Donelog : [SEQUENCE-FLOW-CONDITION] Confirm gas leak → local gas valve true, → school gas supply false, → End (otherwise) true et false ; moteur : enter in node: Cut off the local gas valve, aucun enter in node: Cut off the school gas supply ; todo-list : Confirm gas leak vert, local valve orange, school supply gris ; r-iota : nœud Confirm gas leak vert #31964e, local valve orange #f5b041, objectifs 0/1, pulsar bleu rgb(50, 101, 255) (l'objectif n'est atteint qu'à la fin de tout son graphe de tâches, knowledge/objective-reached-whole-task-graph.md, depuis le 2026-10-15 ; « 1/1, pulsar orange » à ce stade serait une régression)
13valider dans la todo-list toutes les tâches démarrées (Accept → Done)les 4 tâches de la branche local valve terminées (ordre selon la déduction, le 2026-10-16 : Cut off the local gas valve, Grab the toolbox, Report the damage, Event report to the center team) ; les 6 tâches de la branche school supply jamais démarrées ; moteur End of join, end of execution ; 0 ERROR ; r-iota « No alert detected !!! », statut vert, RESOLVED / TARGET 1 / 1, pulsar orange rgb(245, 176, 65)
14r-iota → Delete positive deviations (add_circle) → Delete → refreshun seul dialogue « Positive Deviation Analysis » : OBJECTIVES Treats Analyze the gas leak et ACTUALITIES Analyze the gas leak at Rapsodee, tous deux à YES ; deleteModels 200 ; log supervision of … ended: processes ended and no ACTIVE objective left (~10 s) ; après refresh : plus de pulsar, plus de bouton add_circle, « No alert detected », statut vert
15r-ioda (lanceur), onglet Objectivesfiltre Active : seul « Default Objectives Manager » ; avec Freeze : seulement les nœuds gelés du cas d'usage (« Load new configuration », « Equipment signal off ») ; ni l'objectif ni l'actualité du gaz, ni actifs ni gelés
03 · RP-01-03

IMT Crisis : tâches sur le terrain, réelles ou simulées

Une solution déduite avec insertion des déplacements et des attentes, exécutée sur un téléphone avec r-io4U, puis dans la to-do list de r-ioga. r-iosemit répond aux tâches simulées acceptées par des valeurs terrain, via les événements des tâches ; une tâche dont la case On est décochée est réelle. Parcours guidé : Les tâches sur le terrain.

#ActionRésultat attendu
0r-ioga : Projects workspace → IMT Albi Crisis → LoadProjet dans Project List, lanceurs de r-iosemit et r-iota
1r-iosemit : TIMELINE : sourdine du message social et des deux actualités d'Iomega« 4 dates · 8 DATA steps · 3 muted »
2r-iosemit : Next step deux foisLe capteur de gaz franchit son seuil, la règle CEP lève l'alerte
3r-iota : Ouvrir r-iota1 SURE ALERTS, FIND SOLUTION(S) actif
4r-iota : FIND SOLUTION(S) : Crisis, Insert move tasks et Insert wait tasks = YES → FindSolution déployée et supervisée : 16 tâches, dont 4 déplacements et 1 attente
5r-iosemit : Onglet TASKSChaque tâche avec son acteur, son statut, ses valeurs attendues et simulées ; info-bulle sur On
6r-iosemit : Sortie de Confirm gas leak → « Yes and repairable » ; déplacement d'Emily → autre chemin, ×8Valeur modifiée conservée ; déplacement attendu 613 m / 446 s, simulé 891 m / 646 s
7r-io4U : Déplacement vers Confirm gas leak → AcceptTrajet prévu et fantôme ; la position est suivie en direct
8r-io4U : Arrivée → DoneTrajet rejoué ; valeurs terrain 652 s / 809 m en rouge (plus de 20 % au-dessus)
9r-io4U : Confirm gas leak → Accept → DoneValeurs terrain sur la tâche, sortie remplie avec « Yes and repairable » ; branche de réparation prise
10r-io4U : Cut off the local gas valve → Accept, fiche ouverteLes valeurs arrivent dans la fiche ouverte, Done devient cliquable
11r-ioga : To-do listMêmes tâches avec leur acteur ; une attente de 470 s d'Alice, sur la branche non prise
12r-ioga : Grab the toolbox → Accept → DoneValeurs terrain reçues par les événements des tâches
13r-iosemit / r-ioga : Décocher On sur Report the damage ; Accept dans r-iogaDurée mesurée, valeur restante saisie ; Done cliquable une fois remplie
14r-ioga : Event report to the center team → Accept → DoneLe processus se termine ; toutes les tâches de la branche sont Done
15r-iota / backend : Vérifier r-iota et le log« No alert detected » ; aucune ERROR
04 · RP-02

Exception_Flow sur un risque d’implémentation

Points de contrôle, dans l'ordre (attendre 15 à 25 s après chaque pas avant de lire r-ioda, r-iota ou r-ioga) :

#ContrôleAttendu
0amorçageIMT Albi Healthcare dans « Project List », 12 lanceurs
1r-iocal« Treat Routine checkup of James Miller » Planned dans « My default planning »
2r-ioda, onglet Objectives (filtre Active seul) ; r-iota« Treat Routine checkup of James Miller », « Routine checkup of James Miller -impacts: Iomega- », « My default planning » ; r-iota : 1 SURE ALERTS
3r-iosemit, 1 pas (« sensor not started » → Yes) ; r-iodaapparaissent « Danger of Electrical Failure » et 3 risks à probability: 0 : « Risk of software unavailability », « … for Blood Test Request Function », « … for Preparation of equipment Function »
42e pas ; r-iodales 3 risks à 0.33. Le risk parent est renommé par la règle « Risk of software unavailability at École des mines d'Albi-Carmaux »
53e pas ; r-ioda ; logles 3 risks à 0.66 ; exactement 3 POST launchDataSetOnTopic, 0 ERROR
6r-iota FIND SOLUTION(S), stratégie présélectionnée, Deduce and run = YESstratégie Drools - Healthcare Satisfaction Strategy ; « total: 8 » ; 1 POST selectSolution ; 3 arêtes edge_exception_flow_* publiées ; graphe : Blood test Request en #f5b041, les 3 correctifs neutres
7r-ioga, todo-listTotal tasks 8 ; Blood test Request orange rgb(236, 131, 47), les 7 autres gris rgb(122, 117, 117)
84e pas ; r-iodales risks disparaissent (gelés) ; apparaissent « Sofware unavailable », « Healthcare software unavailability for Blood Test Request Function », « Healthcare sofware unavailability for Preparation of equipment Function »
9carte r-iota2 pulsars bleus rgb(50, 101, 255) : « Treat Routine checkup of James Miller » et « Sofware unavailable »
10graphe r-iota, sans rechargementBlood test Request #d50000 ; Paper Record et White Board Centralisation #f5b041 ; Edition by Handwritten note neutre
11r-ioga, todo-listBlood test Request rouge rgb(218, 45, 45) ; Paper Record et White Board Centralisation orange rgb(236, 131, 47), démarrées (-> ???) ; les 5 autres gris
12log backend[EXCEPTION-FLOW] Blood test Request … 2 rule(s) became true while running ; Impossible to find scope 0 ; TEMP-DEBUG 0 ; une seule ERROR admise : HumantaskSOAPImpl « Nominal task replaced by recovery » (le remplacement normal de la tâche, journalisé en erreur)
05 · RP-03

Crisis Event Show Parc des Princes : trois incidents successifs

Points de contrôle, dans l'ordre (attendre ~15 s après chaque Next step avant de lire r-iota) :

#ContrôleAttendu
0amorçageCrisis Event Show Parc des Princes dans « Project List », domaines Collaborative/Crisis, 9 extensions, 12 lanceurs
1r-ioda, onglet Context And Partnersle diagramme montre Stade du Parc des Princes, Parc des Princes, Paris et le personnel avec ses rôles (Marc Dubois, Camille Leroy, Lucas Bernard…)
2r-ioplay, MAP → World, puis la 3D view du stade (dernière entrée du sélecteur, intitulée « Stade du Parc des Princes › 3D view »)r-ioplay s'ouvre sur le plan « Parc des Princes » ; World : Paris, stade au sud-ouest ; 3D : la maquette du stade (canvas WebGL) et le panneau MOVE / LOOK / ALT / ZOOM
3r-iotaNo alert detected !!!, statut vert rgb(59, 180, 46)
4r-iosemit : Full Scenario, 3 dates · 6 DATA steps ; Next stepr-iota 2 SURE ALERTS, statut rouge ; 2 pulsars rouges rgb(231, 30, 30) sur la Gate B, titres Treats Door Breakdown et Treats Crowd Orientation ; OPEN DETAILS : 2 items Door Breakdown on Gate B (Alert) avec ces deux objectifs
5FIND SOLUTION(S), stratégie présélectionnée Drools - Crisis Satisfaction Strategy, Find« Deduction, deployment and supervision completed. » ; total: 10 ; statut et pulsars bleus rgb(50, 101, 255) ; graphe : 5 tâches #f5b041 en parallèle (Identify the fault, Ask an agent to check if an IT problem…, Check the status of the ticketing system, Ask an agent to check the technique on door, Request door closure)
6r-ioga To Do ListTotal tasks 10 ; chaque tâche démarrée (orange) se clique : boîte « To accept » → Accept → « Accepted » → Done ; après Confirm door closure, les 4 tâches de réorientation passent orange ; graphe r-iota en direct (vert #31964e / orange)
7r-iota après les 10 tâchespulsars orange rgb(245, 176, 65) sur la Gate B (le rond de statut, lui, est vert), « RESOLVED / TARGET 2 / 2 », « 10 achieved tasks on 10 expected » ; bouton Delete positive deviations présent
8Delete positive deviations → Delete → Refreshobjectifs supprimés, pulsars et bouton disparus ; log supervision of … ended: processes ended and no ACTIVE objective left
9r-ioda, onglet Objectives, filtre Active (après rechargement)plus d'actualité Door Breakdown on Gate B ; ne restent que des Default Objectives Manager (un par déduction jouée : c'est normal)
10Next step (16:17:44)r-iota 2 SURE ALERTS : Broken Seat number 11 avec Treats Spectateur et avec Treats Broken Seat ; pulsars rouges au centre du stade
11FIND SOLUTION(S) → Find ; todo-listtotal: 7 = 7 nouvelles tâches (Total tasks 17) ; toutes terminées ; pulsars orange
12Delete positive deviationsobjectifs supprimés, et Broken Seat number 11 supprimée
13Next step (16:36:02)r-iota 1 SURE ALERTS : Metro line breakdown at Aera 2 avec Treats Metro line breakdown
14FIND SOLUTION(S) → Find ; todo-list ; Delete positive deviationstotal: 6 (Total tasks 23) ; pulsar orange ; le dialogue liste l'objectif et l'actualité ; après Delete : « No alert detected », r-ioda sans aucune des trois actualités (trois Default Objectives Manager, un par déduction : normal)
15log backend0 ERROR ; 3 POST selectSolution ; 0 hexString can not be null
06 · RP-04

Générer un cas d’usage à partir d’un document (Tarbes Crisis)

Points de contrôle, dans l'ordre :

#ContrôleAttendu
0amorçage« Use-case successfully loaded !!! » ; Tarbes Crisis dans « Project List », 12 lanceurs ; log EmbeddingStoreIngestor « Finished storing 5 text segments »
1r-ioga « Edit project » → IA & RAG Knowledge documents, puis CancelIA Provider Openai, IA Model Gpt-5.5 ; base RAG : Tarbes_Crisis_Case_Study_Context_Form.pdf (506,9 KB) ; note avec le lien here vers /r-ioga/webjars/app/share/assets/docs/Template_Case_Study_Context_Form.pdf
2formulaires (lecture, hors applications r-io)vierge : 3 pages (ville, sites, biens, capteurs, rôles ; contexte ; contacts) ; Tarbes : TARBES, site Town Hall, Main Building et Parking P1 (GeoJSON), capteur SS_MB_1 SMOKE fixé sur Main Building, Alice Johnson (Security agent) et Emma Thomson (Town hall secretary) agissant sur le Town Hall
3r-ioda Context And Partnersmodèle vide
4AI Creator Assistantphrase « Your RAG is activated… here »
5here → Find Context and Partnerscochés par défaut : Sensor, Territory, Person, Role, Building ; « Use Web Research For Unknown Roles » à NO
6Find« LLM Reasoning » Completed en moins de 60 s, 11 agents DONE ; résumé : Sensor 1, Person 2, Building 1, Territory 2, Role 2, Function ≥ 3, Model nodes 13 ; appels api.openai.com tous en 200 ; ModelController COMPLETE (log fichier)
7aperçu13 nœuds, 12 arêtes : SS_MB_1 Fixed_Onto Main Building Fixed_Onto Town Hall Fixed_Onto TARBES ; Alice Johnson et Emma Thomson Acts_On Town Hall, Has Security agent / Town hall secretary ; Town hall secretary Provides ses fonctions (noms variables)
8Push (ACTIVE) → « Recommandation » → Yessynchronisations en 200, 0 ERROR, aucun « Could not find source or target territory » ; Active : 6 nœuds, 5 arêtes, libellés « Role: Security agent » / « Role: Town hall secretary » sous les personnes ; Freeze : Town hall secretary et ses fonctions
9r-iosemit« No game scenario yet » ; Create a scenario « Smoke in the Town Hall » → Save
10TIMELINE → Add an actuality or a message…Sensor actualities 1 : Fire detected at Main Building, 📍 Main Building, 📡 SS_MB_1, SS_MB_1 R1 · false → true ; date 13:00 → Save → « 1 dates · 2 DATA steps » ; enregistrer le scénario (icône save)
11onglet DATASS_MB_1, DEDICATED - SMOKE, Connected, CREATED, jeu de données smoke_in_the_town_hall_ss_mb_1
12Next stepstartSensor et 2 launchDataSetOnTopic en 200 ; « events received 2 » ; log [DEDUCTION-PUBLISH] d'une actualité …_rule_R1_… Near le clone de node_5918a7c4…
13r-iota1 SURE ALERTS, statut rouge rgb(248, 7, 7), pulsar rouge rgb(231, 30, 30) « Treats Fire detected », feu sur Main Building ; OPEN DETAILS : Fire detected at Main Building / Fire_Alert / Treats Fire detected → Cancel (ne rien valider)
14r-iota FIND SOLUTION(S), stratégie présélectionnée Drools - Crisis Satisfaction Strategy, Find« Deduction, deployment and supervision completed. » en ~10 s ; total: 2 ; statut et pulsar bleus rgb(50, 101, 255) « Treats Fire detected » ; graphe Start → Activate fire alarm → Use a fire extinguisher on the fire → End
15log de déduction[DEBUG-ACTOR-ELIGIBILITY] task='Activate fire alarm' requiredActorTypes=[Security agent] → afterRanker=[Alice Johnson] ; actingResourceIds = les deux personnes du document
16r-ioga To Do ListTotal tasks 2 ; Activate fire alarm (2 min) puis Use a fire extinguisher on the fire (5 min), acteur Alice Johnson [Security agent] ; chacune : clic → Accept → Done ; la seconde démarre quand la première est faite
17r-iota après les 2 tâchespulsar orange rgb(245, 176, 65) « Treats Fire detected », rond de statut vert ; tableau de bord « RESOLVED / TARGET 1 / 1 » ; graphe : les deux tâches en vert
18capture du processus finalexport du SVG du graphe r-iota (app-solution-graph) sur fond sombre, libellés lisibles, deux tâches vertes
19log backend0 ERROR
07 · RP-05

Hello world : créer un cas d’usage à partir de rien (Fire at Albi Cathedral)

Points de contrôle, dans l'ordre :

#ContrôleAttendu
0r-ioga, Create project → Crisis, nom Fire at Albi Cathedral, Clear all references, fournisseur IA validele projet apparaît dans « Project List », colonne REFERENCES vide, 12 lanceurs. En édition, le champ du nom est en lecture seule
1r-ioda Context And Partners, AI Creator Territory « Albi » (City), puis Building « Albi Cathedral »2 nœuds avec leur photo (pas d'icône vide) ; bâtiment « Sainte-Cecile Cathedral of Albi »
2clic droit sur la cathédrale → Fixed_Onto → Albiarête créée ; log [DEDUCTION-PUBLISH] create edge … Fixed_Onto … created=true
2br-ioplay, lancé depuis « Project List »la carte s'ouvre sur le contour de la commune d'Albi ; en zoomant sur la vieille ville (bord du Tarn), l'emprise de la cathédrale épouse le bâtiment de la vue satellite (les couleurs des formes changent d'un passage à l'autre) (≈ 43,9283 / 2,1426)
3AI Creator Role « Firefighter », Push, recommandation Freeze → Yesfiltre Freeze seul : Firefighter et ~6 fonctions, dont Extinguish fires ; aucun 500 sur inventRoles
4Provides → Function « Confirm Fire », sortie Radio Fire Confirmed (Yes/No) ; clic droit sur Extinguish fires → Needs vers Confirm Fire, avec la condition courte @Fire Confirmed[Confirm Fire] == "Yes" (expression seule, sans boolean …;)l'autocomplétion @ propose @Fire Confirmed[Confirm Fire] output · radio ; la condition est relue à l'identique à la réouverture de l'arête ; l'arête porte un badge CE et son survol affiche le code
5AI Creator Person, 1 personne, rôle Firefighter, située à Albi ; ouvrir la personne, la renommer Owen Hartley si c'est un homme, Olivia Hartley si c'est une femme (même login) ; le titre du dialogue suit le nouveau nom, REQUIRED INFORMATION → ACTIONS → Generate corresponding user → Save, puis Save de la personne1 personne active ; dialogue « Register … as user » : login ohartley, mot de passe par défaut affiché ; la personne porte une arête Assigned_To vers un nœud User (vérifiable dans Neo4j) ; le bouton Generate est ensuite désactivé
6onglet Objectives, Freeze seul, palette Fire_Alert « Fire in Albi Cathedral », Generate associated objectiveobjectif gelé « Treats Fire in Albi Cathedral », relié par Treats ; pas d'exception « Refactore 2026 »
7objectif → Broken relations Satisfies → Add → Extinguish firesla ligne Extinguish fires est présente à la réouverture
8AI Creator Sensor Dedicated / Smoke / event type « Fire In Albi Cathedral » / Fixed Onto Asset cathédrale ; renommé « Smoke sensor of Albi Cathedral »CONFIGURATION : seuil MAX référençant « Fire in Albi Cathedral (FREEZE, Fire_Alert) » ; push en 200 (aucun NPE SensorModelsPopulateInterceptor)
9r-iotaNo alert detected, statut vert
10r-iosemit Start sensor, puis 4 × Play selected dataset step by stepvaleurs 0, 0, 0, 1 ; r-iota : 1 SURE ALERTS, pulsar rouge rgb(231, 30, 30)
11r-iota FIND SOLUTION(S), stratégie présélectionnée, Findstratégie Drools - Crisis Satisfaction Strategy ; bannière « Deduction, deployment and supervision completed. » ; statut bleu, objectif 0/1, « total: 2 » ; graphe Start → Confirm Fire → Extinguish fires → End et un flux otherwise Confirm Fire → End ; aucun « Not implemented » au déploiement
11bgraphe d'exécution r-iota (2e onglet), survol des badges CE des deux flux sortant de Confirm Fireflux vers Extinguish fires : @Fire Confirmed[Confirm Fire] == "Yes" (recopiée telle quelle) ; flux …__otherwise vers End : commentaire // otherwise: … (property releasesObjectives): suivi de // - Treats Fire in Albi Cathedral, puis boolean __condition_result__c = @Fire Confirmed[Confirm Fire] == "Yes"; boolean condition = __condition_result__c; boolean otherwise = !condition; otherwise;
12r-io4U (web, connecté en ohartley) → menu → Tasks ; vide avant la déduction ; après le point 11, les tâches arrivent en direct (sans rafraîchir) → cocher Confirm Fire → formulaire titré « Confirm Fire » (sous-titre « Output data of the task », note explicative), Fire Confirmed = Yes, DoneConfirm Fire (orange) et Extinguish fires (gris) attribuées à Owen/Olivia ; POST …/humantask/updateTask en 200 ; log [SEQUENCE-FLOW-CONDITION] … Extinguish fires : true et … EndEvent : false ; Extinguish fires passe en orange en direct
13r-io4U : cocher Extinguish fires (pas de sortie) → « Process Ended!!! Thanks For your help !!! » ; r-iotales 2 tâches vertes ; r-iota No alert detected, statut vert ; la zone en feu (objectif et alerte ACTIVE, effet FIRE de Fire_Alert) reste dessinée sur la cathédrale : c'est attendu, le clone EXPECTED de l'objectif a disparu mais l'objectif actif attend la validation de l'expert
13br-iota, barre d'outils → Delete positive deviations (icône add_circle, visible tant qu'il reste des marqueurs positifs) → Delete → Refreshle dialogue « Positive Deviation Analysis » liste Objectives : Treats Fire in Albi Cathedral et Actualities : Fire in Albi Cathedral at Sainte-Cecile Cathedral of Albi, tous deux à YES ; après Delete + Refresh : plus de path.area-fire, la cathédrale est redessinée en bâtiment, le bouton disparaît ; log supervision of <solution> ended: processes ended and no ACTIVE objective left (à la fin du processus, avant la validation : goes on: 1 ACTIVE objective(s) left) ; solution selected=false, aucun nœud EXPECTED_FREEZE ; l'alerte et l'objectif gelés restent FREEZE
13cr-iosemit Stop selected dataset puis 4 pas → r-iota FIND SOLUTION(S) → todo-list r-ioga (administrateur ; la nouvelle tâche arrive aussi en direct dans r-io4U) : nouvelle Confirm Fire = No, dialogue titré du nom de la tâche avec une note explicative → r-iota → Delete positive deviationsnouvelle alerte sûre (pulsar rouge) ; seconde solution déployée ; [SEQUENCE-FLOW-CONDITION] Confirm Fire -> Extinguish fires : false et vers EndEvent : true ; [OTHERWISE-RELEASE] … expected twin released: ['Treats Fire in Albi Cathedral', 'Fire in Albi Cathedral at …'] ; la seconde Extinguish fires reste grise ; r-iota « No alert detected », pulsar orange ; après la validation, supervision close comme en 13b
14r-ioga « Project List » → Export project (.zip) → Yesarchive Fire at Albi Cathedral.zip (~1,9 Mo, 17 entrées) : 7 modèles (project, 3 actifs, 3 freezed_*), règle CEP du capteur, scénario de jeu et dataset, matrice distance/temps, photos.
15redémarrage (base vide), Import ZIP de l'archivePOST …/projects/importProject en 200 ; log « project freeze models loaded: 3 » et « project active models loaded: 3 » ; le projet réapparaît dans « Project List » avec 12 lanceurs ; r-ioda Context And Partners : Albi, la cathédrale, les 2 pompiers, le capteur. Un WARN « CEP rules not generated while the project is loaded » est normal. L'import restitue l'état au moment de l'export (alerte active si exportée en fin de scénario)
08 · RP-06

Henri au barbecue : règles 2L pilotées par des valeurs capteurs

Points de contrôle, dans l'ordre (attendre 10 s après chaque pas, le temps de la marche ; r-ioplay et r-iota restent ouverts sans rechargement du point 2 au point 13) :

#ContrôleAttendu
0amorçage avec Barbecuele projet apparaît dans « Project List » ; sa colonne APPLICATIONS ouvre r-iosemit, r-ioplay et r-iota dans le contexte du projet
1r-iosemit, sélection du scénario « Henri barbecue story »9 dates de 10:05 à 10:45, chacune avec une carte de valeur capteur (valeur ou coordonnées GPS) ; boutons Previous step, Next step, Restart ; aucune erreur à l'ouverture
2r-iota ; r-ioplay 2D ; r-ioplay 3D (second onglet), menu Camera → 3rd sur Henrir-iota No alert detected, statut vert ; r-ioplay : Henri de l'autre côté de la maison, aucune zone de danger ; bouton Camera · 3rd person, caméra dans le dos d'Henri dès le départ, avant toute marche (et non de profil)
2bcaméra de suivi, en 3rd puis en 1st : panneau MOVE / LOOK / ALT / ZOOM, puis souris (glisser gauche, glisser droit, molette), puis ⌂la vue réagit dans les deux modes : LOOK ↺ ↻ et glisser gauche font tourner la caméra autour d'Henri (3e) ou tourner le regard (1re), ˄ ˅ l'inclinent ; ZOOM et molette rapprochent / éloignent (3e) ou avancent / reculent le point de vue (1re) ; MOVE, ALT et glisser droit décalent le point visé ; ⌂ (ou H) rend la vue de suivi par défaut ; le réglage est conservé pendant les marches des pas suivants et remis à zéro au changement de mode
3pas 1 (niveau d'eau 1)Submersion ACTIVE ; r-ioplay : zone de 10 m centrée sur la piscine, dessinée en direct ; r-iota 0 alerte
4pas 2 (thermique 60)High Temperature ACTIVE ; zone de 6 m autour du barbecue ; r-iota 0 alerte
5pas 3 (Henri à 5,5 m du barbecue)Henri marche, puis Henri risks getting burned apparaît à l'arrivée, probability 0,11, avec Prevent Henri risks getting burned ACTIVE ; étiquette « ⚠ 11 % » dans r-ioplay 2D et r-iota, marqueur de risque aux pieds d'Henri en 3D ; r-iota 1 SURE ALERTS ; la montre et le capteur cardiaque d'Henri sont à sa position
6pas 4 (Henri à 3 m)probability 0,67, étiquette « ⚠ 67 % » ; r-iota 1 SURE ALERTS
7pas 5 (Henri à 1 m)Henri burns ACTIVE, le risque de brûlure et son objectif Prevent FREEZE, Treat Henri burns ACTIVE avec un Created at égal à l'heure du pas ; r-iota 1 SURE ALERTS (Treat Henri burns), plus d'étiquette de risque ; gyrophare rouge sur Henri en 3D
8pas 6 (lisière de la zone de la piscine, 9,7 m)Henri is in danger of drowning ACTIVE, probability 0,10, et Prevent Henri is in danger of drowning ACTIVE ; étiquette « ⚠ 10 % » ; r-iota 2 SURE ALERTS
9pas 7 (8,35 m de la piscine)probability 0,55, étiquette « ⚠ 55 % » ; r-iota 2 SURE ALERTS
10pas 8 (Henri dans l'eau, altitude −1,5 m)en 3D, Henri s'enfonce régulièrement jusqu'à −1,5 m pendant la marche ; Henri drowns et Treat Henri drowns ACTIVE, le risque de noyade FREEZE, Henri burns FREEZE ; r-iota 1 SURE ALERTS ; l'étiquette « ⚠ 55 % » disparaît (aucune étiquette orpheline : document.querySelectorAll('.leaflet-tooltip.rio-marker-label').length = 0)
11pas 9 (rythme cardiaque 0)Henri is dead et Bradycardia detected on Watch of Henri Martinez ACTIVE, tous deux sur la piscine (≈ 43,90900 / 2,14913) ; Henri FREEZE, Henry's corpse ACTIVE ; r-iota 3 SURE ALERTS, aucun pulsar en (0,0)
12Previous step, puis réglette blanche glissée jusqu'à 10:20Henri réapparaît dans l'eau (r-iota 1 SURE ALERTS), puis remonte et refait son trajet à reculons (2D et 3D) ; à 10:20 : risque de brûlure à 67 %, aucune alerte de brûlure ni de noyade, r-iota 1 SURE ALERTS
13RestartHenri de nouveau de l'autre côté de la maison, au sol ; plus aucune zone de danger ; r-iota No alert detected (compteur à 0) ; l'histoire se rejoue sans redémarrage
14log backend0 [2L-FIXPOINT] rule failed, 0 oscillation on node, 0 not converged