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

sairam0424 / Tombstone

Production intelligence layer for feature flags at scale — blast radius gating, circuit-breaker auto-rollback, Merkle-linked audit log, incident correlation, and Knight Capital–style tombstoning. Go + Python + TypeScript polyglot monorepo.

Go · TypeScript · PythonSin licencia detectada★ 0 estrellas⑂ 0 forksdesde jun 2026Ver en GitHub ↗

sairam0424/Tombstone tiene un índice de salud de 55 sobre 100, lo que lo sitúa en la banda Moderado. Su puntuación más alta es AI Readiness (82/100) y la más baja, Community & Adoption (33/100). Se actualizó por última vez hace 11 días. Una sola persona concentra la mayor parte del trabajo reciente.

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

55
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

sairam0424Cuenta personal
4 seguidores55 repositorios públicosdesde sept 2022

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

Ecosistemas de paquetes

RegistroPaqueteVersiónDescargas / mesVersionesÚltima publicaciónEtiquetas
npm@tomb-stone/cli0.1.01011hace 29 díasfeature-flagsclitombstonedevopskill-switch
npm@tomb-stone/mcp0.1.01011hace 29 díasmcpmodel-context-protocolfeature-flagstombstoneaidevops

Métricas por categoría

Vitalidad

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

66Moderado · 22% del índice global
Cómo se puntúa
28.8/36Recencia de push — último push hace 11 días
3.5/36Cadencia de commits — 5/52 semanas con commits
18/18Volumen de commits — 634 commits en el último año
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Datos de entrada utilizados
commits_last_year634
human_commit_share1
days_since_last_push11
active_weeks_last_year5
Cómo se puntúa
27/27Publica versiones — 12 versiones publicadas
36/36Recencia de las versiones — última versión hace 11 días
27/27Cadencia de publicación — una versión cada ~2,1 días
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Datos de entrada utilizados
releases_count12
latest_release_tagv1.4.4
releases_from_tagsno
days_since_latest_release11
mean_days_between_releases2,1

Comunidad y Adopción

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

33En riesgo · 18% del índice global
Cómo se puntúa
0/60Estrellas — 0 estrellas
0/25Forks — 0 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
0/22.5Licencia — no se detectó ningún archivo de licencia
18/18Guía CONTRIBUTING
13.5/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_licenseno
has_contributing
has_issue_templateno
has_code_of_conduct
has_pull_request_template
Cómo se puntúa
30.8/80Descargas mensuales — 202 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@tomb-stone/cli, @tomb-stone/mcp
dependents
ecosystemsnpm
total_downloads
monthly_downloads202
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?

48En riesgo · 24% del índice global
Cómo se puntúa
9/54Factor bus — la mitad de los commits recae en 1 contribuyente(s)
0/22.5Distribución de commits — el principal contribuyente firma el 100% de los commits
1.4/13.5Amplitud de contribuyentes — 1 contribuyentes
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Datos de entrada utilizados
bus_factor1
contributors_sampled1
top_contributor_share1
Cómo se puntúa
0/46.8Resolución de issues — sin issues o sin datos
37.4/38.3Aceptación de PR — 91/93 PR decididos fusionados
0/15OpenSSF Scorecard: Code-Review — Found 0/9 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs91
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs2
Excluidos de la puntuación (sin datos o no aplicable): Resolución de issues. Los pesos restantes se han renormalizado.
Cómo se puntúa
10/30Respaldo de la propiedad — cuenta personal (usuario)
0/20Dominio verificado — no aplicable a cuentas de usuario
5/25Alcance del propietario — 4 seguidores de sairam0424
20.5/25Trayectoria — 55 repos públicos, cuenta de ~3 años
Datos de entrada utilizados
followers4
owner_typeUser
is_verified
owner_loginsairam0424
public_repos55
account_age_days1424
Excluidos de la puntuación (sin datos o no aplicable): Dominio verificado. Los pesos restantes se han renormalizado.
Cómo se puntúa
25/25Publicado y resoluble — 2 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 29 días
4/20Historial de versiones — 1 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@tomb-stone/cli, @tomb-stone/mcp
ecosystemsnpm
any_deprecatedno
min_days_since_publish29

Calidad de Ingeniería

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

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

Documentación

100Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://tombstone-workspace-dashboard-ihw7.vercel.app
10/10Descripción del repositorio
10/10Topics — 20 topics
10/10Wiki
Datos de entrada utilizados
topicscircuit-breaker, feature-flags, go, observability, openfeature, postgresql, python, redis, typescript, blast-radius, devops, feature-toggles, gitops, golang, hacktoberfest, kafka, opentelemetry, platform-engineering, self-hosted, feature-flag-management
has_wiki
homepagehttps://tombstone-workspace-dashboard-ihw7.vercel.app
has_readme
has_docs_dir
has_description

Seguridad

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

44En riesgo · 16% del índice global
Cómo se puntúa
6.8/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 9 out of 9 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/9 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5Licencia — license file not detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
2.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 56 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate3
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
25/25Dependencias indirectas libres de avisos conocidos — ninguna dependencia indirecta tiene un aviso conocido
0/40Sin avisos pendientes — ningún aviso tiene fecha de publicación
Datos de entrada utilizados
sourceosv
advisories0
affected_packages0
assessed_packages19
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluidos de la puntuación (sin datos o no aplicable): Sin avisos pendientes. Los pesos restantes se han renormalizado. Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@tomb-stone/cli@0.1.0 —lo que arrastra la instalación del paquete publicado—: 19 paquetes. No se analiza la alcanzabilidad.

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.

