Yvv and Claude Fable 5
7cfc7ea352
v2 : nettoyage des orphelins v1 + documentation livrable
...
- 43 fichiers v1 supprimés (composants documents/protocols/sanctuary/toolbox,
stores auth/documents/groups/mandates/organizations/protocols/votes,
composables api/notifications/formula/websocket, utils doublons du moteur)
- nuxt.config épuré (polkadot retiré, KaTeX et apiBase gardés), meta v2
- README.md, CONTRIBUTING.md, CLAUDE.md réécrits pour la v2
- Build zéro erreur, 342/342 tests verts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 14:09:05 +02:00
Yvv and Claude Fable 5
e164b5f6c1
v2 : les 14 écrans — le tour complet de la démocratie d'exercice
...
- Aujourd'hui (Fil 13 sections + capture sticky) + Le chemin (tunnel 2 gestes,
Q0 inline, 3 chips, dérogation asymétrique, alternatives réglage/consignation)
- Registre + fiche décision (timeline, périmètre premier/second lieu auditable,
affluence non-ignorable, S'instruire condensé, éléments + cartographie de
clôture, épreuve du réel, Remettre en question, PV A4, gravure)
- Salle de vote 5 modalités (consentement, nuancé+histogramme, binaire hérité
avec jauge inertielle, Réglage collectif complet — faisceau, médiane basse,
Pour moi, Explorer, cristallisation-geste —, élection à départage humain)
- Textes (Pacte en clair, document vivant, diff, vue projetée, Atelier des
formules porté du v1 sur le moteur unique) + Mandats (faits comptés, feux
de la rampe, wizard 3 étapes) + Observatoire (consigner→observer→protocoliser)
- Onboarding 7 gabarits + Données locales (export/import, attributs, atelier)
- voting→framing gardé (Reformuler d'un réglage figé non cristallisé)
- Pages v1 supprimées (login, documents, mandates, protocols, sanctuary,
tools, decisions/new) — 342 tests verts, build zéro erreur
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 13:47:20 +02:00
Yvv and Claude Fable 5
d886302b59
v2 : couche données complète + shell + primitives communes
...
- stores/collective.ts (état local-first, gabarits, import/export, seeds)
+ stores/decisions.ts (cycle de vie complet : capture→chemin→fenêtres→
sessions→cristallisation→épreuve du réel→révocation)
- data/templates.ts : 7 gabarits (Page blanche observatoire-d'abord,
5 points de départ, Institution symétrique)
- composables useFeed (13 sections du Fil en sélecteurs purs) + useSearch
(index unique Cmd+K/Q0)
- shell : layouts default/bare, app.vue mince, useMood v2 (Source/Margelle/
Nappe/Minuit), sceau 井 = logo, LdWorkspaceSelector avec finalité A1,
LdAvatarStack (premier/second lieu), LdCountdown (suspension striée)
- 338 tests vitest verts, npm run build zéro erreur
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 10:30:35 +02:00
Yvv and Claude Fable 5
6f2bf62295
v2 : seed Duniter Ğ1 extrait sans perte (bundle 331 Ko + 22 tests)
...
- export_seed_bundle.py : parsing ast de seed.py (zéro dépendance DB),
uuid5 déterministes, sha256 reproductible
- 33 clauses Certification + 59 Forgeron v2.0.0-fr, voteRecord 97/23/19
W=7224 seuil 97 D30M50B.1G.2S.1, 11 personnes (5 forgerons), 3 mandats,
10 protocoles, Pacte 20 clauses, 118 décisions fondatrices chaînées
- Écarts v1 documentés dans le script (sessions de démo non portées,
ComTech reconstruit depuis la recherche forum, presets câblés par clause)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 09:48:13 +02:00
Yvv and Claude Fable 5
f707b5f15d
v2 : moteurs purs complets + ambiances + persistance + seed Atelier du Canal
...
- engine/ : parametric (médiane basse, cristallisation, impact linear-share,
bimodalité), state (canTransition 9 gardes doctrinales + windowOutcome),
settings (resolveSettings + replis), triage (R-U→R6, phrases françaises),
impact (concernés calculés), électionResult (blanc, quorum, égalité sans
départage machine) — 296 tests vitest verts
- moods.css v2 : Source/Margelle/Nappe/Minuit (champ lexical du puits),
tokens routes/états, socle borderless, print A4, tampon 井
- data/persistence.ts : IndexedDB local-first, export/import Bundle, lignée
- Seed Atelier du Canal (145 Ko, tous les états de l'UI) + test
- backend/scripts/export_seed_bundle.py (extraction Ğ1, bundle à générer)
- test anti-lexique (marqueur ld-v2)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 09:22:19 +02:00
Yvv and Claude Fable 5
53d8752e40
v2 : conception ultracode + moteur de formules porté en TS
...
- Blueprint définitif (docs/dev/BLUEPRINT-V2.md + JSON) : panel 4 visions
+ 3 juges, corpus doctrinal (Mon nom est personne, Une économie du don,
SejeteralO), 4 critiques d'intégration, 3 vérificateurs, réparations
- Corpus d'intention + lectures brutes archivés
- Moteur porté Python→TS pur : threshold (inertie WoT, Smith, ComTech),
nuancé 6 niveaux, DSL modeParams — 45 tests vitest, parité croisée
vérifiée (Forgeron W=7224 T=120 ⇒ 94)
- Contrat de domaine v2 (types/domain.ts) + lexique UI (lexicon.ts)
- vitest + idb-keyval en dépendances
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-11 05:59:33 +02:00
Yvv and Claude Opus 4.8
172eab4c7c
design(sceau): hexagramme 井 traits épais, coins nets, aspect carré
...
- viewBox 112×105, height 8, rx supprimé (rendu cut)
- inline app.vue + SVG public alignés
- géométrie calée sur les modèles IMAGES/PERVIER/Hexagrammes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-03 06:54:05 +02:00
Yvv and Claude Opus 4.8
a9e586cda1
refactor(moods): adopte le layer @yvv/nuxt-base pour le mécanisme d'ambiances
...
- nuxt.config: extends ['../../yvv-nuxt-base']
- useMood.ts: délègue à useMood(moods) du layer, exporté useLibreMood
(évite la collision avec l'auto-import du layer)
- MoodSwitcher.vue + app.vue: appellent useLibreMood()
- moods.css inchangé (couleurs = identité projet)
Mécanisme partagé (application DOM, persistance, sync color-mode) mutualisé
sans toucher le contrat CSS. Vérifié headless (Playwright) : 4 moods × light/dark
× desktop/mobile OK, persistance au reload OK, zéro erreur JS, zéro régression.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-18 09:07:02 +02:00
Yvv and Claude Sonnet 4.6
f56d84e76b
Mandats : origin→FK identité + nomination auto + boutons + tests intégration
...
- origin TEXT → origin_id UUID FK duniter_identities (migration e3f4a5b6c7d8)
- GET /auth/identities?q= : recherche d'identités par nom/adresse
- MandateCreate.nomination_mode : auto (auto-assign auteur), collective, postpone
- Wizard new.vue : champ origine = picker identité, checkbox "Démarrer maintenant"
- [id].vue : modal "Assigner" = search-picker (résout UUID vs adresse SS58), affiche
origin_display_name + mandatee_display_name, inputs natifs (<input>/<textarea>)
- Erreurs API visibles dans l'UI (plus de catch silencieux)
- test_mandate_flows.py : 17 tests intégration SQLite réels (origin, nomination,
assign, lifecycle, revocation, interactions croisées) — 241 tests total OK
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 20:48:27 +02:00
Yvv and Claude Sonnet 4.6
56d72eeec2
Auth : mode prototype factice en prod + fix test DB manquante
...
- Login : panneau proto-mode en avant quand DEMO_MODE actif (profils API)
masque le formulaire extension-required ; note trustWallet à venir
- auth.ts : TODO trustWallet avec protocole postMessage prévu
- routers/auth.py : TODO trustWallet au point de vérification signature
- test_middleware : fixture _create_tables (autouse) — ASGITransport ne
déclenche pas le lifespan, init_db() ne tournait pas → duniter_identities
introuvable au verify ; 224/224 passent
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 00:34:49 +02:00
Yvv and Claude Sonnet 4.6
3b339b643c
Mandats : refonte wizard nomination-first + types statutory/functional
...
- Réordonnancement étapes : nomination → infos → résumé (au lieu de infos → nomination → toolbox → résumé)
- Cas nomination renommé : 'election' → 'collective' ; auto-désignation scindée en mode période/réunion
- Types mandat ajoutés : statutory, functional (labels + filtres index)
- Légères corrections texte modalities (ortho, reformulation)
- Fix TS : assertions non-null sur statusGroupMap et paramValues
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 20:33:16 +02:00
Yvv and Claude Sonnet 4.6
3ba9c43ce3
Mandat : wizard création 4 étapes + boîte à outils élection
...
- Mandate model : champ origin (contexte/déclencheur) + migration
- MandateCreate schema : origin, starts_at, ends_at
- mandates/new.vue : wizard complet
· Étape 1 : type · nom · origine · description · durée (relative ou dates)
· Étape 2 : auto-désignation (ratification) ou désignation collective
· Étape 3 : boîte à outils — sans/avec candidature, 6 modalités,
paramètres configurables (durée, quorum, seuil, slider+input)
· Étape 4 : récap + génération automatique des étapes du mandat
- Tous les boutons "Nouveau mandat" pointent vers /mandates/new
- decisions/new.vue : "Demander un mandat" → /mandates/new
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 05:29:13 +02:00
Yvv and Claude Sonnet 4.6
9a8f10efdf
Groupes d'identités : modèle DB, router, store, UI cercles + Protocoles
...
- Group + GroupMember : modèle SQLAlchemy + migration + router CRUD
- /api/v1/groups : liste, création, suppression, membres (add/remove)
- groups.ts : store Pinia (fetchAll, getGroup, create, remove, addMember, removeMember)
- decisions/new.vue : cercles 1 & 2 en mode texte libre OU groupe prédéfini
(affected_count calculé depuis le member_count du groupe)
- protocols/index.vue : section Groupes avec expand/collapse, ajout/suppression membres
- lang="fr" + spellcheck sur tous les textareas ; placeholder cercle 2 corrigé
- n8n channels : prévu sprint futur (texte libre → webhook appel à contribution)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 20:25:44 +02:00
Yvv and Claude Sonnet 4.6
e2ae8b196e
Qualify : service IA + endpoint ai-chat + wizard Décider (3 cercles + AI 2-rounds)
...
- qualify_ai_service.py : stub IA 2-allers-retours (réversibilité + urgence)
- qualify.py router : endpoint POST /ai-chat → AIChatRequest/AIChatResponse
- test_qualifier_ai.py : 11 tests A1-A7 (questions stables, done=True au 2e round)
- decisions/new.vue : wizard 4 étapes — branche mandat (liste + lien demande) /
hors-mandat (3 cercles textarea), questions IA, résultat + boîte à outils,
formulaire final
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 19:44:00 +02:00
Yvv and Claude Sonnet 4.6
5c51cffc93
Qualifier : corrections R2/R6 + router + modèle DB + wizard frontend
...
Corrections moteur (TDD) :
- R2 : within_mandate → record_in_observatory=True (Observatoire des décisions)
- R6 : >50 personnes → collective recommandé, pas obligatoire (confidence=recommended)
- R3 supprimée : affected_count=1 hors périmètre de l'outil
- R9-R12 renommés G1-G4 (garde-fous internes)
- 23 tests, 213/213 verts
Étape 1 — Router /api/v1/qualify :
- POST / → qualify() avec config depuis DB ou defaults
- GET /protocol → protocole actif
- POST /protocol → créer/remplacer (auth requise)
Étape 2 — Modèle QualificationProtocol :
- Table qualification_protocols (seuils configurables via admin)
- Migration Alembic + seed du protocole par défaut
Étape 3 — Wizard frontend decisions/new.vue :
- Étape 1 : formulaire de qualification (mandat, affected_count, structurant, contexte)
- Étape 2 : résultat (type, raisons, modalités, observatoire, on-chain)
- Étape 3 : formulaire de décision (titre, description, protocole si collectif)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 19:12:01 +02:00
Yvv and Claude Sonnet 4.6
fc84600f97
Fix auth : CORS outermost + dev rate limit + filtre workspace réactif
...
- Middleware : CORSMiddleware ajouté en dernier = plus externe = tous les
codes de retour (dont 429) portent Access-Control-Allow-Origin
→ résout "no response / Failed to fetch" sur POST /auth/challenge
- Dev mode : rate_limit_auth = RATE_LIMIT_DEFAULT (60/min) au lieu de 10/min
→ plus de blocage login après quelques reconnexions
- app.vue : watcher activeSlug → refetch documents/décisions/protocoles/mandats
→ le sélecteur de workspace filtre désormais le contenu en temps réel
- TDD : 4 tests middleware (RED→GREEN) + doc méthode docs/dev/tdd-methode.md
- Régression : 190/190 tests verts
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 15:51:28 +02:00
Yvv and Claude Sonnet 4.6
79e468b40f
Multi-tenancy : espaces de travail + fix auth reload (rate limiter OPTIONS)
...
- Modèles Organization + OrgMember, migration Alembic (SQLite compatible)
- organization_id nullable sur Document, Decision, Mandate, VotingProtocol
- Service, schéma, router /organizations + dependency get_active_org_id
- Seed : Duniter G1 + Axiom Team ; tout le contenu seed attaché à Duniter G1
- Backend : list/create filtrés par header X-Organization
- Frontend : store organizations, WorkspaceSelector réel, useApi injecte l'org
- Fix critique : rate_limiter exclut les requêtes OPTIONS (CORS preflight)
→ résout le bug "Failed to fetch /auth/me" au reload (429 sur preflight)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 15:17:14 +02:00
Yvv and Claude Sonnet 4.6
224e5b0f5e
Auth Duniter v2 : vérification réelle + extension signing + titres outils
...
Backend :
- Vérification Sr25519/Ed25519 réelle via substrateinterface (bypass démo)
- Message signé : <Bytes>{challenge}</Bytes> (convention polkadot.js)
- DEV_PROFILES : Charlie → Référent structure, Dave → Auteur (WoT member)
Frontend :
- Signing via extension polkadot.js / Cesium2 (_signWithExtension)
- @polkadot/extension-dapp + @polkadot/util installés
- Vite : global=globalThis + optimizeDeps pour les packages polkadot
- Boîte à outils : titres complets des 4 sections
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 03:36:51 +01:00
Yvv and Claude Sonnet 4.6
b63c6f95e1
Home : titres complets des blocs + burger mobile-only + seed CI
...
- Titres cards : "Décisions et consultation d'avis", "Documents de référence",
"Mandats et nominations", "Protocoles et fonctionnement"
- Burger supprimé sur desktop (≥768px), conservé mobile uniquement
- CI : step seed (docker exec python seed.py) entre test-deploy et healthcheck
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 02:45:38 +01:00
Yvv and Claude Sonnet 4.6
99c5e9dd5a
Home : renommage libreDecision + chiffres dynamiques + centrage + typo
...
- Titre : ğ(Decision) → libreDecision (libre italic/muted + Decision accent)
- Chiffres : plus de valeurs hardcodées, tout dynamique depuis les stores
(mandates store ajouté, protocoles depuis protocols.protocols.length)
- Affichage intelligent : total quand actif = 0, labels contextuels
- Grilles centrées : margin: 0 auto sur .dash
- Font-weight 800 → 700 partout (moins gras, plus classe)
- Typo : "Nuance" → "Nuancé" dans les tags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 02:06:02 +01:00
Yvv and Claude Sonnet 4.6
a8dc0dfb40
Typo Plus Jakarta Sans + renommage libreDecision + mode démo prod + seed mandats
...
- Fonte : Nunito → Plus Jakarta Sans (moderne, ronde sans être toy)
- Logo : ğ(Decision) → libreDecision (libre italic/muted + Decision bold)
- Footer et watermark DocumentPreview mis à jour
- Mode démo : DEMO_MODE flag dans config.py + auth.py (profils rapides en prod)
- docker-compose : ENVIRONMENT=production explicite + DEMO_MODE=true par défaut
- Seed : +décision Licence G1 v0.4.0, +3 mandats (ComTech, Admin Forgerons, Modération)
runner 7→10 étapes, import Mandate/MandateStep ajouté
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 01:42:22 +01:00
Yvv and Claude Sonnet 4.6
feaf4de7e0
Menu : Boîte à outils en premier + sidebar collapsible icônes
...
- Boîte à outils (/tools) en 1ère position dans la nav (desktop + mobile)
- Sidebar desktop repliable (toggle pictos-only, 14rem → 3.75rem)
- labels masqués par transition CSS fluide (max-width + opacity)
- état persisté en localStorage (libred-sidebar-collapsed)
- Page document : toggle Vue structurée / Aperçu document
- sous-toggle En vigueur / Selon les votes
- composant DocumentPreview (rendu PDF-like)
- filigrane discret, items ordonnés par sort_order
- mode projection : proposed_text substitu + encadrement orange
- footer horodaté, print-friendly
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 01:41:37 +01:00
Yvv and Claude Sonnet 4.6
ed9ed11cd4
Toolbox 30rem sticky + accordéons collapsibles + renommage libreDecision
...
- Boîte à outils élargie à 30rem (×1.75) — flottante sticky, zéro scroll visible
- ToolboxSection : nouveau composant accordéon générique (chevron, défaut fermé)
- ToolboxVignette : titre cliquable, bullets/actions cachés par défaut
- 4 pages : ContextMapper/SocioElection/WorkflowMilestones/inertie → ToolboxSection
- Suppression doublon SectionLayout (common/) — conflit de nommage résolu
- Renommage complet Glibredecision → libreDecision dans configs/docker/CI
- README.md + CONTRIBUTING.md ajoutés
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-17 00:48:20 +01:00
Yvv and Claude Sonnet 4.6
290548703d
Boîtes à outils enrichies : ContextMapper, SocioElection, WorkflowMilestones
...
- ContextMapper : 4 questions contexte → méthode de décision optimale
(advice process Laloux, vote inertiel WoT, consentement sociocratique, Smith…)
- SocioElection : guide élection sociocratique 6 étapes + advice process + clarté de rôle
- WorkflowMilestones : 11 jalons de protocole (7 essentiels), durées recommandées, principes Ostrom
- WorkspaceSelector : sélecteur de collectif multi-site dans le header
- SectionLayout : toolbox en USlideover droit sur mobile, sidebar sticky desktop
- Décisions : ContextMapper intégré + guide consentement
- Mandats : SocioElection intégré + cycle de mandat
- Documents : guide inertie 4 niveaux + structure + IPFS
- Protocoles : WorkflowMilestones + protocole élection sociocratique ajouté
- Renommage projet Glibredecision → libreDecision (dossier + sources)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-17 00:13:08 +01:00
Yvv and Claude Opus 4.6
316d205593
Card Protocoles: count fixe + section opérationnelle toujours visible
...
- Home: card Protocoles affiche "2 protocoles" (count fixe) + modalités dynamiques
- Protocols: section "Protocoles opérationnels" déplacée hors template conditionnel
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-08 02:12:10 +01:00
Yvv and Claude Opus 4.6
8201e73d7c
Accents FR, architecture modulaire, protocoles opérationnels
...
- Fix accents manquants dans 7 pages UI (décisions, boîte à outils, etc.)
- Titres accueil enrichis : Décisions structurantes, Documents de référence,
Mandats et nominations, Protocoles et fonctionnement
- Retrait Embarquement Forgeron du seed (n'est pas une Decision)
- 2 protocoles opérationnels dans Protocoles : Embarquement Forgeron
(lié à l'Acte d'engagement) + Soumission Runtime Upgrade (lié à la
Décision Runtime Upgrade) avec timeline et liens croisés signalétiques
- Décision Runtime Upgrade : badge on-chain + lien protocole + contexte
- Document [slug] : lien protocole dans la section Qualification
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 07:05:55 +01:00
Yvv and Claude Opus 4.6
c19c1aa55e
Restructure Engagement Forgeron + fix GenesisBlock + InertiaSlider
...
- Seed: restructure Engagement Forgeron (51→59 items) avec 3 nouvelles
sections: Engagements fondamentaux (EF1-EF3), Engagements techniques
(ET1-ET3), Qualification (Q0-Q1) liée au protocole Embarquement
- Seed: ajout protocole Embarquement Forgeron (5 jalons: candidature,
miroir, évaluation, certification Smith, mise en ligne)
- GenesisBlock: fix lisibilité — fond mood-surface teinté accent au lieu
de mood-text inversé, texte mood-aware au lieu de rgba blanc hardcodé
- InertiaSlider: mini affiche "Inertie" sous le curseur, compact en
width:fit-content pour s'adapter au label
- Frontend: ajout section qualification dans SECTION_META/SECTION_ORDER
- Pages, composants et tests des sprints précédents
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 03:44:33 +01:00
Yvv and Claude Opus 4.6
4212e847d4
Sceau Tsing: proportions avatars (1.3:1), emboss CSS, sans voile dark
...
- SVG redessiné: viewBox 130×100, traits fins (5u), ratio calé sur Su.svg
- Emboss via CSS drop-shadow au lieu de filtre SVG inline (causait voile)
- Supprimé :global() dans scoped CSS (cause du voile sur dark moods)
- moods.css et useMood.ts inchangés, dark modes intacts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 13:10:13 +01:00
Yvv and Claude Opus 4.6
3de07e8c17
Fix: accents manquants dans seed + labels type visibles
...
- Reseed avec tous les accents français corrigés (à, é, è, ê, î, ô)
- Labels type-étiquette: taille augmentée, fond accent léger, visible
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 09:45:15 +01:00
Yvv and Claude Opus 4.6
21ceae4866
Français soigné, labels signalétiques, formule N1.1 visuelle, F1.2 lisible
...
- Accents français partout (seed + composants Vue)
- Labels discrets: Engagements, Préambule, Application, Variables
- N1.1: présentation visuelle des niveaux d'inertie avec formule
- F1.2: paramètres + lecture du curseur d'inertie
- MarkdownRenderer: espacement resserré, support code inline
- Toutes descriptions et meta en bon français
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 09:29:50 +01:00
Yvv and Claude Opus 4.6
0b230483d9
UX: texte valorise, vote discret, inertie visuelle, genese repliable
...
- EngagementCard: texte agrandi (15-16px), vote board discret (opacity, scale)
- MiniVoteBoard: badge Adopte/En attente apres "Vote permanent :", board compact
- InertiaSlider: labels descriptifs (inertie pour le remplacement), schema SVG
avec courbe de seuil, formule simplifiee et legende parametres
- GenesisBlock: toggle repliement individuel par section (source, outils,
forum, processus, contributeurs)
- Votes varies dans Conseils et bonnes pratiques (non-adoptes inclus)
- Seed: Certification responsable → Reciprocite, ordonnancement inertie standard,
notes variables K1/K2 (vote porte sur l'inclusion, pas les valeurs),
init_db() dans seed.py pour DB vierge
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 08:52:56 +01:00
Yvv and Claude Opus 4.6
62808b974d
Composants engagement: GenesisBlock, InertiaSlider, MiniVoteBoard, EngagementCard, DocumentTuto
...
Backend: genesis_json sur Document, section_tag/inertia_preset/is_permanent_vote sur DocumentItem
Frontend: 5 nouveaux composants pour vue detail document enrichie
- GenesisBlock: sources, outils, synthese forum, contributeurs (depliable)
- InertiaSlider: visualisation inertie 4 niveaux avec params formule G/M
- MiniVoteBoard: tableau vote compact (barre seuil, pour/contre, participation)
- EngagementCard: carte item enrichie integrant vote + inertie + actions
- DocumentTuto: modal pedagogique vote permanent/inertie/seuils
Seed et page [slug] enrichis pour exploiter les nouveaux champs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 07:59:05 +01:00
Yvv and Claude Opus 4.6
11e4a4d60a
Dev mode: panneau connexion rapide avec 4 profils pre-configures
...
Ajout d'un panneau dev sous le login (Alice=membre, Bob=forgeron,
Charlie=comite tech, Dave=observateur) pour tester les differents
roles sans keypair Ed25519. Endpoint GET /auth/dev/profiles renvoie
les profils uniquement en ENVIRONMENT=development.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 03:09:40 +01:00
Yvv and Claude Opus 4.6
8dc0dfd452
Palettes variees, logo stamp croque, search/date modernises
...
- Palettes : Chagrine bleu lavande + ambre + rose ancien (moins aquatique),
Grave ocre rouge + ardoise (plus lumineux), Zen vert franc + sienne + canard
(pas de pastels glauques), Peps secondary indigo
- Logo : icone dans stamp carre rotate(-10deg), separe du texte, hover -16deg
- Login : logo stamp rotate -10deg, subtitle epure
- Search : UInput/USelect remplaces par champs custom accent-soft + icone
- Dates : icone clock + opacity 0.7
- Badges : UBadge remplace par pills custom uppercase accent
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-01 03:27:11 +01:00
Yvv and Claude Opus 4.6
c7cb22f313
Design ludique arrondi + mobile responsive + fix IPv6
...
- ToolboxVignette: prop bullets[] remplace description, touch targets agrandis
- Design arrondi: border-radius 16px cards, 20px pills, 12px inputs, no borders
- Hover animations: translateY(-3px) + shadow, active states pour touch
- SectionLayout: toolbox accordion mobile, pills scroll horizontal, responsive title/subtitle
- app.vue: MoodSwitcher dans drawer mobile, header responsive, nav touch-friendly
- Dashboard: grille 2-colonnes mobile, connect banner column layout, formula code scroll
- Documents/decisions/mandates/protocols: cards responsive (padding, font-size, gap)
- Login: touch targets 3rem min, iOS zoom prevention, responsive sizing
- Modals: padding responsive sm:p-6
- Protocols: table compact mobile, proto items responsive
- nuxt.config: host 0.0.0.0 pour fix IPv4/IPv6 binding
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 23:09:29 +01:00
Yvv and Claude Opus 4.6
9b6388a600
Palettes harmoniques, logo g breve (Decision), Protocoles promu
...
- Moods: palettes multi-teintes (secondary, tertiary par mood)
Peps: corail/ocre/bleu electrique ; Zen: sauge/lavande/terre cuite
Chagrine: violet/cyan/magenta/or ; Grave: ambre/cuivre/bleu acier
- Logo: gavel + g(Decision) — incompletude de Godel
- Dashboard: 4 cartes d'entree (Documents, Decisions, Protocoles, Mandats)
chacune avec sa couleur propre
- Protocoles promu au meme rang que les autres sections
(boite a outils de vote + workflows n8n via MCP)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 19:39:25 +01:00
Yvv and Claude Opus 4.6
61a414d214
Design moderne + seed reel engagements forgeron avec votes
...
- CSS: couleurs saturees sans pastels, border-radius 4-6px, inputs mood-aware
- Header: allege (3.25rem), logo typographique, bouton connexion fin
- Login: redesign complet avec steps dots et input natif style
- Dashboard: entry cards epurees, tags toolbox compacts
- Seed: 34 vraies clauses forgeron v2.0.0 (forum topic 33165)
- Seed: 9 clauses certification (licence G1)
- Seed: 11 votants simules + 3 sessions de vote (10 pour / 1 contre)
- MoodSwitcher: dots colores au lieu d'icones
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 18:28:14 +01:00
Yvv and Claude Opus 4.6
77dceb49c3
Refonte design : 4 humeurs, onboarding, sections avec boite a outils
...
- Systeme de themes adaptatifs : Peps (light chaud), Zen (light calme),
Chagrine (dark violet), Grave (dark ambre) avec CSS custom properties
- Dashboard d'accueil orienté onboarding avec cartes-portes et teaser
boite a outils
- SectionLayout reutilisable : liste + sidebar toolbox + status pills
cliquables (En prepa / En vote / En vigueur / Clos)
- ToolboxVignette : vignettes Contexte / Tutos / Choisir / Demarrer
- Seed : Acte engagement certification + forgeron, Runtime Upgrade
(decision on-chain), 3 modalites de vote (majoritaire, quadratique,
permanent)
- Backend adapte SQLite (Uuid portable, 204 fix, pool conditionnel)
- Correction noms composants (pathPrefix: false), pinia/nuxt ^0.11
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 17:44:48 +01:00
Yvv and Claude Opus 4.6
403b94fa2c
Sprint 5 : integration et production -- securite, performance, API publique, documentation
...
Backend: rate limiter, security headers, blockchain cache service avec RPC,
public API (7 endpoints read-only), WebSocket auth + heartbeat, DB connection
pooling, structured logging, health check DB. Frontend: API retry/timeout,
WebSocket auth + heartbeat + typed events, notifications toast, mobile hamburger
+ drawer, error boundary, offline banner, loading skeletons, dashboard enrichi.
Documentation: guides utilisateur complets (demarrage, vote, sanctuaire, FAQ 30+),
guide deploiement, politique securite. 123 tests, 155 fichiers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 15:12:50 +01:00
Yvv and Claude Opus 4.6
3cb1754592
Sprint 4 : decisions et mandats -- workflow complet + vote integration
...
Backend: 7 nouveaux endpoints (advance, assign, revoke, create-vote-session),
services enrichis avec creation de sessions de vote, assignation de mandataire
et revocation. 35 nouveaux tests (104 total). Frontend: store mandates, page
cadrage decisions, detail mandats, composants DecisionWorkflow, DecisionCadrage,
DecisionCard, MandateTimeline, MandateCard. Documentation mise a jour.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 14:28:34 +01:00
Yvv and Claude Opus 4.6
cede2a585f
Sprint 3 : protocoles de vote et boite a outils
...
Backend:
- Sessions de vote : list, close, tally, threshold details, auto-expiration
- Protocoles : update, simulate, meta-gouvernance, formulas CRUD
- Service vote enrichi : close_session, get_threshold_details, nuanced breakdown
- Schemas : ThresholdDetailOut, VoteResultOut, FormulaSimulationRequest/Result
- WebSocket broadcast sur chaque vote + fermeture session
- 25 nouveaux tests (threshold details, close, nuanced, simulation)
Frontend:
- 5 composants vote : VoteBinary, VoteNuanced, ThresholdGauge, FormulaDisplay, VoteHistory
- 3 composants protocoles : ProtocolPicker, FormulaEditor, ModeParamsDisplay
- Simulateur de formules interactif (page /protocols/formulas)
- Page detail protocole (/protocols/[id])
- Composable useWebSocket (live updates)
- Composable useVoteFormula (calcul client-side reactif)
- Integration KaTeX pour rendu LaTeX des formules
Documentation:
- API reference : 8 nouveaux endpoints documentes
- Formules : tables d'inertie, parametres detailles, simulation API
- Guide vote : vote binaire/nuance, jauge, historique, simulateur, meta-gouvernance
55 tests passes (+ 1 skipped), 126 fichiers total.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 13:29:31 +01:00
Yvv and Claude Opus 4.6
2bdc731639
Sprint 2 : moteur de documents + sanctuaire
...
Backend:
- CRUD complet documents/items/versions (update, delete, accept, reject, reorder)
- Service IPFS (upload/retrieve/pin via kubo HTTP API)
- Service sanctuaire : pipeline SHA-256 + IPFS + on-chain (system.remark)
- Verification integrite des entrees sanctuaire
- Recherche par reference (document -> entrees sanctuaire)
- Serialisation deterministe des documents pour archivage
- 14 tests unitaires supplementaires (document service)
Frontend:
- 9 composants : StatusBadge, MarkdownRenderer, DiffView, ItemCard,
ItemVersionDiff, DocumentList, SanctuaryEntry, IPFSLink, ChainAnchor
- Page detail item avec historique des versions et diff
- Page detail sanctuaire avec verification integrite
- Modal de creation de document + proposition de version
- Archivage document vers sanctuaire depuis la page detail
Documentation:
- API reference mise a jour (9 nouveaux endpoints)
- Guides utilisateur documents et sanctuaire enrichis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 13:08:48 +01:00
Yvv and Claude Opus 4.6
25437f24e3
Sprint 1 : scaffolding complet de Glibredecision
...
Plateforme de decisions collectives pour Duniter/G1.
Backend FastAPI async + PostgreSQL (14 tables, 8 routers, 6 services,
moteur de vote avec formule d'inertie WoT/Smith/TechComm).
Frontend Nuxt 4 + Nuxt UI v3 + Pinia (9 pages, 5 stores).
Infrastructure Docker + Woodpecker CI + Traefik.
Documentation technique et utilisateur (15 fichiers).
Seed : Licence G1, Engagement Forgeron v2.0.0, 4 protocoles de vote.
30 tests unitaires (formules, mode params, vote nuance) -- tous verts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-28 12:46:11 +01:00