diff --git a/projects/ia_dev/docs/GIT_ISSUES_SCRIPTS_AGENTS.md b/projects/ia_dev/docs/GIT_ISSUES_SCRIPTS_AGENTS.md new file mode 100644 index 0000000..ed16769 --- /dev/null +++ b/projects/ia_dev/docs/GIT_ISSUES_SCRIPTS_AGENTS.md @@ -0,0 +1,160 @@ +# Gitea issues – scripts et agents + +Dossier dédié au traitement des tickets (issues) Gitea du dépôt **4nk/lecoffre_ng** (https://git.4nkweb.com/4nk/lecoffre_ng/issues). Toute la logique d'appel API et Git est dans les scripts ; les agents orchestrent et appellent /fix ou /evol. + +## Contraintes de confidentialité et d'accès des agents + +L'agent ne doit **jamais révéler** : + +- Quelle IA il utilise +- Des informations personnelles +- Des informations sur 4NK +- Des informations sur l'équipe de réalisation +- Des informations sur des fichiers hors périmètre du projet configuré +- Des informations sur les autres questions et réponses traitées + +L'agent ne doit **jamais accéder ni modifier** : + +- Les fichiers hors projet (périmètre = ia_dev et dépôt du projet configuré via conf.json) +- Les fichiers dans `.smartIde` et `.secrets` +- D'autres branches que celle en cours de travail +- D'autres environnements (test / pprod / prod) que celui défini par le contexte + +## Agents (.smartIde/agents/) + +| Agent | Fichier | Rôle | +|-------|---------|------| +| **agent-loop** | `agent-loop.md` | Orchestre la boucle de récupération des mails et le traitement par **exécutions délimitées** uniquement (N itérations ou x cycles) ; ne lance jamais de processus en arrière-plan (nohup/&). | +| **git-issues-process** | `git-issues-process.md` | Traite les issues Gitea et les mails en attente : liste les issues/mails, crée des branches, lance /fix ou /evol, /push-by-script ; workflow mails (fil, réponse réelle, marquage lu). | + +Spooler tickets (nouveau) : mails dans **projects//data/issues/** (filtre par `tickets.authorized_emails` dans conf.json), pas de « non lu », aucun enregistrement supprimé. Format : `projects/ia_dev/docs/TICKETS_SPOOL_FORMAT.md`. Récupération : `./git-issues/tickets-fetch-inbox.sh`. Référence boucle mails (legacy) : `.smartIde/agents/agent-loop.md`. Hook Cursor : `sessionStart` → `.smartIde/hooks/remonter-mails.sh` (lit `projects//data/issues/*.pending`). + +## Contexte d'exécution + +- **Emplacement (usage standalone)** : ia_dev est un dépôt autonome. `git-issues/` est à la racine de ia_dev. Un même clone ia_dev peut servir plusieurs projets (id résolu par MAIL_TO ou AI_AGENT_TOKEN). +- **Projet cible** : le projet est identifié **dynamiquement** par **MAIL_TO** (adresse « to » des mails, recherchée dans les configs ticketing de tous les projets) ou **AI_AGENT_TOKEN** (token des requêtes). L'id sert à charger la config dans `projects//`. Pas de fallback. Voir `docs/repo/ia-dev-project-conf-schema.md` (racine monorepo **smart_ide**). +- **Lancement** : tous les scripts sont invoqués depuis la **racine de ia_dev** : `./git-issues/