82Bueno · 0% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — AGENTS.md, CLAUDE.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 97 de 100 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share0,97
agent_instruction_filesAGENTS.md, CLAUDE.md
agent_instruction_max_bytes11.959
Cómo se puntúa
18/18Arranque con un solo comando — Makefile
22/22Pruebas automatizadas
0/11Configuración de lint / formato
11/11Verificación estática de tipos — packages/sdks/@flagmind/core/tsconfig.json, packages/sdks/@flagmind/react/tsconfig.json, workspace-dashboard/tsconfig.json, workspace-vscode-ext/tsconfig.json
10/10Entorno reproducible — Dockerfile, lockfile
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
5/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 5
Datos de entrada utilizados
has_nixno
has_tests
lockfilesgo.sum, package-lock.json
has_dockerfile
typed_language
bootstrap_filesMakefile
has_devcontainerno
has_linter_configno
typecheck_configspackages/sdks/@flagmind/core/tsconfig.json, packages/sdks/@flagmind/react/tsconfig.json, workspace-dashboard/tsconfig.json, workspace-vscode-ext/tsconfig.json
agent_commit_share0
toolchain_manifestsinfra/terraform/provider/go.mod, packages/sdks/flagmind-dotnet/src/FlagMind/FlagMind.csproj, packages/sdks/flagmind-dotnet/tests/FlagMind.Tests/FlagMind.Tests.csproj, packages/sdks/flagmind-java/build.gradle, services/ast-rewriter/go.mod, services/evaluator/go.mod, services/flag-api/go.mod, services/gateway/go.mod, services/gitops-sync/go.mod, services/marketplace/go.mod, services/tombstone-operator/go.mod, workspace-jetbrains/build.gradle.kts
dependency_bot_commit_share0
Cómo se puntúa
45/45Código verificable por tipos — Go (tipado estático)
55/55Tamaños de archivo manejables — 0/296 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageGo
largest_source_bytes31.275
source_files_sampled296
oversized_source_files0
Cómo se puntúa
40/40Esquema de API (OpenAPI/GraphQL/proto) — proto/v1/admin/admin.proto, proto/v1/flags/flags.proto
20/20Servidor MCP
40/40Ejemplos ejecutables — examples
Datos de entrada utilizados
example_dirsexamples
has_mcp_signal
api_schema_filesproto/v1/admin/admin.proto, proto/v1/flags/flags.proto

Datos clave

0estrellas de GitHub
1contribuidores
634commits en los últimos 12 meses
11días desde el último push
12versiones publicadas
1factor bus
0issues abiertas
Maven, npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Could not fetch npm package 'tombstone-vscode' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Más detalle

OpenSSF Scorecard 3.0 / 10
3.0agregado

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-27 19:03 UTC

9Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests9 out of 9 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/9 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
5Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 5
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities56 existing vulnerabilities detected
Dependencias directas 12
RegistroPaqueteRestricción de versiónManifiesto
npmchalk^5.0.0workspace-cli/package.json
npmcommander^12.0.0workspace-cli/package.json
npmora^8.0.0workspace-cli/package.json
npm@types/recharts^1.8.29workspace-dashboard/package.json
npmclsx^2.0.0workspace-dashboard/package.json
npmd3^7.9.0workspace-dashboard/package.json
npmdate-fns^3.0.0workspace-dashboard/package.json
npmreact^19.0.0workspace-dashboard/package.json
npmreact-dom^19.0.0workspace-dashboard/package.json
npmreact-router-dom^7.0.0workspace-dashboard/package.json
npmrecharts^3.8.1workspace-dashboard/package.json
npm@modelcontextprotocol/sdk^1.0.0workspace-mcp/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

Avisos de dependencias 0

Instalar npm:@tomb-stone/cli@0.1.0 arrastra 19 paquetes, directos y transitivos: 0 tienen avisos conocidos, de los cuales 0 son dependencias directas.

Ningún aviso conocido afecta a las dependencias evaluadas.

Un aviso significa que la versión registrada en el grafo de dependencias cae dentro del rango afectado de un aviso. No se analiza la alcanzabilidad, y el grafo incluye fijaciones de desarrollo y prueba: un hallazgo puede referirse al utillaje y no al software distribuido.

