# Implementation status

This page is based on a review of the `code` repository on **November 4, 2026**. “Present in the code” describes a local implementation; it does not mean a service is configured or deployed in production.

## Existing components

| Area | Observed elements | Repository reference |
| --- | --- | --- |
| Product | Landing, voting, dossiers, war room, and ledger | `apps/web` |
| Administration | Cycles, approvals, treasury, operations, and integrations | `apps/admin` |
| API | Public routes, email sessions, voting, administration, WebSocket | `apps/api/src` |
| Orchestration | Schedule, dependencies, approvals, and step log | `apps/workers/src`, `packages/core/src/schedule.ts` |
| Agents | Six YAML specs, prompts, tools, schemas, and runner | `packages/agents/src` |
| Business logic | Eligibility, score, voting, verdict, fee split, buyback planning | `packages/core/src` |
| Chain | Reads and writes, Vivra contract ABI, BuybackBurner contract | `packages/chain`, `contracts` |

Sprint logs and their evidence are in `code/docs/sprints`. They describe historical verification; the product suites were not rerun when this GitBook was written.

## Pons: unresolved dependencies

`packages/chain/src/abi/README.md` states that the factory v2, escrow, hook, and curve ABIs are `[]` placeholders. The loader rejects an unavailable ABI with `ABI_NOT_AVAILABLE`.

The actual escrow claim signature and fee-redirection procedure need confirmation. Addresses in a configuration file do not establish that an integration is operational.

As a result, descriptions of the flywheel and Pons transactions remain specifications until the necessary dependencies are verified and connected.

## Clarifications against the specification

| Topic | Clarification |
| --- | --- |
| Recovery score | Five pillars, as defined in Appendix E and `recoveryScore.ts`. The reference to “seven criteria” in one original spec table does not change this structure. |
| Verdict | Day 7, or 168 hours after Day 0, according to `schedule.ts`. The 72 hours refer to the takeover. |
| Fee allocation | 4% of volume: 1.7% team, 1.5% buyback, 0.5% AI, 0.3% Pons. Creator escrow receives 3.7%; `split.ts` allocates the claimed amount as 17/37, 15/37, and 5/37. |
| Treasury rounding | Integer-division remainder goes to buyback; the sum is preserved exactly. |
| Voting | Configurable minimum account age: 24 h by default, 0 h for cycle 1. |
| Verdict without data | `verdict.ts` can return a null verdict when required measurements are unavailable. |
| Approval | `validation_required` defaults to true. Steps marked `always` or `manual` remain controlled. |
| Buyback window | The spec says “seven days, from Day 1 to Day 7.” `buybackEnvelope.ts` starts at `max(Day 1, now)` and ends at `Day 1 + duration_days`, or Day 8 with the default 7 days. The verdict remains on Day 7. |
| Rejected slices | `apps/workers/src/buyback/executor.ts` distinguishes executed, skipped, and failed slices. Deterministic refusals before signing are skipped without retry; an automatic 1–3 h delay does not describe current behavior. |

## Parameters and decisions

Thresholds are centralized in `packages/core/src/settings.ts`. The back-office can change configured values; this documentation states the defaults in the inspected repository.

[Open questions](questions-ouvertes.md) is retained as a historical specification reference. Some recommendations there are already coded as defaults. Their presence in the code does not establish external approval by Pons.

## Documentation provenance

The 42 original pages were reconstructed from markers in `doc/VIVRA-SPEC.md` and translated into English. The guides, this page, and visual identity page are editorial additions. A manifest preserves the SHA-256 fingerprint of the source document.

See [Sources and maintenance](sources.md) for the relationship between the documents, frontend, and site.
