Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 1.13.0 · 2026-07-26 23:27 UTC

kompassdev / kompass

Navigate your way - manual steering, steered autonomy, or autonomously. Kompass keeps AI coding agents on course with token-efficient, composable workflows.

TypeScript · Astro · MDXMIT★ 9 estrellas⑂ 2 forksdesde mar 2026Ver en GitHub ↗

kompassdev/kompass tiene un índice de salud de 58 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es Vitality (84/100) y la más baja, Security (38/100). Se actualizó por última vez hoy. Una sola persona concentra la mayor parte del trabajo reciente.

58
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.

58
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

kompassdevOrganización
0 seguidores1 repositorio públicodesde mar 2026

Este repositorio está respaldado por una organización: una custodia compartida y responsable que puede sobrevivir a cualquier mantenedor individual.

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npm@kompassdev/opencode0.16.1315244hace 6 díasopencodecoding-agentai-agentdeveloper-toolsworkflowcode-reviewpull-requestticketingautomationkompass

Métricas por categoría

Vitalidad

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

84Bueno · 22% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 0 días
10.4/36Cadencia de commits — 15/52 semanas con commits
18/18Volumen de commits — 320 commits en el último año
10/10OpenSSF Scorecard: Maintained — 26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year320
human_commit_share1
days_since_last_push0
active_weeks_last_year15
Cómo se puntúa
27/27Publica versiones — 32 versiones publicadas
36/36Recencia de las versiones — última versión hace 6 días
27/27Cadencia de publicación — una versión cada ~10,6 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count32
latest_release_tagv0.16.1
releases_from_tagsno
days_since_latest_release6
mean_days_between_releases10,6
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

40En riesgo · 18% del índice global
Cómo se puntúa
14.6/60Estrellas — 9 estrellas
0/25Forks — 2 forks
0/15Observadores — 2 observadores
Datos de entrada utilizados
forks2
stars9
watchers2
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
0/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_template
Cómo se puntúa
46.6/80Descargas mensuales — 3152 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@kompassdev/opencode
dependents
ecosystemsnpm
total_downloads
monthly_downloads3152
Excluidos de la puntuación (sin datos o no aplicable): Dependientes en el registro. Los pesos restantes se han renormalizado.

Sostenibilidad y Gobernanza

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

55Moderado · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0.3/22.5Distribución de commits — el principal contribuyente firma el 99% de los commits
2.7/13.5Amplitud de contribuyentes — 2 contribuyentes
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Datos de entrada utilizados
bus_factor1
contributors_sampled2
top_contributor_share0,988
Cómo se puntúa
46.8/46.8Resolución de issues — 100% de issues cerradas
28.1/38.3Aceptación de PR — 64/87 PR decididos fusionados
6/15OpenSSF Scorecard: Code-Review — Found 8/17 approved changesets -- score normalized to 4
Datos de entrada utilizados
merged_prs64
open_issues0
closed_issues23
issue_closed_ratio1
closed_unmerged_prs23
Cómo se puntúa
30/30Respaldo de la propiedad — propiedad de una organización
0/20Dominio verificado
0/25Alcance del propietario — 0 seguidores de kompassdev
3/25Trayectoria — 1 repos públicos, cuenta de ~0 años
Datos de entrada utilizados
followers0
owner_typeOrganization
is_verified
owner_loginkompassdev
public_repos1
account_age_days139
Cómo se puntúa
25/25Publicado y resoluble — 1 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 6 días
20/20Historial de versiones — 44 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@kompassdev/opencode
ecosystemsnpm
any_deprecatedno
min_days_since_publish6

Calidad de Ingeniería

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

64Moderado · 20% del índice global
Cómo se puntúa
24/24Flujos de trabajo de CI — 3 flujo(s) de trabajo
24/24Pruebas presentes
0/16Configuración de linter
0/9.6Hooks de pre-commit
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 8 out of 9 merged PRs checked by a CI test -- score normalized to 8
Datos de entrada utilizados
has_ci
has_tests
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentación

65Moderado
Cómo se puntúa
30/30README
0/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://kompassdev.ai/
10/10Descripción del repositorio
10/10Topics — 12 topics
0/10Wiki
Datos de entrada utilizados
topicsai, automation, code-review, coding-agent, developer-tools, github, workflow, autonomous-coding, kompass, token-efficiency, agent-navigation, steered-autonomy
has_wikino
homepagehttps://kompassdev.ai/
has_readme
has_docs_dirno
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?

38En riesgo · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2/2.5CI-Tests — 8 out of 9 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3/7.5Code-Review — Found 8/17 approved changesets -- score normalized to 4
2.5/2.5Contributors — project has 5 contributing companies or organizations
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
7.5/7.5Maintained — 26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 30 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3,8
Excluidos de la puntuación (sin datos o no aplicable): packaging, signed_releases. 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.

63Moderado · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 92 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,92
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes8452
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json
0/10Entorno reproducible
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfiles
has_dockerfileno
typed_language
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configspackages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
55/55Tamaños de archivo manejables — 0/41 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes26.278
source_files_sampled41
oversized_source_files0

Datos clave

9estrellas de GitHub
2contribuidores
320commits en los últimos 12 meses
0días desde el último push
32versiones publicadas
1factor bus
0issues abiertas
npmecosistemas 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

