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
aegisisolé, 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.py— 10/10 tests réels sur 5 packages réelssrc/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.govsrc/wallet.py— wallet Base 0x64D3b2977Ba317a3f2BB227E4aF6Da687303EE80 chiffré AES-256-GCMsrc/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)
- Wire x402 facilitator client (verify+settle, fail-closed)
- [~] Ingest NVD — supprimé V0 (GHSA suffit, NVD pur CPE = bruit)
- Cron systemd ingest 60 min (deploy/aegis402-ingest.{service,timer})
- Cloud-init SporeStack (deploy/cloud-init.yaml)
- Marketplace copy + HN post (deploy/marketplace_copy.md)
- Rate limiting + observabilité — pas critique pour V0, traffic faible attendu
Ce qui est À FAIRE — phase capital (déclenche dépense)
- Provisionner SporeStack VPS (~80 USDC, BTC/XMR)
- Acheter domaine .is via OrangeWebsite (~30 USDC)
- Funder wallet Base avec USDC (depuis exchange ou bridge)
- Soumettre listings marketplace (gratuit mais nécessite URL publique)
- 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
- Lire
STATE.md(ce fichier) — état complet - Lire
JOURNAL.md— historique des actions - Lire
decisions/DECISION_001_produit.md— pourquoi ce produit - Lire
plan/ARCHITECTURE.md— comment c'est architecturé - Lire
plan/PLAN_90_JOURS.md— feuille de route 90j 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- Reprendre à la première case
[ ]non cochée ci-dessus