Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cla-registry — Registro de firmas de CLA de Strange Days Tech

Fuente de verdad verificable de la manifestación de voluntad (firma del Contributor License Agreement, CLA) de las personas que contribuyen a los proyectos de Strange Days Tech, S.A.S. de C.V.

La rama main de este repositorio es la fuente de verdad. Las firmas se registran por proyecto: cada colaborador manifiesta su voluntad de adherirse al CLA de un repositorio concreto, no mediante una firma genérica hacia toda la compañía.

Qué es evidencia y qué es índice

  • La evidencia primaria e inmutable de la firma es el comentario que la persona escribe en su Pull Request (con su autoría, timestamp y comment_id en GitHub). Ese acto —leer el CLA y comentar la frase de adhesión— es la manifestación de voluntad.
  • Los archivos de este repositorio son el índice versionado y auditable que apunta a esa evidencia (vía comment_id + pullRequestNo + repoId) y que congela el texto exacto del CLA que se firmó, junto con su hash sha256.

Estructura

<repo>/                      # una carpeta por repositorio gestionado (p. ej. weft/)
├── README.md                # esta carpeta es la fuente de verdad de firmas de <repo>
├── manifest.json            # versión vigente del CLA + sha256 de cada versión
├── cla/CLA-vN.md            # copia CONGELADA del texto de CLA firmado en la versión N
└── signatures/versionN/cla.json   # firmas (esquema nativo + cla_version + cla_sha256)

Cómo funciona el registro

  1. En el CI del repositorio gestionado corre CLA Assistant Lite (contributor-assistant/github-action). Cuando alguien comenta la frase de adhesión en su PR, la action escribe su registro en signatures/versionN/cla.json de este repo, autenticada como la GitHub App de la organización.
  2. El workflow .github/workflows/enrich.yml de este repo enriquece cada registro nuevo con cla_version y cla_sha256 (derivados del manifest.json de la carpeta), de forma idempotente: nunca sobrescribe un campo ya presente, de modo que cada firma conserva para siempre la versión bajo la que se otorgó.

Adoptar un repo nuevo

Para conectar un repositorio de la organización a este registro, sigue docs/INSTRUCCIONES.md: crear la carpeta del proyecto aquí y añadir el workflow cla.yml en el repo adoptante (la GitHub App y los secrets ya están provisionados).

Verificar una firma

  1. Localiza el registro en <repo>/signatures/versionN/cla.json (campos name, id, comment_id, pullRequestNo).
  2. Abre en GitHub el comentario comment_id dentro del PR pullRequestNo del repo repoId: ese es el acto de firma original, autoría verificable de la persona.
  3. Comprueba la integridad del CLA firmado: sha256sum <repo>/cla/CLA-vN.md debe coincidir con cla_sha256 del registro y con el sha256 de la versión en manifest.json.

Gobernanza

  • Escritura a main reservada a la GitHub App de la organización (CLA Assistant Lite + enrich). Los cambios humanos entran por Pull Request.
  • No editar los cla.json a mano: son gestionados automáticamente.

About

Registro central y verificable de firmas de CLA de los proyectos de Strange Days Tech (fuente de verdad, por proyecto).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages