Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

RustForge

GĂ©nĂ©rer / convertir un addon Rust (PyO3 + Maturin) Ă  partir d’un contrat + tests.
Créer un Job
1) Choix du mode
Conversion (Option 1) ou Génération via LLM (Option 2).
Mode
Ce choix pilote les étapes suivantes.
Conseil : commence par Option 2 (LLM) pour valider le pipeline (maturin + pytest), puis bascule Option 1 quand ton parse AST/IR est prĂȘt.
2) Input
Colle ton code (Option 1) ou ta spec (Option 2).
Option 1 — Python source
Kernel CPU / subset compatible (pas ORM, pas I/O).
Option 2 — Spec (LLM)
Objectifs, API attendue, contraintes, exemples.
LLM-first : plus fiable si tu fournis 2–3 exemples d’entrĂ©es/sorties + contraintes (pas d’I/O, deterministic, etc.).
3) API contract (JSON)
C’est le pivot : fonctions/classes exposĂ©es cĂŽtĂ© Python.
API contract
module_name, functions[], classes[]
RÚgle : si le contrat est flou, la génération sera instable. Mets des types simples (int/float/bytes/str, list).
4) Constraints & Types
Contraintes d’exĂ©cution + mapping de types Python → Rust.
Constraints (JSON)
no_io, deterministic, threads, payload

Type policy (JSON)
int→i64, float→f64, bytes→Vec<u8>

Allowed deps (JSON)
Whitelist des crates autorisées (sécurité/contrÎle).
5) Tests (pytest)
Tes tests sont la vérité terrain (golden outputs).
pytest suite
Si vide : on génÚre un test minimal.
Astuce : mets 2–3 tests “golden” qui comparent des rĂ©sultats exacts, pas des approximations.
6) Build & Packaging
Targets wheel + profil debug/release.
Wheel targets (JSON)
ex: ["linux_x86_64"]
Build profile
debug (symboles) / release (perf)
Debug pour démarrer (breakpoints + symboles), puis release quand les tests passent.
Aucun job pour l’instant.