seal
Vue d’ensemble
Section intitulée « Vue d’ensemble »seal est l’outil universel pour les artefacts git : commit, PR mergée, tag, release, snapshot complet du repo, ou ticket Jira. Idempotent — re-sceller le même artefact ne crée pas de doublon.
Le flux : récupération de l’artefact depuis la forge (GitHub / GitLab / Forgejo) → calcul SHA-512 sur le contenu canonique → insertion ledger → scellement IP Secure (si configuré).
Paramètres
Section intitulée « Paramètres »project string requis ID du projet configuré dans SESHAT.
type string requis Type d’artefact à sceller.
| Type | Description | Cas d’usage |
|---|---|---|
commit | Commit git spécifique | Rare en standalone — préférer pr |
pr | Pull request mergée | Le plus courant pour le flux dev |
tag | Tag git (version) | Releases formelles |
release | Release GitHub / GitLab | Avec notes de release |
repo | Snapshot complet du repo à un ref | Dépôt légal d’un état complet |
jira_issue | Ticket Jira (avec worklogs) | Effort R&D par issue |
ref string requis Référence à l’artefact.
| Type | Format du ref | Exemple |
|---|---|---|
commit | SHA | abc1234 |
pr | Numéro de PR | 42 |
tag | Nom du tag | v1.0.0 |
release | Tag de release | v1.0.0 |
repo | Ref git (tag, branche, SHA) | v1.0.0 |
jira_issue | Issue key | SES-42 |
asset_types string[] Type(s) d’actif IP. Plusieurs valeurs possibles.
| Type | Description |
|---|---|
logiciel | Code source (défaut pour PR/commit/tag) |
base_donnees | Base de données |
programme_rnd | Programme R&D |
savoir_faire | Secret industriel |
brevet | Invention brevetée |
dessin_modele | Design industriel |
objective string Objectif R&D pour la traçabilité CIR. Exemple : "Optimisation latence inférence LLM sous 50ms".
Un bon objectif identifie une incertitude technique et un avancement visé — ce sont les deux critères CIR.
dry_run boolean Mode preview. Défaut : true quand IP Secure est lié au projet, false sinon.
Quand true, retourne un preview avec le fingerprint prévu, sans rien persister ni signer.
{ "type": "pr", "reference": "pr:42", "description": "PR #42: Add MCP transport", "fingerprint": "sha512:def456...", "timestamp": "2026-05-27T10:30:00Z", "asset_types": ["logiciel"], "objective": null, "dry_run": false, "ipsecure_contribution_id": "mwMWTpjmu3", "ipsecure_certificate_url": null, "ipsecure_setup_hint": null}reference string Préfixée par le type : commit:, pr:, tag:, release:, jira:, etc. Permet de filtrer le ledger : /odata/ledger?$filter=startswith(reference, 'pr:').
ipsecure_certificate_url string | null Souvent null à la réponse immédiate — Jinnove génère le certificat de manière asynchrone. Récupérer plus tard avec fetch_certificate.
Types détaillés
Section intitulée « Types détaillés »Pull Request (le plus courant)
Section intitulée « Pull Request (le plus courant) »Scelle la PR 42 pour mon projetInclut :
- SHA du commit de merge
- Tree hash au point de merge
- Titre et description de la PR
- Auteurs (author + merger)
- Timestamp du merge
Scelle le tag v1.4.2 pour mon projetIdéal pour marquer un point stable de la base de code. Le sceau prouve :
- L’état exact du code à ce tag
- Le timestamp du tag
- Le contenu complet (via tree hash)
Comme tag, mais inclut en plus :
- Les notes de release
- Les assets attachés (binaires, sources)
- Le timestamp de publication
Repo (snapshot complet)
Section intitulée « Repo (snapshot complet) »Scelle un snapshot complet du repo à v1.4.2Génère un hash de l’arbre git complet à un ref donné. Utile pour les dépôts légaux APP / INPI : on prouve l’état exact de TOUT le repo à un instant.
Jira issue
Section intitulée « Jira issue »Scelle l'issue SES-42 (qui a 12h de worklogs)Sceau d’une issue avec son contenu canonique (summary, status, reporter, worklogs triés). L’effort en heures provient des worklogs Jira.
Workflow recommandés
Section intitulée « Workflow recommandés »Après merge d’une PR
Section intitulée « Après merge d’une PR »-
Vérifier l’état auto-seal
status verboseSi la PR a été auto-scellée via webhook, inutile de la sceller à nouveau.
-
Sceller manuellement si besoin
Scelle la PR 42 -
Tisser les liens du faisceau d’indices
Cette PR implémente l'issue Jira SES-42 — lie-lesVoir
link_proofs.
Préparer une release
Section intitulée « Préparer une release »-
Créer le tag git
Fenêtre de terminal git tag v1.4.2git push origin v1.4.2git push bunker v1.4.2 -
Sceller le tag
Scelle le tag v1.4.2 -
Générer le bundle légal
Génère le bundle légal pour le tag v1.4.2Voir
bundle_release.
Gestion d’erreurs
Section intitulée « Gestion d’erreurs »| Erreur | Cause | Solution |
|---|---|---|
pr_not_merged | Tentative de sceller une PR ouverte | Attendre le merge |
already_sealed | Sceau dupliqué (fingerprint identique) | Safe — la fonction est idempotente, c’est juste un no-op informatif |
git_host_not_configured | Credentials forge manquants | Voir Configuration |
ref_not_found | Référence invalide | Vérifier l’existence du commit/tag/PR |
project_not_configured | Champs projet manquants | L’outil renvoie un guide structuré pour configure(action:"update_project") |
Recommandations agent
Section intitulée « Recommandations agent »L’agent doit proactivement proposer un sceau quand :
| L’utilisateur dit… | L’agent doit… |
|---|---|
| ”Je viens de merger une PR” | Vérifier auto-seal, sinon seal(type:"pr") |
| ”Feature terminée” | Proposer seal(type:"pr") puis éventuellement un tag |
| ”Time pour une release” | Proposer tag → seal → bundle_release |
| ”On a atteint la milestone X” | Proposer création + sceau d’un tag |
Voir aussi
Section intitulée « Voir aussi »seal_content— sceller du texteseal_file— sceller un fichierbundle_release— package légal d’une releasefetch_certificate— récupérer l’URL eIDAS asynclink_proofs— tisser les relations entre preuves- Concepts → Chaîne de preuves — modèle du faisceau d’indices