Saltar al contenido

Proyectos · Python

Sincronizado desde GitHub

Gh achievement audit

Evidence-first, read-only audit of visible GitHub achievements and public supporting signals

Python

1 lenguajes · MIT · actualizado 28/08/2026

Por qué existe

gh-achievement-audit

An evidence-first, read-only GitHub CLI extension that reports what a public profile actually renders, then keeps supporting event counts separate from achievement claims.

GitHub documents Achievements as a public-preview profile feature and does not publish a complete official criteria or tier table. This tool therefore never turns an unofficial threshold into a claim that a badge was earned. What it audits Server-rendered visible achievements, cross-checked against known detail endpoints. Every visible merged pull request authored by the account, paginated by cursor and reduced to public totals. Every accepted GitHub Discussions answer visible to the caller, with public evidence URLs but no comment bodies. Owned public non-fork repositories, total stars, and the highest-starred repository. Public GraphQL program signals for Developer Program, Security Bug Bounty Hunter, Campus Expert, and GitHub Star. Merged contributions to github/advisory-database as event evidence, without claiming that profile indexing has completed.

It never creates comments, stars, reviews, follows, pull requests, co-authorship, or any other activity.

“Outside personal namespace” has one deliberately narrow meaning: the repository owner's login differs from the audited account's login. It does not claim that an organization is independent from that account. Install

Requirements: Python 3.10 or newer and an authenticated GitHub CLI.

Use

Audit the authenticated account:

Audit any public account:

Produce the versioned JSON report:

The JSON contract is published at schema/report-v1.schema.json. A successful command emits a complete report and exits 0. Usage, authentication, API, pagination, HTML, endpoint, or contract failures emit no partial report and exit 2. Trust boundary

The extension makes authenticated, read-only GraphQL queries through gh api and performs low-volume public GET requests to github.com. Independent cursors are fully paginated; changing totals, repeated cursors, malformed nodes, GraphQL errors, DOM drift, and profile/detail disagreement fail closed.

Some user connections can include private events visible to the authenticated caller and do not offer a public-only filter. Minimal metadata is used only long enough to identify and exclude those nodes. Private events and repository names are never placed in the report. Discussion bodies are not requested at all.

A missing item in visibleachievements means only “not rendered publicly at audit time.” GitHub allows users to hide Achievements, so absence is not evidence that an event never happened. Sources GitHub profile reference GitHub Discussions GraphQL reference gh api pagination reference Development

The deterministic suite covers independent pagination, changing totals, repeated cursors, private-event exclusion, untrusted metadata, redirected and oversized HTTP responses, HTML drift, unknown future badges, endpoint disagreement, zero-result accounts, optimized Python,…

Responsabilidad

Qué hice

Publiqué este trabajo en el repositorio propio gh-achievement-audit, con código, historial y documentación consultables. La responsabilidad comprobable comprende el contenido fijado en la revisión enlazada; el informe evita adjudicar trabajo que el historial no muestre.

Inventario

Qué contiene

24 archivos y 148.651 bytes versionados. Componentes de primer nivel: .github, .gitignore, .pip-tools.toml, CODE_OF_CONDUCT.md, CONTRIBUTING.md, LICENSE, README.md, SECURITY.md, SUPPORT.md, achievement_audit, gh-achievement-audit, pyproject.toml, requirements-dev.in, requirements-dev.txt y 2 elementos adicionales. Documentación detectada: 6 archivos. Manifiestos: pyproject.toml, requirements-dev.txt.

Release v0.1.0

gh-achievement-audit v0.1.0

0 activos descargables · publicada 28/08/2026.

Ver release

Decisiones

Arquitectura y flujo

Qué resuelve

Evidence-first, read-only audit of visible GitHub achievements and public supporting signals

Superficie técnica

Lenguajes: Python. Temas: developer-tools, gh-extension, github-achievements, graphql, json-schema, privacy, python, read-only.

Estado verificable

Rama main; MIT; última publicación 28/08/2026. 0 estrellas y 0 forks al corte del catálogo.

Evidencia

Cómo se verificó

El manifiesto reproducible contó 1.292 líneas de fuente y 1.520 de prueba en la revisión fijada. Hay 1 workflows y 1 releases públicas. Revisión: 8c9da850a2ff.

El conteo es exacto para las extensiones y exclusiones del manifiesto en la revisión 8c9da850a2ff. σ_semántica = desconocida: la razón no mide cobertura ni calidad de las aserciones.

Modelo

Resultados medidos

Ecuación

M = Lp / max(Lf, 1)

Lp = líneas físicas de prueba; Lf = líneas físicas de fuente. Rangos: Lp,Lf ≥ 0. Unidad objetivo: líneas de prueba por línea de fuente.

Línea base

Línea base observada: 1.520 / 1.292 = 1,1765 líneas de prueba por línea de fuente.

Umbral

Umbral editorial fijado el 28 de agosto de 2026 para la próxima revisión: M ≥ 0,25. Esta primera medición funciona como línea base, no como victoria retroactiva.

Prueba de sanidad

Con fuente = 0 el denominador vale 1 y evita división por cero; con prueba = 0, M = 0. El valor calculado de nuevo con 1.520 y 1.292 produce 1,1765.

Error

Límites y pendientes

La API no prueba autoría línea por línea, horas de trabajo ni comportamiento en producción. TODO(dato): cobertura ejecutada, tiempo de suite y costo operativo; deben salir del CI o de telemetría publicada.

Recursos

Costo

Inventariar el repositorio cuesta O(F) tiempo y O(F) espacio para F = 24 entradas. La sincronización completa usó 92 solicitudes API para R = 22 repositorios. TODO(dato): horas humanas y costo en pesos.

Autoría

Gh achievement audit es un proyecto de Jhon Steven Alvarez Ruiz, analista de datos y desarrollador de automatización en Neiva, Colombia. El repositorio forma parte del catálogo público de github.com/SirHegel.

Los demás proyectos