Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-28 20:14 UTC

greghavens / moonshiner

Unified model-distillation harness for code abilities: pi / claude-code / codex teachers, configurable judge, verified agentic traces

PythonApache-2.0★ 10 estrellas⑂ 1 forkdesde jul 2026Ver en GitHub ↗

greghavens/moonshiner tiene un índice de salud de 53 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Engineering Quality (71/100) y la más baja, Community & Adoption (32/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

53
global / 100
Moderado

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala de 1 a 100. El resultado global parte de su media; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe el límite 49 (En riesgo). Preparación para IA queda fuera.

53
Excelente85-100Ejemplar; cumple prácticamente todos los criterios evaluados
Bueno70-84Saludable; carencias menores
Moderado50-69Aceptable con carencias notables; se recomienda revisión
En riesgo30-49Debilidades significativas; su adopción exige cautela
Crítico1-29Problemas graves (proyecto abandonado, un solo mantenedor, sin higiene)
VitalidadComunidad yAdopciónSostenibilidady GobernanzaCalidad deIngenieríaSeguridadPreparaciónpara IA

Perfil de puntuación

Cada eje es una categoría. La forma importa más que la media: un proyecto sano llena toda la figura, mientras que un perfil de picos y cráteres indica que la fortaleza en una dimensión enmascara el riesgo en otra.

Titularidad

Greg HavensCuenta personal
5 seguidores7 repositorios públicosdesde may 2012

Este repositorio pertenece a una cuenta personal. Un proyecto con un único propietario conlleva más riesgo de continuidad que uno respaldado por una organización.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicación
PyPImoonshiner0.7.0-103hace 0 días

Métricas por categoría

Vitalidad

¿Está vivo el proyecto: se escribe código y se publican versiones?

69Moderado · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
1.4/36Cadencia de commits — 2/52 semanas con commits
18/18Volumen de commits — 209 commits en el último año
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Datos de entrada utilizados
commits_last_year209
human_commit_share1
days_since_last_push0
active_weeks_last_year2
Cómo se puntúa
27/27Publica versiones — 100 versiones publicadas
36/36Recencia de las versiones — última versión hace 0 días
27/27Cadencia de publicación — una versión cada ~0 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count100
latest_release_tagv0.7.0
releases_from_tagsno
days_since_latest_release0
mean_days_between_releases0

Comunidad y Adopción

¿Tiene el proyecto usuarios, descargas, atención y unas condiciones acogedoras para quienes contribuyen?

32En riesgo · 18% del índice global
Cómo se puntúa
15.5/60Estrellas — 10 estrellas
0/25Forks — 1 forks
0/15Observadores — 1 observadores
Datos de entrada utilizados
forks1
stars10
watchers1
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (Apache-2.0)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
0/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateno

Sostenibilidad y Gobernanza

¿Sobrevivirá el proyecto a sus personas: factor bus, capacidad de respuesta, quién lo respalda y mantenimiento del paquete?

52Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
38.2/38.3Aceptación de PR — 1/1 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs1
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
5.6/25Alcance del propietario — 5 seguidores de greghavens
18.6/25Trayectoria — 7 repos públicos, cuenta de ~14 años
Datos de entrada utilizados
followers5
owner_typeUser
is_verified
owner_logingreghavens
public_repos7
account_age_days5191
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en pypi
35/35Recencia de publicación — última publicación hace 0 días
20/20Historial de versiones — 103 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packagesmoonshiner
ecosystemspypi
any_deprecatedno
min_days_since_publish0

Calidad de Ingeniería

¿Existen unas prácticas mínimas de ingeniería y documentación?

71Bueno · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 2 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
6.4/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — sin datos
Datos de entrada utilizados
has_ci
has_tests
has_editorconfig
has_linter_configno
has_precommit_configno
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: CI-Tests. Los pesos restantes se han renormalizado.
Cómo se puntúa
30/30README
25/25Directorio de documentación
0/15Sitio de documentación / página del proyecto
10/10Descripción del repositorio
0/10Topics
10/10Wiki
Datos de entrada utilizados
topics
has_wiki
homepage
has_readme
has_docs_dir
has_description

Seguridad

¿Son sólidas las prácticas visibles de seguridad y de cadena de suministro, sin exposición jurisdiccional de alto riesgo sin resolver?

33En riesgo · 16% del índice global
Cómo se puntúa
6/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — sin datos
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Licencia — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
2.2/7.5Vulnerabilities — 7 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate3,3
Excluidos de la puntuación (sin datos o no aplicable): ci_tests. Los pesos restantes se han renormalizado.

Preparación para IA

¿Hasta qué punto está el repositorio preparado para desarrollarse y mantenerse con agentes de codificación de IA? Es una insignia independiente y experimental — peso 0,0, de modo que se presenta por separado y no afecta a la puntuación de salud global.

66Moderado · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md, CLAUDE.md
0/15Documentación legible por máquinas (llms.txt)
17.6/40Historial de commits legible — 33 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,33
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes8828
Cómo se puntúa
18/18Arranque con un solo comando — tasks/seeds/asm-c-abi-stack-align/files/Makefile, tasks/seeds/bash-build-entrypoint/files/Makefile, tasks/seeds/bash-it-mountrecover/files/Makefile, tasks/seeds/c-bitvec/files/Makefile, tasks/seeds/c-boundary-table-parser/files/Makefile, tasks/seeds/c-bounds-patch-review/files/Makefile, tasks/seeds/c-c4perft/files/Makefile, tasks/seeds/c-cardshuf/files/Makefile, tasks/seeds/c-chimeplan/files/Makefile, tasks/seeds/c-coldvan/files/Makefile, tasks/seeds/c-confpool/files/Makefile, tasks/seeds/c-csvrow/files/Makefile, tasks/seeds/c-dusweep/files/Makefile, tasks/seeds/c-dynarray/files/Makefile, tasks/seeds/c-firmware-config-owner/files/Makefile, tasks/seeds/c-grainband/files/Makefile, tasks/seeds/c-gritroute/files/Makefile, tasks/seeds/c-hashslot/files/Makefile, tasks/seeds/c-iniscan/files/Makefile, tasks/seeds/c-kvunesc/files/Makefile, tasks/seeds/c-log-after-corruption/files/Makefile, tasks/seeds/c-lrulink/files/Makefile, tasks/seeds/c-mazeuf/files/Makefile, tasks/seeds/c-minesolver/files/Makefile, tasks/seeds/c-nurserylot/files/Makefile, tasks/seeds/c-opaque-session-handle/files/Makefile, tasks/seeds/c-packed-checksum-layout/files/Makefile, tasks/seeds/c-packed-record-version/files/Makefile, tasks/seeds/c-panelframe/files/Makefile, tasks/seeds/c-pkgconfig-static-links/files/Makefile, tasks/seeds/c-recfile/files/Makefile, tasks/seeds/c-recursionbudget/files/Makefile, tasks/seeds/c-reportfix/files/Makefile, tasks/seeds/c-reproducible-archive/files/Makefile, tasks/seeds/c-ring-copy-budget/files/Makefile, tasks/seeds/c-ringbuf/files/Makefile, tasks/seeds/c-serial-partial-write/files/Makefile, tasks/seeds/c-signal-restart-incident/files/Makefile, tasks/seeds/c-signal-safe-notifier/files/Makefile, tasks/seeds/c-snakering/files/Makefile, tasks/seeds/c-snowroute/files/Makefile, tasks/seeds/c-tidechart/files/Makefile, tasks/seeds/c-tlv-forward-compat/files/Makefile, tasks/seeds/c-toksplit/files/Makefile, tasks/seeds/c-tttbit/files/Makefile, tasks/seeds/c-ventplan/files/Makefile, tasks/seeds/cpp-allocator-failure-unwind/files/Makefile, tasks/seeds/cpp-cache-local-layout/files/Makefile, tasks/seeds/cpp-cachepath/files/Makefile, tasks/seeds/cpp-cellarlog/files/Makefile, tasks/seeds/cpp-chessperft/files/Makefile, tasks/seeds/cpp-clinicqueue/files/Makefile, tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile, tasks/seeds/cpp-crash-dump-symbol/files/Makefile, tasks/seeds/cpp-cribbage/files/Makefile, tasks/seeds/cpp-engine-boundary/files/Makefile, tasks/seeds/cpp-exported-targets/files/Makefile, tasks/seeds/cpp-exprvisit/files/Makefile, tasks/seeds/cpp-fairride/files/Makefile, tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile, tasks/seeds/cpp-filterview/files/Makefile, tasks/seeds/cpp-framebudget/files/Makefile, tasks/seeds/cpp-gomoku/files/Makefile, tasks/seeds/cpp-index-layout-move/files/Makefile, tasks/seeds/cpp-inlinevec/files/Makefile, tasks/seeds/cpp-medaltally/files/Makefile, tasks/seeds/cpp-mortarmix/files/Makefile, tasks/seeds/cpp-owner-patch-review/files/Makefile, tasks/seeds/cpp-pyramid/files/Makefile, tasks/seeds/cpp-quiltgrid/files/Makefile, tasks/seeds/cpp-raiiguard/files/Makefile, tasks/seeds/cpp-refcard/files/Makefile, tasks/seeds/cpp-shopreport/files/Makefile, tasks/seeds/cpp-snapshotreplace/files/Makefile, tasks/seeds/cpp-sokoban/files/Makefile, tasks/seeds/cpp-test-oracle-bug/files/Makefile, tasks/seeds/cpp-turnstile/files/Makefile, tasks/seeds/cpp-ultimatettt/files/Makefile, tasks/seeds/cpp-vatstats/files/Makefile, tasks/seeds/cpp-vendored-checksum/files/Makefile, tasks/seeds/go-generated-drift-gate/files/Makefile, tasks/seeds/w18-sc14-diagnose/files/Makefile, tasks/seeds/w18-sc14-review/files/Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
10/10Práctica demostrada con agentes — 24 de los últimos 100 commits con autoría o crédito de agente
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Datos de entrada utilizados
has_nixno
has_tests
lockfilesCargo.lock, go.sum, package-lock.json, packages.lock.json
has_dockerfile
typed_languageno
bootstrap_filestasks/seeds/asm-c-abi-stack-align/files/Makefile, tasks/seeds/bash-build-entrypoint/files/Makefile, tasks/seeds/bash-it-mountrecover/files/Makefile, tasks/seeds/c-bitvec/files/Makefile, tasks/seeds/c-boundary-table-parser/files/Makefile, tasks/seeds/c-bounds-patch-review/files/Makefile, tasks/seeds/c-c4perft/files/Makefile, tasks/seeds/c-cardshuf/files/Makefile, tasks/seeds/c-chimeplan/files/Makefile, tasks/seeds/c-coldvan/files/Makefile, tasks/seeds/c-confpool/files/Makefile, tasks/seeds/c-csvrow/files/Makefile, tasks/seeds/c-dusweep/files/Makefile, tasks/seeds/c-dynarray/files/Makefile, tasks/seeds/c-firmware-config-owner/files/Makefile, tasks/seeds/c-grainband/files/Makefile, tasks/seeds/c-gritroute/files/Makefile, tasks/seeds/c-hashslot/files/Makefile, tasks/seeds/c-iniscan/files/Makefile, tasks/seeds/c-kvunesc/files/Makefile, tasks/seeds/c-log-after-corruption/files/Makefile, tasks/seeds/c-lrulink/files/Makefile, tasks/seeds/c-mazeuf/files/Makefile, tasks/seeds/c-minesolver/files/Makefile, tasks/seeds/c-nurserylot/files/Makefile, tasks/seeds/c-opaque-session-handle/files/Makefile, tasks/seeds/c-packed-checksum-layout/files/Makefile, tasks/seeds/c-packed-record-version/files/Makefile, tasks/seeds/c-panelframe/files/Makefile, tasks/seeds/c-pkgconfig-static-links/files/Makefile, tasks/seeds/c-recfile/files/Makefile, tasks/seeds/c-recursionbudget/files/Makefile, tasks/seeds/c-reportfix/files/Makefile, tasks/seeds/c-reproducible-archive/files/Makefile, tasks/seeds/c-ring-copy-budget/files/Makefile, tasks/seeds/c-ringbuf/files/Makefile, tasks/seeds/c-serial-partial-write/files/Makefile, tasks/seeds/c-signal-restart-incident/files/Makefile, tasks/seeds/c-signal-safe-notifier/files/Makefile, tasks/seeds/c-snakering/files/Makefile, tasks/seeds/c-snowroute/files/Makefile, tasks/seeds/c-tidechart/files/Makefile, tasks/seeds/c-tlv-forward-compat/files/Makefile, tasks/seeds/c-toksplit/files/Makefile, tasks/seeds/c-tttbit/files/Makefile, tasks/seeds/c-ventplan/files/Makefile, tasks/seeds/cpp-allocator-failure-unwind/files/Makefile, tasks/seeds/cpp-cache-local-layout/files/Makefile, tasks/seeds/cpp-cachepath/files/Makefile, tasks/seeds/cpp-cellarlog/files/Makefile, tasks/seeds/cpp-chessperft/files/Makefile, tasks/seeds/cpp-clinicqueue/files/Makefile, tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile, tasks/seeds/cpp-crash-dump-symbol/files/Makefile, tasks/seeds/cpp-cribbage/files/Makefile, tasks/seeds/cpp-engine-boundary/files/Makefile, tasks/seeds/cpp-exported-targets/files/Makefile, tasks/seeds/cpp-exprvisit/files/Makefile, tasks/seeds/cpp-fairride/files/Makefile, tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile, tasks/seeds/cpp-filterview/files/Makefile, tasks/seeds/cpp-framebudget/files/Makefile, tasks/seeds/cpp-gomoku/files/Makefile, tasks/seeds/cpp-index-layout-move/files/Makefile, tasks/seeds/cpp-inlinevec/files/Makefile, tasks/seeds/cpp-medaltally/files/Makefile, tasks/seeds/cpp-mortarmix/files/Makefile, tasks/seeds/cpp-owner-patch-review/files/Makefile, tasks/seeds/cpp-pyramid/files/Makefile, tasks/seeds/cpp-quiltgrid/files/Makefile, tasks/seeds/cpp-raiiguard/files/Makefile, tasks/seeds/cpp-refcard/files/Makefile, tasks/seeds/cpp-shopreport/files/Makefile, tasks/seeds/cpp-snapshotreplace/files/Makefile, tasks/seeds/cpp-sokoban/files/Makefile, tasks/seeds/cpp-test-oracle-bug/files/Makefile, tasks/seeds/cpp-turnstile/files/Makefile, tasks/seeds/cpp-ultimatettt/files/Makefile, tasks/seeds/cpp-vatstats/files/Makefile, tasks/seeds/cpp-vendored-checksum/files/Makefile, tasks/seeds/go-generated-drift-gate/files/Makefile, tasks/seeds/w18-sc14-diagnose/files/Makefile, tasks/seeds/w18-sc14-review/files/Makefile
has_devcontainerno
has_linter_configno
typecheck_configstasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json
agent_commit_share0,24
toolchain_manifeststasks/seeds/cs-rpsbots/files/RpsBots.csproj, tasks/seeds/cs-sidepots/files/SidePots.csproj, tasks/seeds/cs-tenpin/files/Tenpin.csproj, tasks/seeds/cs-uno/files/Uno.csproj, tasks/seeds/cs-wordlesolver/files/WordleSolver.csproj, tasks/seeds/cs-wordsearch/files/WordSearch.csproj, tasks/seeds/csharp-aspnet-auth-upgrade/files/PortalSecurity.csproj, tasks/seeds/csharp-authz-object-scope/files/AuthzScope.Tests/AuthzScope.Tests.csproj, tasks/seeds/csharp-authz-object-scope/files/AuthzScope/AuthzScope.csproj, tasks/seeds/csharp-aws-cloudwatch-token/files/CloudWatchTokenExport.csproj, tasks/seeds/csharp-azure-arm-lro/files/ArmLro.csproj, tasks/seeds/csharp-bagline/files/BagLine.csproj, tasks/seeds/csharp-billingpartition/files/src/BillingPartition/BillingPartition.csproj, tasks/seeds/csharp-billingpartition/files/tests/BillingPartition.Tests/BillingPartition.Tests.csproj, tasks/seeds/csharp-cache-stampede/files/src/StampedeCache/StampedeCache.csproj, tasks/seeds/csharp-cache-stampede/files/tests/StampedeCache.Tests/StampedeCache.Tests.csproj, tasks/seeds/csharp-central-package-lock/files/src/Core/Core.csproj, tasks/seeds/csharp-central-package-lock/files/src/Desktop/Desktop.csproj, tasks/seeds/csharp-claim-pipeline/files/ClaimPipeline.csproj, tasks/seeds/csharp-clock-skew-incident/files/src/ClockSkewIncident/ClockSkewIncident.csproj, tasks/seeds/csharp-clock-skew-incident/files/tests/ClockSkewIncident.Tests/ClockSkewIncident.Tests.csproj, tasks/seeds/csharp-commandcodec/files/src/CommandCodec/CommandCodec.csproj, tasks/seeds/csharp-commandcodec/files/tests/CommandCodec.ProtectedTests/CommandCodec.ProtectedTests.csproj, tasks/seeds/csharp-confluent-connect-monitor/files/ConnectMonitor.csproj, tasks/seeds/csharp-cookie-hardening/files/CookieHardening.csproj, tasks/seeds/csharp-cookie-hardening/files/protected_tests/CookieHardening.ProtectedTests.csproj, tasks/seeds/csharp-databricks-serving-endpoint/files/DbxServing.csproj, tasks/seeds/csharp-default-precedence/files/src/MoonRelay.Configuration/MoonRelay.Configuration.csproj, tasks/seeds/csharp-default-precedence/files/tests/MoonRelay.Configuration.Tests/MoonRelay.Configuration.Tests.csproj, tasks/seeds/csharp-dockledger/files/DockLedger.csproj, tasks/seeds/csharp-dynatrace-slo-evaluate/files/SloEvaluate.csproj, tasks/seeds/csharp-emailparts/files/EmailParts.csproj, tasks/seeds/csharp-encrypted-field-rotation/files/src/EncryptedFieldRotation/EncryptedFieldRotation.csproj, tasks/seeds/csharp-encrypted-field-rotation/files/tests/EncryptedFieldRotation.ProtectedTests/EncryptedFieldRotation.ProtectedTests.csproj, tasks/seeds/csharp-errorcontext/files/src/ErrorContext/ErrorContext.csproj, tasks/seeds/csharp-errorcontext/files/tests/ErrorContext.Tests/ErrorContext.Tests.csproj, tasks/seeds/csharp-fault-injection-cleanup/files/src/Persistence/Persistence.csproj, tasks/seeds/csharp-fault-injection-cleanup/files/tests/Persistence.ProtectedTests/Persistence.ProtectedTests.csproj, tasks/seeds/csharp-ferryhub/files/FerryHub.csproj, tasks/seeds/csharp-gazetterun/files/GazetteRun.csproj, tasks/seeds/csharp-gearrepo/files/GearRepo.csproj, tasks/seeds/csharp-ghe-audit-stream/files/GheAuditStream.csproj, tasks/seeds/csharp-graph-delta-users/files/GraphDeltaSync.csproj, tasks/seeds/csharp-jira-attachment-upload/files/JiraAttachmentUpload.csproj, tasks/seeds/csharp-kennelcard/files/KennelCard.csproj, tasks/seeds/csharp-labelkit/files/LabelKit.csproj, tasks/seeds/csharp-laserjob/files/LaserJob.csproj, tasks/seeds/csharp-marketcart/files/MarketCart.csproj, tasks/seeds/csharp-microfiche/files/Microfiche.csproj, tasks/seeds/csharp-mobile-offline-outbox/files/src/MobileOfflineOutbox/MobileOfflineOutbox.csproj, tasks/seeds/csharp-mobile-offline-outbox/files/tests/MobileOfflineOutbox.ProtectedTests/MobileOfflineOutbox.ProtectedTests.csproj, tasks/seeds/csharp-modulefacade/files/ModuleFacade.Tests.csproj, tasks/seeds/csharp-museumloan/files/MuseumLoan.csproj, tasks/seeds/csharp-newrelic-synthetic-monitor/files/SyntheticMonitor.csproj, tasks/seeds/csharp-notification-dispatch/files/src/ParcelFlow/ParcelFlow.csproj, tasks/seeds/csharp-notification-dispatch/files/tests/ParcelFlow.Tests/ParcelFlow.Tests.csproj, tasks/seeds/csharp-nuget-symbols/files/src/Deterministic.Text/Deterministic.Text.csproj, tasks/seeds/csharp-obsrun/files/ObsRun.csproj, tasks/seeds/csharp-okta-systemlog-after/files/OktaSystemLog.csproj, tasks/seeds/csharp-oracle-hcm-action/files/OracleHcmAction.csproj, tasks/seeds/csharp-orchardsales/files/OrchardSales.csproj, tasks/seeds/csharp-outfitter/files/Outfitter.csproj, tasks/seeds/csharp-patchbay/files/PatchBay.csproj, tasks/seeds/csharp-pathreport/files/CourierDesk.csproj, tasks/seeds/csharp-plotspool/files/PlotSpool.csproj, tasks/seeds/csharp-pressquote/files/PressQuote.csproj, tasks/seeds/csharp-propsquote/files/PropsQuote.csproj, tasks/seeds/csharp-replicaread/files/ReplicaRead.csproj, tasks/seeds/csharp-roastqueue/files/RoastQueue.csproj, tasks/seeds/csharp-saga-compensation/files/src/SagaCompensation/SagaCompensation.csproj, tasks/seeds/csharp-saga-compensation/files/tests/SagaCompensation.ProtectedTests/SagaCompensation.ProtectedTests.csproj, tasks/seeds/csharp-salesforce-query-cursor/files/SalesforceQueryExport.csproj, tasks/seeds/csharp-sap-csrf-batch/files/SapCsrfBatch.csproj, tasks/seeds/csharp-snow-cmdb-upsert/files/CmdbUpsert.csproj, tasks/seeds/csharp-snowflake-query-retry/files/QueryRetry.csproj, tasks/seeds/csharp-splunk-hec-batch/files/SplunkHecBatch.csproj, tasks/seeds/csharp-swimheats/files/SwimHeats.csproj, tasks/seeds/csharp-tenant-key-rollout/files/src/TenantKeyRollout/TenantKeyRollout.csproj, tasks/seeds/csharp-tenant-key-rollout/files/tests/TenantKeyRollout.Tests/TenantKeyRollout.Tests.csproj, tasks/seeds/csharp-token-refresh-storm/files/src/TokenRefreshStorm/TokenRefreshStorm.csproj, tasks/seeds/csharp-token-refresh-storm/files/tests/TokenRefreshStorm.Tests/TokenRefreshStorm.Tests.csproj, tasks/seeds/csharp-toollend/files/ToolLend.csproj, tasks/seeds/csharp-vault-namespace-list/files/VaultNamespaceList.csproj, tasks/seeds/csharp-viewport-incremental-load/files/src/ViewportIncrementalLoad/ViewportIncrementalLoad.csproj, tasks/seeds/csharp-viewport-incremental-load/files/tests/ViewportIncrementalLoad.ProtectedTests/ViewportIncrementalLoad.ProtectedTests.csproj, tasks/seeds/csharp-wiredepot/files/WireDepot.csproj, tasks/seeds/go-arcpack/files/go.mod, tasks/seeds/go-atlas-oauth-projects/files/go.mod, tasks/seeds/go-audit-ownership/files/go.mod, tasks/seeds/go-aws-dynamodb-pages/files/go.mod, tasks/seeds/go-azure-resourcegraph-skiptoken/files/go.mod, tasks/seeds/go-backoff/files/go.mod, tasks/seeds/go-bad-deploy-config/files/go.mod, tasks/seeds/go-batch-flush/files/go.mod, tasks/seeds/go-birdsurvey/files/go.mod, tasks/seeds/go-blackjack/files/go.mod, tasks/seeds/go-blob-metadata-rollout/files/go.mod, tasks/seeds/go-bloomset/files/go.mod, tasks/seeds/go-body-budget/files/go.mod, tasks/seeds/go-buildgraph/files/go.mod, tasks/seeds/go-bunkboard/files/go.mod, tasks/seeds/go-burst-runner/files/go.mod, tasks/seeds/go-calibcli/files/go.mod, tasks/seeds/go-cancel-fanout/files/go.mod, tasks/seeds/go-case-sensitive-key/files/go.mod, tasks/seeds/go-changefeedcommit/files/go.mod, tasks/seeds/go-checkers/files/go.mod, tasks/seeds/go-checkpoint/files/go.mod, tasks/seeds/go-cidrkit/files/go.mod, tasks/seeds/go-circuit-breaker/files/go.mod, tasks/seeds/go-cmdline/files/go.mod, tasks/seeds/go-commandbatch/files/go.mod, tasks/seeds/go-concurrentartifact/files/go.mod, tasks/seeds/go-confluent-rest-produce/files/go.mod, tasks/seeds/go-context-cause/files/go.mod, tasks/seeds/go-correlation-boundary/files/go.mod, tasks/seeds/go-cronsched/files/go.mod, tasks/seeds/go-crosscompile-assets/files/go.mod, tasks/seeds/go-csv-decode/files/go.mod, tasks/seeds/go-csv-report/files/go.mod, tasks/seeds/go-csvlimits/files/go.mod, tasks/seeds/go-dashfeed/files/go.mod, tasks/seeds/go-databricks-statement-exec/files/go.mod, tasks/seeds/go-datadog-monitor-pages/files/go.mod, tasks/seeds/go-dirwalk/files/go.mod, tasks/seeds/go-dirwatch/files/go.mod, tasks/seeds/go-dlpool/files/go.mod, tasks/seeds/go-dupfinder/files/go.mod, tasks/seeds/go-edgeproxy/files/go.mod, tasks/seeds/go-envrender/files/go.mod, tasks/seeds/go-event-version-backfill/files/go.mod, tasks/seeds/go-eventbus/files/go.mod, tasks/seeds/go-fair-semaphore/files/go.mod, tasks/seeds/go-farebands/files/go.mod, tasks/seeds/go-fieldquote/files/go.mod, tasks/seeds/go-flagbind/files/go.mod, tasks/seeds/go-flagengine/files/go.mod, tasks/seeds/go-flowrun/files/go.mod, tasks/seeds/go-flowschema/files/go.mod, tasks/seeds/go-framebuf/files/go.mod, tasks/seeds/go-gcp-storage-resumable/files/go.mod, tasks/seeds/go-generated-client-seam/files/go.mod, tasks/seeds/go-generated-code-trap/files/go.mod, tasks/seeds/go-generated-drift-gate/files/go.mod, tasks/seeds/go-ghe-app-token/files/go.mod, tasks/seeds/go-gitlab-pipeline-watcher/files/go.mod, tasks/seeds/go-globmatch/files/go.mod, tasks/seeds/go-group-runner/files/go.mod, tasks/seeds/go-grpc-api-shift/files/go.mod, tasks/seeds/go-hashring/files/go.mod, tasks/seeds/go-healbudget/files/go.mod, tasks/seeds/go-histogram/files/go.mod, tasks/seeds/go-hit-stats/files/go.mod, tasks/seeds/go-hmac-compare/files/go.mod, tasks/seeds/go-httpretry/files/go.mod, tasks/seeds/go-idxplan/files/go.mod, tasks/seeds/go-indexpq/files/go.mod, tasks/seeds/go-interface-slimming/files/go.mod, tasks/seeds/go-interval-merge/files/go.mod, tasks/seeds/go-inventory-api/files/go.mod, tasks/seeds/go-job-drain/files/go.mod, tasks/seeds/go-jobargs/files/go.mod, tasks/seeds/go-jobflow/files/go.mod, tasks/seeds/go-json-shape/files/go.mod, tasks/seeds/go-k8s-job-watch/files/go.mod, tasks/seeds/go-kvlog/files/go.mod, tasks/seeds/go-kvwal/files/go.mod, tasks/seeds/go-layered-config/files/go.mod, tasks/seeds/go-ledger-apply/files/go.mod, tasks/seeds/go-lifegrid/files/go.mod, tasks/seeds/go-logfmt/files/go.mod, tasks/seeds/go-logrotate/files/go.mod, tasks/seeds/go-logtail/files/go.mod, tasks/seeds/go-lru-cache/files/go.mod, tasks/seeds/go-lzrle/files/go.mod, tasks/seeds/go-manifest-load/files/go.mod, tasks/seeds/go-map-snapshot/files/go.mod, tasks/seeds/go-mazekit/files/go.mod, tasks/seeds/go-meraki-action-batch/files/go.mod, tasks/seeds/go-metrics/files/go.mod, tasks/seeds/go-migrunner/files/go.mod, tasks/seeds/go-modcycles/files/go.mod, tasks/seeds/go-money/files/go.mod, tasks/seeds/go-mwchain/files/go.mod, tasks/seeds/go-nil-envelope/files/go.mod, tasks/seeds/go-ontap-consistency-group/files/go.mod, tasks/seeds/go-orderfsm/files/go.mod, tasks/seeds/go-otel-semconv-move/files/go.mod, tasks/seeds/go-otel-semconv-move/files/third_party/otel/go.mod, tasks/seeds/go-outbox/files/go.mod, tasks/seeds/go-packslip/files/go.mod, tasks/seeds/go-pagewalk/files/go.mod, tasks/seeds/go-path-router/files/go.mod, tasks/seeds/go-planttags/files/go.mod, tasks/seeds/go-pokereval/files/go.mod, tasks/seeds/go-port-race-test/files/go.mod, tasks/seeds/go-protoseq/files/go.mod, tasks/seeds/go-provider2/files/go.mod, tasks/seeds/go-pubsub/files/go.mod, tasks/seeds/go-quorum-read-repair/files/go.mod, tasks/seeds/go-quotasvc/files/go.mod, tasks/seeds/go-record-import/files/go.mod, tasks/seeds/go-reldrift/files/go.mod, tasks/seeds/go-resumeup/files/go.mod, tasks/seeds/go-retry/files/go.mod, tasks/seeds/go-reviewflag/files/go.mod, tasks/seeds/go-ringbuf/files/go.mod, tasks/seeds/go-sawplan/files/go.mod, tasks/seeds/go-scanner-ceiling/files/go.mod, tasks/seeds/go-session-store/files/go.mod, tasks/seeds/go-shardplan/files/go.mod, tasks/seeds/go-shift-window/files/go.mod, tasks/seeds/go-shiplog/files/go.mod, tasks/seeds/go-slice-alias/files/go.mod, tasks/seeds/go-snapprune/files/go.mod, tasks/seeds/go-snipdoc/files/go.mod, tasks/seeds/go-snowflake-partition-results/files/go.mod, tasks/seeds/go-sortid/files/go.mod, tasks/seeds/go-spanoverlap/files/go.mod, tasks/seeds/go-statuspoll/files/go.mod, tasks/seeds/go-stockroom/files/go.mod, tasks/seeds/go-streamdiff/files/go.mod, tasks/seeds/go-supervisor/files/go.mod, tasks/seeds/go-switchcase/files/go.mod, tasks/seeds/go-syncdelta/files/go.mod, tasks/seeds/go-taskrunner/files/go.mod, tasks/seeds/go-telewire/files/go.mod, tasks/seeds/go-text-preview/files/go.mod, tasks/seeds/go-textindex/files/go.mod, tasks/seeds/go-tfe-run-queue/files/go.mod, tasks/seeds/go-thumbwarm/files/go.mod, tasks/seeds/go-timeout-fetch/files/go.mod, tasks/seeds/go-timer-rearm/files/go.mod, tasks/seeds/go-token-bucket/files/go.mod, tasks/seeds/go-trailperm/files/go.mod, tasks/seeds/go-treehash/files/go.mod, tasks/seeds/go-tripsettle/files/go.mod, tasks/seeds/go-tseries/files/go.mod, tasks/seeds/go-ttl-map/files/go.mod, tasks/seeds/go-ttt-server/files/go.mod, tasks/seeds/go-txnredo/files/go.mod, tasks/seeds/go-unitreg/files/go.mod, tasks/seeds/go-uploadgate/files/go.mod, tasks/seeds/go-urlshort/files/go.mod, tasks/seeds/go-vault-kv-cas/files/go.mod, tasks/seeds/go-vcf-task-watcher/files/go.mod, tasks/seeds/go-word-tally/files/go.mod, tasks/seeds/go-wordfreq/files/go.mod, tasks/seeds/go-worker-pool/files/go.mod, tasks/seeds/go-xmlenvelope/files/go.mod, tasks/seeds/java-printspec/files/pom.xml, tasks/seeds/rs-cfgparse/files/Cargo.toml, tasks/seeds/rs-charslice/files/Cargo.toml, tasks/seeds/rs-cidermill/files/Cargo.toml, tasks/seeds/rs-clap-command-upgrade/files/Cargo.toml, tasks/seeds/rs-cliargs/files/Cargo.toml, tasks/seeds/rs-cragstats/files/Cargo.toml, tasks/seeds/rs-cuesheet/files/Cargo.toml, tasks/seeds/rs-darkroom/files/Cargo.toml, tasks/seeds/rs-freightquote/files/Cargo.toml, tasks/seeds/rs-gatebadge/files/Cargo.toml, tasks/seeds/rs-handleheap/files/Cargo.toml, tasks/seeds/rs-intervalset/files/Cargo.toml, tasks/seeds/rs-irrplan/files/Cargo.toml, tasks/seeds/rs-iteradapt/files/Cargo.toml, tasks/seeds/rs-logingest/files/Cargo.toml, tasks/seeds/rs-mapreport/files/Cargo.toml, tasks/seeds/rs-millreport/files/Cargo.toml, tasks/seeds/rs-mpscpipe/files/Cargo.toml, tasks/seeds/rs-multiscan/files/Cargo.toml, tasks/seeds/rs-nansort/files/Cargo.toml, tasks/seeds/rs-postrate/files/Cargo.toml, tasks/seeds/rs-rategate/files/Cargo.toml, tasks/seeds/rs-rcweaktree/files/Cargo.toml, tasks/seeds/rs-ropelite/files/Cargo.toml, tasks/seeds/rs-rpnvm/files/Cargo.toml, tasks/seeds/rs-scopedproc/files/Cargo.toml, tasks/seeds/rs-seatmap/files/Cargo.toml, tasks/seeds/rs-shelftag/files/Cargo.toml, tasks/seeds/rs-signalbox/files/Cargo.toml, tasks/seeds/rs-sizecast/files/Cargo.toml, tasks/seeds/rs-slabarena/files/Cargo.toml, tasks/seeds/rs-swapremove/files/Cargo.toml, tasks/seeds/rs-taskdeps/files/Cargo.toml, tasks/seeds/rs-textstats/files/Cargo.toml, tasks/seeds/rs-themecss/files/Cargo.toml, tasks/seeds/rs-tillroll/files/Cargo.toml, tasks/seeds/rs-tomlite/files/Cargo.toml, tasks/seeds/rs-toolshed/files/Cargo.toml, tasks/seeds/rs-unescape/files/Cargo.toml, tasks/seeds/rs-varint/files/Cargo.toml, tasks/seeds/rs-weighbridge/files/Cargo.toml, tasks/seeds/rs-weightavg/files/Cargo.toml, tasks/seeds/rs-workspace-owner/files/Cargo.toml, tasks/seeds/rs-workspace-owner/files/crates/checkpoint-agent/Cargo.toml, tasks/seeds/rs-workspace-owner/files/crates/checkpoint-facade/Cargo.toml, tasks/seeds/rs-workspace-owner/files/crates/checkpoint-protocol/Cargo.toml, tasks/seeds/rs-workspace-owner/files/crates/checkpoint-storage/Cargo.toml, tasks/seeds/rs-wximport/files/Cargo.toml, tasks/seeds/rust-freecell/files/Cargo.toml, tasks/seeds/rust-nim/files/Cargo.toml, tasks/seeds/rust-reversi/files/Cargo.toml, tasks/seeds/rust-roguelite/files/Cargo.toml, tasks/seeds/rust-sudoku/files/Cargo.toml, tasks/seeds/rust-tetralite/files/Cargo.toml, tasks/seeds/w18-sc12-integrate/files/go.mod
dependency_bot_commit_share0
Cómo se puntúa
27/45Código verificable por tipos — Python con configuración de verificación de tipos (tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json)
55/55Tamaños de archivo manejables — 1/3117 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languagePython
largest_source_bytes66.834
source_files_sampled3117
oversized_source_files1
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
0/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signalno
api_schema_files

Datos clave

10estrellas de GitHub
1contribuidores
209commits en los últimos 12 meses
0días desde el último push
100versiones publicadas
1factor bus
0issues abiertas
npm, PyPIecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository
  • deps.dev does not index pypi:moonshiner@0.7.0; advisories assessed against the repository dependency graph instead

Más detalle

OpenSSF Scorecard 3.3 / 10
3.3agregado

Evaluación de seguridad independiente y agnóstica en cuanto a herramientas, procedente del proyecto de código abierto OpenSSF Scorecard. Cada comprobación premia una práctica de seguridad, no la herramienta de un proveedor concreto. Las comprobaciones que Scorecard no pudo determinar se marcan como n/d y se excluyen de la puntuación de seguridad (nunca se cuentan como cero).Scorecard v5.5.0 · 2026-07-28 20:13 UTC

8Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
n/dCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
3Vulnerabilities7 existing vulnerabilities detected
Dependencias directas 3
RegistroPaqueteRestricción de versiónManifiesto
npm@earendil-works/pi-coding-agent0.80.7package.json
PyPIhuggingface-hub>=0.27pyproject.toml
PyPIpyarrow>=16pyproject.toml
Todas las dependencias no recopilado

No fue posible recopilar el conjunto de dependencias resuelto para este informe: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 81680,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C": 698167,
        "C#": 908169,
        "Go": 1726749,
        "C++": 372884,
        "HTML": 326,
        "Java": 1267965,
        "Ruby": 245050,
        "Rust": 476925,
        "CMake": 12592,
        "Shell": 924454,
        "Python": 13467631,
        "Assembly": 4182,
        "Makefile": 35048,
        "JavaScript": 88597,
        "PowerShell": 536310,
        "TypeScript": 1580849
      },
      "pushed_at": "2026-07-28T20:12:11Z",
      "created_at": "2026-07-17T17:39:11Z",
      "owner_type": "User",
      "updated_at": "2026-07-28T20:12:24Z",
      "description": "Unified model-distillation harness for code abilities: pi / claude-code / codex teachers, configurable judge, verified agentic traces",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Python",
      "significant_languages": [
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Greg Havens",
      "type": "User",
      "login": "greghavens",
      "company": null,
      "location": null,
      "followers": 5,
      "avatar_url": "https://avatars.githubusercontent.com/u/1730619?v=4",
      "created_at": "2012-05-11T16:03:23Z",
      "is_verified": null,
      "public_repos": 7,
      "account_age_days": 5191
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-07-28T19:56:08Z"
        },
        {
          "tag": "v0.6.9",
          "kind": "patch",
          "published_at": "2026-07-28T19:42:17Z"
        },
        {
          "tag": "v0.6.8",
          "kind": "patch",
          "published_at": "2026-07-28T19:31:02Z"
        },
        {
          "tag": "v0.6.7",
          "kind": "patch",
          "published_at": "2026-07-28T19:00:42Z"
        },
        {
          "tag": "v0.6.6",
          "kind": "patch",
          "published_at": "2026-07-28T18:53:12Z"
        },
        {
          "tag": "v0.6.5",
          "kind": "patch",
          "published_at": "2026-07-28T18:27:32Z"
        },
        {
          "tag": "v0.6.4",
          "kind": "patch",
          "published_at": "2026-07-28T18:21:29Z"
        },
        {
          "tag": "v0.6.3",
          "kind": "patch",
          "published_at": "2026-07-28T17:21:17Z"
        },
        {
          "tag": "v0.6.2",
          "kind": "patch",
          "published_at": "2026-07-28T17:18:12Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-07-28T16:46:24Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-07-28T16:36:34Z"
        },
        {
          "tag": "v0.5.69",
          "kind": "patch",
          "published_at": "2026-07-28T16:19:18Z"
        },
        {
          "tag": "v0.5.68",
          "kind": "patch",
          "published_at": "2026-07-28T05:11:39Z"
        },
        {
          "tag": "v0.5.67",
          "kind": "patch",
          "published_at": "2026-07-28T01:08:41Z"
        },
        {
          "tag": "v0.5.66",
          "kind": "patch",
          "published_at": "2026-07-27T17:09:23Z"
        },
        {
          "tag": "v0.5.65",
          "kind": "patch",
          "published_at": "2026-07-27T16:09:07Z"
        },
        {
          "tag": "v0.5.64",
          "kind": "patch",
          "published_at": "2026-07-25T14:36:31Z"
        },
        {
          "tag": "v0.5.62",
          "kind": "patch",
          "published_at": "2026-07-25T01:15:36Z"
        },
        {
          "tag": "v0.5.61",
          "kind": "patch",
          "published_at": "2026-07-25T01:11:44Z"
        },
        {
          "tag": "v0.5.60",
          "kind": "patch",
          "published_at": "2026-07-25T01:06:16Z"
        },
        {
          "tag": "v0.5.59",
          "kind": "patch",
          "published_at": "2026-07-25T01:03:45Z"
        },
        {
          "tag": "v0.5.58",
          "kind": "patch",
          "published_at": "2026-07-25T00:59:15Z"
        },
        {
          "tag": "v0.5.57",
          "kind": "patch",
          "published_at": "2026-07-25T00:48:59Z"
        },
        {
          "tag": "v0.5.56",
          "kind": "patch",
          "published_at": "2026-07-25T00:45:49Z"
        },
        {
          "tag": "v0.5.55",
          "kind": "patch",
          "published_at": "2026-07-25T00:41:04Z"
        },
        {
          "tag": "v0.5.54",
          "kind": "patch",
          "published_at": "2026-07-25T00:36:22Z"
        },
        {
          "tag": "v0.5.53",
          "kind": "patch",
          "published_at": "2026-07-25T00:30:34Z"
        },
        {
          "tag": "v0.5.51",
          "kind": "patch",
          "published_at": "2026-07-24T22:35:54Z"
        },
        {
          "tag": "v0.5.50",
          "kind": "patch",
          "published_at": "2026-07-24T21:37:52Z"
        },
        {
          "tag": "v0.5.49",
          "kind": "patch",
          "published_at": "2026-07-24T21:17:49Z"
        },
        {
          "tag": "v0.5.48",
          "kind": "patch",
          "published_at": "2026-07-24T19:57:35Z"
        },
        {
          "tag": "v0.5.46",
          "kind": "patch",
          "published_at": "2026-07-24T16:51:47Z"
        },
        {
          "tag": "v0.5.45",
          "kind": "patch",
          "published_at": "2026-07-24T15:53:11Z"
        },
        {
          "tag": "v0.5.44",
          "kind": "patch",
          "published_at": "2026-07-24T15:48:19Z"
        },
        {
          "tag": "v0.5.43",
          "kind": "patch",
          "published_at": "2026-07-24T15:19:00Z"
        },
        {
          "tag": "v0.5.42",
          "kind": "patch",
          "published_at": "2026-07-24T15:11:28Z"
        },
        {
          "tag": "v0.5.41",
          "kind": "patch",
          "published_at": "2026-07-24T15:07:46Z"
        },
        {
          "tag": "v0.5.40",
          "kind": "patch",
          "published_at": "2026-07-24T15:05:43Z"
        },
        {
          "tag": "v0.5.39",
          "kind": "patch",
          "published_at": "2026-07-24T15:02:11Z"
        },
        {
          "tag": "v0.5.38",
          "kind": "patch",
          "published_at": "2026-07-24T14:58:45Z"
        },
        {
          "tag": "v0.5.37",
          "kind": "patch",
          "published_at": "2026-07-24T14:29:09Z"
        },
        {
          "tag": "v0.5.36",
          "kind": "patch",
          "published_at": "2026-07-24T14:23:42Z"
        },
        {
          "tag": "v0.5.35",
          "kind": "patch",
          "published_at": "2026-07-24T04:41:08Z"
        },
        {
          "tag": "v0.5.34",
          "kind": "patch",
          "published_at": "2026-07-24T00:49:46Z"
        },
        {
          "tag": "v0.5.33",
          "kind": "patch",
          "published_at": "2026-07-24T00:19:03Z"
        },
        {
          "tag": "v0.5.32",
          "kind": "patch",
          "published_at": "2026-07-23T23:13:16Z"
        },
        {
          "tag": "v0.5.31",
          "kind": "patch",
          "published_at": "2026-07-23T22:37:33Z"
        },
        {
          "tag": "v0.5.30",
          "kind": "patch",
          "published_at": "2026-07-23T22:10:26Z"
        },
        {
          "tag": "v0.5.29",
          "kind": "patch",
          "published_at": "2026-07-23T21:40:08Z"
        },
        {
          "tag": "v0.5.28",
          "kind": "patch",
          "published_at": "2026-07-23T20:38:54Z"
        },
        {
          "tag": "v0.5.27",
          "kind": "patch",
          "published_at": "2026-07-23T19:54:40Z"
        },
        {
          "tag": "v0.5.26",
          "kind": "patch",
          "published_at": "2026-07-23T19:25:06Z"
        },
        {
          "tag": "v0.5.25",
          "kind": "patch",
          "published_at": "2026-07-23T18:37:27Z"
        },
        {
          "tag": "v0.5.24",
          "kind": "patch",
          "published_at": "2026-07-23T18:23:09Z"
        },
        {
          "tag": "v0.5.23",
          "kind": "patch",
          "published_at": "2026-07-23T16:57:05Z"
        },
        {
          "tag": "v0.5.22",
          "kind": "patch",
          "published_at": "2026-07-23T16:31:48Z"
        },
        {
          "tag": "v0.5.21",
          "kind": "patch",
          "published_at": "2026-07-23T16:17:22Z"
        },
        {
          "tag": "v0.5.20",
          "kind": "patch",
          "published_at": "2026-07-23T16:03:00Z"
        },
        {
          "tag": "v0.5.19",
          "kind": "patch",
          "published_at": "2026-07-23T15:33:11Z"
        },
        {
          "tag": "v0.5.18",
          "kind": "patch",
          "published_at": "2026-07-23T03:54:46Z"
        },
        {
          "tag": "v0.5.17",
          "kind": "patch",
          "published_at": "2026-07-23T03:37:50Z"
        },
        {
          "tag": "v0.5.16",
          "kind": "patch",
          "published_at": "2026-07-23T03:23:51Z"
        },
        {
          "tag": "v0.5.15",
          "kind": "patch",
          "published_at": "2026-07-23T02:30:52Z"
        },
        {
          "tag": "v0.5.14",
          "kind": "patch",
          "published_at": "2026-07-23T02:17:33Z"
        },
        {
          "tag": "v0.5.13",
          "kind": "patch",
          "published_at": "2026-07-23T02:04:21Z"
        },
        {
          "tag": "v0.5.12",
          "kind": "patch",
          "published_at": "2026-07-23T01:51:05Z"
        },
        {
          "tag": "v0.5.11",
          "kind": "patch",
          "published_at": "2026-07-23T01:15:51Z"
        },
        {
          "tag": "v0.5.10",
          "kind": "patch",
          "published_at": "2026-07-23T00:11:33Z"
        },
        {
          "tag": "v0.5.8",
          "kind": "patch",
          "published_at": "2026-07-22T23:25:23Z"
        },
        {
          "tag": "v0.5.7",
          "kind": "patch",
          "published_at": "2026-07-22T22:59:02Z"
        },
        {
          "tag": "v0.5.6",
          "kind": "patch",
          "published_at": "2026-07-22T22:29:05Z"
        },
        {
          "tag": "v0.5.5",
          "kind": "patch",
          "published_at": "2026-07-22T21:25:04Z"
        },
        {
          "tag": "v0.5.4",
          "kind": "patch",
          "published_at": "2026-07-22T21:13:30Z"
        },
        {
          "tag": "v0.5.3",
          "kind": "patch",
          "published_at": "2026-07-22T20:35:30Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2026-07-22T19:44:10Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2026-07-22T19:15:47Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-07-22T19:08:08Z"
        },
        {
          "tag": "v0.4.80",
          "kind": "patch",
          "published_at": "2026-07-22T18:22:28Z"
        },
        {
          "tag": "v0.4.79",
          "kind": "patch",
          "published_at": "2026-07-22T17:29:27Z"
        },
        {
          "tag": "v0.4.78",
          "kind": "patch",
          "published_at": "2026-07-22T17:24:20Z"
        },
        {
          "tag": "v0.4.77",
          "kind": "patch",
          "published_at": "2026-07-22T17:20:03Z"
        },
        {
          "tag": "v0.4.76",
          "kind": "patch",
          "published_at": "2026-07-22T17:16:27Z"
        },
        {
          "tag": "v0.4.74",
          "kind": "patch",
          "published_at": "2026-07-22T17:06:38Z"
        },
        {
          "tag": "v0.4.73",
          "kind": "patch",
          "published_at": "2026-07-22T16:59:59Z"
        },
        {
          "tag": "v0.4.72",
          "kind": "patch",
          "published_at": "2026-07-22T16:51:34Z"
        },
        {
          "tag": "v0.4.71",
          "kind": "patch",
          "published_at": "2026-07-22T16:45:24Z"
        },
        {
          "tag": "v0.4.70",
          "kind": "patch",
          "published_at": "2026-07-22T16:40:00Z"
        },
        {
          "tag": "v0.4.69",
          "kind": "patch",
          "published_at": "2026-07-22T16:23:38Z"
        },
        {
          "tag": "v0.4.68",
          "kind": "patch",
          "published_at": "2026-07-22T14:16:49Z"
        },
        {
          "tag": "v0.4.67",
          "kind": "patch",
          "published_at": "2026-07-22T14:08:14Z"
        },
        {
          "tag": "v0.4.66",
          "kind": "patch",
          "published_at": "2026-07-22T14:00:59Z"
        },
        {
          "tag": "v0.4.65",
          "kind": "patch",
          "published_at": "2026-07-22T03:57:11Z"
        },
        {
          "tag": "v0.4.64",
          "kind": "patch",
          "published_at": "2026-07-22T03:49:19Z"
        },
        {
          "tag": "v0.4.63",
          "kind": "patch",
          "published_at": "2026-07-22T00:41:05Z"
        },
        {
          "tag": "v0.4.62",
          "kind": "patch",
          "published_at": "2026-07-22T00:32:30Z"
        },
        {
          "tag": "v0.4.60",
          "kind": "patch",
          "published_at": "2026-07-21T23:22:57Z"
        },
        {
          "tag": "v0.4.59",
          "kind": "patch",
          "published_at": "2026-07-21T23:17:32Z"
        },
        {
          "tag": "v0.4.58",
          "kind": "patch",
          "published_at": "2026-07-21T23:03:47Z"
        },
        {
          "tag": "v0.4.57",
          "kind": "patch",
          "published_at": "2026-07-21T22:21:40Z"
        },
        {
          "tag": "v0.4.56",
          "kind": "patch",
          "published_at": "2026-07-21T21:46:46Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "0048015e107af63cb0ce888dc125f9757bf4a269",
          "body": "Setup wrote seed_author from the teacher pick, so recreating a project\npointed seed authoring at the metered account that exists to buy traces of\nthe model being distilled. A project that had been authoring on the judge\nruntime lost that setting the moment its configuration was rebuilt, and\nstarted \n[…]\nthe teacher. It now asserts the thing that\nmatters: the shipped config picks no target model, and does not author seeds\non the teacher's runtime.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Leave the seed roles to configuration",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T20:12:07Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "29d4bb853b02f54cd6f5bd49ba26a9665729df29",
          "body": "OpenRouter answers 402 when the account cannot pay for a request, without\nreaching the model. Moonshiner recognised only the phrase Claude Code and\nCodex use, so a 402 was read as an ordinary failed attempt — and an attempt\nis a scarce resource. Fable lost 16 of them to a condition that costs\nnothin\n[…]\nwith the\nreason in errorMessage on the turn, not as a result event, so pi reported\nnothing at all while Codex and Claude Code reported correctly.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Stop the queue when the provider cannot afford the request",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T19:54:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "b94be633d1c82dadafe9aee2f4f5ccc26eaa51d9",
          "body": "…ueue\n\nFour VCF seeds existed, all SDDC Manager, none touching NSX, vCenter, VKS or\nPowerCLI — and none of the 70 PowerShell seeds used PowerCLI at all. This\nplans 250 across eight surfaces and four languages: SDDC Manager, NSX policy,\nvCenter automation, VKS and Supervisor, VCF Operations including\n[…]\n these would have waited behind a\nthousand instruction-following IDs. A plan may now declare a priority, and\nthe queue authors the highest first.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Plan 250 VMware Cloud Foundation 9.1 seeds, and let a plan jump the q…",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T19:40:22Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fe932d70928645f8cd852eb16b3d48a8043d793a",
          "body": "Seeds ship protected verifiers, audit keys and fixture databases with the\nwrite bit cleared. Merging a release into an installed corpus copies onto\nthose files, which raises PermissionError, and that aborted start-up\nentirely: rolling 0.6.7 out left Kimi's queues down because its corpus has\nread-onl\n[…]\n, does not.\n\nThe write bit is cleared before each overwrite. The file keeps the mode it\nships with, since copy2 carries the source's permissions.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Copy over a read-only seed fixture instead of dying on it",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T19:29:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "633dfeaf4c877532b4427ba37738ecfbce80b83c",
          "body": "A project that authors seeds always works from its active corpus, and the\nactive corpus was only ever populated when it did not exist. So a seed fixed\nin a release shipped in every wheel and reached no running project: Fable has\nbeen on the corpus it installed on 21 July while five releases of seed \n[…]\nfers. It merges rather than replaces because that corpus\nalso holds seeds this project authored and has not released yet, and those\nmust survive.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Deliver the seeds a release corrects",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T18:58:48Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8527a5ff3f80944b4cde463876d9c0d73c06791b",
          "body": "Moonshiner runs several projects side by side on one machine, so the updater\nrestarts each one it discovered. It was handing them its own environment,\nand the CLI puts MOONSHINER_HOME there to name the state of the project it\nwas started in. The next project then resolved its state to the first\nproj\n[…]\nng at Fable's state and never started.\n\nThe variable is now dropped for each restart, so every project resolves its\nstate from its own directory.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Restart each project with its own state",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T18:51:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8c469be5040681643ef3598bd8f3928e6388c113",
          "body": "behavior-dependency-planning-0118 required the literal substring \"changed\" in\nits result line. The task only asks the program to \"say whether the\nconditional change was made\", so a correct summary reading \"conditional\nchange made\" was rejected. The trace that hit this spent its full hour-long\ntimeou\n[…]\nhe check this seed exists to fail.\n\nThe claim is now read instead of matched — negation first, so \"unchanged\" can\nnever be mistaken for a change.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Judge the reported action, not the word used to report it",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T18:25:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3c7e29eacb9f67482e71b1280ea6946766b620e6",
          "body": "Draining is a property of the queue: the moment nothing is executing in it,\nit is drained. The updater was testing the wrong thing — it looked for the\njob process, which owns the lease and lives across all of its attempts, so a\nseed that burns the full hour-long trace timeout three times holds the d\n[…]\ncontinues — work in flight is still never cut short.\n\nPolling drops from 15s to 1s, because the gap is short and catching it is the\nentire point.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Drain a queue, not a job",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T18:19:33Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f0743fd2b76128c7e4bee28f249f0fc668638e71",
          "body": "Supervised, the queue ran one pass and exited. Restart=always turned that into\na restart every ten seconds, and each restart re-imported the modules and\nre-read the whole 3060-seed corpus and the ledger to discover there was still\nnothing to do. Fable's queue burned 108 restarts that way without per\n[…]\n\nsupervisor does not restart into a wall, and without --watch it stays one-shot\nfor manual runs.\n\n469 tests pass; 3060 seeds complete, 0 partial.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Let the correction queue wait instead of respawning",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T17:19:25Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1e0118d1045a4f10d39e18e473136f24f6c6e3c2",
          "body": "The publish queue crash-looped 203 times on a JSONDecodeError reading a corpus\nthat was entirely valid. str.splitlines breaks on every Unicode line boundary —\nU+2028, U+2029, \\x0b, \\x0c, \\x1c, \\x1d, \\x1e, \\x85 — and all of those appear\nlegitimately inside JSON string values. An imported corpus of 22\n[…]\ndule goes back to splitlines for JSONL — it caught the Codex parser that\nthe first sweep missed.\n\n466 tests pass; 3060 seeds complete, 0 partial.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Split JSONL on newlines only",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T17:16:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "64818fe99e671b27c14c4f59c058cd7361b31d12",
          "body": "…rpus\n\ngo-generated-code-trap declared .moonshiner/verify.py as a protected test file\nthat was never committed: .gitignore excluded .moonshiner/, so the seed only\never worked from an untracked copy on disk, and that copy is gone. The verifier\nis rewritten from the seed's own success contract.\n\nIt ha\n[…]\ny seed. They are untracked and excluded, so a seed\nrelease no longer ships them.\n\n461 tests pass; 3060 seeds complete, 0 partial; check.sh green.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Restore the last incomplete seed and keep sandbox state out of the co…",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T16:44:24Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ac1e26dc9c6435ec5a80d33b0fb22dddfddc6589",
          "body": "Replacing the release under a running coordinator forfeits whatever it is\nholding. A claimed job carries a lease, real metered teacher and judge spend,\nand one of a limited attempt allowance, so an update that interrupts one throws\nthat away and the seed comes back no further along than before.\n\nmoo\n[…]\n or ps are unavailable rather\nthan failing the update.\n\n--drain-timeout bounds the wait, --no-restart leaves the queues stopped.\n\n461 tests pass.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Update without losing work: drain, wait, restart",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T16:30:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a00bbdaef4c36794af443275d2ce9605bdda0291",
          "body": "A wipe of an entire project directory is what prompted this. Cleanup was added\nto preflight_seed_environment that removed whatever materialize returned; that\nfunction's existing test doubles materialize with the repository root, harmless\nuntil the day something started deleting the result. ignore_er\n[…]\n ten\nincomplete seeds; the seed corpus is now exempt from those rules and nine of\nthe ten are restored from an installed corpus.\n\n456 tests pass.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Make a workspace the only thing Moonshiner can delete",
          "author_name": "Greg Havens",
          "author_login": "greghavens",
          "committed_at": "2026-07-28T16:13:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "2a4bbafd285cac5b8853578dc748bd2942eb8f8e",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3059 -> 3060; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-interface-slimming",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T05:42:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "430cee339b8f46f0b1762cf1e8250a5fe3489dcd",
          "body": "…inish\n\nTwo faults that each took down more than the seed they touched.\n\nset_job wrote jobs.attempts unconditionally, and several callers pass the\nattempt number they knew about, which can be stale by the time it lands: a\nworker finishing an attempt races the next claim, and the deferred requeue\nre-\n[…]\n. Removal now\nclears the read-only bit and retries, and both prune paths share it, so a\nsingle unremovable directory no longer abandons the rest.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Stop a stale outcome replaying an attempt number, and let the sweep f…",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T05:07:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9aaa7108596529d57ebef0ce59b432fe17a505ba",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3057 -> 3059; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 2 new seeds: go-generated-drift-gate, go-hmac-compare",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T04:58:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7584e3aa3eee7f822cc8b4e1f2ce1a99153438cb",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3056 -> 3057; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-generated-code-trap",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T04:38:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5bf5ca8b6a214aba91602bc61c0b5d3ba4ae94c",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3055 -> 3056; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-event-version-backfill",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T04:20:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "573f0637e337b08b3f2b732e48f07a5d5a603ef8",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3054 -> 3055; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-csvlimits",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T04:14:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20a382fd6ce51fccec96062f8426f1ecfc3dc6e4",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3053 -> 3054; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-correlation-boundary",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T03:56:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e655416dbafe80529df77661014d09c7bfe58a1d",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3052 -> 3053; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-commandbatch",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T01:50:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1527365922ea1e1f1186a236d46672d868e8802",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3051 -> 3052; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-concurrentartifact",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T01:39:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7b668afed995823462467be104e4103e98c5c58",
          "body": "The synthetic correction queue has never accepted a correction in either\nproject: Fable had 468 eligible candidates and Kimi 434, both with zero\naccepted. Two separate faults each took the whole queue down.\n\neligible_exhausted_attempts selected attempts on artifact_path IS NOT NULL but\nnever checked\n[…]\ntill fails closed after three in a row.\n\nBoth faults are covered by tests, including that a broken reviewer stops\ninstead of burning the backlog.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Keep the correction queue alive through unusable candidates",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-28T01:06:18Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "74264908a19a763f9f38a275aec049309cb3f0df",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3049 -> 3051; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 2 new seeds: go-case-sensitive-key, go-changefeedcommit",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T19:03:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38e669d3e1d9faa6f06843151e6a5533093da1a8",
          "body": "Authored and judge-accepted by the Moonshiner seed pipeline. Corpus 3048 -> 3049; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 1 new seed: go-blob-metadata-rollout",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T18:34:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68236813a21726356e1a1c176c3eba0bd581feef",
          "body": "…-config\n\nAuthored and judge-accepted by the Moonshiner seed pipeline. Corpus 3046 -> 3048; check.sh green.",
          "is_bot": false,
          "headline": "Bring in 2 new seeds: csharp-viewport-incremental-load, go-bad-deploy…",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T18:12:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "410d1cfbb9ee127014b454f426ed9f8b7bae90b5",
          "body": "check.sh has never passed. It ran two audits that each asserted the wrong\nthing, so the gate that sync_seeds.sh uses before committing a seed could\nnever be satisfied — including by the seed that would satisfy it.\n\naudit_behavior_seeds.py selected seeds by globbing the behavior- name prefix,\nwhich i\n[…]\n than asserted, so the numbers stay\nvisible without failing an integrity gate.\n\n442 tests pass; 3046 seeds complete, 0 partial; check.sh exits 0.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Audit the whole seed corpus through one path and turn check.sh green",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T17:07:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eb3bdc1af13323942bdedab3147d7b4235b909d9",
          "body": "go-interval-merge and ts-event-emitter declared a verify_cmd but shipped no\nreference_fix.patch, so neither had a solvability proof and both failed the\ncorpus audit.\n\ngo-interval-merge sorted the caller's slice in place and treated touching\nhalf-open ranges as disjoint. The fix sorts a copy and merg\n[…]\nnst the\nseed's own verify_cmd: go test -timeout 30s ./... and node --test\ntest_emitter.ts both pass. audit_seeds is now 3046 complete, 0 partial.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 0.5.65 and add two missing reference fixes",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T16:07:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "19d22351bf033694a0e346b0294271047855c338",
          "body": "348 seeds existed in the repository as task.json alone: their files/ and\nreference_fix.patch were never tracked. Tracing read the installed corpus, so\nproduction was unaffected and the gap stayed invisible — but a seed whose\nfixtures are not in the repository is not really in the corpus, and authori\n[…]\nalled corpus, and have never produced a trace. audit_seeds reports\nthem; completing or retiring them is a corpus decision and is left alone here.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Restore seed fixtures that were never checked in",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T15:34:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a56ba580969c155192ea5ffe50f498e2fdcc738b",
          "body": "Seeds\n-----\nMoonshiner is the source of Moonshiner seeds. Seed authoring now promotes an\naccepted seed straight into the repository clone's tasks/seeds, so a seed\ncannot exist without being checked in. seed_repo ensures the clone is present\n(cloning it when absent) and refuses a checkout that is not\n[…]\n-repo-check: archived attempt directories are\nfile copies rather than checkouts, and Codex refuses an untrusted\nnon-repository working directory.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Author seeds into the repository and stop persisting usage limits",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-27T15:33:47Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "854e5e9c31f0c6e29c643b42f47f9a7055e80631",
          "body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 0.5.64",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T14:34:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ca366f69a5cf9dc3cb2ae3f5e63794501fe54e8f",
          "body": "The test hardcoded a path containing the local username, which only\nmatched on the development machine.  Split into two tests: one that\nverifies /var~ is never manufactured (original intent, now portable),\nand one that scrubs the actual current home directory.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Fix scrub_text test portability for CI",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T14:34:42Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "186e74fed5b2f4b0da2a50ab951ce0e3ccc5ede8",
          "body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Bump version to 0.5.63",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T14:32:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "9adfb5106eb4dc440a17e1eeb18933721a23def1",
          "body": "scrub_text() only replaced ROOT (the source repo), missing the project\nworking directory and user home.  Traces generated outside the source\ntree (e.g. GLM pipeline) leaked host paths through tool-call arguments,\ncausing privacy findings that blocked publication.  Now scrub\nPROJECT_ROOT, Path.home()\n[…]\n built_tasks() rejected the entire task\ndespite a valid trace being present.  Skip imported rows whose task\nalready has a Moonshiner-built row.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Scrub project and home paths from traces; skip superseded imports",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T14:31:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c31a1ffb72c3300b04446a45042a4df4be4c959c",
          "body": null,
          "is_bot": false,
          "headline": "Preserve canonical mirror when HF entry is unavailable",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T01:13:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da58314e33c5574f3cd04bffa5de518ebc087d60",
          "body": null,
          "is_bot": false,
          "headline": "Download canonical Xet files through Hugging Face",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T01:10:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6020430b8da7212a3e4853353c894206219c6c12",
          "body": null,
          "is_bot": false,
          "headline": "Rebuild damaged Parquet shards from canonical JSON",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T01:04:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d3b99ad9ec671e313654b8b6e952985bfc22548",
          "body": null,
          "is_bot": false,
          "headline": "Use Hugging Face CLI authentication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T01:01:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21e0a921ea037d8bac8fd37a2507fe378d2f7eb1",
          "body": null,
          "is_bot": false,
          "headline": "Fix publisher refresh and invalid batch isolation",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:57:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e10402b4ccba1106a34b2ee39aac37ecf5e892b",
          "body": null,
          "is_bot": false,
          "headline": "Retry canonical fetch during HF revision propagation",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:47:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f74c50f817c578bc593f66d4eacf031db63281f8",
          "body": null,
          "is_bot": false,
          "headline": "Block invalid artifacts without blocking publish batches",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:44:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cbe2011b8155e67ede5385885a44762a4fb3c8c4",
          "body": null,
          "is_bot": false,
          "headline": "Validate replacement semantics at task boundary",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6ab7493fa7d62b4477169c0f18c1195c45debdd",
          "body": null,
          "is_bot": false,
          "headline": "Allow replacements over retained historical poison",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:34:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0627247d65693e7ba2526831f356f08f237beefc",
          "body": null,
          "is_bot": false,
          "headline": "Align release version metadata",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:29:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8bdae934d5231794be8a4ef590e46f3bc94c4011",
          "body": null,
          "is_bot": false,
          "headline": "Fix canonical trace publication batches",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-25T00:21:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "081135c1256bd057250cb932d27a691312abbbb1",
          "body": null,
          "is_bot": false,
          "headline": "Fix cumulative trace replacement imports",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T22:34:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19fa6c1b8309114c1e7b5f9b8ed51cf13ae9ffb8",
          "body": null,
          "is_bot": false,
          "headline": "Validate canonical replacements before commit",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T21:35:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b4b44469597e46ac78868e1a58c528a66bb7414",
          "body": null,
          "is_bot": false,
          "headline": "Preserve canonical rows during migration",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T21:16:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8edd0c6663e9a05f36bd36c5c2118f3655fd8d2",
          "body": null,
          "is_bot": false,
          "headline": "Fix trace infrastructure and consolidate seeds",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T19:55:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6d9630e7be4ed4bccd543dc903600754c0efc4d",
          "body": null,
          "is_bot": false,
          "headline": "Remove published baseline behavior",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T16:59:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f441899bb417e7ff7a8748b3278ebc925a8ca8ad",
          "body": null,
          "is_bot": false,
          "headline": "Rollback publisher reconciliation changes",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T16:49:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "327d907d4839ea15d2298bfd14904b14848d9e3b",
          "body": null,
          "is_bot": false,
          "headline": "Publish task replacements to configured format",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:51:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68f23b54dc6d5544a6f5c0e78120e248bbcd8093",
          "body": null,
          "is_bot": false,
          "headline": "Reconcile exact trace replacements",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:46:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac4084eee604969c94d4a22b11ad9add59fc74dc",
          "body": null,
          "is_bot": false,
          "headline": "Restore approved pipeline and task identity",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:17:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c23dd53759a78bbfa4154113c5e1690c38876de",
          "body": null,
          "is_bot": false,
          "headline": "Grandfather preserved publication baselines",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:10:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8b7b03573ec9cadb528b050087652d78c48bde29",
          "body": null,
          "is_bot": false,
          "headline": "Accept export dispatcher arguments",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:06:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd4d3143777671d26497fb3dcd2e80001ea56164",
          "body": null,
          "is_bot": false,
          "headline": "Normalize mixed current trace identities",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:04:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f033016440af4f9dd5d103c8731757709451a9dc",
          "body": null,
          "is_bot": false,
          "headline": "Restore retained publication baseline explicitly",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T15:00:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c70d06a8e6c0fad736beb04dbd5ad29872b99b60",
          "body": null,
          "is_bot": false,
          "headline": "Reconcile trace replacements safely",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T14:57:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d9a9982069a56845162951690de6c0f0c8d5b74",
          "body": null,
          "is_bot": false,
          "headline": "Finalize trace workspace lifecycle",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T14:27:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3deebcd2d7d09b82c862fddaa2d8754154fef3c7",
          "body": null,
          "is_bot": false,
          "headline": "Prune abandoned trace workspaces",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T14:22:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e71ec84a68767e396936c6fd79059132ba7c65f2",
          "body": null,
          "is_bot": false,
          "headline": "Remove accepted trace workspaces",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T14:17:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f1c89426bc25ece62f9f5edc738255e0de381c7",
          "body": "_configure_pi_provider was creating separate runtime names (pi-openrouter,\npi-zai) per provider instead of updating runtimes.pi in place. This violated\nthe one-pipeline invariant by introducing divergent config keys for identical\ncode paths. Now all Pi-based pipelines use runtime name \"pi\" with prov\n[…]\nfactor to hoist live_secret_values out of recursive\ncalls, version bump to 0.5.35, CLAUDE.md added, skill sync note in\nAGENTS.md and CLAUDE.md.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "Unify Pi runtime name across all pipelines",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T04:24:15Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "12a5fab4eb00da416d525cf051747635e644e6d3",
          "body": null,
          "is_bot": false,
          "headline": "Advance canonical publish baseline after migration",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T00:48:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b54be16b646cb031ecdd2465be6ba264c9658cd",
          "body": null,
          "is_bot": false,
          "headline": "Validate privacy on canonical values",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-24T00:17:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d06a98659c82d36e8daf1c727ebf05ebdd1b1a78",
          "body": null,
          "is_bot": false,
          "headline": "Scrub migration values without rewriting JSON",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T23:11:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a40e6eb859e283d3fa9880c7e7e43b1452a38fb",
          "body": null,
          "is_bot": false,
          "headline": "Handle stale canonical migration output",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T22:36:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "760f81051bc19466da3ce2c0c087169c400d099a",
          "body": null,
          "is_bot": false,
          "headline": "Safely scrub serialized email findings",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T22:08:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c43625e69e9c5d9eb46f10811e0dca24af55488d",
          "body": null,
          "is_bot": false,
          "headline": "Scrub canonical rows at validation boundary",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T21:38:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3caa2312e8b264f7a9cef067741c178de0c6a2ee",
          "body": null,
          "is_bot": false,
          "headline": "Scrub normalized historical rows before publication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T20:37:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f60a0a1760ababc6a951bdb4d2e008f5309d20fc",
          "body": null,
          "is_bot": false,
          "headline": "Scrub sensitive dictionary keys",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T19:53:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a98c9f647dcd4ee14237842bd5ffc04e99943aa",
          "body": null,
          "is_bot": false,
          "headline": "Scrub historical rows during canonical migration",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T19:23:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6070639ba40427b3b9651b5b5160c4eb400a765c",
          "body": null,
          "is_bot": false,
          "headline": "Prevent contaminated trace reconstruction",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T18:36:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb93dc55433a7390827caa8614606e519d8b495a",
          "body": null,
          "is_bot": false,
          "headline": "Restore native harness trace execution",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T18:20:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a28aaf3042a4fe9086ba2cbaee78c7b5545de587",
          "body": null,
          "is_bot": false,
          "headline": "Remove prompt-contaminated trajectories from publication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T16:55:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e3eccc9b07a498ce9feea5d1660e9526070cc56",
          "body": null,
          "is_bot": false,
          "headline": "Restore missing canonical provenance during migration",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T16:30:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bb953473dabd779bf5c6e1a9c56792c810c4d85",
          "body": null,
          "is_bot": false,
          "headline": "Migrate enriched historical dataset rows",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T16:15:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62a33281406e9c51bc7b30a73d52676a17f75345",
          "body": null,
          "is_bot": false,
          "headline": "Handle mixed canonical dataset revisions",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T16:01:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26cbe5c9d8d9475a6107df1a1e58e6f9f8858a66",
          "body": null,
          "is_bot": false,
          "headline": "Normalize every published dataset schema",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T15:30:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e7bc4f063931210756093591cb81c02e2fba0da",
          "body": null,
          "is_bot": false,
          "headline": "Migrate active shards on schema evolution",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T03:53:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a98acb15b2a0a200a01fa0b291df6cd5e79913c",
          "body": null,
          "is_bot": false,
          "headline": "Allow validated task replacements in publication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T03:36:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fec05391f88ed35215cbb779f009aa99826ef881",
          "body": null,
          "is_bot": false,
          "headline": "Preserve legacy rows in canonical publication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T03:22:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86dbdbc624a4fb5c45b097461a16bc7e4e2fa81a",
          "body": null,
          "is_bot": false,
          "headline": "Unify provenance across dataset exporters",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T02:29:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83fe0c0b3d7709824b535517cd47384cb3e02b65",
          "body": null,
          "is_bot": false,
          "headline": "Preserve imported trace provenance during export",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T02:15:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8911097e5df24541724c7c6e77b21024f4e2be1",
          "body": null,
          "is_bot": false,
          "headline": "Handle imported traces without tool schemas",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T02:02:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18ecc33001435c694606c466e99fd0fd89a96a7e",
          "body": null,
          "is_bot": false,
          "headline": "Preserve native Pi tool arguments",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T01:49:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd822389b88014f2d4a600605470530a254f680d",
          "body": null,
          "is_bot": false,
          "headline": "Fix setup metadata prompts and seed queue deduplication",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T01:14:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d196b8abcdfba1710aea5a7fab28559b1224be9",
          "body": null,
          "is_bot": false,
          "headline": "Keep dataset help side effect free",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T00:09:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a7c800485998d2db5f268c37da47a2d310647d4",
          "body": null,
          "is_bot": false,
          "headline": "Add native Z.AI setup and safe resume prompts",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-23T00:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "235a2419abb2f6aed703f4045c5dfb33f4b2528a",
          "body": null,
          "is_bot": false,
          "headline": "Support historical dataset shard migration",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T23:23:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c74565ed24d5268d717e2ab4408b5c6580674628",
          "body": null,
          "is_bot": false,
          "headline": "Make Claude Code a judge-only runtime",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T22:57:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a61eb87178eaea7ab8a0b5c85622b99b63cc4526",
          "body": null,
          "is_bot": false,
          "headline": "Add generic trace queue controls",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T22:27:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3dcdb203fcee05a7a14424f1caeef0c5edcc0c5c",
          "body": null,
          "is_bot": false,
          "headline": "Preserve extra refs during HF history maintenance",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T21:23:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ad5f695c6bfe1b6f358c520a23f68cfffced009",
          "body": null,
          "is_bot": false,
          "headline": "Add safe Hugging Face history maintenance",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T21:11:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ceef21a4355fd295334c092e49950008a4e3d9da",
          "body": null,
          "is_bot": false,
          "headline": "Stream Pi output and allow Parquet-only publishing",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T20:34:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "715ebef54ae2c1bcdd51147c18bd65123f7940d7",
          "body": null,
          "is_bot": false,
          "headline": "Persist reasoning effort and bulk retry history",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T19:42:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a2e728f6bfde52c4b01e9935f29471b0f54b941",
          "body": null,
          "is_bot": false,
          "headline": "Keep packaged version metadata in sync",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T19:14:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7ba24279651c74db47cd0dad98b1a5a57f5bbcba",
          "body": null,
          "is_bot": false,
          "headline": "Add trace reasoning step-down policy",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T19:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6f1650fe26ba2242d75459a71bc6497f5261838",
          "body": null,
          "is_bot": false,
          "headline": "Add judged synthetic correction companion pipeline",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T18:20:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9f9461da8b6b9f8255c5bdea5deb650afe846e0",
          "body": null,
          "is_bot": false,
          "headline": "Discover changed trajectory row counts without hashes",
          "author_name": "Greg Havens",
          "author_login": null,
          "committed_at": "2026-07-22T17:27:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 209,
      "latest_release_at": "2026-07-28T19:56:08Z",
      "latest_release_tag": "v0.7.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 2,
      "days_since_latest_release": 0,
      "mean_days_between_releases": 0
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "moonshiner",
          "exists": true,
          "license": null,
          "keywords": [
            "License :: OSI Approved :: Apache Software License"
          ],
          "ecosystem": "pypi",
          "matches_repo": true,
          "registry_url": "https://pypi.org/project/moonshiner/",
          "is_deprecated": false,
          "latest_version": "0.7.0",
          "repository_url": "https://github.com/greghavens/moonshiner",
          "versions_count": 103,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": "2026-07-21T17:22:13.898398Z",
          "latest_published_at": "2026-07-28T19:56:25.574777Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 0
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 10,
      "watchers": 1,
      "fork_history": {
        "days": [
          {
            "date": "2026-07-27",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "tasks/seeds/asm-c-abi-stack-align/files/Makefile",
        "tasks/seeds/bash-build-entrypoint/files/Makefile",
        "tasks/seeds/bash-it-mountrecover/files/Makefile",
        "tasks/seeds/c-bitvec/files/Makefile",
        "tasks/seeds/c-boundary-table-parser/files/Makefile",
        "tasks/seeds/c-bounds-patch-review/files/Makefile",
        "tasks/seeds/c-c4perft/files/Makefile",
        "tasks/seeds/c-cardshuf/files/Makefile",
        "tasks/seeds/c-chimeplan/files/Makefile",
        "tasks/seeds/c-coldvan/files/Makefile",
        "tasks/seeds/c-confpool/files/Makefile",
        "tasks/seeds/c-csvrow/files/Makefile",
        "tasks/seeds/c-dusweep/files/Makefile",
        "tasks/seeds/c-dynarray/files/Makefile",
        "tasks/seeds/c-firmware-config-owner/files/Makefile",
        "tasks/seeds/c-grainband/files/Makefile",
        "tasks/seeds/c-gritroute/files/Makefile",
        "tasks/seeds/c-hashslot/files/Makefile",
        "tasks/seeds/c-iniscan/files/Makefile",
        "tasks/seeds/c-kvunesc/files/Makefile",
        "tasks/seeds/c-log-after-corruption/files/Makefile",
        "tasks/seeds/c-lrulink/files/Makefile",
        "tasks/seeds/c-mazeuf/files/Makefile",
        "tasks/seeds/c-minesolver/files/Makefile",
        "tasks/seeds/c-nurserylot/files/Makefile",
        "tasks/seeds/c-opaque-session-handle/files/Makefile",
        "tasks/seeds/c-packed-checksum-layout/files/Makefile",
        "tasks/seeds/c-packed-record-version/files/Makefile",
        "tasks/seeds/c-panelframe/files/Makefile",
        "tasks/seeds/c-pkgconfig-static-links/files/Makefile",
        "tasks/seeds/c-recfile/files/Makefile",
        "tasks/seeds/c-recursionbudget/files/Makefile",
        "tasks/seeds/c-reportfix/files/Makefile",
        "tasks/seeds/c-reproducible-archive/files/Makefile",
        "tasks/seeds/c-ring-copy-budget/files/Makefile",
        "tasks/seeds/c-ringbuf/files/Makefile",
        "tasks/seeds/c-serial-partial-write/files/Makefile",
        "tasks/seeds/c-signal-restart-incident/files/Makefile",
        "tasks/seeds/c-signal-safe-notifier/files/Makefile",
        "tasks/seeds/c-snakering/files/Makefile",
        "tasks/seeds/c-snowroute/files/Makefile",
        "tasks/seeds/c-tidechart/files/Makefile",
        "tasks/seeds/c-tlv-forward-compat/files/Makefile",
        "tasks/seeds/c-toksplit/files/Makefile",
        "tasks/seeds/c-tttbit/files/Makefile",
        "tasks/seeds/c-ventplan/files/Makefile",
        "tasks/seeds/cpp-allocator-failure-unwind/files/Makefile",
        "tasks/seeds/cpp-cache-local-layout/files/Makefile",
        "tasks/seeds/cpp-cachepath/files/Makefile",
        "tasks/seeds/cpp-cellarlog/files/Makefile",
        "tasks/seeds/cpp-chessperft/files/Makefile",
        "tasks/seeds/cpp-clinicqueue/files/Makefile",
        "tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile",
        "tasks/seeds/cpp-crash-dump-symbol/files/Makefile",
        "tasks/seeds/cpp-cribbage/files/Makefile",
        "tasks/seeds/cpp-engine-boundary/files/Makefile",
        "tasks/seeds/cpp-exported-targets/files/Makefile",
        "tasks/seeds/cpp-exprvisit/files/Makefile",
        "tasks/seeds/cpp-fairride/files/Makefile",
        "tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile",
        "tasks/seeds/cpp-filterview/files/Makefile",
        "tasks/seeds/cpp-framebudget/files/Makefile",
        "tasks/seeds/cpp-gomoku/files/Makefile",
        "tasks/seeds/cpp-index-layout-move/files/Makefile",
        "tasks/seeds/cpp-inlinevec/files/Makefile",
        "tasks/seeds/cpp-medaltally/files/Makefile",
        "tasks/seeds/cpp-mortarmix/files/Makefile",
        "tasks/seeds/cpp-owner-patch-review/files/Makefile",
        "tasks/seeds/cpp-pyramid/files/Makefile",
        "tasks/seeds/cpp-quiltgrid/files/Makefile",
        "tasks/seeds/cpp-raiiguard/files/Makefile",
        "tasks/seeds/cpp-refcard/files/Makefile",
        "tasks/seeds/cpp-shopreport/files/Makefile",
        "tasks/seeds/cpp-snapshotreplace/files/Makefile",
        "tasks/seeds/cpp-sokoban/files/Makefile",
        "tasks/seeds/cpp-test-oracle-bug/files/Makefile",
        "tasks/seeds/cpp-turnstile/files/Makefile",
        "tasks/seeds/cpp-ultimatettt/files/Makefile",
        "tasks/seeds/cpp-vatstats/files/Makefile",
        "tasks/seeds/cpp-vendored-checksum/files/Makefile",
        "tasks/seeds/go-generated-drift-gate/files/Makefile",
        "tasks/seeds/w18-sc14-diagnose/files/Makefile",
        "tasks/seeds/w18-sc14-review/files/Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tasks/seeds/ts-bikedock/files/tsconfig.json",
        "tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json",
        "tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json",
        "tasks/seeds/ts-lockermap/files/tsconfig.json",
        "tasks/seeds/ts-plotroster/files/tsconfig.json",
        "tasks/seeds/ts-signfleet/files/tsconfig.json",
        "tasks/seeds/ts-skatehire/files/tsconfig.json",
        "tasks/seeds/ts-washcycle/files/tsconfig.json"
      ],
      "toolchain_manifests": [
        "tasks/seeds/cs-rpsbots/files/RpsBots.csproj",
        "tasks/seeds/cs-sidepots/files/SidePots.csproj",
        "tasks/seeds/cs-tenpin/files/Tenpin.csproj",
        "tasks/seeds/cs-uno/files/Uno.csproj",
        "tasks/seeds/cs-wordlesolver/files/WordleSolver.csproj",
        "tasks/seeds/cs-wordsearch/files/WordSearch.csproj",
        "tasks/seeds/csharp-aspnet-auth-upgrade/files/PortalSecurity.csproj",
        "tasks/seeds/csharp-authz-object-scope/files/AuthzScope.Tests/AuthzScope.Tests.csproj",
        "tasks/seeds/csharp-authz-object-scope/files/AuthzScope/AuthzScope.csproj",
        "tasks/seeds/csharp-aws-cloudwatch-token/files/CloudWatchTokenExport.csproj",
        "tasks/seeds/csharp-azure-arm-lro/files/ArmLro.csproj",
        "tasks/seeds/csharp-bagline/files/BagLine.csproj",
        "tasks/seeds/csharp-billingpartition/files/src/BillingPartition/BillingPartition.csproj",
        "tasks/seeds/csharp-billingpartition/files/tests/BillingPartition.Tests/BillingPartition.Tests.csproj",
        "tasks/seeds/csharp-cache-stampede/files/src/StampedeCache/StampedeCache.csproj",
        "tasks/seeds/csharp-cache-stampede/files/tests/StampedeCache.Tests/StampedeCache.Tests.csproj",
        "tasks/seeds/csharp-central-package-lock/files/src/Core/Core.csproj",
        "tasks/seeds/csharp-central-package-lock/files/src/Desktop/Desktop.csproj",
        "tasks/seeds/csharp-claim-pipeline/files/ClaimPipeline.csproj",
        "tasks/seeds/csharp-clock-skew-incident/files/src/ClockSkewIncident/ClockSkewIncident.csproj",
        "tasks/seeds/csharp-clock-skew-incident/files/tests/ClockSkewIncident.Tests/ClockSkewIncident.Tests.csproj",
        "tasks/seeds/csharp-commandcodec/files/src/CommandCodec/CommandCodec.csproj",
        "tasks/seeds/csharp-commandcodec/files/tests/CommandCodec.ProtectedTests/CommandCodec.ProtectedTests.csproj",
        "tasks/seeds/csharp-confluent-connect-monitor/files/ConnectMonitor.csproj",
        "tasks/seeds/csharp-cookie-hardening/files/CookieHardening.csproj",
        "tasks/seeds/csharp-cookie-hardening/files/protected_tests/CookieHardening.ProtectedTests.csproj",
        "tasks/seeds/csharp-databricks-serving-endpoint/files/DbxServing.csproj",
        "tasks/seeds/csharp-default-precedence/files/src/MoonRelay.Configuration/MoonRelay.Configuration.csproj",
        "tasks/seeds/csharp-default-precedence/files/tests/MoonRelay.Configuration.Tests/MoonRelay.Configuration.Tests.csproj",
        "tasks/seeds/csharp-dockledger/files/DockLedger.csproj",
        "tasks/seeds/csharp-dynatrace-slo-evaluate/files/SloEvaluate.csproj",
        "tasks/seeds/csharp-emailparts/files/EmailParts.csproj",
        "tasks/seeds/csharp-encrypted-field-rotation/files/src/EncryptedFieldRotation/EncryptedFieldRotation.csproj",
        "tasks/seeds/csharp-encrypted-field-rotation/files/tests/EncryptedFieldRotation.ProtectedTests/EncryptedFieldRotation.ProtectedTests.csproj",
        "tasks/seeds/csharp-errorcontext/files/src/ErrorContext/ErrorContext.csproj",
        "tasks/seeds/csharp-errorcontext/files/tests/ErrorContext.Tests/ErrorContext.Tests.csproj",
        "tasks/seeds/csharp-fault-injection-cleanup/files/src/Persistence/Persistence.csproj",
        "tasks/seeds/csharp-fault-injection-cleanup/files/tests/Persistence.ProtectedTests/Persistence.ProtectedTests.csproj",
        "tasks/seeds/csharp-ferryhub/files/FerryHub.csproj",
        "tasks/seeds/csharp-gazetterun/files/GazetteRun.csproj",
        "tasks/seeds/csharp-gearrepo/files/GearRepo.csproj",
        "tasks/seeds/csharp-ghe-audit-stream/files/GheAuditStream.csproj",
        "tasks/seeds/csharp-graph-delta-users/files/GraphDeltaSync.csproj",
        "tasks/seeds/csharp-jira-attachment-upload/files/JiraAttachmentUpload.csproj",
        "tasks/seeds/csharp-kennelcard/files/KennelCard.csproj",
        "tasks/seeds/csharp-labelkit/files/LabelKit.csproj",
        "tasks/seeds/csharp-laserjob/files/LaserJob.csproj",
        "tasks/seeds/csharp-marketcart/files/MarketCart.csproj",
        "tasks/seeds/csharp-microfiche/files/Microfiche.csproj",
        "tasks/seeds/csharp-mobile-offline-outbox/files/src/MobileOfflineOutbox/MobileOfflineOutbox.csproj",
        "tasks/seeds/csharp-mobile-offline-outbox/files/tests/MobileOfflineOutbox.ProtectedTests/MobileOfflineOutbox.ProtectedTests.csproj",
        "tasks/seeds/csharp-modulefacade/files/ModuleFacade.Tests.csproj",
        "tasks/seeds/csharp-museumloan/files/MuseumLoan.csproj",
        "tasks/seeds/csharp-newrelic-synthetic-monitor/files/SyntheticMonitor.csproj",
        "tasks/seeds/csharp-notification-dispatch/files/src/ParcelFlow/ParcelFlow.csproj",
        "tasks/seeds/csharp-notification-dispatch/files/tests/ParcelFlow.Tests/ParcelFlow.Tests.csproj",
        "tasks/seeds/csharp-nuget-symbols/files/src/Deterministic.Text/Deterministic.Text.csproj",
        "tasks/seeds/csharp-obsrun/files/ObsRun.csproj",
        "tasks/seeds/csharp-okta-systemlog-after/files/OktaSystemLog.csproj",
        "tasks/seeds/csharp-oracle-hcm-action/files/OracleHcmAction.csproj",
        "tasks/seeds/csharp-orchardsales/files/OrchardSales.csproj",
        "tasks/seeds/csharp-outfitter/files/Outfitter.csproj",
        "tasks/seeds/csharp-patchbay/files/PatchBay.csproj",
        "tasks/seeds/csharp-pathreport/files/CourierDesk.csproj",
        "tasks/seeds/csharp-plotspool/files/PlotSpool.csproj",
        "tasks/seeds/csharp-pressquote/files/PressQuote.csproj",
        "tasks/seeds/csharp-propsquote/files/PropsQuote.csproj",
        "tasks/seeds/csharp-replicaread/files/ReplicaRead.csproj",
        "tasks/seeds/csharp-roastqueue/files/RoastQueue.csproj",
        "tasks/seeds/csharp-saga-compensation/files/src/SagaCompensation/SagaCompensation.csproj",
        "tasks/seeds/csharp-saga-compensation/files/tests/SagaCompensation.ProtectedTests/SagaCompensation.ProtectedTests.csproj",
        "tasks/seeds/csharp-salesforce-query-cursor/files/SalesforceQueryExport.csproj",
        "tasks/seeds/csharp-sap-csrf-batch/files/SapCsrfBatch.csproj",
        "tasks/seeds/csharp-snow-cmdb-upsert/files/CmdbUpsert.csproj",
        "tasks/seeds/csharp-snowflake-query-retry/files/QueryRetry.csproj",
        "tasks/seeds/csharp-splunk-hec-batch/files/SplunkHecBatch.csproj",
        "tasks/seeds/csharp-swimheats/files/SwimHeats.csproj",
        "tasks/seeds/csharp-tenant-key-rollout/files/src/TenantKeyRollout/TenantKeyRollout.csproj",
        "tasks/seeds/csharp-tenant-key-rollout/files/tests/TenantKeyRollout.Tests/TenantKeyRollout.Tests.csproj",
        "tasks/seeds/csharp-token-refresh-storm/files/src/TokenRefreshStorm/TokenRefreshStorm.csproj",
        "tasks/seeds/csharp-token-refresh-storm/files/tests/TokenRefreshStorm.Tests/TokenRefreshStorm.Tests.csproj",
        "tasks/seeds/csharp-toollend/files/ToolLend.csproj",
        "tasks/seeds/csharp-vault-namespace-list/files/VaultNamespaceList.csproj",
        "tasks/seeds/csharp-viewport-incremental-load/files/src/ViewportIncrementalLoad/ViewportIncrementalLoad.csproj",
        "tasks/seeds/csharp-viewport-incremental-load/files/tests/ViewportIncrementalLoad.ProtectedTests/ViewportIncrementalLoad.ProtectedTests.csproj",
        "tasks/seeds/csharp-wiredepot/files/WireDepot.csproj",
        "tasks/seeds/go-arcpack/files/go.mod",
        "tasks/seeds/go-atlas-oauth-projects/files/go.mod",
        "tasks/seeds/go-audit-ownership/files/go.mod",
        "tasks/seeds/go-aws-dynamodb-pages/files/go.mod",
        "tasks/seeds/go-azure-resourcegraph-skiptoken/files/go.mod",
        "tasks/seeds/go-backoff/files/go.mod",
        "tasks/seeds/go-bad-deploy-config/files/go.mod",
        "tasks/seeds/go-batch-flush/files/go.mod",
        "tasks/seeds/go-birdsurvey/files/go.mod",
        "tasks/seeds/go-blackjack/files/go.mod",
        "tasks/seeds/go-blob-metadata-rollout/files/go.mod",
        "tasks/seeds/go-bloomset/files/go.mod",
        "tasks/seeds/go-body-budget/files/go.mod",
        "tasks/seeds/go-buildgraph/files/go.mod",
        "tasks/seeds/go-bunkboard/files/go.mod",
        "tasks/seeds/go-burst-runner/files/go.mod",
        "tasks/seeds/go-calibcli/files/go.mod",
        "tasks/seeds/go-cancel-fanout/files/go.mod",
        "tasks/seeds/go-case-sensitive-key/files/go.mod",
        "tasks/seeds/go-changefeedcommit/files/go.mod",
        "tasks/seeds/go-checkers/files/go.mod",
        "tasks/seeds/go-checkpoint/files/go.mod",
        "tasks/seeds/go-cidrkit/files/go.mod",
        "tasks/seeds/go-circuit-breaker/files/go.mod",
        "tasks/seeds/go-cmdline/files/go.mod",
        "tasks/seeds/go-commandbatch/files/go.mod",
        "tasks/seeds/go-concurrentartifact/files/go.mod",
        "tasks/seeds/go-confluent-rest-produce/files/go.mod",
        "tasks/seeds/go-context-cause/files/go.mod",
        "tasks/seeds/go-correlation-boundary/files/go.mod",
        "tasks/seeds/go-cronsched/files/go.mod",
        "tasks/seeds/go-crosscompile-assets/files/go.mod",
        "tasks/seeds/go-csv-decode/files/go.mod",
        "tasks/seeds/go-csv-report/files/go.mod",
        "tasks/seeds/go-csvlimits/files/go.mod",
        "tasks/seeds/go-dashfeed/files/go.mod",
        "tasks/seeds/go-databricks-statement-exec/files/go.mod",
        "tasks/seeds/go-datadog-monitor-pages/files/go.mod",
        "tasks/seeds/go-dirwalk/files/go.mod",
        "tasks/seeds/go-dirwatch/files/go.mod",
        "tasks/seeds/go-dlpool/files/go.mod",
        "tasks/seeds/go-dupfinder/files/go.mod",
        "tasks/seeds/go-edgeproxy/files/go.mod",
        "tasks/seeds/go-envrender/files/go.mod",
        "tasks/seeds/go-event-version-backfill/files/go.mod",
        "tasks/seeds/go-eventbus/files/go.mod",
        "tasks/seeds/go-fair-semaphore/files/go.mod",
        "tasks/seeds/go-farebands/files/go.mod",
        "tasks/seeds/go-fieldquote/files/go.mod",
        "tasks/seeds/go-flagbind/files/go.mod",
        "tasks/seeds/go-flagengine/files/go.mod",
        "tasks/seeds/go-flowrun/files/go.mod",
        "tasks/seeds/go-flowschema/files/go.mod",
        "tasks/seeds/go-framebuf/files/go.mod",
        "tasks/seeds/go-gcp-storage-resumable/files/go.mod",
        "tasks/seeds/go-generated-client-seam/files/go.mod",
        "tasks/seeds/go-generated-code-trap/files/go.mod",
        "tasks/seeds/go-generated-drift-gate/files/go.mod",
        "tasks/seeds/go-ghe-app-token/files/go.mod",
        "tasks/seeds/go-gitlab-pipeline-watcher/files/go.mod",
        "tasks/seeds/go-globmatch/files/go.mod",
        "tasks/seeds/go-group-runner/files/go.mod",
        "tasks/seeds/go-grpc-api-shift/files/go.mod",
        "tasks/seeds/go-hashring/files/go.mod",
        "tasks/seeds/go-healbudget/files/go.mod",
        "tasks/seeds/go-histogram/files/go.mod",
        "tasks/seeds/go-hit-stats/files/go.mod",
        "tasks/seeds/go-hmac-compare/files/go.mod",
        "tasks/seeds/go-httpretry/files/go.mod",
        "tasks/seeds/go-idxplan/files/go.mod",
        "tasks/seeds/go-indexpq/files/go.mod",
        "tasks/seeds/go-interface-slimming/files/go.mod",
        "tasks/seeds/go-interval-merge/files/go.mod",
        "tasks/seeds/go-inventory-api/files/go.mod",
        "tasks/seeds/go-job-drain/files/go.mod",
        "tasks/seeds/go-jobargs/files/go.mod",
        "tasks/seeds/go-jobflow/files/go.mod",
        "tasks/seeds/go-json-shape/files/go.mod",
        "tasks/seeds/go-k8s-job-watch/files/go.mod",
        "tasks/seeds/go-kvlog/files/go.mod",
        "tasks/seeds/go-kvwal/files/go.mod",
        "tasks/seeds/go-layered-config/files/go.mod",
        "tasks/seeds/go-ledger-apply/files/go.mod",
        "tasks/seeds/go-lifegrid/files/go.mod",
        "tasks/seeds/go-logfmt/files/go.mod",
        "tasks/seeds/go-logrotate/files/go.mod",
        "tasks/seeds/go-logtail/files/go.mod",
        "tasks/seeds/go-lru-cache/files/go.mod",
        "tasks/seeds/go-lzrle/files/go.mod",
        "tasks/seeds/go-manifest-load/files/go.mod",
        "tasks/seeds/go-map-snapshot/files/go.mod",
        "tasks/seeds/go-mazekit/files/go.mod",
        "tasks/seeds/go-meraki-action-batch/files/go.mod",
        "tasks/seeds/go-metrics/files/go.mod",
        "tasks/seeds/go-migrunner/files/go.mod",
        "tasks/seeds/go-modcycles/files/go.mod",
        "tasks/seeds/go-money/files/go.mod",
        "tasks/seeds/go-mwchain/files/go.mod",
        "tasks/seeds/go-nil-envelope/files/go.mod",
        "tasks/seeds/go-ontap-consistency-group/files/go.mod",
        "tasks/seeds/go-orderfsm/files/go.mod",
        "tasks/seeds/go-otel-semconv-move/files/go.mod",
        "tasks/seeds/go-otel-semconv-move/files/third_party/otel/go.mod",
        "tasks/seeds/go-outbox/files/go.mod",
        "tasks/seeds/go-packslip/files/go.mod",
        "tasks/seeds/go-pagewalk/files/go.mod",
        "tasks/seeds/go-path-router/files/go.mod",
        "tasks/seeds/go-planttags/files/go.mod",
        "tasks/seeds/go-pokereval/files/go.mod",
        "tasks/seeds/go-port-race-test/files/go.mod",
        "tasks/seeds/go-protoseq/files/go.mod",
        "tasks/seeds/go-provider2/files/go.mod",
        "tasks/seeds/go-pubsub/files/go.mod",
        "tasks/seeds/go-quorum-read-repair/files/go.mod",
        "tasks/seeds/go-quotasvc/files/go.mod",
        "tasks/seeds/go-record-import/files/go.mod",
        "tasks/seeds/go-reldrift/files/go.mod",
        "tasks/seeds/go-resumeup/files/go.mod",
        "tasks/seeds/go-retry/files/go.mod",
        "tasks/seeds/go-reviewflag/files/go.mod",
        "tasks/seeds/go-ringbuf/files/go.mod",
        "tasks/seeds/go-sawplan/files/go.mod",
        "tasks/seeds/go-scanner-ceiling/files/go.mod",
        "tasks/seeds/go-session-store/files/go.mod",
        "tasks/seeds/go-shardplan/files/go.mod",
        "tasks/seeds/go-shift-window/files/go.mod",
        "tasks/seeds/go-shiplog/files/go.mod",
        "tasks/seeds/go-slice-alias/files/go.mod",
        "tasks/seeds/go-snapprune/files/go.mod",
        "tasks/seeds/go-snipdoc/files/go.mod",
        "tasks/seeds/go-snowflake-partition-results/files/go.mod",
        "tasks/seeds/go-sortid/files/go.mod",
        "tasks/seeds/go-spanoverlap/files/go.mod",
        "tasks/seeds/go-statuspoll/files/go.mod",
        "tasks/seeds/go-stockroom/files/go.mod",
        "tasks/seeds/go-streamdiff/files/go.mod",
        "tasks/seeds/go-supervisor/files/go.mod",
        "tasks/seeds/go-switchcase/files/go.mod",
        "tasks/seeds/go-syncdelta/files/go.mod",
        "tasks/seeds/go-taskrunner/files/go.mod",
        "tasks/seeds/go-telewire/files/go.mod",
        "tasks/seeds/go-text-preview/files/go.mod",
        "tasks/seeds/go-textindex/files/go.mod",
        "tasks/seeds/go-tfe-run-queue/files/go.mod",
        "tasks/seeds/go-thumbwarm/files/go.mod",
        "tasks/seeds/go-timeout-fetch/files/go.mod",
        "tasks/seeds/go-timer-rearm/files/go.mod",
        "tasks/seeds/go-token-bucket/files/go.mod",
        "tasks/seeds/go-trailperm/files/go.mod",
        "tasks/seeds/go-treehash/files/go.mod",
        "tasks/seeds/go-tripsettle/files/go.mod",
        "tasks/seeds/go-tseries/files/go.mod",
        "tasks/seeds/go-ttl-map/files/go.mod",
        "tasks/seeds/go-ttt-server/files/go.mod",
        "tasks/seeds/go-txnredo/files/go.mod",
        "tasks/seeds/go-unitreg/files/go.mod",
        "tasks/seeds/go-uploadgate/files/go.mod",
        "tasks/seeds/go-urlshort/files/go.mod",
        "tasks/seeds/go-vault-kv-cas/files/go.mod",
        "tasks/seeds/go-vcf-task-watcher/files/go.mod",
        "tasks/seeds/go-word-tally/files/go.mod",
        "tasks/seeds/go-wordfreq/files/go.mod",
        "tasks/seeds/go-worker-pool/files/go.mod",
        "tasks/seeds/go-xmlenvelope/files/go.mod",
        "tasks/seeds/java-printspec/files/pom.xml",
        "tasks/seeds/rs-cfgparse/files/Cargo.toml",
        "tasks/seeds/rs-charslice/files/Cargo.toml",
        "tasks/seeds/rs-cidermill/files/Cargo.toml",
        "tasks/seeds/rs-clap-command-upgrade/files/Cargo.toml",
        "tasks/seeds/rs-cliargs/files/Cargo.toml",
        "tasks/seeds/rs-cragstats/files/Cargo.toml",
        "tasks/seeds/rs-cuesheet/files/Cargo.toml",
        "tasks/seeds/rs-darkroom/files/Cargo.toml",
        "tasks/seeds/rs-freightquote/files/Cargo.toml",
        "tasks/seeds/rs-gatebadge/files/Cargo.toml",
        "tasks/seeds/rs-handleheap/files/Cargo.toml",
        "tasks/seeds/rs-intervalset/files/Cargo.toml",
        "tasks/seeds/rs-irrplan/files/Cargo.toml",
        "tasks/seeds/rs-iteradapt/files/Cargo.toml",
        "tasks/seeds/rs-logingest/files/Cargo.toml",
        "tasks/seeds/rs-mapreport/files/Cargo.toml",
        "tasks/seeds/rs-millreport/files/Cargo.toml",
        "tasks/seeds/rs-mpscpipe/files/Cargo.toml",
        "tasks/seeds/rs-multiscan/files/Cargo.toml",
        "tasks/seeds/rs-nansort/files/Cargo.toml",
        "tasks/seeds/rs-postrate/files/Cargo.toml",
        "tasks/seeds/rs-rategate/files/Cargo.toml",
        "tasks/seeds/rs-rcweaktree/files/Cargo.toml",
        "tasks/seeds/rs-ropelite/files/Cargo.toml",
        "tasks/seeds/rs-rpnvm/files/Cargo.toml",
        "tasks/seeds/rs-scopedproc/files/Cargo.toml",
        "tasks/seeds/rs-seatmap/files/Cargo.toml",
        "tasks/seeds/rs-shelftag/files/Cargo.toml",
        "tasks/seeds/rs-signalbox/files/Cargo.toml",
        "tasks/seeds/rs-sizecast/files/Cargo.toml",
        "tasks/seeds/rs-slabarena/files/Cargo.toml",
        "tasks/seeds/rs-swapremove/files/Cargo.toml",
        "tasks/seeds/rs-taskdeps/files/Cargo.toml",
        "tasks/seeds/rs-textstats/files/Cargo.toml",
        "tasks/seeds/rs-themecss/files/Cargo.toml",
        "tasks/seeds/rs-tillroll/files/Cargo.toml",
        "tasks/seeds/rs-tomlite/files/Cargo.toml",
        "tasks/seeds/rs-toolshed/files/Cargo.toml",
        "tasks/seeds/rs-unescape/files/Cargo.toml",
        "tasks/seeds/rs-varint/files/Cargo.toml",
        "tasks/seeds/rs-weighbridge/files/Cargo.toml",
        "tasks/seeds/rs-weightavg/files/Cargo.toml",
        "tasks/seeds/rs-workspace-owner/files/Cargo.toml",
        "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-agent/Cargo.toml",
        "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-facade/Cargo.toml",
        "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-protocol/Cargo.toml",
        "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-storage/Cargo.toml",
        "tasks/seeds/rs-wximport/files/Cargo.toml",
        "tasks/seeds/rust-freecell/files/Cargo.toml",
        "tasks/seeds/rust-nim/files/Cargo.toml",
        "tasks/seeds/rust-reversi/files/Cargo.toml",
        "tasks/seeds/rust-roguelite/files/Cargo.toml",
        "tasks/seeds/rust-sudoku/files/Cargo.toml",
        "tasks/seeds/rust-tetralite/files/Cargo.toml",
        "tasks/seeds/w18-sc12-integrate/files/go.mod"
      ],
      "largest_source_bytes": 66834,
      "source_files_sampled": 3117,
      "oversized_source_files": 1,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 8828
    },
    "dependencies": {
      "manifests": [
        "package.json",
        "pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "@earendil-works/pi-coding-agent",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "0.80.7"
        },
        {
          "name": "huggingface-hub",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=0.27"
        },
        {
          "name": "pyarrow",
          "manifest": "pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=16"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 1,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "greghavens",
          "commits": 10,
          "avatar_url": "https://avatars.githubusercontent.com/u/1730619?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "release.yml",
        "seeds-release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": true,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock",
        "go.sum",
        "package-lock.json",
        "packages.lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 8,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 3,
            "reason": "7 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "0048015e107af63cb0ce888dc125f9757bf4a269",
        "ran_at": "2026-07-28T20:13:56Z",
        "aggregate_score": 3.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-28T20:12:16Z",
      "oldest_open_prs": [
        {
          "number": 2,
          "created_at": "2026-07-26T20:28:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-19T16:05:56Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/greghavens/moonshiner",
    "host": "github.com",
    "name": "moonshiner",
    "owner": "greghavens"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 53,
      "inputs": {
        "security": 33,
        "vitality": 69,
        "community": 32,
        "governance": 52,
        "engineering": 71
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 69,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "commits_last_year": 209,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 2
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "2/52 weeks with commits",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 2
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "209 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 209
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 100,
              "latest_release_tag": "v0.7.0",
              "releases_from_tags": false,
              "days_since_latest_release": 0,
              "mean_days_between_releases": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "100 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 100
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~0 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 0
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 32,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 16,
            "inputs": {
              "forks": 1,
              "stars": 10,
              "watchers": 1,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "10 stars",
                "points": 15.5,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "1 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 52,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "merged_prs": 1,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1/1 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1,
                      "decided": 1
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 43,
            "inputs": {
              "followers": 5,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "greghavens",
              "public_repos": 7,
              "account_age_days": 5191
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "5 followers of greghavens",
                "points": 5.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 5,
                      "login": "greghavens"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "7 public repos, account ~14 yr old",
                "points": 18.6,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 7
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 14
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "moonshiner"
              ],
              "ecosystems": "pypi",
              "any_deprecated": false,
              "min_days_since_publish": 0
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on pypi",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "pypi"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 0 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "103 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 103
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 71,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": true,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 6.4,
                "status": "met",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 33,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 33,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 3.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "7 existing vulnerabilities detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 66,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "moderate",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 63,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.33,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 8828
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "33 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 17.6,
                "status": "partial",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 33,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 72,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock",
                "go.sum",
                "package-lock.json",
                "packages.lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "tasks/seeds/asm-c-abi-stack-align/files/Makefile",
                "tasks/seeds/bash-build-entrypoint/files/Makefile",
                "tasks/seeds/bash-it-mountrecover/files/Makefile",
                "tasks/seeds/c-bitvec/files/Makefile",
                "tasks/seeds/c-boundary-table-parser/files/Makefile",
                "tasks/seeds/c-bounds-patch-review/files/Makefile",
                "tasks/seeds/c-c4perft/files/Makefile",
                "tasks/seeds/c-cardshuf/files/Makefile",
                "tasks/seeds/c-chimeplan/files/Makefile",
                "tasks/seeds/c-coldvan/files/Makefile",
                "tasks/seeds/c-confpool/files/Makefile",
                "tasks/seeds/c-csvrow/files/Makefile",
                "tasks/seeds/c-dusweep/files/Makefile",
                "tasks/seeds/c-dynarray/files/Makefile",
                "tasks/seeds/c-firmware-config-owner/files/Makefile",
                "tasks/seeds/c-grainband/files/Makefile",
                "tasks/seeds/c-gritroute/files/Makefile",
                "tasks/seeds/c-hashslot/files/Makefile",
                "tasks/seeds/c-iniscan/files/Makefile",
                "tasks/seeds/c-kvunesc/files/Makefile",
                "tasks/seeds/c-log-after-corruption/files/Makefile",
                "tasks/seeds/c-lrulink/files/Makefile",
                "tasks/seeds/c-mazeuf/files/Makefile",
                "tasks/seeds/c-minesolver/files/Makefile",
                "tasks/seeds/c-nurserylot/files/Makefile",
                "tasks/seeds/c-opaque-session-handle/files/Makefile",
                "tasks/seeds/c-packed-checksum-layout/files/Makefile",
                "tasks/seeds/c-packed-record-version/files/Makefile",
                "tasks/seeds/c-panelframe/files/Makefile",
                "tasks/seeds/c-pkgconfig-static-links/files/Makefile",
                "tasks/seeds/c-recfile/files/Makefile",
                "tasks/seeds/c-recursionbudget/files/Makefile",
                "tasks/seeds/c-reportfix/files/Makefile",
                "tasks/seeds/c-reproducible-archive/files/Makefile",
                "tasks/seeds/c-ring-copy-budget/files/Makefile",
                "tasks/seeds/c-ringbuf/files/Makefile",
                "tasks/seeds/c-serial-partial-write/files/Makefile",
                "tasks/seeds/c-signal-restart-incident/files/Makefile",
                "tasks/seeds/c-signal-safe-notifier/files/Makefile",
                "tasks/seeds/c-snakering/files/Makefile",
                "tasks/seeds/c-snowroute/files/Makefile",
                "tasks/seeds/c-tidechart/files/Makefile",
                "tasks/seeds/c-tlv-forward-compat/files/Makefile",
                "tasks/seeds/c-toksplit/files/Makefile",
                "tasks/seeds/c-tttbit/files/Makefile",
                "tasks/seeds/c-ventplan/files/Makefile",
                "tasks/seeds/cpp-allocator-failure-unwind/files/Makefile",
                "tasks/seeds/cpp-cache-local-layout/files/Makefile",
                "tasks/seeds/cpp-cachepath/files/Makefile",
                "tasks/seeds/cpp-cellarlog/files/Makefile",
                "tasks/seeds/cpp-chessperft/files/Makefile",
                "tasks/seeds/cpp-clinicqueue/files/Makefile",
                "tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile",
                "tasks/seeds/cpp-crash-dump-symbol/files/Makefile",
                "tasks/seeds/cpp-cribbage/files/Makefile",
                "tasks/seeds/cpp-engine-boundary/files/Makefile",
                "tasks/seeds/cpp-exported-targets/files/Makefile",
                "tasks/seeds/cpp-exprvisit/files/Makefile",
                "tasks/seeds/cpp-fairride/files/Makefile",
                "tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile",
                "tasks/seeds/cpp-filterview/files/Makefile",
                "tasks/seeds/cpp-framebudget/files/Makefile",
                "tasks/seeds/cpp-gomoku/files/Makefile",
                "tasks/seeds/cpp-index-layout-move/files/Makefile",
                "tasks/seeds/cpp-inlinevec/files/Makefile",
                "tasks/seeds/cpp-medaltally/files/Makefile",
                "tasks/seeds/cpp-mortarmix/files/Makefile",
                "tasks/seeds/cpp-owner-patch-review/files/Makefile",
                "tasks/seeds/cpp-pyramid/files/Makefile",
                "tasks/seeds/cpp-quiltgrid/files/Makefile",
                "tasks/seeds/cpp-raiiguard/files/Makefile",
                "tasks/seeds/cpp-refcard/files/Makefile",
                "tasks/seeds/cpp-shopreport/files/Makefile",
                "tasks/seeds/cpp-snapshotreplace/files/Makefile",
                "tasks/seeds/cpp-sokoban/files/Makefile",
                "tasks/seeds/cpp-test-oracle-bug/files/Makefile",
                "tasks/seeds/cpp-turnstile/files/Makefile",
                "tasks/seeds/cpp-ultimatettt/files/Makefile",
                "tasks/seeds/cpp-vatstats/files/Makefile",
                "tasks/seeds/cpp-vendored-checksum/files/Makefile",
                "tasks/seeds/go-generated-drift-gate/files/Makefile",
                "tasks/seeds/w18-sc14-diagnose/files/Makefile",
                "tasks/seeds/w18-sc14-review/files/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tasks/seeds/ts-bikedock/files/tsconfig.json",
                "tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json",
                "tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json",
                "tasks/seeds/ts-lockermap/files/tsconfig.json",
                "tasks/seeds/ts-plotroster/files/tsconfig.json",
                "tasks/seeds/ts-signfleet/files/tsconfig.json",
                "tasks/seeds/ts-skatehire/files/tsconfig.json",
                "tasks/seeds/ts-washcycle/files/tsconfig.json"
              ],
              "agent_commit_share": 0.24,
              "toolchain_manifests": [
                "tasks/seeds/cs-rpsbots/files/RpsBots.csproj",
                "tasks/seeds/cs-sidepots/files/SidePots.csproj",
                "tasks/seeds/cs-tenpin/files/Tenpin.csproj",
                "tasks/seeds/cs-uno/files/Uno.csproj",
                "tasks/seeds/cs-wordlesolver/files/WordleSolver.csproj",
                "tasks/seeds/cs-wordsearch/files/WordSearch.csproj",
                "tasks/seeds/csharp-aspnet-auth-upgrade/files/PortalSecurity.csproj",
                "tasks/seeds/csharp-authz-object-scope/files/AuthzScope.Tests/AuthzScope.Tests.csproj",
                "tasks/seeds/csharp-authz-object-scope/files/AuthzScope/AuthzScope.csproj",
                "tasks/seeds/csharp-aws-cloudwatch-token/files/CloudWatchTokenExport.csproj",
                "tasks/seeds/csharp-azure-arm-lro/files/ArmLro.csproj",
                "tasks/seeds/csharp-bagline/files/BagLine.csproj",
                "tasks/seeds/csharp-billingpartition/files/src/BillingPartition/BillingPartition.csproj",
                "tasks/seeds/csharp-billingpartition/files/tests/BillingPartition.Tests/BillingPartition.Tests.csproj",
                "tasks/seeds/csharp-cache-stampede/files/src/StampedeCache/StampedeCache.csproj",
                "tasks/seeds/csharp-cache-stampede/files/tests/StampedeCache.Tests/StampedeCache.Tests.csproj",
                "tasks/seeds/csharp-central-package-lock/files/src/Core/Core.csproj",
                "tasks/seeds/csharp-central-package-lock/files/src/Desktop/Desktop.csproj",
                "tasks/seeds/csharp-claim-pipeline/files/ClaimPipeline.csproj",
                "tasks/seeds/csharp-clock-skew-incident/files/src/ClockSkewIncident/ClockSkewIncident.csproj",
                "tasks/seeds/csharp-clock-skew-incident/files/tests/ClockSkewIncident.Tests/ClockSkewIncident.Tests.csproj",
                "tasks/seeds/csharp-commandcodec/files/src/CommandCodec/CommandCodec.csproj",
                "tasks/seeds/csharp-commandcodec/files/tests/CommandCodec.ProtectedTests/CommandCodec.ProtectedTests.csproj",
                "tasks/seeds/csharp-confluent-connect-monitor/files/ConnectMonitor.csproj",
                "tasks/seeds/csharp-cookie-hardening/files/CookieHardening.csproj",
                "tasks/seeds/csharp-cookie-hardening/files/protected_tests/CookieHardening.ProtectedTests.csproj",
                "tasks/seeds/csharp-databricks-serving-endpoint/files/DbxServing.csproj",
                "tasks/seeds/csharp-default-precedence/files/src/MoonRelay.Configuration/MoonRelay.Configuration.csproj",
                "tasks/seeds/csharp-default-precedence/files/tests/MoonRelay.Configuration.Tests/MoonRelay.Configuration.Tests.csproj",
                "tasks/seeds/csharp-dockledger/files/DockLedger.csproj",
                "tasks/seeds/csharp-dynatrace-slo-evaluate/files/SloEvaluate.csproj",
                "tasks/seeds/csharp-emailparts/files/EmailParts.csproj",
                "tasks/seeds/csharp-encrypted-field-rotation/files/src/EncryptedFieldRotation/EncryptedFieldRotation.csproj",
                "tasks/seeds/csharp-encrypted-field-rotation/files/tests/EncryptedFieldRotation.ProtectedTests/EncryptedFieldRotation.ProtectedTests.csproj",
                "tasks/seeds/csharp-errorcontext/files/src/ErrorContext/ErrorContext.csproj",
                "tasks/seeds/csharp-errorcontext/files/tests/ErrorContext.Tests/ErrorContext.Tests.csproj",
                "tasks/seeds/csharp-fault-injection-cleanup/files/src/Persistence/Persistence.csproj",
                "tasks/seeds/csharp-fault-injection-cleanup/files/tests/Persistence.ProtectedTests/Persistence.ProtectedTests.csproj",
                "tasks/seeds/csharp-ferryhub/files/FerryHub.csproj",
                "tasks/seeds/csharp-gazetterun/files/GazetteRun.csproj",
                "tasks/seeds/csharp-gearrepo/files/GearRepo.csproj",
                "tasks/seeds/csharp-ghe-audit-stream/files/GheAuditStream.csproj",
                "tasks/seeds/csharp-graph-delta-users/files/GraphDeltaSync.csproj",
                "tasks/seeds/csharp-jira-attachment-upload/files/JiraAttachmentUpload.csproj",
                "tasks/seeds/csharp-kennelcard/files/KennelCard.csproj",
                "tasks/seeds/csharp-labelkit/files/LabelKit.csproj",
                "tasks/seeds/csharp-laserjob/files/LaserJob.csproj",
                "tasks/seeds/csharp-marketcart/files/MarketCart.csproj",
                "tasks/seeds/csharp-microfiche/files/Microfiche.csproj",
                "tasks/seeds/csharp-mobile-offline-outbox/files/src/MobileOfflineOutbox/MobileOfflineOutbox.csproj",
                "tasks/seeds/csharp-mobile-offline-outbox/files/tests/MobileOfflineOutbox.ProtectedTests/MobileOfflineOutbox.ProtectedTests.csproj",
                "tasks/seeds/csharp-modulefacade/files/ModuleFacade.Tests.csproj",
                "tasks/seeds/csharp-museumloan/files/MuseumLoan.csproj",
                "tasks/seeds/csharp-newrelic-synthetic-monitor/files/SyntheticMonitor.csproj",
                "tasks/seeds/csharp-notification-dispatch/files/src/ParcelFlow/ParcelFlow.csproj",
                "tasks/seeds/csharp-notification-dispatch/files/tests/ParcelFlow.Tests/ParcelFlow.Tests.csproj",
                "tasks/seeds/csharp-nuget-symbols/files/src/Deterministic.Text/Deterministic.Text.csproj",
                "tasks/seeds/csharp-obsrun/files/ObsRun.csproj",
                "tasks/seeds/csharp-okta-systemlog-after/files/OktaSystemLog.csproj",
                "tasks/seeds/csharp-oracle-hcm-action/files/OracleHcmAction.csproj",
                "tasks/seeds/csharp-orchardsales/files/OrchardSales.csproj",
                "tasks/seeds/csharp-outfitter/files/Outfitter.csproj",
                "tasks/seeds/csharp-patchbay/files/PatchBay.csproj",
                "tasks/seeds/csharp-pathreport/files/CourierDesk.csproj",
                "tasks/seeds/csharp-plotspool/files/PlotSpool.csproj",
                "tasks/seeds/csharp-pressquote/files/PressQuote.csproj",
                "tasks/seeds/csharp-propsquote/files/PropsQuote.csproj",
                "tasks/seeds/csharp-replicaread/files/ReplicaRead.csproj",
                "tasks/seeds/csharp-roastqueue/files/RoastQueue.csproj",
                "tasks/seeds/csharp-saga-compensation/files/src/SagaCompensation/SagaCompensation.csproj",
                "tasks/seeds/csharp-saga-compensation/files/tests/SagaCompensation.ProtectedTests/SagaCompensation.ProtectedTests.csproj",
                "tasks/seeds/csharp-salesforce-query-cursor/files/SalesforceQueryExport.csproj",
                "tasks/seeds/csharp-sap-csrf-batch/files/SapCsrfBatch.csproj",
                "tasks/seeds/csharp-snow-cmdb-upsert/files/CmdbUpsert.csproj",
                "tasks/seeds/csharp-snowflake-query-retry/files/QueryRetry.csproj",
                "tasks/seeds/csharp-splunk-hec-batch/files/SplunkHecBatch.csproj",
                "tasks/seeds/csharp-swimheats/files/SwimHeats.csproj",
                "tasks/seeds/csharp-tenant-key-rollout/files/src/TenantKeyRollout/TenantKeyRollout.csproj",
                "tasks/seeds/csharp-tenant-key-rollout/files/tests/TenantKeyRollout.Tests/TenantKeyRollout.Tests.csproj",
                "tasks/seeds/csharp-token-refresh-storm/files/src/TokenRefreshStorm/TokenRefreshStorm.csproj",
                "tasks/seeds/csharp-token-refresh-storm/files/tests/TokenRefreshStorm.Tests/TokenRefreshStorm.Tests.csproj",
                "tasks/seeds/csharp-toollend/files/ToolLend.csproj",
                "tasks/seeds/csharp-vault-namespace-list/files/VaultNamespaceList.csproj",
                "tasks/seeds/csharp-viewport-incremental-load/files/src/ViewportIncrementalLoad/ViewportIncrementalLoad.csproj",
                "tasks/seeds/csharp-viewport-incremental-load/files/tests/ViewportIncrementalLoad.ProtectedTests/ViewportIncrementalLoad.ProtectedTests.csproj",
                "tasks/seeds/csharp-wiredepot/files/WireDepot.csproj",
                "tasks/seeds/go-arcpack/files/go.mod",
                "tasks/seeds/go-atlas-oauth-projects/files/go.mod",
                "tasks/seeds/go-audit-ownership/files/go.mod",
                "tasks/seeds/go-aws-dynamodb-pages/files/go.mod",
                "tasks/seeds/go-azure-resourcegraph-skiptoken/files/go.mod",
                "tasks/seeds/go-backoff/files/go.mod",
                "tasks/seeds/go-bad-deploy-config/files/go.mod",
                "tasks/seeds/go-batch-flush/files/go.mod",
                "tasks/seeds/go-birdsurvey/files/go.mod",
                "tasks/seeds/go-blackjack/files/go.mod",
                "tasks/seeds/go-blob-metadata-rollout/files/go.mod",
                "tasks/seeds/go-bloomset/files/go.mod",
                "tasks/seeds/go-body-budget/files/go.mod",
                "tasks/seeds/go-buildgraph/files/go.mod",
                "tasks/seeds/go-bunkboard/files/go.mod",
                "tasks/seeds/go-burst-runner/files/go.mod",
                "tasks/seeds/go-calibcli/files/go.mod",
                "tasks/seeds/go-cancel-fanout/files/go.mod",
                "tasks/seeds/go-case-sensitive-key/files/go.mod",
                "tasks/seeds/go-changefeedcommit/files/go.mod",
                "tasks/seeds/go-checkers/files/go.mod",
                "tasks/seeds/go-checkpoint/files/go.mod",
                "tasks/seeds/go-cidrkit/files/go.mod",
                "tasks/seeds/go-circuit-breaker/files/go.mod",
                "tasks/seeds/go-cmdline/files/go.mod",
                "tasks/seeds/go-commandbatch/files/go.mod",
                "tasks/seeds/go-concurrentartifact/files/go.mod",
                "tasks/seeds/go-confluent-rest-produce/files/go.mod",
                "tasks/seeds/go-context-cause/files/go.mod",
                "tasks/seeds/go-correlation-boundary/files/go.mod",
                "tasks/seeds/go-cronsched/files/go.mod",
                "tasks/seeds/go-crosscompile-assets/files/go.mod",
                "tasks/seeds/go-csv-decode/files/go.mod",
                "tasks/seeds/go-csv-report/files/go.mod",
                "tasks/seeds/go-csvlimits/files/go.mod",
                "tasks/seeds/go-dashfeed/files/go.mod",
                "tasks/seeds/go-databricks-statement-exec/files/go.mod",
                "tasks/seeds/go-datadog-monitor-pages/files/go.mod",
                "tasks/seeds/go-dirwalk/files/go.mod",
                "tasks/seeds/go-dirwatch/files/go.mod",
                "tasks/seeds/go-dlpool/files/go.mod",
                "tasks/seeds/go-dupfinder/files/go.mod",
                "tasks/seeds/go-edgeproxy/files/go.mod",
                "tasks/seeds/go-envrender/files/go.mod",
                "tasks/seeds/go-event-version-backfill/files/go.mod",
                "tasks/seeds/go-eventbus/files/go.mod",
                "tasks/seeds/go-fair-semaphore/files/go.mod",
                "tasks/seeds/go-farebands/files/go.mod",
                "tasks/seeds/go-fieldquote/files/go.mod",
                "tasks/seeds/go-flagbind/files/go.mod",
                "tasks/seeds/go-flagengine/files/go.mod",
                "tasks/seeds/go-flowrun/files/go.mod",
                "tasks/seeds/go-flowschema/files/go.mod",
                "tasks/seeds/go-framebuf/files/go.mod",
                "tasks/seeds/go-gcp-storage-resumable/files/go.mod",
                "tasks/seeds/go-generated-client-seam/files/go.mod",
                "tasks/seeds/go-generated-code-trap/files/go.mod",
                "tasks/seeds/go-generated-drift-gate/files/go.mod",
                "tasks/seeds/go-ghe-app-token/files/go.mod",
                "tasks/seeds/go-gitlab-pipeline-watcher/files/go.mod",
                "tasks/seeds/go-globmatch/files/go.mod",
                "tasks/seeds/go-group-runner/files/go.mod",
                "tasks/seeds/go-grpc-api-shift/files/go.mod",
                "tasks/seeds/go-hashring/files/go.mod",
                "tasks/seeds/go-healbudget/files/go.mod",
                "tasks/seeds/go-histogram/files/go.mod",
                "tasks/seeds/go-hit-stats/files/go.mod",
                "tasks/seeds/go-hmac-compare/files/go.mod",
                "tasks/seeds/go-httpretry/files/go.mod",
                "tasks/seeds/go-idxplan/files/go.mod",
                "tasks/seeds/go-indexpq/files/go.mod",
                "tasks/seeds/go-interface-slimming/files/go.mod",
                "tasks/seeds/go-interval-merge/files/go.mod",
                "tasks/seeds/go-inventory-api/files/go.mod",
                "tasks/seeds/go-job-drain/files/go.mod",
                "tasks/seeds/go-jobargs/files/go.mod",
                "tasks/seeds/go-jobflow/files/go.mod",
                "tasks/seeds/go-json-shape/files/go.mod",
                "tasks/seeds/go-k8s-job-watch/files/go.mod",
                "tasks/seeds/go-kvlog/files/go.mod",
                "tasks/seeds/go-kvwal/files/go.mod",
                "tasks/seeds/go-layered-config/files/go.mod",
                "tasks/seeds/go-ledger-apply/files/go.mod",
                "tasks/seeds/go-lifegrid/files/go.mod",
                "tasks/seeds/go-logfmt/files/go.mod",
                "tasks/seeds/go-logrotate/files/go.mod",
                "tasks/seeds/go-logtail/files/go.mod",
                "tasks/seeds/go-lru-cache/files/go.mod",
                "tasks/seeds/go-lzrle/files/go.mod",
                "tasks/seeds/go-manifest-load/files/go.mod",
                "tasks/seeds/go-map-snapshot/files/go.mod",
                "tasks/seeds/go-mazekit/files/go.mod",
                "tasks/seeds/go-meraki-action-batch/files/go.mod",
                "tasks/seeds/go-metrics/files/go.mod",
                "tasks/seeds/go-migrunner/files/go.mod",
                "tasks/seeds/go-modcycles/files/go.mod",
                "tasks/seeds/go-money/files/go.mod",
                "tasks/seeds/go-mwchain/files/go.mod",
                "tasks/seeds/go-nil-envelope/files/go.mod",
                "tasks/seeds/go-ontap-consistency-group/files/go.mod",
                "tasks/seeds/go-orderfsm/files/go.mod",
                "tasks/seeds/go-otel-semconv-move/files/go.mod",
                "tasks/seeds/go-otel-semconv-move/files/third_party/otel/go.mod",
                "tasks/seeds/go-outbox/files/go.mod",
                "tasks/seeds/go-packslip/files/go.mod",
                "tasks/seeds/go-pagewalk/files/go.mod",
                "tasks/seeds/go-path-router/files/go.mod",
                "tasks/seeds/go-planttags/files/go.mod",
                "tasks/seeds/go-pokereval/files/go.mod",
                "tasks/seeds/go-port-race-test/files/go.mod",
                "tasks/seeds/go-protoseq/files/go.mod",
                "tasks/seeds/go-provider2/files/go.mod",
                "tasks/seeds/go-pubsub/files/go.mod",
                "tasks/seeds/go-quorum-read-repair/files/go.mod",
                "tasks/seeds/go-quotasvc/files/go.mod",
                "tasks/seeds/go-record-import/files/go.mod",
                "tasks/seeds/go-reldrift/files/go.mod",
                "tasks/seeds/go-resumeup/files/go.mod",
                "tasks/seeds/go-retry/files/go.mod",
                "tasks/seeds/go-reviewflag/files/go.mod",
                "tasks/seeds/go-ringbuf/files/go.mod",
                "tasks/seeds/go-sawplan/files/go.mod",
                "tasks/seeds/go-scanner-ceiling/files/go.mod",
                "tasks/seeds/go-session-store/files/go.mod",
                "tasks/seeds/go-shardplan/files/go.mod",
                "tasks/seeds/go-shift-window/files/go.mod",
                "tasks/seeds/go-shiplog/files/go.mod",
                "tasks/seeds/go-slice-alias/files/go.mod",
                "tasks/seeds/go-snapprune/files/go.mod",
                "tasks/seeds/go-snipdoc/files/go.mod",
                "tasks/seeds/go-snowflake-partition-results/files/go.mod",
                "tasks/seeds/go-sortid/files/go.mod",
                "tasks/seeds/go-spanoverlap/files/go.mod",
                "tasks/seeds/go-statuspoll/files/go.mod",
                "tasks/seeds/go-stockroom/files/go.mod",
                "tasks/seeds/go-streamdiff/files/go.mod",
                "tasks/seeds/go-supervisor/files/go.mod",
                "tasks/seeds/go-switchcase/files/go.mod",
                "tasks/seeds/go-syncdelta/files/go.mod",
                "tasks/seeds/go-taskrunner/files/go.mod",
                "tasks/seeds/go-telewire/files/go.mod",
                "tasks/seeds/go-text-preview/files/go.mod",
                "tasks/seeds/go-textindex/files/go.mod",
                "tasks/seeds/go-tfe-run-queue/files/go.mod",
                "tasks/seeds/go-thumbwarm/files/go.mod",
                "tasks/seeds/go-timeout-fetch/files/go.mod",
                "tasks/seeds/go-timer-rearm/files/go.mod",
                "tasks/seeds/go-token-bucket/files/go.mod",
                "tasks/seeds/go-trailperm/files/go.mod",
                "tasks/seeds/go-treehash/files/go.mod",
                "tasks/seeds/go-tripsettle/files/go.mod",
                "tasks/seeds/go-tseries/files/go.mod",
                "tasks/seeds/go-ttl-map/files/go.mod",
                "tasks/seeds/go-ttt-server/files/go.mod",
                "tasks/seeds/go-txnredo/files/go.mod",
                "tasks/seeds/go-unitreg/files/go.mod",
                "tasks/seeds/go-uploadgate/files/go.mod",
                "tasks/seeds/go-urlshort/files/go.mod",
                "tasks/seeds/go-vault-kv-cas/files/go.mod",
                "tasks/seeds/go-vcf-task-watcher/files/go.mod",
                "tasks/seeds/go-word-tally/files/go.mod",
                "tasks/seeds/go-wordfreq/files/go.mod",
                "tasks/seeds/go-worker-pool/files/go.mod",
                "tasks/seeds/go-xmlenvelope/files/go.mod",
                "tasks/seeds/java-printspec/files/pom.xml",
                "tasks/seeds/rs-cfgparse/files/Cargo.toml",
                "tasks/seeds/rs-charslice/files/Cargo.toml",
                "tasks/seeds/rs-cidermill/files/Cargo.toml",
                "tasks/seeds/rs-clap-command-upgrade/files/Cargo.toml",
                "tasks/seeds/rs-cliargs/files/Cargo.toml",
                "tasks/seeds/rs-cragstats/files/Cargo.toml",
                "tasks/seeds/rs-cuesheet/files/Cargo.toml",
                "tasks/seeds/rs-darkroom/files/Cargo.toml",
                "tasks/seeds/rs-freightquote/files/Cargo.toml",
                "tasks/seeds/rs-gatebadge/files/Cargo.toml",
                "tasks/seeds/rs-handleheap/files/Cargo.toml",
                "tasks/seeds/rs-intervalset/files/Cargo.toml",
                "tasks/seeds/rs-irrplan/files/Cargo.toml",
                "tasks/seeds/rs-iteradapt/files/Cargo.toml",
                "tasks/seeds/rs-logingest/files/Cargo.toml",
                "tasks/seeds/rs-mapreport/files/Cargo.toml",
                "tasks/seeds/rs-millreport/files/Cargo.toml",
                "tasks/seeds/rs-mpscpipe/files/Cargo.toml",
                "tasks/seeds/rs-multiscan/files/Cargo.toml",
                "tasks/seeds/rs-nansort/files/Cargo.toml",
                "tasks/seeds/rs-postrate/files/Cargo.toml",
                "tasks/seeds/rs-rategate/files/Cargo.toml",
                "tasks/seeds/rs-rcweaktree/files/Cargo.toml",
                "tasks/seeds/rs-ropelite/files/Cargo.toml",
                "tasks/seeds/rs-rpnvm/files/Cargo.toml",
                "tasks/seeds/rs-scopedproc/files/Cargo.toml",
                "tasks/seeds/rs-seatmap/files/Cargo.toml",
                "tasks/seeds/rs-shelftag/files/Cargo.toml",
                "tasks/seeds/rs-signalbox/files/Cargo.toml",
                "tasks/seeds/rs-sizecast/files/Cargo.toml",
                "tasks/seeds/rs-slabarena/files/Cargo.toml",
                "tasks/seeds/rs-swapremove/files/Cargo.toml",
                "tasks/seeds/rs-taskdeps/files/Cargo.toml",
                "tasks/seeds/rs-textstats/files/Cargo.toml",
                "tasks/seeds/rs-themecss/files/Cargo.toml",
                "tasks/seeds/rs-tillroll/files/Cargo.toml",
                "tasks/seeds/rs-tomlite/files/Cargo.toml",
                "tasks/seeds/rs-toolshed/files/Cargo.toml",
                "tasks/seeds/rs-unescape/files/Cargo.toml",
                "tasks/seeds/rs-varint/files/Cargo.toml",
                "tasks/seeds/rs-weighbridge/files/Cargo.toml",
                "tasks/seeds/rs-weightavg/files/Cargo.toml",
                "tasks/seeds/rs-workspace-owner/files/Cargo.toml",
                "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-agent/Cargo.toml",
                "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-facade/Cargo.toml",
                "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-protocol/Cargo.toml",
                "tasks/seeds/rs-workspace-owner/files/crates/checkpoint-storage/Cargo.toml",
                "tasks/seeds/rs-wximport/files/Cargo.toml",
                "tasks/seeds/rust-freecell/files/Cargo.toml",
                "tasks/seeds/rust-nim/files/Cargo.toml",
                "tasks/seeds/rust-reversi/files/Cargo.toml",
                "tasks/seeds/rust-roguelite/files/Cargo.toml",
                "tasks/seeds/rust-sudoku/files/Cargo.toml",
                "tasks/seeds/rust-tetralite/files/Cargo.toml",
                "tasks/seeds/w18-sc12-integrate/files/go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "tasks/seeds/asm-c-abi-stack-align/files/Makefile, tasks/seeds/bash-build-entrypoint/files/Makefile, tasks/seeds/bash-it-mountrecover/files/Makefile, tasks/seeds/c-bitvec/files/Makefile, tasks/seeds/c-boundary-table-parser/files/Makefile, tasks/seeds/c-bounds-patch-review/files/Makefile, tasks/seeds/c-c4perft/files/Makefile, tasks/seeds/c-cardshuf/files/Makefile, tasks/seeds/c-chimeplan/files/Makefile, tasks/seeds/c-coldvan/files/Makefile, tasks/seeds/c-confpool/files/Makefile, tasks/seeds/c-csvrow/files/Makefile, tasks/seeds/c-dusweep/files/Makefile, tasks/seeds/c-dynarray/files/Makefile, tasks/seeds/c-firmware-config-owner/files/Makefile, tasks/seeds/c-grainband/files/Makefile, tasks/seeds/c-gritroute/files/Makefile, tasks/seeds/c-hashslot/files/Makefile, tasks/seeds/c-iniscan/files/Makefile, tasks/seeds/c-kvunesc/files/Makefile, tasks/seeds/c-log-after-corruption/files/Makefile, tasks/seeds/c-lrulink/files/Makefile, tasks/seeds/c-mazeuf/files/Makefile, tasks/seeds/c-minesolver/files/Makefile, tasks/seeds/c-nurserylot/files/Makefile, tasks/seeds/c-opaque-session-handle/files/Makefile, tasks/seeds/c-packed-checksum-layout/files/Makefile, tasks/seeds/c-packed-record-version/files/Makefile, tasks/seeds/c-panelframe/files/Makefile, tasks/seeds/c-pkgconfig-static-links/files/Makefile, tasks/seeds/c-recfile/files/Makefile, tasks/seeds/c-recursionbudget/files/Makefile, tasks/seeds/c-reportfix/files/Makefile, tasks/seeds/c-reproducible-archive/files/Makefile, tasks/seeds/c-ring-copy-budget/files/Makefile, tasks/seeds/c-ringbuf/files/Makefile, tasks/seeds/c-serial-partial-write/files/Makefile, tasks/seeds/c-signal-restart-incident/files/Makefile, tasks/seeds/c-signal-safe-notifier/files/Makefile, tasks/seeds/c-snakering/files/Makefile, tasks/seeds/c-snowroute/files/Makefile, tasks/seeds/c-tidechart/files/Makefile, tasks/seeds/c-tlv-forward-compat/files/Makefile, tasks/seeds/c-toksplit/files/Makefile, tasks/seeds/c-tttbit/files/Makefile, tasks/seeds/c-ventplan/files/Makefile, tasks/seeds/cpp-allocator-failure-unwind/files/Makefile, tasks/seeds/cpp-cache-local-layout/files/Makefile, tasks/seeds/cpp-cachepath/files/Makefile, tasks/seeds/cpp-cellarlog/files/Makefile, tasks/seeds/cpp-chessperft/files/Makefile, tasks/seeds/cpp-clinicqueue/files/Makefile, tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile, tasks/seeds/cpp-crash-dump-symbol/files/Makefile, tasks/seeds/cpp-cribbage/files/Makefile, tasks/seeds/cpp-engine-boundary/files/Makefile, tasks/seeds/cpp-exported-targets/files/Makefile, tasks/seeds/cpp-exprvisit/files/Makefile, tasks/seeds/cpp-fairride/files/Makefile, tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile, tasks/seeds/cpp-filterview/files/Makefile, tasks/seeds/cpp-framebudget/files/Makefile, tasks/seeds/cpp-gomoku/files/Makefile, tasks/seeds/cpp-index-layout-move/files/Makefile, tasks/seeds/cpp-inlinevec/files/Makefile, tasks/seeds/cpp-medaltally/files/Makefile, tasks/seeds/cpp-mortarmix/files/Makefile, tasks/seeds/cpp-owner-patch-review/files/Makefile, tasks/seeds/cpp-pyramid/files/Makefile, tasks/seeds/cpp-quiltgrid/files/Makefile, tasks/seeds/cpp-raiiguard/files/Makefile, tasks/seeds/cpp-refcard/files/Makefile, tasks/seeds/cpp-shopreport/files/Makefile, tasks/seeds/cpp-snapshotreplace/files/Makefile, tasks/seeds/cpp-sokoban/files/Makefile, tasks/seeds/cpp-test-oracle-bug/files/Makefile, tasks/seeds/cpp-turnstile/files/Makefile, tasks/seeds/cpp-ultimatettt/files/Makefile, tasks/seeds/cpp-vatstats/files/Makefile, tasks/seeds/cpp-vendored-checksum/files/Makefile, tasks/seeds/go-generated-drift-gate/files/Makefile, tasks/seeds/w18-sc14-diagnose/files/Makefile, tasks/seeds/w18-sc14-review/files/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tasks/seeds/asm-c-abi-stack-align/files/Makefile, tasks/seeds/bash-build-entrypoint/files/Makefile, tasks/seeds/bash-it-mountrecover/files/Makefile, tasks/seeds/c-bitvec/files/Makefile, tasks/seeds/c-boundary-table-parser/files/Makefile, tasks/seeds/c-bounds-patch-review/files/Makefile, tasks/seeds/c-c4perft/files/Makefile, tasks/seeds/c-cardshuf/files/Makefile, tasks/seeds/c-chimeplan/files/Makefile, tasks/seeds/c-coldvan/files/Makefile, tasks/seeds/c-confpool/files/Makefile, tasks/seeds/c-csvrow/files/Makefile, tasks/seeds/c-dusweep/files/Makefile, tasks/seeds/c-dynarray/files/Makefile, tasks/seeds/c-firmware-config-owner/files/Makefile, tasks/seeds/c-grainband/files/Makefile, tasks/seeds/c-gritroute/files/Makefile, tasks/seeds/c-hashslot/files/Makefile, tasks/seeds/c-iniscan/files/Makefile, tasks/seeds/c-kvunesc/files/Makefile, tasks/seeds/c-log-after-corruption/files/Makefile, tasks/seeds/c-lrulink/files/Makefile, tasks/seeds/c-mazeuf/files/Makefile, tasks/seeds/c-minesolver/files/Makefile, tasks/seeds/c-nurserylot/files/Makefile, tasks/seeds/c-opaque-session-handle/files/Makefile, tasks/seeds/c-packed-checksum-layout/files/Makefile, tasks/seeds/c-packed-record-version/files/Makefile, tasks/seeds/c-panelframe/files/Makefile, tasks/seeds/c-pkgconfig-static-links/files/Makefile, tasks/seeds/c-recfile/files/Makefile, tasks/seeds/c-recursionbudget/files/Makefile, tasks/seeds/c-reportfix/files/Makefile, tasks/seeds/c-reproducible-archive/files/Makefile, tasks/seeds/c-ring-copy-budget/files/Makefile, tasks/seeds/c-ringbuf/files/Makefile, tasks/seeds/c-serial-partial-write/files/Makefile, tasks/seeds/c-signal-restart-incident/files/Makefile, tasks/seeds/c-signal-safe-notifier/files/Makefile, tasks/seeds/c-snakering/files/Makefile, tasks/seeds/c-snowroute/files/Makefile, tasks/seeds/c-tidechart/files/Makefile, tasks/seeds/c-tlv-forward-compat/files/Makefile, tasks/seeds/c-toksplit/files/Makefile, tasks/seeds/c-tttbit/files/Makefile, tasks/seeds/c-ventplan/files/Makefile, tasks/seeds/cpp-allocator-failure-unwind/files/Makefile, tasks/seeds/cpp-cache-local-layout/files/Makefile, tasks/seeds/cpp-cachepath/files/Makefile, tasks/seeds/cpp-cellarlog/files/Makefile, tasks/seeds/cpp-chessperft/files/Makefile, tasks/seeds/cpp-clinicqueue/files/Makefile, tasks/seeds/cpp-cmake-policy-upgrade/files/Makefile, tasks/seeds/cpp-crash-dump-symbol/files/Makefile, tasks/seeds/cpp-cribbage/files/Makefile, tasks/seeds/cpp-engine-boundary/files/Makefile, tasks/seeds/cpp-exported-targets/files/Makefile, tasks/seeds/cpp-exprvisit/files/Makefile, tasks/seeds/cpp-fairride/files/Makefile, tasks/seeds/cpp-ffi-buffer-ownership/files/Makefile, tasks/seeds/cpp-filterview/files/Makefile, tasks/seeds/cpp-framebudget/files/Makefile, tasks/seeds/cpp-gomoku/files/Makefile, tasks/seeds/cpp-index-layout-move/files/Makefile, tasks/seeds/cpp-inlinevec/files/Makefile, tasks/seeds/cpp-medaltally/files/Makefile, tasks/seeds/cpp-mortarmix/files/Makefile, tasks/seeds/cpp-owner-patch-review/files/Makefile, tasks/seeds/cpp-pyramid/files/Makefile, tasks/seeds/cpp-quiltgrid/files/Makefile, tasks/seeds/cpp-raiiguard/files/Makefile, tasks/seeds/cpp-refcard/files/Makefile, tasks/seeds/cpp-shopreport/files/Makefile, tasks/seeds/cpp-snapshotreplace/files/Makefile, tasks/seeds/cpp-sokoban/files/Makefile, tasks/seeds/cpp-test-oracle-bug/files/Makefile, tasks/seeds/cpp-turnstile/files/Makefile, tasks/seeds/cpp-ultimatettt/files/Makefile, tasks/seeds/cpp-vatstats/files/Makefile, tasks/seeds/cpp-vendored-checksum/files/Makefile, tasks/seeds/go-generated-drift-gate/files/Makefile, tasks/seeds/w18-sc14-diagnose/files/Makefile, tasks/seeds/w18-sc14-review/files/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "24 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 24,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "good",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "primary_language": "Python",
              "largest_source_bytes": 66834,
              "source_files_sampled": 3117,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Python with type-check config (tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json)",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "typecheck_config_language",
                    "params": {
                      "files": "tasks/seeds/ts-bikedock/files/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/api/tsconfig.json, tasks/seeds/ts-eslint-flat-config/files/packages/web/tsconfig.json, tasks/seeds/ts-lockermap/files/tsconfig.json, tasks/seeds/ts-plotroster/files/tsconfig.json, tasks/seeds/ts-signfleet/files/tsconfig.json, tasks/seeds/ts-skatehire/files/tsconfig.json, tasks/seeds/ts-washcycle/files/tsconfig.json",
                      "language": "Python"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/3117 source files over 60KB",
                "points": 55,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 3117,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
    "deps.dev does not index pypi:moonshiner@0.7.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-28T20:14:28.959553Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/greghavens/moonshiner.svg",
  "full_name": "greghavens/moonshiner",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Las puntuaciones son señales, no garantías. Reflejan prácticas públicamente visibles en GitHub; no son una auditoría de código ni una garantía de seguridad.

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v1.13.0, esquema v0.27.0 — metodología completa · wiki de métricas.

Cómo se sitúa un resultado dentro del registro general: estadísticas agregadasPyPI.