Más detalle

Historial de estrellas y forks 0 ★ / 2 ⇿
0Estrellas
2Forks
19Versiones

Cuándo se añadió cada estrella y fork, recopilado de GitHub y agrupado por día. El crecimiento acumulado se sitúa justo encima de las adiciones diarias que lo componen, de modo que ambos se leen en conjunto: la acumulación orgánica sostenida no se parece en nada a un pico abrupto y efímero. Cuando esa diferencia es medible, se informa como autenticidad del crecimiento.

111222212026-032026-052026-07
Mayor 0Menor 9Parche 10
OpenSSF Scorecard 3.8 / 10
3.8agregado

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-26 23:26 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
8CI-Tests8 out of 9 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
4Code-ReviewFound 8/17 approved changesets -- score normalized to 4
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities30 existing vulnerabilities detected
Dependencias directas 3
RegistroPaqueteRestricción de versiónManifiesto
npmeta^4.5.1packages/core/package.json
npm@astrojs/starlight^0.30.6packages/web/package.json
npmastro^5.2.0packages/web/package.json
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": [
        "ai",
        "automation",
        "code-review",
        "coding-agent",
        "developer-tools",
        "github",
        "workflow",
        "autonomous-coding",
        "kompass",
        "token-efficiency",
        "agent-navigation",
        "steered-autonomy"
      ],
      "is_fork": false,
      "size_kb": 10861,
      "has_wiki": false,
      "homepage": "https://kompassdev.ai/",
      "languages": {
        "CSS": 16037,
        "MDX": 53068,
        "Astro": 62580,
        "Shell": 7348,
        "JavaScript": 1343,
        "TypeScript": 223317
      },
      "pushed_at": "2026-07-26T21:25:08Z",
      "created_at": "2026-03-09T16:33:19Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T14:18:06Z",
      "description": "Navigate your way - manual steering, steered autonomy, or autonomously. Kompass keeps AI coding agents on course with token-efficient, composable workflows.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "Astro",
        "MDX"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "kompassdev",
      "company": null,
      "location": null,
      "followers": 0,
      "avatar_url": "https://avatars.githubusercontent.com/u/266789430?v=4",
      "created_at": "2026-03-09T15:57:57Z",
      "is_verified": null,
      "public_repos": 1,
      "account_age_days": 139
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.16.1",
          "kind": "patch",
          "published_at": "2026-07-20T14:17:51Z"
        },
        {
          "tag": "v0.16.0",
          "kind": "minor",
          "published_at": "2026-07-17T16:44:34Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2026-06-26T17:30:32Z"
        },
        {
          "tag": "v0.14.2",
          "kind": "patch",
          "published_at": "2026-06-25T19:21:11Z"
        },
        {
          "tag": "v0.14.1",
          "kind": "patch",
          "published_at": "2026-06-24T20:52:12Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2026-06-08T21:09:35Z"
        },
        {
          "tag": "v0.13.2",
          "kind": "patch",
          "published_at": "2026-04-27T13:22:43Z"
        },
        {
          "tag": "v0.13.1",
          "kind": "patch",
          "published_at": "2026-04-17T16:56:14Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2026-04-17T16:28:42Z"
        },
        {
          "tag": "v0.12.1",
          "kind": "patch",
          "published_at": "2026-04-16T14:41:52Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2026-04-09T17:33:19Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2026-04-02T17:11:28Z"
        },
        {
          "tag": "v0.10.2",
          "kind": "patch",
          "published_at": "2026-04-01T17:17:18Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-03-27T23:14:16Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-03-27T22:44:24Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2026-03-27T20:12:50Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-03-27T16:14:12Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-03-26T20:44:05Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-03-25T19:06:10Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-03-25T02:22:53Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-03-20T22:24:08Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2026-03-19T17:40:19Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2026-03-17T16:52:03Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-03-17T16:09:53Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2026-03-17T04:01:07Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2026-03-17T03:35:20Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2026-03-13T21:11:38Z"
        },
        {
          "tag": "v0.2.7",
          "kind": "patch",
          "published_at": "2026-03-13T20:25:38Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2026-03-12T18:26:46Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2026-03-11T20:00:50Z"
        },
        {
          "tag": "v0.0.5",
          "kind": "patch",
          "published_at": "2026-03-09T21:57:03Z"
        },
        {
          "tag": "v0.0.3",
          "kind": "patch",
          "published_at": "2026-03-09T21:04:27Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "a49320c405f70c3f3d0e24558ce1aba02a6f1f14",
          "body": null,
          "is_bot": false,
          "headline": "0.16.1",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T14:16:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db67f941c4cdf5d301abd197e446b0a9b9f7ad86",
          "body": "Improve PR feedback assessment and loop confirmation",
          "is_bot": false,
          "headline": "Merge pull request #110 from kompassdev/feat/review-feedback-assessment",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T14:16:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e115e7cb0e866488ae0f513581de8dfef626be68",
          "body": "- independently assess review comments before applying fixes\n- weight project-member intent using GitHub author metadata\n- confirm clean PR state after CI with a final full load",
          "is_bot": false,
          "headline": "feat: improve PR feedback handling",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T13:39:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e271139b740daef92a9cbb229d0fe1bf3540632",
          "body": null,
          "is_bot": false,
          "headline": "0.16.0",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-17T16:44:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a1e32a304eead5b2edc08a3074b0a71c120c9ae",
          "body": "…kflows\n\nRefactor command workflows and add inline variants",
          "is_bot": false,
          "headline": "Merge pull request #109 from kompassdev/refactor/simplify-command-wor…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-17T16:42:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fe224f68e922c4c507586647c92bf54f93e60f8",
          "body": "- mark oversized diff results as incomplete and required\\n- clarify that every deferred file diff must be inspected\\n- cover deferred result metadata and guidance in e2e tests",
          "is_bot": false,
          "headline": "fix: require inspection of deferred diffs",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T17:17:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "901e537c01b547220c31225f4a6f8c8cad32cf64",
          "body": "- consolidate change analysis and ticket planning into reusable components\n- infer inline rendering and reuse shared push behavior\n- defer oversized changes_load diffs while preserving file manifests\n- sync configs, docs, tests, and generated OpenCode artifacts",
          "is_bot": false,
          "headline": "refactor: simplify command workflow composition",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T17:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9e3f31648d89e256321f1cecd7753dc77950311",
          "body": "- add inline branch, commit-and-push, and PR creation commands\n- synchronize command defaults, schema, and generated OpenCode artifacts\n- cover current-session behavior in core and adapter tests\n- document and showcase the expanded inline workflow surface",
          "is_bot": false,
          "headline": "feat: add inline completion command variants",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T16:41:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0f5f2eb2c7cc2751ed5a1c8d748c6602572d686",
          "body": "- replace navigator dispatch with reusable workflow components\n- add incremental PR review loading and streamlined PR commands\n- align bundled config, generated artifacts, tests, and documentation",
          "is_bot": false,
          "headline": "refactor: simplify command workflows",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T16:24:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25082e66deaf5ffda5b033796425bde565fc09d5",
          "body": null,
          "is_bot": false,
          "headline": "v0.15.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:29:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29938479ba05e9a9e1c2c755876e96f8a6fb3149",
          "body": "Add loop PR fix command",
          "is_bot": false,
          "headline": "Merge pull request #107 from kompassdev/feature/loop-pr-fix-command",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:27:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bc3ea32e883f8d4bf472df19726043297d98898",
          "body": "- add /loop/pr/fix navigator command for CI and review feedback loops\n- register the command across default config, schema, and OpenCode output\n- update /pr/fix to treat CI failures as actionable feedback\n- document and showcase the new orchestration flow",
          "is_bot": false,
          "headline": "feat: add loop pr fix command",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:16:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "337abc5c882035ebd14b015b7e04ad9d61050836",
          "body": null,
          "is_bot": false,
          "headline": "v0.14.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:20:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e15bf647378b48c8ca8b5cd93f7fb3cb70fc780",
          "body": "Remove PR branch alignment component",
          "is_bot": false,
          "headline": "Merge pull request #106 from kompassdev/refactor/remove-align-pr-branch",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:18:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37a9ff6b88453ff01dc84afe5f9c0b3407f7e23b",
          "body": "- remove the bundled align-pr-branch component from config and schema\n- inline required PR checkout guidance for pr/fix\n- load pr/review changes directly from the PR head ref without checkout\n- update tests, generated OpenCode output, and component docs",
          "is_bot": false,
          "headline": "refactor: remove PR branch alignment component",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:07:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf4359294fcd534012f771b3578ceeaf150a77a7",
          "body": null,
          "is_bot": false,
          "headline": "chore: release opencode 0.14.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T20:52:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25b9928eb30d0ef481235c2c72a0e3544f0db273",
          "body": "Skip redundant PR checkout at head commit",
          "is_bot": false,
          "headline": "Merge pull request #104 from kompassdev/fix/skip-pr-checkout-at-head",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T20:47:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df876ae93afbb15e71991c913a8bec76d2880299",
          "body": null,
          "is_bot": false,
          "headline": "fix: refine PR branch alignment",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T19:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd345fe489885aaff35557e9087ef2f8d5375783",
          "body": "- detect the current HEAD while loading PR context\n- avoid gh pr checkout when already on the PR branch or head commit\n- document checkout failure behavior without automatic retries\n- cover the rendered pr/review workflow with a command template test",
          "is_bot": false,
          "headline": "fix: skip redundant PR checkout",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T19:27:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1434d28ee26f5226b53fe5c2ec752c568b17450",
          "body": null,
          "is_bot": false,
          "headline": "0.14.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T21:09:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8887bbc5dcf0270287eaf505b2f38f5ba9ee664c",
          "body": "…ools\n\nRun OpenCode tools with an internal shell",
          "is_bot": false,
          "headline": "Merge pull request #103 from kompassdev/chore/update-opencode-shell-t…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T21:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b865bc1b3e8dc706035a16cc5487bc2d8da78c1",
          "body": "- add a Node-backed shell runner for Kompass OpenCode tools\n\n- register shell-backed tools without depending on plugin input shell state\n\n- cover shell execution through tool registration and plugin tests\n\n- update OpenCode SDK and plugin dependencies",
          "is_bot": false,
          "headline": "fix: run opencode tools with internal shell",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T14:42:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afb6bd553af85065499e0f6d4fcb60091c31444e",
          "body": "…read-only\n\ndocs: clarify ticket/ask command is read-only",
          "is_bot": false,
          "headline": "Merge pull request #102 from danielsuguimoto/docs/clarify-ticket-ask-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-27T19:05:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b76b2e3ded21731625b39d7cd1ba49b4dc356fe9",
          "body": "- Add explicit \"do NOT write, edit, or commit any code\" instruction to the Goal section\n- Add \"do NOT run git commit or push\" restriction to the Answer Question step\n- Update both source and generated command docs for consistency",
          "is_bot": false,
          "headline": "docs: clarify ticket/ask command is read-only",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-05-26T20:34:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61f2c4e8bc931a63f1a7edbc60aac4d648f8dc32",
          "body": "…names\n\nSupport configurable adapter names",
          "is_bot": false,
          "headline": "Merge pull request #101 from kompassdev/feature/configurable-adapter-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-21T16:44:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7375b13743df9f2e97475c485134a6f9491e98d",
          "body": "- add command, agent, and tool name resolution to core config rendering\n- propagate resolved names through command expansion and agent prompts\n- update OpenCode adapter compilation to register configured aliases\n- document configurable names and cover aliases with adapter tests",
          "is_bot": false,
          "headline": "feat: support configurable adapter names",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-21T13:24:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09693ad8f491c90a6dde07cdc203469741c3b839",
          "body": null,
          "is_bot": false,
          "headline": "0.13.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-27T13:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cec6b9c33b157eca0b82259b33b9a0f9db73cf5b",
          "body": "docs: clarify commit-based scope for branch comparisons",
          "is_bot": false,
          "headline": "Merge pull request #100 from danielsuguimoto/branch-compare-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-27T13:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "706ede0d29a6acb0bae6f808b5dc7d16a25678b7",
          "body": null,
          "is_bot": false,
          "headline": "docs: clarify commit-based scope for branch comparisons",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-04-24T19:43:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7039647933669dd004977d2934be14c8be474378",
          "body": "- update @kompassdev/opencode to 0.13.1",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:55:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11d4d3e15751f58ba494c54c0269207dd7d1ea95",
          "body": "Refactor OpenCode config loading with shared caches",
          "is_bot": false,
          "headline": "Merge pull request #99 from kompassdev/refactor/cache-opencode-loaders",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:54:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd98e0a1e2603e743a5593f5d99441644cd8b2ba",
          "body": "- centralize merged config, tool name, agent, and command loading in a shared cache module\n- reuse cached loader helpers across OpenCode config and tool setup paths to avoid repeated resolution work\n- defer delegated command tool-name rewriting to execution time and bump the package version to 0.13.0",
          "is_bot": false,
          "headline": "refactor: cache opencode config loaders",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:46:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb9c53b2d2dca50ec8d661b3e1d6828e58ce428a",
          "body": "Update OpenCode adapter for plugin API 1.4",
          "is_bot": false,
          "headline": "Merge pull request #98 from kompassdev/chore/update-opencode-plugin-api",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:26:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c245238514fd1f1b4c0e8d2d54de2f782a9cad44",
          "body": "- upgrade the OpenCode plugin and SDK dependencies to the current supported versions\n- align Kompass config typing with the plugin package\n- make plugin logging fire-and-forget so hook execution no longer waits on log writes",
          "is_bot": false,
          "headline": "fix: update opencode plugin integration",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:18:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "031644ddbe2c60cc7294e9f1fb0c3cba9591fc6e",
          "body": "- update @kompassdev/opencode from 0.12.0 to 0.12.1\n- record the adapter package release version change",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:41:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7f485a05ee89326f2ffa637a687674cbb0bba8f",
          "body": "fix: load PR change context from the active branch",
          "is_bot": false,
          "headline": "Merge pull request #97 from kompassdev/chore/pr-change-load",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:39:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d16a6206bebf07d5b1596806fba31580901319b4",
          "body": "- update pr review and fix commands to diff against the checked out branch\n- use the current branch change set during feedback analysis before planning edits\n- sync the generated opencode command docs with the source command changes",
          "is_bot": false,
          "headline": "fix: load PR changes from the active branch",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:29:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a947d918a7bbc79733211ea74d9cf92ff6383a1d",
          "body": "Respect author decisions during PR review",
          "is_bot": false,
          "headline": "Merge pull request #92 from danielsuguimoto/pr-review-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:49:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "057cbde3b366842cc2df1c5f6eda3f279efba972",
          "body": "ci: trigger PR reviews from review label",
          "is_bot": false,
          "headline": "Merge pull request #96 from kompassdev/ci/pr-review-label-trigger",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:44:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fad306c360b6d826b914177f6e3e7ac0b92ca26b",
          "body": "- add a labeled pull_request_target trigger so review runs can be requested from the PR itself\n- remove the separate issue_comment workflow now that label-based review requests are supported\n- keep the existing automatic review behavior for non-draft same-repo pull requests",
          "is_bot": false,
          "headline": "ci: trigger PR reviews from labeled events",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:28:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65da069dc47104e974a4dbcba9b6e3b1338a6fb4",
          "body": "fix: tighten PR review branch handling",
          "is_bot": false,
          "headline": "Merge pull request #95 from kompassdev/fix/pr-review-branch-handling",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "501b2c26185886867f5e4fdcea29583db8892476",
          "body": "- add align-pr-branch to the bundled component config in the root, core, and opencode manifests\n- document align-pr-branch in the component index and add a dedicated reference page\n- keep the new shared component aligned across runtime, config, and docs surfaces",
          "is_bot": false,
          "headline": "fix: sync align-pr-branch component surfaces",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:05:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55dcbae93dea489ff07c2177c5768d40c3a78f32",
          "body": "- remove the temporary debug gate job from the PR review workflow\n- allow automated reviews for same-repo branches without author association checks\n- keep draft and forked pull requests excluded from the review run",
          "is_bot": false,
          "headline": "fix: relax PR review workflow gate",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:58:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62d2704771b67883cb1c18ff81252e81ba7c1efb",
          "body": "- add a debug gate job to surface PR review trigger inputs\n- replace the JSON contains check with explicit OWNER or MEMBER conditions\n- make review workflow behavior easier to diagnose when automation does not start",
          "is_bot": false,
          "headline": "fix: tighten PR review gate checks",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c3354f1ae98d75092ed57014819f9d647694173",
          "body": "- reuse a shared align-pr-branch component in PR fix and review commands\n- register the new component in config and schema so it is available consistently\n- restrict review workflows to trusted same-repo PRs and add comment-triggered review support",
          "is_bot": false,
          "headline": "fix: tighten PR review branch handling",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:39:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "140db8b788b687153a5f4ab2131b22619a96b136",
          "body": "- treat explicit author declines or scope narrowing as review context\n- exclude already-decided concerns from eligible findings\n- keep the generated opencode review command in sync",
          "is_bot": false,
          "headline": "fix: honor author decisions in pr review",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-04-10T13:11:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b3520e5b33eb9a7bbe95cc20f6517163bb2b97d",
          "body": "- document the new bundled skill commands in the OpenCode README\n- add the GitHub CLI prerequisite for GitHub-backed workflows\n- bump @kompassdev/opencode to version 0.12.0",
          "is_bot": false,
          "headline": "docs: update opencode release notes",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T17:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f016e459db2219129bd35f7b53706601230c0f3b",
          "body": "Add skill authoring commands",
          "is_bot": false,
          "headline": "Merge pull request #91 from kompassdev/feature/skill-commands",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:59:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "450ebf4bf3f16832882df85772cfe1202ec23792",
          "body": null,
          "is_bot": false,
          "headline": "docs: split command reference groups",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:49:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd30b251682351dd69cf614e3ea05d1295b8ef33",
          "body": null,
          "is_bot": false,
          "headline": "docs: sync command reference groups",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:38:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b79ca194203236dde98ded58975e2fe133da4cb3",
          "body": "- simplify skill command docs and generated output around generic validation steps\n- reorganize the command showcase into workflow and guidelines groups\n- tighten skill optimize wording to focus on targeted improvements",
          "is_bot": false,
          "headline": "docs: simplify skill validation guidance",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:28:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b49c519d30997797f3c600be1bab4a7aa1bf2792",
          "body": "- add bundled `skill/create` and `skill/optimize` command definitions across core, schema, and adapter configs\n- add the shared skill authoring component and generated OpenCode templates for the new workflows\n- document the new skill workflows in the README and web docs, including command showcase examples",
          "is_bot": false,
          "headline": "feat: add skill authoring commands",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:03:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70d14b13a873aafe814c35601e9057d88b9bf67d",
          "body": "Fix docs site title contrast",
          "is_bot": false,
          "headline": "Merge pull request #90 from kompassdev/fix/site-title-color",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:25:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d3ba789e5dcb4e8187b24d45012df56802d8850",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove debug text from docs overview",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:10:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f203ef883a6b0e5735ad11f0c069d7341d63147",
          "body": null,
          "is_bot": false,
          "headline": "wip",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:06:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ea960dc7bbde8420ec30591287dbd0140106489",
          "body": null,
          "is_bot": false,
          "headline": "wip",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2440e65c8b144e84c57b5f1c87641437482aec34",
          "body": null,
          "is_bot": false,
          "headline": "fix: keep site title text white",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:01:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbcb5f7e30b845c58e71f073c3d9c9a9302c7893",
          "body": "…ereqs\n\nConsolidate setup docs into getting started",
          "is_bot": false,
          "headline": "Merge pull request #86 from kompassdev/docs/update-getting-started-pr…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T14:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72b5ec87a1b46236eda25a9169ae7b08f09f2e44",
          "body": "- add GitHub CLI prerequisites and adapter support notes\n- merge installation and override guidance into getting started\n- update docs navigation and site branding to match the new structure",
          "is_bot": false,
          "headline": "docs: consolidate getting started setup",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T14:13:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ce0489f3ed15aafe0278fda055cb5f2bde4d7e2",
          "body": "fix: align pr commands with head branch",
          "is_bot": false,
          "headline": "Merge pull request #73 from danielsuguimoto/pr-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:36:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41766ce007f244b1ab73c9bd0c688958ae8579f5",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version to 0.11.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:10:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6203a3cb9b695467b615b8a92b118fd54434d0c",
          "body": "Fix empty review handling during PR creation",
          "is_bot": false,
          "headline": "Merge pull request #77 from kompassdev/fix/pr-sync-create-review-input",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6f7c058960b948845538334ee6feeaa0c3c4d6b",
          "body": "- treat empty review input as absent so pr_sync can create PRs\n- clarify create-only guidance to skip review-specific fields\n- cover the create path and pr/fix subtask behavior in tests",
          "is_bot": false,
          "headline": "fix: omit empty review payloads during PR creation",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:02:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "136e81f5394f36a29f198acd3af915ab7307a34e",
          "body": "…pansion\n\nrefactor: rename session_command to command_expansion",
          "is_bot": false,
          "headline": "Merge pull request #76 from kompassdev/refactor/session-command-to-ex…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T16:51:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e594416f021da1a188d835b43f96b073ba2d0345",
          "body": "- Replace <session_command> tags with <delegate> tags in command docs\n- Rename session_command tool to command_expansion across core and opencode\n- Update agent documentation (navigator) to reflect new terminology\n- Update TypeScript types and implementations in dispatch tool\n- Update all test files to use new tool name\n- Rename session-command.mdx docs to command-expansion.mdx\n- Sync generated opencode artifacts with source changes\n- Update AGENTS.md workflow guidelines with new terminology",
          "is_bot": false,
          "headline": "refactor: rename session_command to command_expansion",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T16:41:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b78d463db4a7ab1dfdc8b630b08aac7506fc57b",
          "body": "- describe session-command acknowledgements as scheduling-only responses\n- update ship and branch command wording for skipped branch handling\n- align OpenCode tool output and tests with async delegated execution",
          "is_bot": false,
          "headline": "fix: clarify async session command dispatch",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T18:42:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a2b7c13d6b26ab1d38b8c0b785af04501fab5bd",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode adapter to 0.10.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T17:17:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb0ba44b5e713ad7283806b4df6e5a206518d878",
          "body": "…flag\n\nfix: mark delegated session commands as synthetic",
          "is_bot": false,
          "headline": "Merge pull request #75 from kompassdev/fix/session-command-synthetic-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T17:16:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f846f8e4aeff66778d936e7a689a8dc96c32e4d5",
          "body": "- Add synthetic: true to session command parts to prevent them from surfacing as user messages\n- Update executeSessionCommand to mark delegated turns as synthetic\n- Update test to expect synthetic flag in parts",
          "is_bot": false,
          "headline": "fix: mark delegated session commands as synthetic",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T16:13:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e900adb2885a89b8cf833bd81208dc42dde3e2e",
          "body": "- Update @kompassdev/opencode package version from 0.10.0 to 0.10.1",
          "is_bot": false,
          "headline": "chore: bump version to 0.10.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:32:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02ca9340752901a52d3f789cc757d4c212dd9691",
          "body": "…gent\n\nrefactor: change ticket/dev agent to navigator",
          "is_bot": false,
          "headline": "Merge pull request #74 from kompassdev/feature/ticket-dev-navigator-a…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:30:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fc24d5076e4566441dfd8ec053102e1660da642",
          "body": "- Fix /commit scenario agentName back to 'Worker' (incorrectly changed)\n- Fix /ticket-dev scenario agentName to 'Navigator' (was still 'Worker')\n- Remove accidentally committed OpenCode session file",
          "is_bot": false,
          "headline": "fix: address PR review feedback on CommandShowcase agents",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:22:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80bcd2ec10ac358c7af888fc41da4e5fad46d9b8",
          "body": "- Change ticket/dev command agent from worker to navigator\n- Update navigator agent descriptions for clarity and brevity\n- Expand AGENTS.md docs on linked surface areas\n- Update web docs to reflect navigator-led orchestration\n- Add test assertion for ticket/dev agent assignment",
          "is_bot": false,
          "headline": "refactor: change ticket/dev agent to navigator",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:09:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6e85f35e82409b1b70981eda70401dc6f23357f",
          "body": "- require switching to the PR head branch before local inspection\n- store the active branch for review and fix workflows\n- sync generated opencode command docs with the source templates",
          "is_bot": false,
          "headline": "fix: align pr commands with head branch",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-03-31T13:12:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a9de25b9a0512a3c1390cd0f6d68834c13a3794",
          "body": "- Document /merge command in README bundled surface section\n- Bump version to 0.10.0 for release",
          "is_bot": false,
          "headline": "feat: add /merge command to bundled surface",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:43:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "692ab44f1d8c1e956d90d9674733ce8ba3331a4b",
          "body": "…dispatch\n\nfeat: Update command docs to use session_command tags - Add /merge command",
          "is_bot": false,
          "headline": "Merge pull request #72 from kompassdev/feature/merge-command-session-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:41:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecdb6f5660b56667819fb74369bda87b17b74577",
          "body": "…ody/agent format\n\n- Replace slash command parsing with explicit command/body/agent structure\n- Update session_command tool to require command parameter\n- Add command attribute to all session_command tags in command docs\n- Update navigator agent docs for new session command format\n- Update all tests\n[…]\nI signatures\n- Update OpenCode adapter tool registration and execution\n- Update web documentation for session command changes\n- Add merge command documentation\n- Add session-command tool documentation",
          "is_bot": false,
          "headline": "refactor: update session command dispatch to use structured command/b…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:28:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1beaf86a68809427770053576763e9f2f1b0be0e",
          "body": "- add the merge command and session_command tool across core and OpenCode surfaces\n- switch navigator-driven workflows from dispatch tags to literal session_command tags\n- sync docs, config, schema, generated output, and tests for the new command flow",
          "is_bot": false,
          "headline": "feat: add session command dispatch support",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-30T21:58:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c6e59fe827bc7004f9bf5192f1df20a27b89ef9",
          "body": "refactor: simplify landing page layout and add install guide",
          "is_bot": false,
          "headline": "Merge pull request #68 from kompassdev/refactor/simplify-landing-page",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:22:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10f1a6aed9b1aa7adff1bb2348508fc4c51e4404",
          "body": "…sibility",
          "is_bot": false,
          "headline": "fix: add focus-visible styles to InstallBlock tabs for keyboard acces…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:19:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e0086f585fc1b2b82ce2c3c3a3fd22a3c50dc60",
          "body": "Remove unused .section--features, .feature-grid, .feature-card,\n.section--architecture, .architecture-simple, .arch-item, and\n.arch-number styles that are no longer used in the landing page.",
          "is_bot": false,
          "headline": "fix: remove dead CSS styles from site.css",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caa4e31f32e6c75414717fea379f9821196c7a3c",
          "body": "…amlining layout",
          "is_bot": false,
          "headline": "refactor: simplify landing page by removing verbose sections and stre…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:06:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb7d1c870f617d30cbf2d0d0295da6486dde94a5",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:13:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04a51da9d1487055eabc776f6a01e0833bb42822",
          "body": "Fix OpenCode package plugin entry export",
          "is_bot": false,
          "headline": "Merge pull request #67 from kompassdev/fix/opencode-plugin-entry",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:11:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9c72cf211fd6a688f4368ccc5c546e93def2805",
          "body": "- publish  as the package entry so consumers load the plugin-only surface\n- update the build to emit  instead of bundling from\n- add a regression test that verifies the plugin entry only exports the plugin factories",
          "is_bot": false,
          "headline": "fix: point opencode package to plugin entry",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:05:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68e70fc5f472589d3669ad930d8cb1dd7ab5768d",
          "body": "- document the bundled command, agent, and tool surface in the adapter README\n- bump @kompassdev/opencode to version 0.9.0",
          "is_bot": false,
          "headline": "chore: prepare opencode 0.9.0 release",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:43:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ed2f51a969c2cde192bca13e9ffb7eb1a356820",
          "body": "Refresh bundled surface docs and showcase",
          "is_bot": false,
          "headline": "Merge pull request #66 from kompassdev/chore/refresh-bundled-surface",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:42:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02d8d2d12ed1a49a3ac11d6118a1a2a86dc90c0d",
          "body": "- document commands, agents, tools, and reusable components across the\n  README, adapter docs, and reference pages\n- switch command ownership from build to worker and align default\n  agent permissions and config tests\n- add explicit head branch support to pr_sync for PR creation flows\n- refresh the docs site landing page and command showcase to present the\n  bundled workflow surface more clearly",
          "is_bot": false,
          "headline": "feat: refresh bundled workflow surface docs",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:36:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7679204d11d4eba1f3619162ce938df7cd9ba9f4",
          "body": "Remove Kompass skill support from core and OpenCode",
          "is_bot": false,
          "headline": "Merge pull request #65 from kompassdev/refactor/remove-skill-support",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:05:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b22be17ea63643bc85bb9d032716c97add266a57",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove stale skill exclude from opencode tsconfig",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:03:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d32e42499129cb21393edd42dfa2c48e1d1e31b7",
          "body": "- drop skill config, schema, and runtime registration from core and OpenCode\n- remove skill-specific tests and packaged skill artifacts\n- update docs and site copy to reflect the reduced Kompass surface area",
          "is_bot": false,
          "headline": "refactor: remove Kompass skill support",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T21:57:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bb6b44a2a2c6ee930910e4d042ac823d867f4e7",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:59:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecfc1fe83df44004835850c75d73e647ff7925d4",
          "body": "fix: preserve configured skill paths when bundled skills are unavailable",
          "is_bot": false,
          "headline": "Merge pull request #64 from kompassdev/fix/preserve-skill-paths",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:58:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30f4d30d7cf7171ad0650997ae118a2aee67eed3",
          "body": "- keep normalized custom skill paths when bundled skills are unavailable\n- only register bundled skills when a valid bundled root exists\n- cover missing bundled root behavior in skills config tests",
          "is_bot": false,
          "headline": "fix: preserve configured skill paths",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:40:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f193a71954998e96da4b54794b49a57732719b6",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version to 0.8.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:12:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8808ce17deed28b9d5a2a718046831db21ccac21",
          "body": "Clarify dispatch ownership and review stability guidance",
          "is_bot": false,
          "headline": "Merge pull request #63 from kompassdev/docs/review-stability-guidance",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:10:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4beddf0a7d49c48691433d45ff0515af1a9ea846",
          "body": "- tighten navigator guidance around local orchestration and explicit dispatch bodies\n- simplify PR review template rendering for conditional approval guidance\n- update ship command argument handling and delegation-first instructions\n- regenerate OpenCode artifacts to keep compiled docs in sync",
          "is_bot": false,
          "headline": "docs: clarify navigator dispatch rules",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:05:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edfe3324599e4242eccc9cf3620900b004924908",
          "body": null,
          "is_bot": false,
          "headline": "docs: stabilize review guidance across reruns",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T19:55:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4367dc8e7155b900e12f42b7851c02ec9d98e066",
          "body": "- update @kompassdev/opencode from 0.7.1 to 0.8.0\n- prepare the package metadata for the next release",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T16:12:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83c18e0aafa4dc638a17de0b665ad3051ce5e692",
          "body": "…t-sections\n\ndocs: standardize command docs around workflow output",
          "is_bot": false,
          "headline": "Merge pull request #61 from kompassdev/docs/restructure-command-outpu…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T16:11:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 32,
      "commits_last_year": 320,
      "latest_release_at": "2026-07-20T14:17:51Z",
      "latest_release_tag": "v0.16.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 15,
      "days_since_latest_release": 6,
      "mean_days_between_releases": 10.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@kompassdev/opencode",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "opencode",
            "coding-agent",
            "ai-agent",
            "developer-tools",
            "workflow",
            "code-review",
            "pull-request",
            "ticketing",
            "automation",
            "kompass"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@kompassdev/opencode",
          "is_deprecated": false,
          "latest_version": "0.16.1",
          "repository_url": "https://github.com/kompassdev/kompass",
          "versions_count": 44,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3152,
          "first_published_at": "2026-03-09T20:36:49.787000Z",
          "latest_published_at": "2026-07-20T14:17:35.908000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 2,
      "stars": 9,
      "watchers": 2,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 2,
        "total_forks": 2
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/core/tsconfig.json",
        "packages/opencode/tsconfig.json",
        "packages/web/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 26278,
      "source_files_sampled": 41,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 8452
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "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"
      ],
      "dependencies": [
        {
          "name": "eta",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.5.1"
        },
        {
          "name": "@astrojs/starlight",
          "manifest": "packages/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.30.6"
        },
        {
          "name": "astro",
          "manifest": "packages/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.2.0"
        }
      ],
      "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": 64,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 23,
        "closed_unmerged_prs": 23
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dbpolito",
          "commits": 316,
          "avatar_url": "https://avatars.githubusercontent.com/u/347400?v=4"
        },
        {
          "type": "User",
          "login": "danielsuguimoto",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/25229545?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.988
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "kompass-pr-review.yml",
        "kompass-ticket-dev.yml",
        "kompass-ticket-plan.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "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": 8,
            "reason": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
            "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": 4,
            "reason": "Found 8/17 approved changesets -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 contributing companies or organizations",
            "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": 10,
            "reason": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "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": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "30 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a49320c405f70c3f3d0e24558ce1aba02a6f1f14",
        "ran_at": "2026-07-26T23:26:59Z",
        "aggregate_score": 3.8,
        "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": null,
      "oldest_open_prs": [
        {
          "number": 111,
          "created_at": "2026-07-25T22:33:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-20T14:16:18Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/kompassdev/kompass",
    "host": "github.com",
    "name": "kompass",
    "owner": "kompassdev"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 58,
      "inputs": {
        "security": 38,
        "vitality": 84,
        "community": 40,
        "governance": 55,
        "engineering": 64
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 84,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "commits_last_year": 320,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 15
            },
            "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": "15/52 weeks with commits",
                "points": 10.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 15
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "320 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 320
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 32,
              "latest_release_tag": "v0.16.1",
              "releases_from_tags": false,
              "days_since_latest_release": 6,
              "mean_days_between_releases": 10.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "32 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 32
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~10.6 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 10.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "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": 40,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "forks": 2,
              "stars": 9,
              "watchers": 2,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "9 stars",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "2 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "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": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "packages": [
                "@kompassdev/opencode"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3152
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,152 downloads/month across npm",
                "points": 46.6,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3152,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.988
            },
            "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 99% of commits",
                "points": 0.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 99
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "merged_prs": 64,
              "open_issues": 0,
              "closed_issues": 23,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 23
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "64/87 decided PRs merged",
                "points": 28.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 64,
                      "decided": 87
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 8/17 approved changesets -- score normalized to 4",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "followers": 0,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "kompassdev",
              "public_repos": 1,
              "account_age_days": 139
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "0 followers of kompassdev",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 0,
                      "login": "kompassdev"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "1 public repos, account ~0 yr old",
                "points": 3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 1
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@kompassdev/opencode"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "44 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "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": "moderate",
        "name": "Engineering Quality",
        "value": 64,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "ai",
                "automation",
                "code-review",
                "coding-agent",
                "developer-tools",
                "github",
                "workflow",
                "autonomous-coding",
                "kompass",
                "token-efficiency",
                "agent-navigation",
                "steered-autonomy"
              ],
              "has_wiki": false,
              "homepage": "https://kompassdev.ai/",
              "has_readme": true,
              "has_docs_dir": false,
              "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://kompassdev.ai/",
                "points": 15,
                "status": "met",
                "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": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 38,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 38,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "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": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
                "points": 2,
                "status": "partial",
                "details": [],
                "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 8/17 approved changesets -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "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": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "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": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "30 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 6
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "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": 63,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.92,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 8452
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.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": "92 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 92,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "packages/core/tsconfig.json",
                "packages/opencode/tsconfig.json",
                "packages/web/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 26278,
              "source_files_sampled": 41,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/41 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 41,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "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"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T23:27:11.651182Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/k/kompassdev/kompass.svg",
  "full_name": "kompassdev/kompass",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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 agregadasnpm.