Yvv 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

libreDecision

Plateforme de décisions collectives pour la communauté Duniter/G1. Boîte à outils gouvernance multi-collectifs, architecture white-label.

Stack

  • Frontend : Nuxt 4 + Vue 3 + Pinia + UnoCSS (port 3002)
  • Backend : Python FastAPI + SQLAlchemy async + SQLite (port 8002)
  • Auth : Duniter V2 Ed25519 challenge-response
  • Sanctuaire : IPFS (kubo) + hash on-chain (system.remark)

Démarrage

# Backend
cd backend && .venv/bin/uvicorn app.main:app --host 0.0.0.0 --port 8002 --reload

# Frontend
cd frontend && npm run dev

Sections

  • Décisions : processus de vote collectif avec boîte à outils (ContextMapper, consentement, advice process)
  • Mandats : élection sociocratique, cycle de mandat, révocation
  • Documents : documents de référence sous vote permanent, niveaux d'inertie, sanctuaire IPFS
  • Protocoles : protocoles opérationnels, jalons de workflow, formules de vote

Architecture

Voir CLAUDE.md pour les conventions et docs/content/dev/ pour la documentation technique.

Description
No description provided
Readme 1.6 MiB
Languages
Vue 46.5%
Python 45.5%
TypeScript 7%
CSS 0.7%
Dockerfile 0.3%