validate(prices): Phase B smoke run once /v1/prices is live #161
Labels
No labels
autopilot:pending-human
source:analyste
source:defenseur
source:human
source:medic
status:approved
status:blocked
status:in-progress
status:needs-clarification
status:needs-fix
status:ready
status:review
status:triage
type:bug
type:feature
type:infra
type:refactor
type:schema
type:security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: maximus/Simpl-Resultat#161
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
maximus-api0.3.0 est LIVE en prod depuis 2026-05-05 (GET /v1/pricesrepond 401 sans token, contrat respecte). Les blockers initiaux ont disparu : Phase A scaffold (#173) et release 0.9.0 (#160) deja shipped, double-gating actif (useIsPremium=falsecote client + serveur 401/403). Ne reste qu'une validation runtime contre prod + patch CHANGELOG.Status courant (2026-05-10)
GET /v1/prices?...repond 401missing_tokensans header (contrat OK)/healthz200maindeploye via Coolify (commite662171, version 0.3.0)maximus-api#25toujours ouvert (smoke serveur en attente du meme token)Travail a faire
1. Smoke prod
vps-b0826277.tail3c811f.ts.net)tier=premiumvia le script CLI serveur (avec la cle privee qui vit sur le VPS)./tests/smoke/prices.shcontrehttps://api.lacompagniemaximus.com:.price > 0.price > 0NOTREAL_XYZ→ HTTP 404,.error.code == "symbol_not_found"Authorization→ HTTP 401,.error.code == "missing_token"POST /v1/admin/tokens/revokeapres le smoke2. E2e manuel
/balance/snapshot, cliquer Fetch prices avec consentcached: truedans le payload3. CHANGELOG patch (commit follow-up, pas de re-tag)
Patch retroactif sous [0.9.0] ligne 36 (FR + EN) :
CHANGELOG.md:CHANGELOG.fr.md: meme suffixe traduit ((activation serveur en attente — fonctionnalite dormante jusqu'a la mise en ligne de maximus-api /v1/prices)).Nouvelle entree sous [Unreleased] / [Non publie] :
### Changed:Price-fetching activated — maximus-api /v1/prices live in production since 2026-05-05.### Modifie:Recuperation de prix activee — /v1/prices de maximus-api en production depuis 2026-05-05.4. Hors-scope (delegue)
premium_requiredcote client : skip, couvert par les tests d'integration de maximus-api (responsabilite serveur)Fichiers concernes
tests/smoke/prices.sh— execute tel quel, pas de modifCHANGELOG.mdligne 36 + section [Unreleased] ligne 3CHANGELOG.fr.mdligne 36 + section [Non publie] ligne 3maximus-api(hors-repo) — script d'emission/revocation tokenSurface de test
src-tauri/src/commands/balance_commands.rs:375-531— 7 mockito tests (200, 401, 403, 404, 429 retry-after, 502, header privacy)src/services/balance.service.test.ts— rate-limit + dedup + retrysrc/components/balance/PriceFetchControl.test.tsx— 12 UI guard testsprices.shest le gate integration ; l'e2e manuel couvre cache hit + UI flow non couverts par les unit/component testsCriteres d'acceptation
./tests/smoke/prices.shexit 0 contre prod avec token premium issu via VPSCHANGELOG.md+CHANGELOG.fr.mdpatches (2 endroits chacun) et merges surmainComplexite
Simple — runtime validation + amend CHANGELOG (4 lignes). Pas de code applicatif touche.
Decisions retenues (analyse 2026-05-10)
POST /admin/licensesnon encore implemente)References
docs/adr/0011-providers-best-effort-yahoo.md) — best-effort Yahoo + exchanges cryptodocs/api-contract-prices.md— response shape + error codesv0.9.0(commit5836760, 2026-04-29)e662171)overnight-2026-04-30-prices-api(#42, 20/21 closed)maximus-api#25 test(prod): smoke test post-deploy /v1/prices avec activation_token premiumfeat(prices): production wiring + smoke test + releaseto validate(prices): Phase B smoke run once /v1/prices is live