Informe JSON sin procesar legible por máquina
{
  "data": {
    "repo": {
      "topics": [
        "circuit-breaker",
        "feature-flags",
        "go",
        "observability",
        "openfeature",
        "postgresql",
        "python",
        "redis",
        "typescript",
        "blast-radius",
        "devops",
        "feature-toggles",
        "gitops",
        "golang",
        "hacktoberfest",
        "kafka",
        "opentelemetry",
        "platform-engineering",
        "self-hosted",
        "feature-flag-management"
      ],
      "is_fork": false,
      "size_kb": 2148,
      "has_wiki": true,
      "homepage": "https://tombstone-workspace-dashboard-ihw7.vercel.app",
      "languages": {
        "C#": 9182,
        "Go": 656703,
        "CSS": 19064,
        "HCL": 4738,
        "HTML": 324,
        "Java": 12929,
        "Ruby": 9534,
        "Shell": 64846,
        "Kotlin": 36340,
        "Python": 342964,
        "PLpgSQL": 9096,
        "Makefile": 2335,
        "Dockerfile": 6296,
        "JavaScript": 23971,
        "TypeScript": 431051,
        "Go Template": 3476,
        "Open Policy Agent": 806
      },
      "pushed_at": "2026-07-15T19:56:31Z",
      "created_at": "2026-06-21T19:47:21Z",
      "owner_type": "User",
      "updated_at": "2026-07-15T19:54:53Z",
      "description": "Production intelligence layer for feature flags at scale — blast radius gating, circuit-breaker auto-rollback, Merkle-linked audit log, incident correlation, and Knight Capital–style tombstoning. Go + Python + TypeScript polyglot monorepo.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": "Go",
      "significant_languages": [
        "Go",
        "TypeScript",
        "Python"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "User",
      "login": "sairam0424",
      "company": null,
      "location": null,
      "followers": 4,
      "avatar_url": "https://avatars.githubusercontent.com/u/112696106?v=4",
      "created_at": "2022-09-02T09:59:03Z",
      "is_verified": null,
      "public_repos": 55,
      "account_age_days": 1424
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v1.4.4",
          "kind": "patch",
          "published_at": "2026-07-15T19:56:49Z"
        },
        {
          "tag": "v1.4.3",
          "kind": "patch",
          "published_at": "2026-07-15T18:01:07Z"
        },
        {
          "tag": "v1.4.2",
          "kind": "patch",
          "published_at": "2026-07-09T12:09:03Z"
        },
        {
          "tag": "v1.4.1",
          "kind": "patch",
          "published_at": "2026-07-06T20:19:45Z"
        },
        {
          "tag": "v1.3.0",
          "kind": "minor",
          "published_at": "2026-07-06T12:09:20Z"
        },
        {
          "tag": "v1.2.1",
          "kind": "patch",
          "published_at": "2026-07-05T06:01:26Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-07-04T20:38:56Z"
        },
        {
          "tag": "v1.2.0",
          "kind": "minor",
          "published_at": "2026-07-04T20:38:56Z"
        },
        {
          "tag": "v1.0.0-local",
          "kind": "prerelease",
          "published_at": "2026-06-27T11:19:51Z"
        },
        {
          "tag": "v1.0.0",
          "kind": "major",
          "published_at": "2026-06-26T20:22:25Z"
        },
        {
          "tag": "v2.2.0",
          "kind": "minor",
          "published_at": "2026-06-24T08:57:13Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2026-06-22T10:13:34Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "86bd6ff52bfd766be9d097f693038fec2dd5e8ab",
          "body": "release: Tombstone v1.4.4",
          "is_bot": false,
          "headline": "Merge pull request #93 from sairam0424/develop",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T19:54:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2beb8de75b91c50391ac7f771a2ecf5ba4e47944",
          "body": "chore(release): promote [Unreleased] -> [1.4.4]",
          "is_bot": false,
          "headline": "Merge pull request #92 from sairam0424/chore/v1.4.4-release",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T19:45:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b33523a1bb31cb94e9c1c49dda2b3ba3b4bb9307",
          "body": "Documents the Argo CD notifications duplicate-resource fix from PR #91\nunder a new [1.4.4] entry. No SDK code touched this release — pure\nGitOps manifest fix — so no version bumps needed.",
          "is_bot": false,
          "headline": "chore(release): promote [Unreleased] -> [1.4.4]",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T19:41:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50a3aed642bc86a5ccd7862fdfedfa0690b578b7",
          "body": "…cate-resource\n\nfix(gitops): remove vendored notifications stub to fix Argo CD duplicate-resource issue",
          "is_bot": false,
          "headline": "Merge pull request #91 from sairam0424/fix/argocd-notifications-dupli…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T19:26:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fdec6fae80d2822d3d4c2bfd6e9ac8ee7b649284",
          "body": "…ate-resource issue\n\ngitops/clusters/production/argocd/core/argocd-install-v2.11.0.yaml (the\nvendored upstream Argo CD manifest) ships empty stub ConfigMap/\nargocd-notifications-cm and Secret/argocd-notifications-secret objects\n(labels only, no data/stringData, no namespace). The real ones — with\nth\n[…]\n service.webhook.tombstone-marketplace, triggers,\ntemplates, subscriptions, and the marketplace-token stringData field)\nrather than the empty stub. All 9 gitops build paths pass with zero\nregressions.",
          "is_bot": false,
          "headline": "fix(gitops): remove vendored notifications stub to fix Argo CD duplic…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T19:16:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c5f64e784be828e2ec77d91ed857111200251664",
          "body": "release: Tombstone v1.4.3",
          "is_bot": false,
          "headline": "Merge pull request #90 from sairam0424/develop",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T17:59:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "629d538b1fa4198654ab8e5a13d71d579db579dc",
          "body": "fix(gitops): reconcile develop with main's infra fixes before v1.4.3 promotion",
          "is_bot": false,
          "headline": "Merge pull request #89 from sairam0424/chore/merge-main-namespace-fix",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T17:55:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f67f4d3cf60392de0f578013b84ba2080079b66c",
          "body": "# Conflicts:\n#\tgitops/clusters/staging/argocd/kustomization.yaml",
          "is_bot": false,
          "headline": "merge: reconcile main into develop before v1.4.3 promotion",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T17:52:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c98e67bdd6f75c1f1edf336fa1fc911bbec65848",
          "body": "…promotion\n\ndevelop and main had diverged (merge-base fa21c35, main 26 commits\nahead) via two separate release-branch histories that never got\nreconciled. Pulling in the two real, still-missing fixes from main:\n\n- Adds the argocd Namespace manifest (kind: Namespace, name: argocd)\n  to both clusters'\n[…]\n--components-extra=...` to install\nCRDs live against the cluster rather than committing them to git).\nAdding the vendored file back would reintroduce an inconsistency this\nrepo had already moved past.",
          "is_bot": false,
          "headline": "fix(gitops): reconcile develop with main's infra fixes before v1.4.3 …",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T17:51:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ab2181ad5ebea9a8e495c03ce42efd39854613df",
          "body": "chore(release): promote [Unreleased] -> [1.4.3], bump Java SDK to 0.1.1",
          "is_bot": false,
          "headline": "Merge pull request #88 from sairam0424/chore/v1.4.3-release",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T15:42:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68ba143d7ed2e2f91b93b949026e29844339661d",
          "body": "Documents the fixes from PR #86 and #87 (SDK parity + GitOps\ncluster-awareness bugs) under a new [1.4.3] entry. Bumps Java SDK's\nversion since it now genuinely compiles and passes its test suite in\nCI for the first time — a real behavioral change for anyone consuming\nit, not just an internal refactor. Python was already bumped to 0.2.1\nin an earlier commit; Ruby/.NET/TypeScript SDKs were untouched by\neither PR and are left at their current versions.",
          "is_bot": false,
          "headline": "chore(release): promote [Unreleased] -> [1.4.3], bump Java SDK to 0.1.1",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T15:39:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e109c6f1a890f6f65a94e7ff78c2d09c352418e",
          "body": "…ders\n\nfix(gitops): argocd-bootstrap.yml cluster input actually selects the target cluster",
          "is_bot": false,
          "headline": "Merge pull request #87 from sairam0424/fix/argocd-cluster-aware-provi…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T15:07:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a5dc8b259e7c29d6518a23b19ed1d53bf3284cd",
          "body": "…the target cluster\n\nargocd-bootstrap.yml accepted a `cluster` input (staging|production) and\nset it as an env var, but the apply step only ever ran\n`kubectl apply -k gitops/providers/${PROVIDER}/` — the cluster value was\nnever referenced. gitops/providers/argocd/ and gitops/providers/both/\nwere har\n[…]\n 7\nbuild paths: staging builds now show targetRevision: develop /\ngitops/apps/staging, production builds show targetRevision: main /\ngitops/apps/production, with zero cross-contamination between them.",
          "is_bot": false,
          "headline": "fix(gitops): make argocd-bootstrap.yml cluster input actually select …",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T15:00:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "026be5924db9e7bf025d07c3c21c06510ed56fa7",
          "body": "fix(sdk,gitops): Python gate prerequisite, Java package mismatch, Argo CD kustomize build failures",
          "is_bot": false,
          "headline": "Merge pull request #86 from sairam0424/fix/sdk-parity-and-gitops-bugs-v2",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T13:10:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3292790c8f8a50c8d982392a5511f84374b40e48",
          "body": "TombstoneClient.java imported com.squareup.okhttp3.* — that's OkHttp's\nMaven groupId, not its Java package name, which is just okhttp3.\nThis is a pre-existing bug that predates this session: the file lived\nunder a gitignored src/main directory (fixed in an earlier commit on\nthis branch) and had neve\n[…]\nrified locally by downloading Gradle 8.7 (matching CI's install\nstep exactly, since no gradle/gradlew is available in this dev\nenvironment) and running `gradle test`: BUILD SUCCESSFUL, 6/6 tests\npass.",
          "is_bot": false,
          "headline": "fix(sdk): correct okhttp3 import in Java TombstoneClient",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T09:57:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5cb4f6c210045a846c5dcf4755e1b7d36fbf6bf0",
          "body": "gitops/clusters/staging/argocd/kustomization.yaml has referenced\nargo-rollouts-install-v1.7.0.yaml since commit b46284b, but that\ncommit is not an ancestor of the current develop history — the file\nitself was lost somewhere during an earlier history rewrite, even\nthough the reference to it survived.\n[…]\nhis session didn't catch\nit). Restored by copying the byte-identical file from\ngitops/clusters/production/argocd/rollouts/ — same Argo Rollouts\nv1.7.0 release manifest already vendored for production.",
          "is_bot": false,
          "headline": "fix(gitops): restore missing argo-rollouts-install file on staging",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T09:49:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5449bbc977cabd4d2ccaa0e4cc62571e0243e716",
          "body": "gitops/providers/argocd/ and gitops/providers/both/ referenced individual\nfiles in gitops/clusters/production/argocd/ via ../../ paths. One of\nthose references pointed at a filename (install.yaml) that never\nexisted — the real file was always named argocd-install-v2.11.0.yaml,\na stale placeholder le\n[…]\n providers/argocd output now correctly\nexcludes Rollouts/Notifications; providers/both includes both, with\nthe health-check patches confirmed actually applied in the built\noutput, not just referenced.",
          "is_bot": false,
          "headline": "fix(gitops): restructure argocd provider overlays into composable bases",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T09:49:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "dad118bb4e55e5996b47eb9f366c74778dcc5e6a",
          "body": "…dir mismatch\n\nPython SDK never implemented TypeScript's gate:false soft-prerequisite\nsemantics — every prerequisite was hard-blocking regardless of the field.\nAdds gate=True-default handling to _check_prerequisites, matching the TS\nreference exactly (gate=False + unmet -> skip and continue; gate=Tr\n[…]\ne 5-step pipeline\n(TARGET_MATCH/RULE_MATCH/PREREQUISITE_FAILED are declared but dead code\nin all three) — corrects an inflated \"full parity\" claim that was\npreviously in docs/SDK_INTEGRATION_GUIDE.md.",
          "is_bot": false,
          "headline": "fix(sdk): add gate soft-prerequisite to Python SDK, fix Java package/…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-15T09:49:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "62bebae91f23d1d4567991d09f727802d34f1712",
          "body": "release: Tombstone v1.4.2 — all 8 blockers resolved, APPROVED for user release",
          "is_bot": false,
          "headline": "Merge pull request #85 from sairam0424/release/v1.4.2-final",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:53:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f5e40b40ccd5c4fb9e73c7dcd16998f8f3bbac99",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'main' into release/v1.4.2-final",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:50:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa21c35caf33140fa32e736c5f67535050873531",
          "body": "…1.5.0 backlog",
          "is_bot": false,
          "headline": "fix(ci): Java SDK continue-on-error — package/directory mismatch is v…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:47:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a985fd7f75e9a36c4c737959c8d77eab4c4e7ca3",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): install Gradle 8.7 — apt version too old for useJUnitPlatform",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:34:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc7862c4c208c6fcbbadf2c19245bdd926c731bc",
          "body": "… unsupported",
          "is_bot": false,
          "headline": "fix(sdk): use string sourceCompatibility — apt gradle VERSION_21 enum…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:18:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eec85f85340770954461845d34ce739f8843b8e8",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): use apt gradle, fix Ruby tombstone require path",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:01:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a968f57f9ec272bd374fd84a2e83cd9327cc46d4",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): use apt gradle, fix Ruby tombstone require path",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T11:01:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d42f26adf79aff791454c8c59c11e146467aaf5",
          "body": "… require, Java gradle",
          "is_bot": false,
          "headline": "fix(ci): fix 4 test failures — pytest install, ruff unused vars, Ruby…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:59:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9b6a86c2157ff4951cdcfc47c08a4a52a597403",
          "body": "… require, Java gradle",
          "is_bot": false,
          "headline": "fix(ci): fix 4 test failures — pytest install, ruff unused vars, Ruby…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:59:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f37748f6b068abb5c81b85e26d0c289982734ba",
          "body": "… require, Java gradle",
          "is_bot": false,
          "headline": "fix(ci): fix 4 test failures — pytest install, ruff unused vars, Ruby…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:59:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a5370bd32897d15de4e1536b1ef213499ec1ac40",
          "body": "… require, Java gradle",
          "is_bot": false,
          "headline": "fix(ci): fix 4 test failures — pytest install, ruff unused vars, Ruby…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:58:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c22944ad3bd205eb0e6eeeed165c06a68128017c",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f7d68b79c287f6ff8c2cdf1997ac883546b3e100",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "397e326c9a8101a7270cf7a1ecb7b61e1e977bfe",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c1613ae818999aacb1531a8e795a3df0291e44b",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "be86fad295dd9c3b7cd103f502475f9d125f8777",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7f52543adf0cc3ca8dbf079d640475d89939bf7",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bfd47fa6aaaf4574310ae4af2210e3fe6d9e4f02",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "021675cc9efb2481552ebc88466f2cc5551f9fa4",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd8396ba60e5d7e4d462417c9487d34b5b7c8838",
          "body": null,
          "is_bot": false,
          "headline": "fix: v1.4.2 release blockers B1-B8",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-09T10:43:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80d1113e6ff67e0a049cf7a297ed8a5a946dffe3",
          "body": "…ion v3, metadata-action v5",
          "is_bot": false,
          "headline": "fix(ci): correct docker action SHAs — build-push-action v6, login-act…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T13:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c256573f13ba7934c8bc7274fd077a44cb2b014",
          "body": "…ion v3, metadata-action v5",
          "is_bot": false,
          "headline": "fix(ci): correct docker action SHAs — build-push-action v6, login-act…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T13:53:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94c4f114ba235dbeabe372682ec86452a263382f",
          "body": "…ATCH, priority sort, cycle guard, operator case fix",
          "is_bot": false,
          "headline": "chore(sdk): bump tombstone-sdk to v0.2.1 — FNV hashVersion2, TARGET_M…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T13:39:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "851a52c8c76a54ae34df08c64801f58d94cf3531",
          "body": "release: Tombstone v1.4.2 — GitOps DevOps upgrade + Python SDK full parity",
          "is_bot": false,
          "headline": "Merge pull request #84 from sairam0424/release/v1.4.2",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T13:25:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b03ee261231cfb2b5d68156f997d50b29c8df33b",
          "body": null,
          "is_bot": false,
          "headline": "chore(release): bump CHANGELOG [Unreleased] → [1.4.2]",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:38:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3cd38bb90cfc34ee78d4b1d13778a01f77d5b98",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9b34e965eaae2fefa2e895cc8df57c20f9d3af1",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5963ee89a15fd2a0eacc02dd84929ea40e09626",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d59440d36d2d07b953dbf58d3cd5c05ee5fcd8c3",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caf32acb61a36280160a75c802db38418b502dcf",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f55bc0abcb6187bd5c0bb61ba7d7744ddcc5e47a",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a48562da69684826f6748069fff54e5b3d6bf9c0",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1915494b42e9c8185f453b76232273774fb97f4d",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a248c91c4b9a94f09b895f2a9cad54ba4a15d5f",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb8a9c2d7e75a5e3cb0c1cac5c3129258d8010eb",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c44c666ca5775aec11999eafbfd42d79b59e44c1",
          "body": "…ollouts, SHA-pin 9 workflow files",
          "is_bot": false,
          "headline": "fix(infra/ci): resolve 3 release blockers — IUA v1beta2, production r…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:28:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7a7d5096eb6ddc05fd4b0c97d00b6858edc697c",
          "body": "…, priority sort, cycle guard, kustomize DRY docs",
          "is_bot": false,
          "headline": "feat(sdk/infra): V4-V7 backlog fixes — FNV hashVersion2, TARGET_MATCH…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:11:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d30f7f3ed2c523cc6cb436cf0c377c0ec87122e0",
          "body": "…, priority sort, cycle guard, kustomize DRY docs",
          "is_bot": false,
          "headline": "feat(sdk/infra): V4-V7 backlog fixes — FNV hashVersion2, TARGET_MATCH…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:11:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "056163bdb75840e34dd0fe19d421bea4bec492d5",
          "body": "…, priority sort, cycle guard, kustomize DRY docs",
          "is_bot": false,
          "headline": "feat(sdk/infra): V4-V7 backlog fixes — FNV hashVersion2, TARGET_MATCH…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:11:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79222a977253be911166692ede13bca4ad140213",
          "body": "…, priority sort, cycle guard, kustomize DRY docs",
          "is_bot": false,
          "headline": "feat(sdk/infra): V4-V7 backlog fixes — FNV hashVersion2, TARGET_MATCH…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:11:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de01866717192ef4ceaaf99cfa3b6f60ea2298ec",
          "body": null,
          "is_bot": false,
          "headline": "feat(sdk): add hashVersion2 FNV TARGET_MATCH priority cycle guard",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T09:10:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4cad0c75afbdf096f4893e75438bb2b2a361caa6",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add rollouts.yaml to staging argocd cluster",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T08:18:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ab08bc4ed459e60ab0875d95c6d83c836a88e63",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add notifications subscriptions",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T08:16:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "948ba89fb85748173b9ad9050d99799ca17f07c3",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add argo-rollouts to staging argocd kustomization",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T08:15:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5be3b213b2028621bf618dd3ce687a93f45fdb8e",
          "body": null,
          "is_bot": false,
          "headline": "fix(sdk): normalize operator case",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T08:14:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f636342f47e697ddbf3c36f517da38621cf5771",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): remove azure/setup-kubectl from argocd-bootstrap",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T08:14:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6b4d24e2277912a62837fe69279c97c4f643a48",
          "body": "… guide",
          "is_bot": false,
          "headline": "docs: add OKE_RUNBOOK.md — step-by-step Oracle Cloud K8s provisioning…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T07:19:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d89fc1bf421935c1905f14549687a258b4ef09a",
          "body": "…u-latest",
          "is_bot": false,
          "headline": "fix(ci): remove azure/setup-helm action — helm pre-installed on ubunt…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:53:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8a850f23e22a9edf82e30820e2aca3493b8525d",
          "body": "…u-latest",
          "is_bot": false,
          "headline": "fix(ci): remove azure/setup-helm action — helm pre-installed on ubunt…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:53:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "211dd2dc9f5236739356f482841b47ab2d0e9162",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:51:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3192ef59da5e3d7a225e88ccc805eb360b217f54",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:51:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e155d4b59d44dea3766ad1a5b03e2edd6b0e45b",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:51:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19324dc22fee0c8ea1394b53551757c0e432ec61",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:50:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b40c92e072c87070ece03536a2328bcb4bef5cc5",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:50:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "08562c80d164e5c6ed702de35ccf141330f896b3",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:50:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2939a7142ea8715cc911fa76297a138586b08ff",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart to main",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:49:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22206307e68ed7e696f2bb2abf2dd76545ce5828",
          "body": null,
          "is_bot": false,
          "headline": "feat(ci): add helm-publish.yml to main for chart publication",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:49:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf063dc51c5dc6d0c71c40fc727cbec79511b540",
          "body": "…cr.io",
          "is_bot": false,
          "headline": "feat(ci): add helm-publish.yml to push tombstone-operator chart to gh…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:37:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7e1d3502cb3972618f43cd404aa2511e1ce895c",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add ghcr-pull-secret bootstrap helper script",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:37:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "881233b101a3bcd8f2750e74ea8c4e2abcd22444",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add ghcr-pull-secret to controllers kustomization",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cb9ac2a430244e3124649b2723323e7ea2cbd26",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): add ghcr-pull-secret placeholder + bootstrap helper",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:37:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d2fa1ebb0c6785bc53054b6334321824871c584e",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:37:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d3b803e38da0cbf8e0767db267cf4a5836f34259",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:36:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "459f1a8dc0fc48788e2ee7b514fce99d0895ae6a",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:36:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51f4d4dd4243e5ace5f64b2f194c1108ce6646f7",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:36:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38c43ccb3bfbdb6a66df7b00559a39b916dd2247",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:36:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a457dbc38bb003e183fb4b6525bd21286d69a27c",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:36:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b04faf787c5b701b2f773cf7627dc078efa0b677",
          "body": null,
          "is_bot": false,
          "headline": "feat(infra): add tombstone-operator Helm chart v0.1.0",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-07T05:35:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bf0156ca657eece5623e94eebbd79f1c983d8b1",
          "body": null,
          "is_bot": false,
          "headline": "fix(infra): create tombstone namespace before controller resources",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T21:01:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ada5a45bcd3d5578fcae1f8ec3d4a84eb747d35",
          "body": "…e applying HelmRepository",
          "is_bot": false,
          "headline": "fix(infra): add tombstone Namespace manifest for Flux to create befor…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T21:01:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7bba3ab959fd7d3ad7bd8c01b19b8cb4a3a6fb2",
          "body": "… Flux 2.9",
          "is_bot": false,
          "headline": "fix(infra): upgrade HelmRepository to source.toolkit.fluxcd.io/v1 for…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T21:01:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a98ee35033d8a9fe1af65074d0d5811a8e03d70",
          "body": "…rgocd ns is created before resources",
          "is_bot": false,
          "headline": "fix(infra): add namespace.yaml to argocd kustomization resources so a…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T21:00:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6373d9c53f1b88c1c2ff8ef5ae9020a7835424f",
          "body": "…e applying ArgoCD resources",
          "is_bot": false,
          "headline": "fix(infra): add argocd Namespace manifest so Flux can create it befor…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:59:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e86c1353768c203166b1318c0dc3b3575e748212",
          "body": "…v1 for Flux 2.9",
          "is_bot": false,
          "headline": "fix(infra): upgrade ImageUpdateAutomation to image.toolkit.fluxcd.io/…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:59:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce698337fd4d5851c3d09cd043c38888b98c8a38",
          "body": "…v1 for Flux 2.9",
          "is_bot": false,
          "headline": "fix(infra): upgrade image-automation CRDs to image.toolkit.fluxcd.io/…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:59:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f043019b1a12bd47a042812fd3ccab1aa61ef04",
          "body": "…v1 for Flux 2.9",
          "is_bot": false,
          "headline": "fix(infra): upgrade ImageUpdateAutomation to image.toolkit.fluxcd.io/…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:55:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee8b67f031c7154963f1b2ae1f1ca8239e6cf0fb",
          "body": "…r Flux 2.9",
          "is_bot": false,
          "headline": "fix(infra): upgrade image-automation to image.toolkit.fluxcd.io/v1 fo…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:55:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "01ee28584a397d1699addc9f1d7c6e4fa6c02a6e",
          "body": "… Flux server-side apply",
          "is_bot": false,
          "headline": "fix(infra): add namespace: argocd to staging ArgoCD kustomization for…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:55:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d0f5b82e9447749c2bdf0a14b23d2209b69ca50",
          "body": null,
          "is_bot": false,
          "headline": "Add Flux sync manifests",
          "author_name": "Flux",
          "author_login": null,
          "committed_at": "2026-07-06T20:43:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9dda2615e036830be35710eeaafc75d4f14e78d",
          "body": null,
          "is_bot": false,
          "headline": "Add Flux v2.9.0 component manifests",
          "author_name": "Flux",
          "author_login": null,
          "committed_at": "2026-07-06T20:40:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7ec031199b16ec74814fbd48faee70d6ff49b38",
          "body": "… on ubuntu-latest runners",
          "is_bot": false,
          "headline": "fix(ci): remove azure/setup-kubectl action — kubectl is pre-installed…",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:25:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68520a73588bddcd5f431781e8186bd9569725b3",
          "body": "release: Tombstone v1.4.1 — Argo CD GitOps provider + dynamic provider pattern + docs",
          "is_bot": false,
          "headline": "Merge pull request #83 from sairam0424/release/v1.4.1",
          "author_name": "sairam0424",
          "author_login": "sairam0424",
          "committed_at": "2026-07-06T20:18:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 12,
      "commits_last_year": 634,
      "latest_release_at": "2026-07-15T19:56:49Z",
      "latest_release_tag": "v1.4.4",
      "releases_from_tags": false,
      "days_since_last_push": 11,
      "active_weeks_last_year": 5,
      "days_since_latest_release": 11,
      "mean_days_between_releases": 2.1
    },
    "community": {
      "has_readme": true,
      "has_license": false,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@tomb-stone/cli",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "feature-flags",
            "cli",
            "tombstone",
            "devops",
            "kill-switch"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@tomb-stone/cli",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": "https://github.com/sairam0424/Tombstone",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 101,
          "first_published_at": "2026-06-27T20:18:29.017000Z",
          "latest_published_at": "2026-06-27T20:18:29.336000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        },
        {
          "name": "@tomb-stone/mcp",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "mcp",
            "model-context-protocol",
            "feature-flags",
            "tombstone",
            "ai",
            "devops"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@tomb-stone/mcp",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": "https://github.com/sairam0424/Tombstone",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 101,
          "first_published_at": "2026-06-27T20:18:33.150000Z",
          "latest_published_at": "2026-06-27T20:18:33.503000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 29
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [
        "proto/v1/admin/admin.proto",
        "proto/v1/flags/flags.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/sdks/@flagmind/core/tsconfig.json",
        "packages/sdks/@flagmind/react/tsconfig.json",
        "workspace-dashboard/tsconfig.json",
        "workspace-vscode-ext/tsconfig.json"
      ],
      "toolchain_manifests": [
        "infra/terraform/provider/go.mod",
        "packages/sdks/flagmind-dotnet/src/FlagMind/FlagMind.csproj",
        "packages/sdks/flagmind-dotnet/tests/FlagMind.Tests/FlagMind.Tests.csproj",
        "packages/sdks/flagmind-java/build.gradle",
        "services/ast-rewriter/go.mod",
        "services/evaluator/go.mod",
        "services/flag-api/go.mod",
        "services/gateway/go.mod",
        "services/gitops-sync/go.mod",
        "services/marketplace/go.mod",
        "services/tombstone-operator/go.mod",
        "workspace-jetbrains/build.gradle.kts"
      ],
      "largest_source_bytes": 31275,
      "source_files_sampled": 296,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 11959
    },
    "dependencies": {
      "manifests": [
        "package.json",
        "workspace-cli/package.json",
        "workspace-dashboard/package.json",
        "workspace-jetbrains/build.gradle.kts",
        "workspace-mcp/package.json",
        "workspace-vscode-ext/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 19,
        "malicious_count": 0,
        "assessed_package": "npm:@tomb-stone/cli@0.1.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "maven",
        "npm"
      ],
      "dependencies": [
        {
          "name": "chalk",
          "manifest": "workspace-cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.0.0"
        },
        {
          "name": "commander",
          "manifest": "workspace-cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.0.0"
        },
        {
          "name": "ora",
          "manifest": "workspace-cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.0"
        },
        {
          "name": "@types/recharts",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.8.29"
        },
        {
          "name": "clsx",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "d3",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.9.0"
        },
        {
          "name": "date-fns",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.0"
        },
        {
          "name": "react",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.0.0"
        },
        {
          "name": "react-dom",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^19.0.0"
        },
        {
          "name": "react-router-dom",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.0.0"
        },
        {
          "name": "recharts",
          "manifest": "workspace-dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.8.1"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "workspace-mcp/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.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": 0,
        "merged_prs": 91,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 2
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "sairam0424",
          "commits": 327,
          "avatar_url": "https://avatars.githubusercontent.com/u/112696106?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "argocd-bootstrap.yml",
        "ci.yml",
        "deploy-dashboard-vercel.yml",
        "deploy-dashboard.yml",
        "docker-publish.yml",
        "flag-annotation.yml",
        "flux-bootstrap.yml",
        "helm-publish.yml",
        "loop-flag-cleanup.yml",
        "loop-governance.yml",
        "loop-incident-response.yml",
        "loop-rollout-advisor.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 9,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/9 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 0,
            "reason": "license file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 5,
            "reason": "dependency not pinned by hash detected -- score normalized to 5",
            "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": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 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": "56 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "86bd6ff52bfd766be9d097f693038fec2dd5e8ab",
        "ran_at": "2026-07-27T19:03:56Z",
        "aggregate_score": 3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-27T11:10:01Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-15T19:54:49Z",
      "ci_last_conclusion": "SKIPPED",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/sairam0424/Tombstone",
    "host": "github.com",
    "name": "Tombstone",
    "owner": "sairam0424"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 55,
      "inputs": {
        "security": 44,
        "vitality": 66,
        "community": 33,
        "governance": 48,
        "engineering": 81
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 66,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "commits_last_year": 634,
              "human_commit_share": 1,
              "days_since_last_push": 11,
              "active_weeks_last_year": 5
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 11 days ago",
                "points": 28.8,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "5/52 weeks with commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "634 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 634
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 12,
              "latest_release_tag": "v1.4.4",
              "releases_from_tags": false,
              "days_since_latest_release": 11,
              "mean_days_between_releases": 2.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "12 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 11 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~2.1 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 2.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 33,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "has_readme": true,
              "has_license": false,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "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": "at_risk",
            "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": 38,
            "inputs": {
              "packages": [
                "@tomb-stone/cli",
                "@tomb-stone/mcp"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 202
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "202 downloads/month across npm",
                "points": 30.8,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 202,
                      "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": "at_risk",
        "name": "Sustainability & Governance",
        "value": 48,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 70,
            "inputs": {
              "merged_prs": 91,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 2
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "91/93 decided PRs merged",
                "points": 37.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 91,
                      "decided": 93
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/9 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 44,
            "inputs": {
              "followers": 4,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "sairam0424",
              "public_repos": 55,
              "account_age_days": 1424
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "4 followers of sairam0424",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 4,
                      "login": "sairam0424"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "55 public repos, account ~3 yr old",
                "points": 20.5,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 55
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "packages": [
                "@tomb-stone/cli",
                "@tomb-stone/mcp"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 29
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 29 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 29
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "1 published versions",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 81,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "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": "13 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "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": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "circuit-breaker",
                "feature-flags",
                "go",
                "observability",
                "openfeature",
                "postgresql",
                "python",
                "redis",
                "typescript",
                "blast-radius",
                "devops",
                "feature-toggles",
                "gitops",
                "golang",
                "hacktoberfest",
                "kafka",
                "opentelemetry",
                "platform-engineering",
                "self-hosted",
                "feature-flag-management"
              ],
              "has_wiki": true,
              "homepage": "https://tombstone-workspace-dashboard-ihw7.vercel.app",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://tombstone-workspace-dashboard-ihw7.vercel.app",
                "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": "20 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 20
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 44,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 30,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 6.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "9 out of 9 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "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 0/9 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 5",
                "points": 2.5,
                "status": "partial",
                "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 detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "56 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@tomb-stone/cli@0.1.0 runtime dependency closure — what installing the published package pulls in — 19 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@tomb-stone/cli@0.1.0",
                  "assessed": 19
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 19,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 19,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "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": "good",
        "name": "AI Readiness",
        "value": 82,
        "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.97,
              "agent_instruction_files": [
                "AGENTS.md",
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 11959
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "97 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 97,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 66,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "packages/sdks/@flagmind/core/tsconfig.json",
                "packages/sdks/@flagmind/react/tsconfig.json",
                "workspace-dashboard/tsconfig.json",
                "workspace-vscode-ext/tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "infra/terraform/provider/go.mod",
                "packages/sdks/flagmind-dotnet/src/FlagMind/FlagMind.csproj",
                "packages/sdks/flagmind-dotnet/tests/FlagMind.Tests/FlagMind.Tests.csproj",
                "packages/sdks/flagmind-java/build.gradle",
                "services/ast-rewriter/go.mod",
                "services/evaluator/go.mod",
                "services/flag-api/go.mod",
                "services/gateway/go.mod",
                "services/gitops-sync/go.mod",
                "services/marketplace/go.mod",
                "services/tombstone-operator/go.mod",
                "workspace-jetbrains/build.gradle.kts"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "packages/sdks/@flagmind/core/tsconfig.json, packages/sdks/@flagmind/react/tsconfig.json, workspace-dashboard/tsconfig.json, workspace-vscode-ext/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/sdks/@flagmind/core/tsconfig.json, packages/sdks/@flagmind/react/tsconfig.json, workspace-dashboard/tsconfig.json, workspace-vscode-ext/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "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 5",
                "points": 5,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 31275,
              "source_files_sampled": 296,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/296 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 296,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "excellent",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": [
                "proto/v1/admin/admin.proto",
                "proto/v1/flags/flags.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "proto/v1/admin/admin.proto, proto/v1/flags/flags.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "proto/v1/admin/admin.proto, proto/v1/flags/flags.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Could not fetch npm package 'tombstone-vscode' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T19:04:13.913056Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/sairam0424/Tombstone.svg",
  "full_name": "sairam0424/Tombstone",
  "license_state": "absent",
  "license_spdx": null
}

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.