Repository navigation
keeper: add sourced read-only collateral market advisor - #26
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[agent:contract]
Ce qui change
Collateral Market Advisor indépendant de la PR #25 auth, basé sur staging @ 3ed1704.
Mandat transversal explicitement autorisé par le brief humain Market Intelligence + Authentication Upgrade ; politique générale inchangée. Contrat C2, marge, scénarios Testnet, actifs, preuves et secrets intacts. Aucune transaction Stellar, aucun déploiement public.
Mise à jour Yahoo VIX — 399ec90
Demande humaine : activation de ^VIX via https://query1.finance.yahoo.com/v8/finance/chart/%5EVIX?interval=1d&range=5d. Vérification intégrée du 26/10/2026 à 04:40:58 UTC : clôture du 23/10, métrique source/current, VIX présent dans les inputs du critère valuation. Aucun changement de poids, DA, contrat, marge ou autre fonctionnalité. Source Yahoo ajoutée à la liste existante des liens HTTPS autorisés. Le cas séance ouverte est testé par fixtures, pas observé pendant une séance réelle. Pas de nouvelle validation navigateur dans cette mise à jour ; les limites ci-dessous restent valables.
Deux revues Yahoo indépendantes par sessions neuves : PASS, aucune correction demandée. Les deux reviewers ont exécuté les 17 tests ciblés ; le premier a aussi vérifié une réponse réelle Yahoo HTTP 200. Revues automatisées.
Revue
Revues Codex indépendantes par sessions neuves, sans conversation auteur. Corrections P2 : calendrier Pâques, rejet des jours TARGET absents, validation imbriquée des réponses avant rendu. Tests de régression ajoutés. Dernière revue renforcée sur d593556 : PASS, sans blocage ; npm test/typecheck/build exécutés par le reviewer. Dernier ajout de tests mocks identique à celui de #25, relu indépendamment : PASS. Revues automatisées, pas humaines.
Tests
Tests : CSV/valeurs absentes/non finies/dates invalides ou futures, SD de référence, calendrier TARGET/Pâques/jour manquant, cache/offline/timeout, quatre issues, poids, JSON Yahoo, alignement timestamps/closes, dernière clôture terminée, timezone, erreurs 429 et provenance du cache, VIX secondaire, origine/host et route sans mutation. Deux scénarios frontend complets en client mock (cure/release/withdraw KMMF, default/refus KBOND), conservation et fetch interdit.
Observations réelles vérifiées le 26/10/2026, via la route production et le validateur frontend :
Ce snapshot retourne KBOND potentially preferable, scores indicatifs 57.68 / 67.91, sans effet sur le choix ni les prix simulés. Ce n'est pas un conseil d'investissement. Les cours ne sont jamais qualifiés de temps réel. Le VIX est maintenant récupéré automatiquement depuis Yahoo Finance, sans MARKET_VIX_ENABLED, puis affiché avec sa date et utilisé comme stress secondaire. Les quatre indicateurs core restent suffisants si Yahoo est indisponible. Cache, fraîcheur, timeouts et gestion d'erreurs existants réutilisés ; aucune bougie de séance ouverte ni regularMarketPrice présentée comme clôture. Les anciens caches Cboe ne sont pas réattribués à Yahoo. Aucun contournement d'accès.
Navigateur intégré réel : ouverture/fermeture, cinq cartes, observations ECB ci-dessus, sélection manuelle KBOND après fermeture, cas absent et cas obsolète affichant Insufficient market data sans scores, desktop et 375 px sans débordement horizontal. Cas obsolète simulé par un serveur de QA local isolé avançant l'horloge, explicitement marqué, sans modifier la route production. Aucun wallet requis ; aucune erreur console bloquante observée.
Les parcours navigateur mocks ont été commencés, avec appui long sur le défaut KBOND, mais leur résultat final n'a pas été vérifié intégralement après arrêt de l'automatisation. Masquage/réaffichage réel d'onglet : NON TESTÉ, Computer Use ayant arrêté Chrome faute de pouvoir déterminer son URL avec certitude ; aucun contournement. Les deux scénarios complets sont couverts par les tests de client mock ci-dessus.
Avertissements existants de build : chunks volumineux et eval PGlite. Pas de benchmark navigateur avant/après comparable ; assets PGlite inchangés. Refresh upstream au maximum une fois par heure ; le bouton peut afficher le cache daté.
Interfaces
Ajout compatible v1.3 uniquement : GET market-advisor + MarketSnapshot/MarketMetric/MarketAdvice/AdvisorWeights dans packages/shared/src/market.ts, exportés depuis shared et recopiés dans la spec. Consommateur : pôle front (Nathan). Aucune signature existante, prix, haircut, état de session ou calcul de marge modifié. Ajout autorisé dans cette PR avec son consommateur, selon interfaces §6.
Compatibilité des deux nouvelles branches : calcul git merge-tree sans conflit, aucune intégration ni fusion effectuée.
Coordination Nathan : sa PR #24 front/liquid-glass-final touche aussi Landing. Calcul de fusion sans modifier les fichiers : conflit app/src/dashboard/Landing.tsx. Le composant MarketAdvisor est autonome ; Nathan conserve le choix du placement/style/animations dans sa DA. Sa branche n'a pas été modifiée.
Documentation
README : cinq sources réelles, proxy et différence avec MOVE, formules/poids/seuils, hypothèses/limites, configuration, cache, fraîcheur et tests. interfaces v1.3 : route/types/semantique/changelog. AGENTS et décisions consultés ; aucune modification de gouvernance.
Checklist
PR ouverte pour revue, sans fusion.