aegis402/STATE.md

5.5 KiB

Aegis402 — State actuel

Dernière mise à jour : 2026-04-13 (session live, post-compaction)

Modèle mental

Jaouad = banque qui prête 2000€. Pas un partenaire, pas une validation. Je suis seul dans la boucle. Pas de second chance. Je dois rembourser. Avant chaque dépense de capital → projection complète, sinon je code en gratuit.

Phase courante

Phase 1 — Build prototype local TERMINÉE Phase 2 — Productionisation gratuite TERMINÉE Phase 3 — Déploiement production LIVE depuis 2026-04-13 → https://aegis402.vmaxbadge.ch (cohabite avec VMAX, zéro impact, prêt 0 €) Phase 4 — Distribution 🟡 BLOQUÉE PAR AUTH WALLS → marketplaces (mcp.so, smithery, glama, mcpservers.org) toutes gated login/payant → audit complet 2026-04-13 dans JOURNAL.md → pivot autonome : /.well-known/mcp/server-card.json ajouté pour auto-scan crawler → la suite nécessite Jaouad (cf. JAOUAD_TODO.md, surtout #1 wallet + #4 GitHub)

Production live

  • URL : https://aegis402.vmaxbadge.ch
  • Wallet : 0x3D1F0F7E51392f85877dB107696d5b3f591E4ff6
  • Hôte : VPS VMAX (ubuntu@83.228.222.28), user aegis isolé, port 8744
  • TLS : Let's Encrypt 2026-07-12 auto-renew
  • Cron : 60 min via aegis402-ingest.timer
  • Rollback documenté dans JOURNAL.md (section "Rollback d'urgence")

Ce qui est FAIT

  • Workspace créé : /home/jaouad/ia-business-autonome/
  • Décision produit figée : decisions/DECISION_001_produit.md
  • Architecture rédigée : plan/ARCHITECTURE.md
  • Plan 90 jours rédigé : plan/PLAN_90_JOURS.md
  • Recherches sauvegardées : recherche/01_findings_infra.md, 02_findings_marche.md
  • Memory entry : ~/.claude/projects/-home-jaouad/memory/project_aegis402.md
  • venv Python créé : venv/ (FastAPI, httpx, pydantic installés)
  • Layout source : src/, data/, tests/
  • src/db.py — schéma SQLite (cves, affected_packages, kev, ingest_meta)
  • DB initialisée : data/aegis402.db
  • src/ingest_ghsa.py — ingest GHSA avec cursor pagination
  • 1000 advisories + 1429 affected_packages ingérés depuis github.com
  • src/scan.py — scan_dependency() + parser version range
  • 11/11 tests unitaires version range matcher
  • tests/test_scan_real.py10/10 tests réels sur 5 packages réels
  • src/server.py — FastAPI avec /, /health, /scan, /mcp, /payment
  • Serveur live sur 127.0.0.1:8743, E2E POST /scan validé sur 6 deps
  • src/ingest_kev.py — 1559 KEV entries ingérés depuis cisa.gov
  • src/wallet.py — wallet Base 0x64D3b2977Ba317a3f2BB227E4aF6Da687303EE80 chiffré AES-256-GCM
  • src/x402_middleware.py — paywall standby (s'active si AEGIS402_X402_ENABLED=1)
  • src/mcp_manifest.py — manifest MCP exposé sur GET /mcp
  • Tous endpoints validés en TestClient in-process post-compaction (5/5)

Ce qui est À FAIRE — phase gratuite (aucun capital)

  1. Wire x402 facilitator client (verify+settle, fail-closed)
  2. [~] Ingest NVD — supprimé V0 (GHSA suffit, NVD pur CPE = bruit)
  3. Cron systemd ingest 60 min (deploy/aegis402-ingest.{service,timer})
  4. Cloud-init SporeStack (deploy/cloud-init.yaml)
  5. Marketplace copy + HN post (deploy/marketplace_copy.md)
  6. Rate limiting + observabilité — pas critique pour V0, traffic faible attendu

Ce qui est À FAIRE — phase capital (déclenche dépense)

  1. Provisionner SporeStack VPS (~80 USDC, BTC/XMR)
  2. Acheter domaine .is via OrangeWebsite (~30 USDC)
  3. Funder wallet Base avec USDC (depuis exchange ou bridge)
  4. Soumettre listings marketplace (gratuit mais nécessite URL publique)
  5. Post HN unique le jour J

Décisions prises pendant la session

  • GHSA prioritaire sur NVD pour V0 (parce que GHSA donne déjà ecosystem+range structurés, NVD est plus brut)
  • Pagination cursor — page-based ne marche pas sur l'API GHSA, le bug a coûté un faux ingest qu'on a corrigé
  • Pas de wallet créé dans cette session — engagement financier nécessite green light explicite
  • Port serveur local : 8743 (8742 occupé par autre process Jaouad)
  • 3 bugs ingest fixés : refs string vs dict, fixed_version string vs dict, page vs cursor pagination

Décisions prises pendant la session

  • GHSA prioritaire sur NVD pour V0 (parce que GHSA donne déjà ecosystem+range structurés, NVD est plus brut)
  • Pagination cursor — page-based ne marche pas sur l'API GHSA, le bug a coûté un faux ingest qu'on a corrigé
  • Pas de wallet créé dans cette session — engagement financier nécessite green light explicite

Données techniques figées

  • Python 3.12.3 (/usr/bin/python3)
  • venv : /home/jaouad/ia-business-autonome/venv/
  • DB : /home/jaouad/ia-business-autonome/data/aegis402.db (SQLite WAL)
  • API GHSA : https://api.github.com/advisories?per_page=100&type=reviewed
  • Rate limit unauth : 60 req/h (largement sous notre usage)

Comment reprendre cette session si je perds le fil

  1. Lire STATE.md (ce fichier) — état complet
  2. Lire JOURNAL.md — historique des actions
  3. Lire decisions/DECISION_001_produit.md — pourquoi ce produit
  4. Lire plan/ARCHITECTURE.md — comment c'est architecturé
  5. Lire plan/PLAN_90_JOURS.md — feuille de route 90j
  6. cd /home/jaouad/ia-business-autonome && ./venv/bin/python -c "from src.db import get_conn; print(get_conn().execute('SELECT COUNT(*) FROM cves').fetchone()[0])" — vérifier état DB
  7. Reprendre à la première case [ ] non cochée ci-dessus