# État de l’implémentation

Cette page est issue d’une lecture du dépôt `code`, au **4 novembre 2026**. « Présent dans le code » décrit une implémentation locale ; cela ne signifie pas qu’un service est configuré ou déployé en production.

## Les composants présents

| Domaine | Éléments observés | Référence dans le dépôt |
| --- | --- | --- |
| Produit | Landing, vote, dossiers, war room et registre | `apps/web` |
| Administration | Cycles, validations, trésorerie, opérations et intégrations | `apps/admin` |
| API | Routes publiques, sessions email, vote, administration, WebSocket | `apps/api/src` |
| Orchestration | Calendrier, dépendances, validations et journal des étapes | `apps/workers/src`, `packages/core/src/schedule.ts` |
| Agents | Six specs YAML, prompts, outils, schémas et runner | `packages/agents/src` |
| Métier | Éligibilité, score, vote, verdict, split, planification buyback | `packages/core/src` |
| Chaîne | Lectures et écritures, ABI du contrat Vivra, contrat BuybackBurner | `packages/chain`, `contracts` |

Les journaux de sprints et leurs preuves sont dans `code/docs/sprints`. Ils décrivent des vérifications historiques ; les suites du produit n’ont pas été réexécutées lors de la rédaction de ce GitBook.

## Pons : dépendances non résolues

Le fichier `packages/chain/src/abi/README.md` indique que les ABI de la factory v2, de l’escrow, du hook et de la courbe sont des placeholders `[]`. Le chargeur refuse une ABI absente avec `ABI_NOT_AVAILABLE`.

La signature réelle du claim de l’escrow et les modalités de redirection des frais doivent être confirmées. Des adresses présentes dans un fichier de configuration ne suffisent pas à attester qu’une intégration est opérationnelle.

Conséquence : les descriptions du flywheel et des transactions Pons restent des spécifications tant que les dépendances nécessaires ne sont pas vérifiées et connectées.

## Précisions par rapport à la spécification

| Sujet | Précision retenue |
| --- | --- |
| Score de reprise | Cinq piliers, conformément à l’annexe E et `recoveryScore.ts`. La mention « sept critères » dans une fiche de la spec ne change pas cette structure. |
| Verdict | J+7, soit 168 heures après J0, selon `schedule.ts`. Les 72 heures concernent la reprise. |
| Répartition des frais | 4 % du volume : 1,7 % équipe, 1,5 % buyback, 0,5 % IA, 0,3 % Pons. L’escrow créateur reçoit 3,7 % ; `split.ts` répartit le montant réclamé selon 17/37, 15/37, 5/37. |
| Arrondis de trésorerie | Le reliquat de division entière va au buyback ; la somme est conservée exactement. |
| Vote | Âge minimum paramétrable, 24 h par défaut, 0 h pour le cycle 1. |
| Verdict sans données | `verdict.ts` peut retourner un verdict nul lorsque les mesures nécessaires sont absentes. |
| Validation | `validation_required` est vrai par défaut. Les étapes marquées `always` ou `manual` restent contrôlées. |
| Fenêtre du buyback | La spec dit « sept jours, de J+1 à J+7 ». Le code `buybackEnvelope.ts` démarre à `max(J+1, maintenant)` et termine à `J+1 + duration_days`, soit J+8 avec la valeur par défaut de 7 jours. Le verdict reste à J+7. |
| Tranches refusées | `apps/workers/src/buyback/executor.ts` distingue les tranches exécutées, ignorées (`skipped`) et échouées. Les refus déterministes avant signature sont ignorés sans relance ; un report systématique de 1 à 3 heures ne décrit pas le comportement actuel. |

## Paramètres et décisions

Les seuils sont centralisés dans `packages/core/src/settings.ts`. Le back-office peut modifier les valeurs prévues ; la documentation donne les valeurs par défaut du dépôt inspecté.

La page [Questions ouvertes](questions-ouvertes.md) est conservée comme référence historique de la spécification. Certaines recommandations y figurant sont déjà codées comme valeurs par défaut. Leur présence dans le code n’atteste pas une validation externe par Pons.

## Traçabilité de la documentation

Les 42 pages d’origine ont été reconstituées à partir des marqueurs de `doc/VIVRA-SPEC.md`. Les guides, cette page et la charte sont des ajouts éditoriaux. Un manifeste conserve l’empreinte SHA-256 du document utilisé.

Voir [Sources et maintenance](sources.md) pour la correspondance entre les documents, le frontend et le site.
