SDK plugins: aligner l’API publique et les exemples sur une persistance plugin-owned hors projet
qa
critical
null
target
kind
#138
dependsOn
agentId
role
fe887179-933f-47d4-960f-c3b06827f86c
assigned
agentId
role
8f7da528-58df-4315-97e9-0562230ecc19
assigned
kind
agent_id
agent
a6c6ea12-bfc6-4bdc-8031-324102dfa34d
kind
agent_id
agent
a6c6ea12-bfc6-4bdc-8031-324102dfa34d
1785702774592
1785709504027
3
Implémenter le contrat décidé en #138. Ce ticket ne doit démarrer qu’après arbitrage architecture, car la forme exacte de l’API publique peut varier (ctx.storage canonique seul, ou nouvelle API publique de document structuré plugin-scopé hors projet).\n\nPérimètre attendu après #138 :\n1. Faire de la voie canonique plugin-owned celle décidée en #138, et retirer l’incitation actuelle à écrire l’état interne du plugin dans le workspace utilisateur / .ideai/.\n2. Mettre à jour sdk/IdeaSDK/README.md et sdk/IdeaSDK/examples/hello-plugin pour que l’exemple de référence n’écrive plus .ideai/hello-plugin.txt ni .ideai/hello-plugin.json comme état interne par défaut.\n3. Si #138 décide qu’une nouvelle API SDK publique est nécessaire (par ex. document structuré plugin-scopé hors projet), l’exposer de bout en bout : types SDK, façade runtime publique, adaptateurs hôte nécessaires, et documentation d’usage.\n4. Garantir que la désinstallation du plugin purge aussi l’état plugin-owned correspondant, conformément au contrat #138, sans supprimer les fichiers métier du projet que le plugin aurait modifiés explicitement.\n\nCritères d’acceptation :\n- Le README SDK sépare explicitement données project-owned vs plugin-owned.\n- L’exemple de référence n’emploie plus .ideai/... pour stocker son état interne.\n- Si une nouvelle API publique a été décidée en #138, elle est documentée, typée et couverte par des tests.\n- La purge de l’état plugin-owned à la désinstallation est prouvée par tests ciblés sur le chemin réellement choisi par #138.\n- Aucun message public du SDK ne laisse entendre que .ideai/ est le lieu normal de persistance interne d’un plugin.