forked from yvv/decision
v3 : C22 ne suppose plus un petit groupe d'essai
Chaque connexion de développement rejoint tous les groupes : B2 et F en ajoutent quatre chacun, l'essai passe de 13 à 17 membres. Dès 16, B^W passe sous la précision du calcul et, C valant 1, la voix seule de Chiara fait entrer sa version de « Connaissance suffisante » en vigueur. Conforme à l'ADR 0002 (essai : C = 1) ; l'ADR 0007 le dit maintenant. Boucle : 202 tests Rust, svelte-check 0, 49 vitest, e2e 31 / 31. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,7 @@ web/src/
|
||||
# · g/[group]/decisions · g/[group]/mandats ·
|
||||
# g/[group]/protocoles (à venir) · acces (trustinWallet) · messages (la boîte) ;
|
||||
# /groupes, /decisions… redirigent
|
||||
web/e2e/ # Playwright C1–C24, C28–C31 + M1 ; serve.sh = serveur jetable /tmp/ld-e2e sur :8092 et
|
||||
web/e2e/ # Playwright C1–C24, C28–C33 + M1 ; serve.sh = serveur jetable /tmp/ld-e2e sur :8092 et
|
||||
# chain-mock.mjs (nœud et indexeur Ğ1 simulés) ; faux portefeuille dans helpers.ts
|
||||
docker/ # app.Dockerfile · app-compose.yml (sonic)
|
||||
.woodpecker/ # app.yml · maquette.yml
|
||||
@@ -94,7 +94,7 @@ maquette/ # v2 intacte (frontend Nuxt, backend FastAPI, docker, docs-v
|
||||
```bash
|
||||
export PATH=$HOME/.cargo/bin:$PATH
|
||||
cargo fmt --all --check && cargo clippy --workspace --all-targets -- -D warnings && cargo test --workspace
|
||||
cd web && npm run check && npm test && npm run build && npm run e2e # e2e : 29 contrôles
|
||||
cd web && npm run check && npm test && npm run build && npm run e2e # e2e : 31 contrôles
|
||||
|
||||
LD_DEV_LOGIN=1 cargo run -p ld-server # :8002, sert web/build
|
||||
cd web && npm run dev # :3002 à chaud
|
||||
|
||||
@@ -61,7 +61,9 @@ s_k = M_k + (1 − M_k)·(1 − p̃^G_k) ⇔ G_k = ln(1 − (s_k − M_k)/(1
|
||||
- **C reste un plancher** : à T ≤ C, R = C + B^W ; une seule voix ne fait jamais passer un
|
||||
texte dans Monnaie libre ;
|
||||
- le groupe d'essai (W = 2, C = 1) : la référence vaut 100 %, ramenée à 50 % ; G reste fini ;
|
||||
il faut les deux voix, à tout cran.
|
||||
il faut les deux voix, à tout cran. Cette garde tient à B^W : dès 16 membres, 0,1^W passe sous
|
||||
la précision du calcul (1 + 10⁻¹⁶ = 1), et une voix seule suffit alors, C valant 1. Monnaie
|
||||
libre n'est pas concernée (C = 50).
|
||||
|
||||
La borne basse limite aussi l'effet de propositions à une voix multipliées pour faire baisser
|
||||
la médiane (une médiane basse adoucit les seuils au-dessus d'elle) : à 1 % près, l'effet est
|
||||
|
||||
@@ -74,3 +74,4 @@ page, la langue et la taille de l'écran. Les retours se traitent dans trustinWa
|
||||
| 2026-10-31 | automate | local, lot B (le vote déplié, le panier, le vote par la chaîne Ğ1 simulée) | C1–C24, M1 | 25 / 25 verts |
|
||||
| 2026-10-31 | automate | local, lot B2 (vote par la chaîne : corrections de la relecture de `74f96be`, reçu), `c7d2791` | C1–C24, C32, C33, M1 | 27 / 27 verts |
|
||||
| 2026-10-31 | automate | local, lot F (objections « redit » / « contredit », coquilles validées, messages ; horloge du serveur avancée pour l'échéance) | C1–C24, C28–C31, M1 | 29 / 29 verts |
|
||||
| 2026-10-31 | automate | local, fusion de F avec B2 (`cd7e683`) ; C22 ne suppose plus un groupe d'essai de moins de 16 membres | C1–C24, C28–C33, M1 | 31 / 31 verts |
|
||||
|
||||
@@ -79,8 +79,10 @@ test('C22 — le vote groupé : une section en un geste, et l’article à deux
|
||||
expect(writes.filter((u) => u.endsWith('/votes'))).toHaveLength(1);
|
||||
expect(writes.filter((u) => u.endsWith('/vote'))).toHaveLength(0);
|
||||
await expect(panel.getByText("Rien dans le panier pour l'instant.")).toBeVisible();
|
||||
// Each counted: her version of E3 has its voice, the other none.
|
||||
await expect(e3.getByRole('group', { name: /variante 1\.0\.0/ }).locator('..')).toContainText('1 pour · 0 contre · ton vote : pour');
|
||||
// Each counted: her version of E3 has its voice, the other none. Here every
|
||||
// dev sign-in joins the test group: from 16 members B^W vanishes and, C being 1,
|
||||
// her voice alone may put her version in force (ADR 0007).
|
||||
await expect(e3.getByRole('group', { name: /variante 1\.0\.0|en vigueur/ }).locator('..')).toContainText('1 pour · 0 contre · ton vote : pour');
|
||||
await expect(e3.getByRole('group', { name: /variante 0\.4\.0-draft/ }).locator('..')).toContainText('0 pour · 0 contre');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user