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 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 for the relationship between the documents, frontend, and site.