v3 : socle Rust (moteur pur, accès trustinWallet, serveur) ; maquette Nuxt rangée dans maquette/

- crates/ld-engine : formule inertielle (parité avec la maquette, garde C),
  coquille / changement de fond, assistant d'édition à règles, composition
  d'un document sous vote permanent (adoptions, aperçus, rivales).
- crates/trustin-access : qui voit, qui ouvre, qui gère les accès.
- crates/ld-server : API axum + SQLite, connexion Ğ1 (client OAuth2 de
  connect.monnaie-libre.fr), invitations, entrée en vigueur automatique,
  signalements de contradiction, traductions éditoriales, publication git,
  taille de la toile lue sur la chaîne.
- seeds/acte-engagement-certification.json : 33 articles, fr + en + es ;
  en vigueur : préambule, E1, E2 (seed a minima).
- maquette/ : frontend, backend et docker v2 déplacés tels quels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-10-21 02:04:42 +02:00
co-authored by Claude Opus 5.5
parent 4b1732916d
commit 67ddee28b2
275 changed files with 8979 additions and 0 deletions
@@ -0,0 +1,42 @@
<script setup lang="ts">
// <!-- ld-v2 --> Tuile de stat de l'Observatoire — libellé, valeur, note.
// Chiffres proportionnels (pas de tabular à cette taille), encre = tokens texte.
defineProps<{ label: string; value: string; hint?: string }>()
</script>
<template>
<!-- ld-v2 -->
<div class="ostat">
<p class="ostat__label">{{ label }}</p>
<p class="ostat__value">{{ value }}</p>
<p v-if="hint" class="ostat__hint">{{ hint }}</p>
</div>
</template>
<style scoped>
.ostat {
display: flex;
flex-direction: column;
gap: 0.25rem;
padding: 0.875rem 1rem;
border-radius: var(--r-icon);
background: var(--mood-accent-soft);
min-width: 0;
}
.ostat__label {
margin: 0;
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.04em;
color: var(--mood-text-muted);
}
.ostat__value {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: var(--mood-text);
line-height: 1.15;
}
.ostat__hint { margin: 0; font-size: 0.75rem; color: var(--mood-text-muted); }
</style>