# orchestrate-unimarc-generation ## But Orchestrer le pipeline complet de catalogage UNIMARC pour les deux profils supportés. ## Déclenchement Utiliser cette compétence dès que l'utilisateur demande une notice à partir d'une image, d'un OCR, d'une transcription, d'un copier-coller ou d'une URL. Ne pas produire de notice directement dans la conversation sans passer par cette orchestration. ## Pré-vol non négociable Avant l'étape 1, vérifier que les instructions locales sont accessibles : - `AGENTS.md` - `prompts/catalogage-normal.md` - `knowledge/index.md` - `knowledge/unimarc/profiles.md` - `knowledge/unimarc/static-fields.md` - `knowledge/unimarc/json-to-unimarc.md` - `knowledge/unimarc/indicators.md` - `knowledge/sudoc/duplicate-check.md` - `knowledge/idref/alignment.md` - `knowledge/vocabulaires/discipline-tef.md` - `memory/MEMORY.md` Si ces fichiers ne peuvent pas être lus, arrêter : ```text Je ne peux pas produire une notice fiable : les instructions locales ./knowledge/ ne sont pas accessibles dans cette session. ``` Ne jamais produire de MARC21. Ne jamais produire d'UNIMARC depuis les seules connaissances générales du modèle. ## Étapes obligatoires 1. Appeler `retrieve-knowledge`. 2. Appeler `retrieve-memory`. 3. Appeler `classify-profile`. Si profil incertain ou hors périmètre, arrêter en français. 4. Appeler `extract-metadata-json`. 5. Appeler `validate-json-schema`. 6. Appeler la compétence externe `search-records-sudoc` avec les deux phases décrites dans `./knowledge/sudoc/duplicate-check.md`. 7. Si doublon trouvé, arrêter avec le message requis. 8. Appeler la compétence externe `search-authorities-idref`. 9. Appeler `enrich-with-idref`. 10. Appeler `generate-unimarc-xml`. 11. Appeler `validate-unimarc`. 12. Export facultatif seulement : `convert-records-unimarc`. 13. Si correction, échec ou ambiguïté : `self-improve`, puis `update-wiki` uniquement après approbation. ## Sorties - JSON validé. - Rapport Sudoc/IdRef. - UNIMARC/XML validé ou arrêt justifié.