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.
- 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_iden 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 hashsha256.
<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)
- 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 ensignatures/versionN/cla.jsonde este repo, autenticada como la GitHub App de la organización. - El workflow
.github/workflows/enrich.ymlde este repo enriquece cada registro nuevo concla_versionycla_sha256(derivados delmanifest.jsonde 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ó.
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).
- Localiza el registro en
<repo>/signatures/versionN/cla.json(camposname,id,comment_id,pullRequestNo). - Abre en GitHub el comentario
comment_iddentro del PRpullRequestNodel reporepoId: ese es el acto de firma original, autoría verificable de la persona. - Comprueba la integridad del CLA firmado:
sha256sum <repo>/cla/CLA-vN.mddebe coincidir concla_sha256del registro y con elsha256de la versión enmanifest.json.
- Escritura a
mainreservada a la GitHub App de la organización (CLA Assistant Lite +enrich). Los cambios humanos entran por Pull Request. - No editar los
cla.jsona mano: son gestionados automáticamente.