SleanSlean

3. Lire les portes ET et OU🔗

Une porte de dépendance décrit des liens ajoutés par l'auteur entre des éléments déjà enregistrés :

  • all_of (ET) : tous les membres sont présentés comme prérequis de la cible.

  • any_of (OU) : les membres sont présentés comme soutiens alternatifs.

Slean vérifie la forme, les identifiants, l'antériorité et la visibilité de ces liens. La porte ne calcule pas si les membres sont vrais, suffisants ou scientifiquement probants.

Depuis la racine du dépôt, validez le dossier synthétique au schéma 0.3.0 :

lake build
lake exe slean validate examples/dependency-gates.json

La seconde commande affiche exactement :

{"case_id":"synthetic-decision-1","events":13,"ok":true}

ok: true confirme ici que les deux portes sont des enregistrements recevables et que leurs références existent au bon moment ; ce n'est pas une évaluation de ET ou de OU. Dans ce dossier, event-12 ajoute gate-all-1 : protocol-1 ET assessment-1 sont des prérequis consignés pour decision-1. event-13 ajoute gate-any-1 : observation-1 OU observation-2 sont des soutiens alternatifs consignés pour claim-1. Ces événements arrivent après la décision event-7 ; ils ne transforment pas rétroactivement son évaluation.

Voir à quel moment chaque porte apparaît

for n in 11 12 13; do
  lake exe slean replay examples/dependency-gates.json "$n" |
    python3 -c 'import json,sys; print(len(json.load(sys.stdin)["dependency_gates"]))'
done

Le résultat est exactement 0, puis 1, puis 2 sur trois lignes. Un préfixe est le nombre d'événements du début du journal pris en compte. Le préfixe 11 se termine avant les portes ; 12 inclut ET ; 13 inclut ET et OU. lake exe slean view examples/dependency-gates.json agent expose leurs opérateurs, membres et cibles dans dependency_gates.

Pour parcourir les mêmes préfixes dans l'Explorer local :

python3 explorer/render.py examples/dependency-gates.json --output explorer/_out/gates
python3 -m http.server 8768 --directory explorer/_out/gates

Ouvrez http://127.0.0.1:8768/, puis sélectionnez les événements 11, 12 et 13. La liste lisible au clavier, le détail de l'événement exact et la carte 2D proviennent du même journal validé. La carte répète les liens consignés ; elle ne démontre pas leur vérité.

Ne pas confondre inconnu et zéro

Comparez les deux vues agent :

lake exe slean view examples/dependency-gates-unknown.json agent
lake exe slean view examples/dependency-gates-zero.json agent

Dans le premier cas, la première observation a status: "unknown", value: null et la décision antérieure est defer ; l'évaluation est undetermined. Dans le second, elle a status: "measured", value: "0" et la décision est reject ; l'évaluation est fail. Les deux dossiers ont les mêmes portes ET/OU et une seconde observation positive enregistrée après la décision. La porte OU ne transforme donc ni l'absence de mesure en zéro, ni la décision passée en promote.