Aller au contenu

seal

The seal tool creates immutable blockchain attestations for git artifacts. It’s the universal sealing mechanism for all code-related proofs.

project string requis

Project ID as configured in SESHAT.

type string requis

Type of artifact to seal.

TypeDescription
commitSpecific git commit
prMerged pull request
tagGit tag (version)
releaseGitHub/GitLab release
ref string requis

Reference to the artifact.

TypeRef FormatExample
commitSHAabc1234
prPR number42
tagTag namev1.0.0
releaseRelease tagv1.0.0
asset_types string[]

Types d’actifs IP proteges. Plusieurs valeurs possibles.

TypeDescription
logicielCode source (defaut pour PRs)
base_donneesBase de donnees
programme_rndProgramme R&D
savoir_faireSecret industriel
brevetInvention brevetee
dessin_modeleDesign industriel
objective string

Objectif R&D pour tracabilite CIR. Exemple : "Optimisation latence API".

dry_run boolean défaut: false

Si true, previsualise sans creer d’attestation blockchain.

{
"project": "my-project",
"type": "pr",
"reference": "42",
"description": "PR #42: Add new feature",
"tree_hash": "sha512:def456...",
"timestamp": "2026-01-16T10:30:00Z",
"asset_types": ["logiciel"],
"objective": null,
"dry_run": false,
"eas_uid": "0x1234567890abcdef...",
"tx_hash": "0xabcdef1234567890...",
"blockchain_message": "Attestation anchored on-chain. Verify at: https://base.easscan.org/attestation/view/0x1234..."
}
blockchain_message string

Message explicite sur l’etat de l’attestation : "Preview mode - no proof created" (dry_run), "Proof stored locally only" (pas de blockchain), "Attestation anchored on-chain. Verify at: ..." (succes).

Seal a specific commit. Use sparingly - prefer PRs for development flow.

Seal commit "abc1234" for project "my-project"

Seal a merged PR with full metadata. Most common for development.

Seal PR 42 for project "my-project"

The attestation includes:

  • Merge commit SHA
  • Tree hash at merge point
  • PR title and description
  • Author and merger info
  • Merge timestamp

Seal a version tag. Use for milestones and releases.

Seal tag "v1.0.0" for project "my-project"

Tags represent stable points in your codebase. Sealing a tag proves:

  • Exact code state at that version
  • Timestamp of tag creation
  • All content at that point

Seal a GitHub/GitLab release (includes release notes).

Seal release "v1.0.0" for project "my-project"

Releases add:

  • Release notes
  • Associated assets
  • Publication timestamp
  1. Merge the PR

    Complete code review and merge on your git host.

  2. Seal the PR

    Seal PR 42 for project "my-project" as type "pr"
  3. Verify

    Check the EAS UID on base.easscan.org

  1. Create git tag

    Fenêtre de terminal
    git tag v1.0.0
    git push origin v1.0.0
  2. Seal the tag

    Seal tag "v1.0.0" for project "my-project"
  3. Generate bundle (optional)

    Generate legal bundle for tag "v1.0.0"
ErrorCauseSolution
PR not mergedAttempting to seal open PRWait for merge
Already sealedDuplicate attestationSafe to ignore
Git host not configuredMissing credentialsCheck config
Tag not foundInvalid tag referenceVerify tag exists

The agent should proactively recommend sealing when:

User says…Agent should…
”I just merged a PR”Suggest sealing it
”Feature is complete”Suggest sealing the PR and/or tagging
”Time for a release”Suggest tag + seal + bundle workflow
”We hit milestone X”Suggest creating and sealing a tag