Registro público
Informe de salud del softwareesquema 0.27.0 · métricas 2.3.1 · 2026-07-30 20:59 UTC

tylerjrbuell / reactive-agents-ts

A composable framework for building reliable LLM agents on a harness you fully control. The same code runs the agentic loop on every model tier, local 4B to frontier with tool-call healing, verification, and durable crash-resume, on a typed 12-phase engine where every step emits an event you can hook into. Effect-TS, MCP-native, MIT

TypeScriptMIT★ 19 estrellas⑂ 4 forksdesde feb 2026Ver en GitHub ↗
TipoBibliotecaFrameworkcómo se determina

tylerjrbuell/reactive-agents-ts tiene un índice de salud de 78 sobre 100, lo que lo sitúa en la banda Bueno. Su puntuación más alta es Vitality (87/100) y la más baja, Sustainability & Governance (49/100). Se actualizó por última vez hace 7 días. Una sola persona concentra la mayor parte del trabajo reciente.

78
global / 100
Bueno

Índice de salud del software

Las métricas se agrupan en categorías ponderadas sobre una escala estandarizada de 1 a 100. El resultado global parte de su media ponderada, calibrada contra la distribución del registro público para que las bandas tengan significado percentil; cuando la evidencia pública activa la Política de Jurisdicciones de Alto Riesgo, la calificación se ajusta y recibe un límite «En riesgo» de 34.

78
Excepcional93-100El nivel más alto del registro (≈ el 5% superior); cumple prácticamente todos los criterios evaluados
Excelente80-92Sólido en todos los frentes; carencias menores
Bueno65-79Saludable; carencias limitadas y manejables
Moderado50-64Aceptable con carencias notables; se recomienda revisión
Débil35-49Debilidades sustanciales en varias áreas
En riesgo20-34Debilidades significativas; su adopción exige cautela
Crítico1-19Problemas 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.

El resultado global ponderado 67 se calibra a 78 en la escala publicada del índice (calibración del registro 2026-08-02).

Titularidad

Tyler BuellCuenta personal
3 seguidores12 repositorios públicosdesde ago 2021@luduscom

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

Métricas por categoría

Vitalidad

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

87Excelente · 21% del índice global
Cómo se puntúa
36/36Recencia de push — último push hace 7 días
14.5/36Cadencia de commits — 21/52 semanas con commits
18/18Volumen de commits — 3410 commits en el último año
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Datos de entrada utilizados
commits_last_year3410
human_commit_share0,99
days_since_last_push7
active_weeks_last_year21
Cómo se puntúa
27/27Publica versiones — 35 versiones publicadas
36/36Recencia de las versiones — última versión hace 8 días
27/27Cadencia de publicación — una versión cada ~8,6 días
0/10OpenSSF Scorecard: Signed-Releases — sin datos
Datos de entrada utilizados
releases_count35
latest_release_tagv0.14.0
releases_from_tagsno
days_since_latest_release8
mean_days_between_releases8,6
Excluidos de la puntuación (sin datos o no aplicable): OpenSSF Scorecard: Signed-Releases. Los pesos restantes se han renormalizado.

Comunidad y Adopción

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

53Moderado · 17% del índice global
Cómo se puntúa
20.4/60Estrellas — 19 estrellas
4/25Forks — 4 forks
0/15Observadores — 0 observadores
Datos de entrada utilizados
forks4
stars19
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Cómo se puntúa
22.5/22.5README
22.5/22.5Licencia — licencia reconocida (MIT)
18/18Guía CONTRIBUTING
0/13.5Código de conducta
0/7.2Plantilla de issues
6.3/6.3Plantilla de PR
Datos de entrada utilizados
has_readme
has_license
readme_badges
has_contributing
has_issue_templateno
has_code_of_conductno
readme_badge_services
has_pull_request_template
Cómo se puntúa
53.9/80Descargas mensuales — 11.005 descargas/mes en npm
0/20Dependientes en el registro — no lo informa este ecosistema
Datos de entrada utilizados
packages@reactive-agents/cli, @reactive-agents/cortex, @reactive-agents/a2a, @reactive-agents/core, @reactive-agents/cost, @reactive-agents/eval, @reactive-agents/health, @reactive-agents/memory
dependents
ecosystemsnpm
total_downloads
monthly_downloads11.005
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?

49Débil · 23% 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
2.7/13.5Amplitud de contribuyentes — 2 contribuyentes
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Datos de entrada utilizados
bus_factor1
contributors_sampled2
top_contributor_share0,999
Cómo se puntúa
30.1/42Resolución de issues — 72% de issues cerradas
20.4/30Aceptación de PR — 55/81 PR decididos fusionados
0/13Newcomer PR acceptance — ningún PR de un contribuyente primerizo decidido en 30 d
0/15OpenSSF Scorecard: Code-Review — Found 1/30 approved changesets -- score normalized to 0
Datos de entrada utilizados
merged_prs55
open_issues32
closed_issues81
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0,717
closed_unmerged_prs26
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluidos de la puntuación (sin datos o no aplicable): newcomer_pr_acceptance. 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
4.3/25Alcance del propietario — 3 seguidores de tylerjrbuell
17.9/25Trayectoria — 12 repos públicos, cuenta de ~4 años
Datos de entrada utilizados
followers3
owner_typeUser
is_verified
owner_logintylerjrbuell
public_repos12
account_age_days1795
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 — 8 paquete(s) en npm
35/35Recencia de publicación — última publicación hace 8 días
20/20Historial de versiones — 42 versiones en el registro
20/20No obsoleto — activo, ni obsoleto ni retirado
Datos de entrada utilizados
packages@reactive-agents/cli, @reactive-agents/cortex, @reactive-agents/a2a, @reactive-agents/core, @reactive-agents/cost, @reactive-agents/eval, @reactive-agents/health, @reactive-agents/memory
ecosystemsnpm
any_deprecatedno
min_days_since_publish8

Calidad de Ingeniería

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

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

Documentación

90Excelente
Cómo se puntúa
30/30README
25/25Directorio de documentación
15/15Sitio de documentación / página del proyecto — https://docs.reactiveagents.dev
10/10Descripción del repositorio
10/10Topics — 20 topics
0/10Wiki
Datos de entrada utilizados
topicsagent-framework, agent-observability, agent-orchestration, agentic-ai, anthropic, bun, composable, effect-ts, google-ai, llm, multi-agent, ollama, openai, type-safe, typescript, automation, ai-agents, gateway, mcp, streaming
has_wikino
homepagehttps://docs.reactiveagents.dev
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?

55Moderado · 16% del índice global
Cómo se puntúa
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 1 out of 1 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 1/30 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5Licencia — license file detected
7.5/7.5Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — sin datos
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — sin datos
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 162 existing vulnerabilities detected
Datos de entrada utilizados
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,6
Excluidos de la puntuación (sin datos o no aplicable): packaging, signed_releases. Los pesos restantes se han renormalizado.
Cómo se puntúa
35/35Dependencias directas libres de avisos conocidos — ninguna dependencia directa tiene un aviso conocido
14.4/25Dependencias indirectas libres de avisos conocidos — 1 afectados: @opentelemetry/core 2.6.0 (moderate 5.3)
40/40Sin avisos pendientes — ningún aviso lleva público más de 90 días
Datos de entrada utilizados
sourceosv
advisories1
affected_packages1
assessed_packages233
unassessed_packages0
affected_by_severitymoderate 1
direct_affected_packages0
Se cotejó el cierre de dependencias en tiempo de ejecución de npm:@reactive-agents/cli@0.14.0 —lo que arrastra la instalación del paquete publicado—: 233 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? Tiene un peso deliberadamente pequeño (4%): las herramientas para agentes son una señal real de mantenimiento, pero un repositorio sin ninguna puede alcanzar igualmente 100/100.

71Bueno · 4% del índice global
Cómo se puntúa
45/45Instrucciones para agentes — .github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md
0/15Documentación legible por máquinas (llms.txt)
40/40Historial de commits legible — 99 de 99 commits humanos declaran su intención (asunto estructurado o cuerpo explicativo)
Datos de entrada utilizados
has_llms_txtno
legible_history_share1
agent_instruction_files.github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md
agent_instruction_max_bytes65.593
Cómo se puntúa
0/18Arranque con un solo comando
22/22Pruebas automatizadas
11/11Configuración de lint / formato — eslint.config.mjs
11/11Verificación estática de tipos — apps/advocate/tsconfig.json, apps/cli/tsconfig.json, apps/cortex/tsconfig.json, apps/cortex/ui/tsconfig.json, apps/docs/tsconfig.json, apps/examples/tsconfig.json, apps/stackblitz/01-hello-agent/tsconfig.json, apps/stackblitz/02-tool-integration/tsconfig.json, apps/stackblitz/03-strategy-demo/tsconfig.json, docker/signal-mcp/server/tsconfig.json, packages/a2a/tsconfig.json, packages/benchmarks/tsconfig.json, packages/channels/tsconfig.json, packages/compose/tsconfig.json, packages/core/tsconfig.json, packages/cost/tsconfig.json, packages/create-reactive-agent/tsconfig.json, packages/diagnose/tsconfig.json, packages/eval/tsconfig.json, packages/gateway/tsconfig.json, packages/guardrails/tsconfig.json, packages/health/tsconfig.json, packages/identity/tsconfig.json, packages/interaction/tsconfig.json, packages/judge-server/tsconfig.json, packages/llm-provider/tsconfig.json, packages/memory/tsconfig.json, packages/observability/tsconfig.json, packages/observe/tsconfig.json, packages/prompts/tsconfig.json, packages/react/tsconfig.json, packages/reactive-agents/tsconfig.json, packages/reactive-intelligence/tsconfig.json, packages/reasoning/tsconfig.json, packages/replay/tsconfig.json, packages/runtime-shim/tsconfig.json, packages/runtime/tsconfig.json, packages/svelte/tsconfig.json, packages/testing/tsconfig.json, packages/tools/tsconfig.json, packages/trace/tsconfig.json, packages/ui-core/tsconfig.json, packages/verification/tsconfig.json, packages/vue/tsconfig.json, tsconfig.json
10/10Entorno reproducible — devcontainer, Dockerfile
0/10Práctica demostrada con agentes — ningún commit con autoría de agente entre los últimos 100
0/8Mantenimiento automatizado — no se observan actualizaciones automáticas de dependencias
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Datos de entrada utilizados
has_nixno
has_tests
lockfiles
has_dockerfile
typed_language
bootstrap_files
has_devcontainer
has_linter_config
typecheck_configsapps/advocate/tsconfig.json, apps/cli/tsconfig.json, apps/cortex/tsconfig.json, apps/cortex/ui/tsconfig.json, apps/docs/tsconfig.json, apps/examples/tsconfig.json, apps/stackblitz/01-hello-agent/tsconfig.json, apps/stackblitz/02-tool-integration/tsconfig.json, apps/stackblitz/03-strategy-demo/tsconfig.json, docker/signal-mcp/server/tsconfig.json, packages/a2a/tsconfig.json, packages/benchmarks/tsconfig.json, packages/channels/tsconfig.json, packages/compose/tsconfig.json, packages/core/tsconfig.json, packages/cost/tsconfig.json, packages/create-reactive-agent/tsconfig.json, packages/diagnose/tsconfig.json, packages/eval/tsconfig.json, packages/gateway/tsconfig.json, packages/guardrails/tsconfig.json, packages/health/tsconfig.json, packages/identity/tsconfig.json, packages/interaction/tsconfig.json, packages/judge-server/tsconfig.json, packages/llm-provider/tsconfig.json, packages/memory/tsconfig.json, packages/observability/tsconfig.json, packages/observe/tsconfig.json, packages/prompts/tsconfig.json, packages/react/tsconfig.json, packages/reactive-agents/tsconfig.json, packages/reactive-intelligence/tsconfig.json, packages/reasoning/tsconfig.json, packages/replay/tsconfig.json, packages/runtime-shim/tsconfig.json, packages/runtime/tsconfig.json, packages/svelte/tsconfig.json, packages/testing/tsconfig.json, packages/tools/tsconfig.json, packages/trace/tsconfig.json, packages/ui-core/tsconfig.json, packages/verification/tsconfig.json, packages/vue/tsconfig.json, tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Cómo se puntúa
45/45Código verificable por tipos — TypeScript (tipado estático)
54.7/55Tamaños de archivo manejables — 11/2346 archivos fuente de más de 60 KB
Datos de entrada utilizados
primary_languageTypeScript
largest_source_bytes117.970
source_files_sampled2346
oversized_source_files11
Cómo se puntúa
0/40Esquema de API (OpenAPI/GraphQL/proto)
20/20Servidor MCP
40/40Ejemplos ejecutables — cookbook, demos, examples
Datos de entrada utilizados
example_dirscookbook, demos, examples
has_mcp_signal
api_schema_files

Datos clave

19estrellas de GitHub
2contribuidores
3410commits en los últimos 12 meses
7días desde el último push
35versiones publicadas
1factor bus
32issues abiertas
npmecosistemas de paquetes

Advertencias de recopilación de datos

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Más detalle

Historial de estrellas y forks 0 ★ / 4 ⇿
0Estrellas
4Forks
17Versiones

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

1223344412026-032026-052026-07
Mayor 0Menor 6Parche 11
OpenSSF Scorecard 4.6 / 10
4.6agregado

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-30 20:59 UTC

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests1 out of 1 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 1/30 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
n/dPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
n/dSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities162 existing vulnerabilities detected
Dependencias directas 75
RegistroPaqueteRestricción de versiónManifiesto
npmreactive-agentsworkspace:*apps/advocate/package.json
npm@reactive-agents/composeworkspace:*apps/advocate/package.json
npm@reactive-agents/healthworkspace:*apps/advocate/package.json
npmeffect^3.10.0apps/advocate/package.json
npmeffect^3.10.0apps/cli/package.json
npm@reactive-agents/coreworkspace:*apps/cli/package.json
npm@reactive-agents/runtimeworkspace:*apps/cli/package.json
npm@reactive-agents/runtime-shimworkspace:*apps/cli/package.json
npm@reactive-agents/evalworkspace:*apps/cli/package.json
npm@reactive-agents/llm-providerworkspace:*apps/cli/package.json
npm@reactive-agents/a2aworkspace:*apps/cli/package.json
npm@reactive-agents/traceworkspace:*apps/cli/package.json
npm@reactive-agents/toolsworkspace:*apps/cli/package.json
npm@reactive-agents/memoryworkspace:*apps/cli/package.json
npm@reactive-agents/diagnoseworkspace:*apps/cli/package.json
npmchalk^5.4.0apps/cli/package.json
npmora^8.2.0apps/cli/package.json
npmboxen^8.0.1apps/cli/package.json
npmelysia^1.1.0apps/cortex/package.json
npmeffect^3.10.0apps/cortex/package.json
npm@reactive-agents/coreworkspace:*apps/cortex/package.json
npm@reactive-agents/memoryworkspace:*apps/cortex/package.json
npm@reactive-agents/runtimeworkspace:*apps/cortex/package.json
npm@reactive-agents/observabilityworkspace:*apps/cortex/package.json
npm@reactive-agents/gatewayworkspace:*apps/cortex/package.json
npm@reactive-agents/llm-providerworkspace:*apps/cortex/package.json
npm@reactive-agents/toolsworkspace:*apps/cortex/package.json
npm@reactive-agents/reactive-intelligenceworkspace:*apps/cortex/package.json
npm@reactive-agents/coreworkspace:*packages/a2a/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/a2a/package.json
npm@reactive-agents/coreworkspace:*packages/channels/package.json
npm@reactive-agents/gatewayworkspace:*packages/channels/package.json
npmeffect^3.10.0packages/channels/package.json
npm@reactive-agents/coreworkspace:*packages/compose/package.json
npmeffect^3.10.0packages/core/package.json
npmulid^2.3.0packages/core/package.json
npm@reactive-agents/coreworkspace:*packages/cost/package.json
npm@reactive-agents/llm-providerworkspace:*packages/cost/package.json
npm@reactive-agents/memoryworkspace:*packages/cost/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/cost/package.json
npm@reactive-agents/traceworkspace:*packages/diagnose/package.json
npm@reactive-agents/replayworkspace:*packages/diagnose/package.json
npm@reactive-agents/coreworkspace:*packages/eval/package.json
npm@reactive-agents/llm-providerworkspace:*packages/eval/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/eval/package.json
npm@reactive-agents/coreworkspace:*packages/gateway/package.json
npm@reactive-agents/coreworkspace:*packages/guardrails/package.json
npm@reactive-agents/llm-providerworkspace:*packages/guardrails/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/health/package.json
npm@reactive-agents/coreworkspace:*packages/identity/package.json
npm@noble/ed25519^2.0.0packages/identity/package.json
npm@reactive-agents/coreworkspace:*packages/interaction/package.json
npm@reactive-agents/reasoningworkspace:*packages/interaction/package.json
npm@reactive-agents/observabilityworkspace:*packages/interaction/package.json
npmulid^2.3.0packages/interaction/package.json
npm@reactive-agents/coreworkspace:*packages/judge-server/package.json
npm@reactive-agents/evalworkspace:*packages/judge-server/package.json
npm@reactive-agents/llm-providerworkspace:*packages/judge-server/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/judge-server/package.json
npmeffect*packages/judge-server/package.json
npm@reactive-agents/coreworkspace:*packages/llm-provider/package.json
npm@reactive-agents/memoryworkspace:*packages/llm-provider/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/llm-provider/package.json
npm@reactive-agents/coreworkspace:*packages/memory/package.json
npm@reactive-agents/runtime-shimworkspace:*packages/memory/package.json
npm@opentelemetry/api^1.9.0packages/observability/package.json
npm@opentelemetry/exporter-metrics-otlp-http^0.213.0packages/observability/package.json
npm@opentelemetry/exporter-trace-otlp-http^0.213.0packages/observability/package.json
npm@opentelemetry/resources^2.6.0packages/observability/package.json
npm@opentelemetry/sdk-metrics^2.6.0packages/observability/package.json
npm@opentelemetry/sdk-trace-base^2.6.0packages/observability/package.json
npm@opentelemetry/semantic-conventions^1.40.0packages/observability/package.json
npm@reactive-agents/coreworkspace:*packages/observability/package.json
npmchalk^5.4.0packages/observability/package.json
npmboxen^8.0.1packages/observability/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 1

Instalar npm:@reactive-agents/cli@0.14.0 arrastra 233 paquetes, directos y transitivos: 1 tienen avisos conocidos, de los cuales 0 son dependencias directas.

PaqueteVersiónRelaciónGravedadAvisosCorregido en
@opentelemetry/core2.6.0indirectamoderada12.8.0

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": [
        "agent-framework",
        "agent-observability",
        "agent-orchestration",
        "agentic-ai",
        "anthropic",
        "bun",
        "composable",
        "effect-ts",
        "google-ai",
        "llm",
        "multi-agent",
        "ollama",
        "openai",
        "type-safe",
        "typescript",
        "automation",
        "ai-agents",
        "gateway",
        "mcp",
        "streaming"
      ],
      "is_fork": false,
      "size_kb": 32391,
      "has_wiki": false,
      "homepage": "https://docs.reactiveagents.dev",
      "languages": {
        "CSS": 85033,
        "MDX": 300190,
        "HTML": 239882,
        "Astro": 95564,
        "Shell": 53153,
        "Svelte": 725566,
        "Dockerfile": 6554,
        "JavaScript": 68067,
        "TypeScript": 13890804
      },
      "pushed_at": "2026-07-22T22:06:34Z",
      "created_at": "2026-02-19T14:01:27Z",
      "owner_type": "User",
      "updated_at": "2026-07-23T16:57:32Z",
      "description": "A composable framework for building reliable LLM agents on a harness you fully control. The same code runs the agentic loop on every model tier, local 4B to frontier with tool-call healing, verification, and durable crash-resume, on a typed 12-phase engine where every step emits an event you can hook into. Effect-TS, MCP-native, MIT",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Tyler Buell",
      "type": "User",
      "login": "tylerjrbuell",
      "company": "@luduscom",
      "location": "Kalamazoo, MI",
      "followers": 3,
      "avatar_url": "https://avatars.githubusercontent.com/u/89788783?v=4",
      "created_at": "2021-08-30T13:46:59Z",
      "is_verified": null,
      "public_repos": 12,
      "account_age_days": 1795
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2026-07-22T00:47:00Z"
        },
        {
          "tag": "v0.13.6",
          "kind": "patch",
          "published_at": "2026-07-06T12:58:07Z"
        },
        {
          "tag": "v0.13.5",
          "kind": "patch",
          "published_at": "2026-07-06T02:11:25Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2026-07-02T04:13:11Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2026-06-17T02:41:00Z"
        },
        {
          "tag": "v0.11.2",
          "kind": "patch",
          "published_at": "2026-06-11T00:10:54Z"
        },
        {
          "tag": "v0.11.1",
          "kind": "patch",
          "published_at": "2026-05-17T14:44:09Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2026-05-17T03:31:03Z"
        },
        {
          "tag": "v0.10.6",
          "kind": "patch",
          "published_at": "2026-05-06T01:23:56Z"
        },
        {
          "tag": "v0.10.4",
          "kind": "patch",
          "published_at": "2026-05-06T00:17:27Z"
        },
        {
          "tag": "v0.10.2",
          "kind": "patch",
          "published_at": "2026-05-05T03:31:10Z"
        },
        {
          "tag": "v0.10.1",
          "kind": "patch",
          "published_at": "2026-05-05T03:07:49Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-05-05T02:44:29Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-03-29T03:01:32Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-03-15T23:06:36Z"
        },
        {
          "tag": "v0.7.8",
          "kind": "patch",
          "published_at": "2026-03-12T14:59:15Z"
        },
        {
          "tag": "v0.7.6",
          "kind": "patch",
          "published_at": "2026-03-12T14:14:40Z"
        },
        {
          "tag": "v0.7.5",
          "kind": "patch",
          "published_at": "2026-03-12T02:39:33Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-03-10T18:42:13Z"
        },
        {
          "tag": "v0.6.3",
          "kind": "patch",
          "published_at": "2026-03-05T16:06:54Z"
        },
        {
          "tag": "v0.6.2",
          "kind": "patch",
          "published_at": "2026-03-05T15:13:47Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-03-05T14:13:56Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-03-05T04:05:26Z"
        },
        {
          "tag": "v0.5.6",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:56Z"
        },
        {
          "tag": "v0.5.5",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:55Z"
        },
        {
          "tag": "v0.5.4",
          "kind": "patch",
          "published_at": "2026-03-05T00:38:48Z"
        },
        {
          "tag": "v0.5.3",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:53Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:52Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-03-05T00:33:51Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2026-03-05T00:33:50Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:49Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2026-03-05T00:33:48Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2026-03-05T00:33:47Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2026-03-05T00:33:46Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2026-03-05T00:33:45Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "45cbacdb3acf81c05c706b2cefa5f732b1584175",
          "body": null,
          "is_bot": false,
          "headline": "test(replay): return replayed steps through harness handle (#197)",
          "author_name": "ZentropyLabs.ai",
          "author_login": "HarperZ9",
          "committed_at": "2026-07-22T22:06:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc051cf91b5d7ce5e57d2e83cedd2bfbdd816f9c",
          "body": "…-arena pass\n\nThe workflow (Probe→Diagnose→Hypothesize→Fix→Verify→Commit) and the core\ncommands (rax:diagnose, weakness-queue, apps/cli bench, rax eval\ngate/ledger) are all still current. Fixed five concrete staleness/gap items\nfound while actually running the loop:\n\n- Phase 5 'rebuild every package\n[…]\ntructured file → parse error, trust=claimed-but-wrong).\n- Calibrated-model set corrected: gemma4:* is NOT in STATIC_CAPABILITIES\n  (using it as an SUT yields 0 cells); listed the verified current set.",
          "is_bot": false,
          "headline": "docs(skill): update harness-improvement-loop from the 2026-07-22 eval…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T01:56:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c3d2ad98f547fa20377c1d9f62a7bae3324b1c37",
          "body": "…fence-unwrap fix)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — eval-arena harness hardening (file-write …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T01:48:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1ce838abba5795bcf6ebca18923721b4344a971e",
          "body": "…erables\n\nCross-tier probe (haiku, rw-1, 2026-07-22) surfaced a real production\ndefect: asked to write databases.json, the model wrote the JSON wrapped\nin a ```json … ``` fence (a near-universal LLM habit). file-write stored\nit verbatim, so the .json deliverable failed to parse ('Unrecognized\ntoken \n[…]\nl wrote.\n\nRed-on-cut: 6 cases (lone json/csv unwrap, preamble extract, clean-file\nuntouched, .md untouched, non-parseable-kept); cutting the normalizer\nflips the 3 unwrap cases red. tools suite 934/0.",
          "is_bot": false,
          "headline": "fix(tools): unwrap markdown fences when writing structured-data deliv…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T01:47:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5e0dfdebf6ab94c826790e11c638133c5d3f440b",
          "body": null,
          "is_bot": false,
          "headline": "docs: update badge version to v0.14 in Astro config",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T01:32:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66dc6857a84e4099622123254e344ba5bd7735ee",
          "body": "Verified each remaining 'deferred debt' item against code (the register's\nrecurring over-count problem — Nth instance):\n\n- success+empty-output edge: RESOLVED, not open. The completed⟹non-empty\n  invariant is enforced at the SHARED boundary (sense/step-utils.ts:84\n  forces empty→failed, HS-106/M7); \n[…]\nays honest at 2 and still catches new sites.\n\nNo code changed — the honest finding is these items are stale/closed or\nlow-value ceremony, so forcing them would add indirection or theater, not\nquality.",
          "is_bot": false,
          "headline": "docs(debt): register truth-pass on the deferred harness-hardening items",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T01:19:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f947aa33a2e245471f93c8671142911baa6efb02",
          "body": "…echeck-gap fix + lesson",
          "is_bot": false,
          "headline": "docs(agents): memory sync — v0.14.0 RELEASED (npm live) + release-typ…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T00:48:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5f0ade4189fd67042a438d7f32d2e14d582d7cec",
          "body": null,
          "is_bot": true,
          "headline": "chore(release): sync VERSION/CHANGELOG/changesets → 0.14.0 [skip ci]",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-22T00:46:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4cb2da3e78731e8e08bc23dcdce9e2ee9d42e025",
          "body": "…ocker)\n\nThe v0.14.0 tag's publish workflow failed at its Typecheck step — the\nrelease runs strict per-package `tsc --noEmit` (`bun run typecheck`),\nwhich the PR CI never did (its Typecheck job runs only `bun run build`,\nthe lenient tsup DTS emit). So 5 type errors rode green through PR CI and\nfirst\n[…]\nd — same strict check the release gates on — so this class fails a PR\ninstead of a tag. Verified: fresh `turbo run build --force` then\n`turbo run typecheck --force` = 67/67 tasks green; suite 8,294/0.",
          "is_bot": false,
          "headline": "fix(ci): close strict-typecheck rot + gate it on every PR (release bl…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T00:34:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "947b32e61b4c66cb02d700d67a476492edd8634e",
          "body": "… CI daemon)\n\nThe all-providers test built createAgent({ provider: 'ollama' }), whose\nbuild runs a live-server pre-flight (validateProviderConnection →\nlocalhost:11434, builder.ts:2325). CI has no Ollama daemon, so build()\nthrew 'Cannot connect to Ollama' and the test failed — it passed locally\nonly\n[…]\ne for a\n  provider-union claim.\n\nRed-on-cut reverified: re-inlining the 6-member union fails both the\ndecode and build assertions. Suite 8,294/0 (net +1 from the split);\nmetrics cache + README synced.",
          "is_bot": false,
          "headline": "fix(ci): createAgent provider test must not build an Ollama agent (no…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-22T00:09:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6d634d76d725de35c65089177039a50c4cf7b21d",
          "body": "…staged, dry-run green)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — v0.14.0 release prep complete (changeset …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T23:52:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41306cf6c8fc6933fd5deb78ffce695f129c1ca4",
          "body": "…] notes\n\nrelease.ts always prepends a generated '## [<version>] — <date>' header and\naggregates .changeset/*.md bodies into it; with no changeset it writes\n'_No notable changes._'. The v0.14 notes were hand-curated under a\n'## [Unreleased]' heading, which the generator does not consume — so a tag\nt\n[…]\nprose) and drop the [Unreleased]\nsection from CHANGELOG.md. At tag time release.ts now renders a correct\n'## [0.14.0]' section and consumes the changeset. No hand-edited release\nnotes in CHANGELOG.md.",
          "is_bot": false,
          "headline": "chore(release): stage v0.14.0 changeset — migrate curated [Unreleased…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T23:49:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fbb6808bc93b9ff1ab6884ad2d2488ad953dc49a",
          "body": "…lmCalls, dead test acceptance keys)\n\nturbo run typecheck (not in the CI gate — CI typechecks via the tsup DTS\nbuild) surfaced 4 pre-existing errors, one in a SOURCE file:\n\n- ReActKernelResult was missing the llmCalls field that react-kernel.ts:271\n  actually emits (state.llmCalls ?? 0) and plan-exe\n[…]\nableSpec field\n  removed in the Wave 3 delete pass — dropped the 3 dead keys (the live\n  RequirementSpec.acceptance on spec:{} is untouched).\n\nFull workspace typecheck now 0 errors; build 37/37 green.",
          "is_bot": false,
          "headline": "fix(reasoning): close pre-existing typecheck rot (ReActKernelResult.l…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T23:47:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c52477ede1ef5495c7a4b03f6e6b179454fdb59",
          "body": "…work superseded\n\nPrune pass verified index claims against code:\n- _enableMemory line ref 113→147, withLeanHarness 227→1355 (facts true,\n  line numbers drifted) — fixed in the personal index.\n- Current Status header refreshed 0.13.6/226-ahead/OVERDUE → v0.14\n  release-ready + pushed.\n- The 2026-07-1\n[…]\nen closed work; kept the 226-commit process analysis + doctrine.\nConfirmed still-true (no change): kernel capabilities/loop layout,\nwithOutputSchema/streamObject/withApprovalPolicy live, 8 strategies.",
          "is_bot": false,
          "headline": "docs(agents): prune-memory — mark 2026-07-12 state-of-framework open-…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T23:13:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e3ff2e8a797e5ecfa0e931daac9a179ab28ed375",
          "body": "…ixes + doc/scaffolder repair)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — v0.14 first-timer quality sweep (4 code f…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T22:25:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d88ec81fe1b0f4c617fd17bbb9bb037426b7ddf3",
          "body": "…uality-sweep tests",
          "is_bot": false,
          "headline": "chore(metrics): refresh snapshot to 8,293 tests / 1,061 files after q…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T22:24:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a132a7aaae1bb93128e1373b5380f1f2447d892f",
          "body": "… v0.14\n\nAudit of bunx create-reactive-agent + rax init/create found the emitted\nprojects broken in ways a first-time user hits immediately. Fixed and\nverified (4 templates generated + typechecked against v0.14 worktree types):\n\n- BLOCKER: version pin ^0.11.0 resolved to 0.11.2, which lacks\n  withOu\n[…]\nproject-local path' claim contradicted runtime-construction.ts:449).\n\nScaffolder + cli suites green (140 pass); minimal/streaming/\nstructured-output/with-memory scaffolds typecheck clean against 0.14.",
          "is_bot": false,
          "headline": "fix(scaffold): first-touch scaffolder templates current + correct for…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T22:21:46Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5ad31ba78bb7a70a8a4c2865d8a8d283e7dbf592",
          "body": "…ath, funnel order\n\n14-finding onboarding audit applied to the Get Started trail (all\nverified against code):\n\n- BLOCKER: quickstart's first command 'bunx rax init' resolves to\n  Alibaba's unrelated rax package in a fresh directory — now\n  'bunx reactive-agents init' (our package ships both bin alia\n[…]\nachine, all\n  opt-outs incl. the new DO_NOT_TRACK / REACTIVE_AGENTS_TELEMETRY env\n  switches) + sidebar entry.\n\ndocs:examples:check 355/0; SKIP_CEILING ratcheted 250 → 249 (one more\nblock un-skipped).",
          "is_bot": false,
          "headline": "docs: first-timer onboarding fixes — broken first command, zero-key p…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T18:26:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3fc986a813a7747fec04d5d0ef9e503a31398213",
          "body": "…, counts reconciled\n\n15-finding first-time-user audit applied (all verified against code):\n\n- API-key setup now sits directly above the first runnable example (was\n  750 lines later, unlinked) + Environment Variables table completed for\n  all 8 providers (GROQ/XAI/LITELLM/OLLAMA vars were undocumen\n[…]\n- Three jargon-wall bullets rewritten outcome-first (entropy sensor,\n  adaptive harness — still clearly experimental/opt-in, evidence ledger).\n\nGates: docs:examples:check 352/0; metrics:check in sync.",
          "is_bot": false,
          "headline": "docs(readme): first-timer audit fixes — key setup, complete env table…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T18:25:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "464e1e74425027b1b419cec2824569507868b577",
          "body": "… env opt-out\n\nRI telemetry could only be disabled in code\n(.withReactiveIntelligence({ telemetry: false })). Industry convention\nand CI environments expect an environment-level kill switch:\n\n- telemetryOptedOut(): DO_NOT_TRACK set-and-not-'0' (console DNT\n  convention) or REACTIVE_AGENTS_TELEMETRY=\n[…]\nes (first-run notice + report emit), so the notice never\n  claims telemetry the environment has killed.\n- Red-on-cut suite: opted-out sends make zero sink attempts; control pins\n  the default-on path.",
          "is_bot": false,
          "headline": "feat(reactive-intelligence): DO_NOT_TRACK / REACTIVE_AGENTS_TELEMETRY…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T18:25:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "564fce3e3a8cc76a3318520f20242c3ca23a599e",
          "body": "A first run with no API key surfaced the raw SDK text ('Could not resolve\nauthentication method. Expected either apiKey or authToken to be set.')\n— which never names ANTHROPIC_API_KEY, leaving a new user to search for\nthe variable. mapProviderError now maps 401/403/credential-phrased\nfailures to one\n[…]\nlus the provider's\noriginal reason. Keyless providers (ollama) and bring-your-own-layer\nproviders never get an invented env var. Auth errors stay permanent\n(never retried). TDD: 5 new cases red first.",
          "is_bot": false,
          "headline": "fix(llm-provider): credential failures name the env var to set",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T18:25:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "86bf665444cf6b8136a5a3c886b75edc40f925d1",
          "body": "…n from the canonical source\n\nThe declarative front door (the README quickstart API) rejected two of the\neight shipped providers: agent-config.ts carried a stale 6-member inline\ncopy of the provider union, so createAgent({ provider: 'groq' }) failed\nschema decode while the fluent builder accepted it\n[…]\ns, collapses union mismatches to one\n  expected-one-of line, and links the public docs reference instead of a\n  repo-relative path.\n- Generated config-field-reference block regenerated (provider row).",
          "is_bot": false,
          "headline": "fix(runtime): createAgent accepts groq/xai — derive the provider unio…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T18:25:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2dc278020efb282703dcdd830d4f1258a534bcda",
          "body": ".agents/MEMORY.md: doc-sync entry (all surfaces truthful for 0.14; verified\nfact sheet + 3 parallel writers; orchestration dir = untracked build residue;\nadapter hooks = 4 live + parseToolCalls). Personal Claude memory index\ncompacted 20.5KB→16.8KB in parallel (burndown detail collapsed to a pointer;\ntopic file holds the waves).",
          "is_bot": false,
          "headline": "docs(agents): memory sync — v0.14 full doc sync complete",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:34:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6379e94a3d14274648681f68aeaab8925bf30a50",
          "body": "Full doc sweep for the v0.14 release across every user-facing surface,\nevery claim verified against code (three parallel sweeps + spot checks).\n\nwhats-new.mdx: new v0.14 section — trust receipt (result.receipt),\nprocess model (inspect/fork/rax ps/attach), enforcement-caught-up-to-docs\n(tool policy o\n[…]\n to v0.14 release-ready state.\n\nVerified: docs:examples:check 352/0, metrics:check in sync. No published\nbenchmark numbers introduced; opt-in harness flags kept out of the\nrecommended/default framing.",
          "is_bot": false,
          "headline": "docs: sync all documentation to v0.14.0",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:32:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8158c757d33564340d4bbb53d52e628c5112d751",
          "body": "…ischarged, P0-21 drift-skips gone\n\n- P0-4/B1: code-action residual CLOSED (d22e784f) — sandbox handlers gate\n  through the shared evaluateToolPolicy; red-on-cut.\n- P0-21: all 6 drift-hiding skips discharged; SKIP_CEILING 283→250;\n  corrected the register's own over-count (session persist/id are real +\n  test-pinned; the true rot was context key / table name / end()\n  semantics / dead persistOnEnd).\n- .agents/MEMORY.md: release-readiness entry (gates green, owner-gated\n  tag remains).",
          "is_bot": false,
          "headline": "docs(debt): register + memory — release-readiness sweep; P0-4 fully d…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:06:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11c1e99980402cd709524eb0ad89706595525ca4",
          "body": "…ate.test.ts, solution.ts)\n\nLive bench agents wrote deliverables to the worktree root during the\n2026-07-21 cross-tier campaign; a git add -A swept them into the metrics\ncommit. Neither is repo code.",
          "is_bot": false,
          "headline": "chore: remove stray bench-run artifacts committed by accident (parseD…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:04:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c5c2530b8543f392b85f6594cc4b73a2dd0458c",
          "body": "…grand-total sync pattern\n\nThe metrics cache still pinned the 2026-07-19 count (8,253/1045); the\nresilience fixes, policy-gate suite, and doc-example un-skips moved it to\n8,276 tests across 1,060 files (0 fail). Also removed the sync script's\n'grand-total header' pattern — its README target line was deleted in the\nWave 1 claims takedown, so it warned on every run against nothing.",
          "is_bot": false,
          "headline": "chore(metrics): refresh test snapshot to 8,276/1060 + drop the stale …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:04:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae5825cf67ec45628e46e7816abb79803ce374ea",
          "body": "…lBuilder flow\n\nRegister P0-21's six drift-hiding skips, discharged with the docs now\nmatching verified code (positive scratch snippets compile under strict\ntsc; negative reproductions confirmed each fabrication before the fix):\n\n- agent.session(): the register's own claim ('persist/id fabricated') \n[…]\nied at\n  registration; defineTool for typed handlers).\n\ndocs:examples:check: 348 blocks, 0 failed; 6 previously-skipped broken\nblocks now compile and are un-skipped — SKIP_CEILING ratcheted 256 → 250.",
          "is_bot": false,
          "headline": "docs: fix fabricated API options — session(), withContextProfile, Too…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T17:00:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "848f5aed9a12f7fc62514d10235228f781d0de51",
          "body": "26 verified live-drift sites across 13 files still taught APIs removed in\nv0.14 (register P0-21 residue). A visitor following these docs on day one\nof the release would hit compile errors or silently-missing tools.\n\n- .withTelemetry / .withoutTracing → folded into .withObservability\n  ({ telemetry, \n[…]\neractionManager); runs green (exit 0);\n  interaction READMEs updated to match.\n\nVerification: docs:examples:check 342/342 blocks typecheck; zero\nremaining live-drift mentions across all touched files.",
          "is_bot": false,
          "headline": "docs: purge drift — remove v0.14-removed APIs from live documentation",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T16:50:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c19d20ebe4d3cdba05ebae5842b569b561cfdec6",
          "body": "…fix + policy-gate test files",
          "is_bot": false,
          "headline": "fix(ci): re-sync README test-file count (1057→1060) after resilience-…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T16:47:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f870e5394ce64152bd6dd1f3404dc854491b7409",
          "body": "…enforcement, run integrity\n\nThe Wave-1 rewrite predated the spine (Wave 2), the delete wave (Wave 3),\nand the resilience fixes; the section was missing three breaking removals\n(orchestration + scenarios packages, .withCacheTimeout) and every\nuser-visible behavior change since (tool-policy enforceme\n[…]\nhase stream events, requirement lifecycle, kernel-path memory extraction,\ntransient-error retry, critique graceful degrade). A v0.14 cut without\nthese entries would ship breaking changes undocumented.",
          "is_bot": false,
          "headline": "docs(changelog): cover Waves 2-5 in [Unreleased] — package removals, …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T16:45:53Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d22e784fa4e23ac112930189b503b7a313bb9397",
          "body": "…P0-4 residual)\n\ncode-action executes tools inside the sandbox Worker via bridged handler\nclosures, not through the kernel act phase — so the Wave 2 B1 boundary\n(evaluateToolPolicy inside executeToolAndObserve) never covered it. The\nclosures called toolSvc.execute() with zero policy checks: LLM-gene\n[…]\nen, contract-seeded, whitelist); controls pin unchanged\n  behavior with no policy.\n- Fixed the stale plan-execute.ts header comment still describing the\n  pre-B1 direct toolService.execute() dispatch.",
          "is_bot": false,
          "headline": "fix(reasoning): enforce tool policy on code-action sandbox handlers (…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T16:43:42Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2099aa077987cd9562e9a857a2fb8267b51a9d8d",
          "body": "…ce fixes",
          "is_bot": false,
          "headline": "docs(agents): memory sync — cross-tier diagnosis + 2 harness resilien…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T13:50:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a26b21266990585de158e8ae2dc885272c9ce56",
          "body": "Root cause (Wave 5 cross-tier diagnosis): mapProviderError routed status 429 to\nLLMRateLimitError (which retry.ts retries) but let EVERY other failure —\nincluding 5xx, Anthropic/Groq 529 overloaded, and network faults (ECONNRESET,\nsocket hang up, fetch failed) — fall through to the catch-all LLMErro\n[…]\nest.ts asserts 5xx/529/network → retryable\nand 4xx → not (red before, green after). Updated the JSON-dedup test to use 400\n(the 5xx it used is now transient). Build green; 382 llm-provider tests pass.",
          "is_bot": false,
          "headline": "fix(llm-provider): retry transient 5xx/529/network errors, not just 429",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T13:47:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "761115898ef450ba33bb604fcfd58c0bb6759174",
          "body": "…ing the run\n\nRoot cause (Wave 5 cross-tier diagnosis): runCritiquePass mapped ANY LLM error\nto a strategy-attributed ExecutionError that propagated fatally, so a single\ntransient provider blip (429 / 5xx overload / timeout) during the critique pass\nzeroed a reflexion or plan-execute run that had AL\n[…]\nicitly left\nuntested — 'defer to integration') asserting the Effect RESOLVES with a degraded\nresult rather than rejecting. Red before, green after. Build green; 871\nstrategy+verify tests pass, 0 fail.",
          "is_bot": false,
          "headline": "fix(reasoning): critique pass degrades on LLM failure instead of kill…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T13:41:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a8e51043faa890c45c7258bc9d59801ba0429fcf",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 5 entry gate (bench P2) conversion done",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T00:50:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "917bdef023aed5196381beef6de88d75f67c995d",
          "body": "…d, re-baseline owed",
          "is_bot": false,
          "headline": "docs(debt): register — Wave 5 P2 conversion done, sd framing correcte…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T00:49:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86a8ef9a3b0b1833e9ca5f027362f0fd03906cc0",
          "body": "The 2026-07-10 plan's '7 llm-judge tasks' was already down to 2 (rw-1..rw-9 were\nconverted in the 2026-07-11 keyword->graded wave). This finishes the entry gate:\n\n- rw-5 (zero-downtime migration): converted llm-judge -> deterministic\n  partial-credit 'verifiable'. The prompt now pins the deliverable\n[…]\n  passThreshold; no solvedThreshold (a judge verdict is deliberately never a\n  pass^k solve).\n\n1 llm-judge success criterion remains (rw-10, graded, by design). Build green;\n398 benchmarks tests pass.",
          "is_bot": false,
          "headline": "test(bench): Wave 5 P2 — deterministic-grade the last 2 llm-judge tasks",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-21T00:48:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "96edce39428e784a0ee0cb0db40f7c02bde7aef9",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 4 complete (derive-from-impl gates)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T22:12:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0935f61fccdeecb994d1ea04a219ee895c65398",
          "body": null,
          "is_bot": false,
          "headline": "docs(debt): register — Wave 4 derive-from-impl gates shipped",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T22:11:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3702fb853164ac927e07940c10ffbe40fa6e88c0",
          "body": "…nds (Wave 4)\n\nThe derived LedgerEntryKind kills kind<->interface drift at compile time. This\nguard catches the residue types cannot: a kind interface that EXISTS but that\nnothing ever appends — an always-empty projection that reads as a silent lie.\n\nEvery declared ledger kind must have >=1 non-test\n[…]\ns at a throwaway tree: green on the real tree,\nred when a fixture kind loses its writer, red when a baselined kind gains one.\n\nenforcement-scripts.test.ts 10 pass; the guard is green on the real tree.",
          "is_bot": false,
          "headline": "feat(gate): check-orphans.sh — declaration-orphan guard for ledger ki…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T22:09:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "59861c8da70db942a14adaee45fcdfbb2806a299",
          "body": "LedgerEntryKind was a hand-maintained union of 9 string literals kept in sync\nby hand with the LedgerEntry interface union — the exact drift class Wave 4\nretires. Derive it: 'type LedgerEntryKind = LedgerEntry[\"kind\"]'. A kind\nliteral no entry interface declares is now impossible, and a new entry\nin\n[…]\ndant 'kind'\nfield from LedgerEntryBase so the derivation is non-circular (every concrete\nentry already declares its own literal kind).\n\nBuild green (DTS typecheck authoritative); 45 ledger tests pass.",
          "is_bot": false,
          "headline": "refactor(ledger): derive LedgerEntryKind from the entry union (Wave 4)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T22:05:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "12a11d95c467d3ba3447986c6be0fcaeb962b393",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 3 COMPLETE (remainder shipped)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:57:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9595f7260f5e012218983afee7eff065cd291d2",
          "body": null,
          "is_bot": false,
          "headline": "docs(debt): register — Wave 3 remainder ratchet note (withers 85->84)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:56:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "044a9eab28a1c9afdc2e2f4d719fa3677167adf4",
          "body": "…(T3.10)\n\nBoth were public exports of @reactive-agents/tools but NEVER registered as\ncallable in production — the live meta-tool registration in\ntool-capabilities.ts wires recall/writeResultToFile/find/checkpoint/\ndiscover-tools/brief/pulse/todo, not these. Only tests referenced them.\n\n- task-comple\n[…]\nument-retrieval FEATURE (.withDocuments()/ingest()) is unchanged and\nlive via find. Build 20/20; all 8 architectural-invariant scripts + capability\nmanifest green; 931 tool+runtime tests pass, 0 fail.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 §3b — delete dead task-complete + rag-search tools …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:54:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6c7f780bd9dca3875e7cfbc53507eb3b0728ca6d",
          "body": "…ot definitions\n\nThe control-plane grandfather list had 4 entries, but 'Which control action\nfires this iteration' has only 2 real un-reconciled forcing sites. Two entries —\nstrategy-switch.ts and force-abstention.ts — were only on the list because the\nprimitive regex applyStrategySwitch\\( / decideF\n[…]\nesolveControlPlane is behavioral kernel work with a red-on-cut\ntest — the genuine one-per-PR ratchet, deferred to a dedicated kernel PR.\n\nGuard still green (exit 0); no test pins the grandfather list.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 §3b — tighten check-control-plane guard to calls, n…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:47:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a1c6361cc2f57e0ba9ed778ac594308ef0be4a76",
          "body": "…ve 1 landmine)\n\nWave 1 (P0-10) removed withProgressCheckpoint() from the builder and pinned its\nabsence, but missed the cortex consumer — build-cortex-agent.ts still called\nb.withProgressCheckpoint(params.progressCheckpoint), which throws\n'b.withProgressCheckpoint is not a function' at runtime when\n[…]\nnd 3 cortex tests. checkpointEvery/withDurableRuns (a separate,\nlive feature) untouched.\n\nCortex 'tsc --noEmit' now reports 0 errors (was 1); cortex build green (23/23);\n323 cortex tests pass, 0 fail.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 — remove dead cortex progressCheckpoint control (Wa…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:40:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f046299f1c7276c926dbda28ca7d4c6766536516",
          "body": "…BudgetChars\n\nThe DEBT-REGISTER premise 'recencyBudgetChars governs the compaction threshold'\nwas a documentation lie. compactHistoryStage truncates the whole thread at\nwindow*4 chars (a full-window safety valve) and never referenced\nrecencyBudgetChars. The field's real, live role is the generous pe\n[…]\ndead).\n\nProactive earlier compaction (firing below full window) is a behavioral change\nthat can strip recall context — deferred to the Wave 5 bench, not forced blind.\n\nAssembly suite green (136 pass).",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 §3b — correct compaction doc lie + delete dead aged…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:39:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d4ed0ea806793cdba164d39d78815ad8e5fb1d35",
          "body": "…Timeout control\n\nwithCacheTimeout()/execution.cacheTimeoutMs was a confirmed no-op: the value\nthreaded builder → runtime-construction → runtime.ts, but ToolResultCacheLive()\nis always constructed with no args, so the tool-result cache always used its\ndefault 300s TTL. The knob never did anything.\n\n\n[…]\nrift gates and 4 cortex tests updated consistently.\n\nBuild green (37/37); all 8 architectural-invariant scripts, capability\nmanifest, and North Star gate green; 1360 runtime+cortex tests pass, 0 fail.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 — remove dead withCacheTimeout no-op + cortex cache…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T21:34:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "526fa7255c2bf50e23e182cca1e6aa58c468f8e3",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 3 delete round 2 shipped",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T16:32:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4517f5b3ad265536da1f447e64755defb44de998",
          "body": "…narios, orphan fields\n\nRegister §4 deletions, each grep-verified for zero non-test readers first.\n\nLedger kinds (reasoning): checkpoint-marker, deliverable-commit, contract-amended\n+ amendContract()/ContractAmendment REMOVED (zero writers AND readers). Ledger\nsingle-writer invariant green. process-\n[…]\nparity suite has only the\npre-existing load/timing flakes (CLI process-spawn, perf-timing, 5-20s bench\ncells — all pass isolated, green in CI on fresh runners), zero new failures.\nRegister §4 flipped.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 (round 2) — dead ledger kinds, dead vocabulary, sce…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T16:24:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f8e1226542c3f1ef094aef538c87f401448fec58",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 3 delete round 1 shipped",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T15:22:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10e63d5cee8dc22f104daf345235283a745de7a4",
          "body": "…gate)\n\nThe orchestration deletion removed apps/examples/09-orchestration.ts; the\nexamples guide still linked to it on GitHub (404). Removed the row; the\nDocs Link Check gate is the only thing that caught it (Test/Typecheck/docs-gates\nwere already green).",
          "is_bot": false,
          "headline": "fix(docs): drop the deleted 09-orchestration example link (dead link …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T15:16:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d13fa3c2233620176d5376ad388310b818a62014",
          "body": "… flags\n\nRegister §4 deletions (LOC goes down; wire-or-delete):\n\npackages/orchestration REMOVED (net -2833 LOC). OrchestrationService/WorkerPool/\nWorkflowEngine had zero live consumers (worker-pool.spawn() built a struct in a\nRef, nothing ran). Removed the whole package, the published\n`reactive-agen\n[…]\neen at ceiling 256. Full-suite run showed only load/timing flakes\n(CLI process-spawn, perf-<500ms, 20s bench cells) that pass isolated, plus the\nAGENTS.md drift now fixed. Register §4 + P0-12 flipped.",
          "is_bot": false,
          "headline": "fix(debt): Wave 3 (round 1) — delete orchestration package + dead RA_…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T15:08:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8809adeb251af4c3a21c9a9f350bfc58c2186f4a",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 2 spine COMPLETE (all 7 boundaries)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T14:16:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a2d9c16152b0abc5381e136a3e42b368378ed9c",
          "body": "B8 part 2 (T4 fork/cancellation, T3b depth correlation, T5 nesting) landed in\nc889ca7d/b0431110/cb19cda9. Flip register B8 to RESOLVED; re-sync README for the\n3 new subagent tests (cancellation, depth-correlation, nesting-depth).\n\nVerified: full CI-parity suite 0 fail / 8300 tests; no-cascade gate green; the\nabort-signal 'mid-stream abort' timing test is a pre-existing full-suite flake\n(passes isolated + in an independent full runtime run) — not a fork regression.",
          "is_bot": false,
          "headline": "docs(debt): Wave 2 B8 COMPLETE — register + README",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T14:16:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb19cda9f9a4ec1b83c2bf5cc2c949cf3fa32d32",
          "body": "Teams were structurally flat: depth was a literal 0 at every call site so the\ndepth>=max guard never fired, and children never got spawn tools so nesting was\nunreachable even with a live guard. The guard now reads RunContext.depth (the\nspawning agent's), and children are given their own spawn-agent/\n[…]\n; delegation refused past maxRecursionDepth 1 stays at depth 1 with no\nRangeError. Cutting child spawn registration drops depth 2 → 1 and fails.\nFull subagent suite + no-cascade gate green (66 tests).",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B8-T5 — nesting; the recursion cap is live (G7)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T13:49:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b0431110673fcb054c4622f1089c0ae5b227d2ac",
          "body": "A delegated child's trace events shared no rootRunId/depth with the parent — an\nunlinked island. The child's RunContext (rootRunId/parentRunId/depth) now rides\non its task metadata; the execution engine stamps those fields onto the child's\nAgentStarted/AgentCompleted, and the trace normalizer copies\n[…]\ncut proven): child trace events have depth===1, rootRunId===parent\nrunId, runId!==parent runId; dropping runContext from the child metadata drops\ndepth 1 and fails the test. trace + core suites green.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B8-T3b — correlate sub-agent trace events at depth 1",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T13:43:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c889ca7d9cfed71b54c1467596531cbba89a191f",
          "body": "…e (real cancellation)\n\nThe delegation boundary ran the child on a DETACHED root fiber\n(await Effect.runPromise(subEffect.pipe(Effect.provide(subRuntime)))), which\nFiber.interrupt on the parent could not reach — interrupting the parent orphaned\nin-flight children. buildSubAgentTask now returns an Ef\n[…]\n the fork, terminate() interrupts the\nin-flight child; reverting to runPromise lets the orphan complete → test fails.\nNo-cascade gate (m8-sub-agent-delegation) stayed GREEN. Full subagent suite green.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B8-T4 — sub-agents fork into the parent's fiber tre…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T13:35:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fea9ef8d8760e03eb94cb822751d2b929ed33fd1",
          "body": "…+ G1 shared bus\n\nRATIFIED re-scoped B8 (owner sign-off): Tasks 1-5 of the subagents-and-logging\nplan. This lands the safe, non-regressing foundation (T1, T2, T3a); the\nconcurrency-sensitive fork rewrite (T3b/T4/T5) follows in part 2.\n\n- T1: packages/core/src/run-context.ts — the explicit RunContext\n[…]\nols 961 (no-cascade green),\ncore+trace 250 — all 0 fail; full CI-parity suite 0 fail / 8296 tests;\ncore/trace/runtime/tools build clean. Plan RATIFIED re-scoped; register B8\nPARTIAL; README re-synced.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B8 (part 1) — RunContext spine + trace correlation …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T12:56:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "52428cb578f1998b1dfdf91a7f3e015973abe295",
          "body": "…ated",
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 2 6/7 boundaries shipped, B8 owner-g…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T11:55:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42e188ec3e7b26cc721fb19cebe4f1af8d2f15e8",
          "body": "… sweep\n\nThe builder->runtime seam crosses every field via\n`self as unknown as BuilderRuntimeStateView`, a structural cast that won't\ncatch a renamed/removed field, and the wither tests asserted private `_*`\nfields, not behavior — so deleting a wiring line in runtime-construction.ts left\nthe suite g\n[…]\ne 1339 pass/0 fail; full CI-parity suite 0\nfail / 8289 tests; runtime build clean (strict, DTS); wither-discipline +\nwither-ratchet gates green. Register B3 + runtime-as-any flipped; README\nre-synced.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B3 — builder-seam behavioral tests + runtime as-any…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T11:54:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e304ac6fb0dc528816b06634fd6deeb60dbe1fed",
          "body": "…linkage\n\nThe register's '19 orphaned KernelMeta fields' was an overcount conflating\nthree populations. Triaged each:\n- Already projected (healthy): the honesty markers + terminatedBy family cross\n  via CompletionEnvelope / ReActKernelResult (envelopeFromKernelState,\n  react-kernel.ts) and are consu\n[…]\ny 0 fail / 8282 tests; check-ledger-writes green;\nreasoning+runtime build clean. Register B4 + §5.3 + #44 flipped; §4 orphan\nrecount (3 dead retired, rest reclassified); README re-synced (1053->1055).",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B4 — kernel->strategy projection triage + verifier …",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T11:08:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bb99ad8e72965c884c25c4d938508416eb21d80d",
          "body": "… gate\n\nThe RunLedger \"requirement\" kind (declared->satisfied|blocked) had ZERO\nnon-test writers, so its two live readers (assess.ts:207, standing-frame.ts:193)\nalways saw [] — the meta-loop's requirement lifecycle was fiction; the Projector\nrendered no outstanding work and evidenceRefs were double-\n[…]\nages/reasoning 2401 pass/0 fail; check-ledger-writes.sh\ngreen; full CI-parity suite 0 fail / 8277 tests; reasoning build clean. Register\nB7 + §3b #39 flipped; README re-synced (1051->1053 test files).",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B7 — mint requirement ledger lifecycle at compile +…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T10:45:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0adbcafaf3def730e4d0688fd2fe54509970063a",
          "body": "PhaseStarted/PhaseCompleted were declared in AgentStreamEvent and advertised as\ndensity:\"full\" events (ui-core protocol + docs/features/streaming.md), but the\nEventBus->public-stream projection in execute-stream.ts subscribed only to\niteration/step/tool events — both phase events had ZERO stream wri\n[…]\nt density emits neither. Flipping the guard to\nif(false) drops the full-density chunks (red); restored.\n\nVerified: bun test packages/runtime 1330 pass/0 fail; runtime build clean.\nRegister B5 flipped.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B5 — project phase events onto the public stream",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T10:45:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7b257c4009c00930d19f0e47024cfbcbffc7a251",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — Wave 2 B1+B2 shipped, CI green",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T03:31:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cc595f0d8b45ae3ed7995ea79d70bb732271359",
          "body": "…trategies\n\nOnly reactive forwarded terminatedBy + abstention across the strategy->engine\nresult boundary, so execution-engine.ts:1096 (terminatedBy ?? \"end_turn\")\nmislabeled every non-reactive run and projectAbstention never fired —\nreceipt.abstained was permanently false on 8 of 9 paths (P0-5).\n\nB\n[…]\ned the old end_turn default); full CI-parity\nsuite (keys stripped) 0 fail / 8267 tests; reasoning build clean; WS-5b cast\nceiling respected. Register P0-5 + B2 + §5.1 + §5.2 flipped; README re-synced.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B2 — terminatedBy + abstention forward across all s…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T03:25:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3038eb03ec0a10b9d00e4d837be823d89b205ff6",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): re-sync README file count after B1 mutation test (1049→1050)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T03:05:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5dffadac4b7ae3afd3b5484a3cd6e30d6c10f12",
          "body": "… point\n\nThe shared executeToolAndObserve primitive is the one path every hand-rolled\nstrategy (plan-execute, blueprint) routes tool calls through, yet it inherited\nno policy enforcement and minted no ledger — so a forbidden or hallucinated\ntool arriving via a planned step executed unchecked (P0-4, \n[…]\nkages/reasoning 2389 pass/0 fail; full CI-parity suite\n(keys stripped) 0 fail across 8263 tests; reasoning+runtime build clean;\nledger single-writer + WS-5 ceilings intact. Register P0-4 + B1 flipped.",
          "is_bot": false,
          "headline": "fix(debt): Wave 2 B1 — tool-policy gate + RunLedger mint at the choke…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T02:56:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d1f4e2e5d7ca3fd85148b966c7fce3c4b9969317",
          "body": "…l env\n\nThe replay-golden keystone recorded its run's trace into a dir chosen by the\nprocess-global REACTIVE_AGENTS_TRACE_DIR. Bun executes test FILES concurrently\nin one process, and two other suites (diagnose, meta-tools-default-surface)\nmutate that same env var, so the recorder's LLM exchanges co\n[…]\no concurrent env mutation. Same global-state-race\nclass as the Wave 0 mock.module leak fixes.\n\nVerified: the 3 env-racing files run green together keyless; full CI-parity\nsuite (keys stripped) 0 fail.",
          "is_bot": false,
          "headline": "fix(ci): replay-golden sets trace dir explicitly, not via raced globa…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T02:39:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "16b3038ea254e7ae161a9b5dc8785178e16cd533",
          "body": "…8→1049)\n\nThe rebase onto main pulled in PR #196's packages/replay/src/e2e.test.ts,\nbumping the live test-file count by one after Wave 1's metrics sync. CI's\nmetrics:check counts test files from the tree, so README drifted. Re-synced.",
          "is_bot": false,
          "headline": "fix(ci): re-sync README test-file count after replay test landed (104…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T02:27:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c44226bc53a7d9bf19336d1a2df2cdda9269d51",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — debt burndown Wave 1 shipped",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T01:12:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80337d2623ffd86d96a4b5e79195210de2e8bb4d",
          "body": "Every shipped API that promised behavior it did not deliver is now removed,\nwired, or fixed; every false published claim is gone. v0.14 is already a\nbreaking release, so lying surfaces are removed outright rather than deprecated.\n\nPublic API (register P0-1,2,3,6,7,8,9,10,11):\n- REMOVED no-op options\n[…]\ne.\n\nVerified: bun test — Docs + provider + runtime + RI green; the only non-Docker\nsuite failure was a stray untracked orphan test (imported a deleted export),\nmoved aside. Both anti-rot gates exit 0.",
          "is_bot": false,
          "headline": "fix(debt): Wave 1 — stop the lies (public API + published claims)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T01:10:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9df97ceeda427cec8a41fd997c211b99ea8b7016",
          "body": "Main goes green and the anti-rot gates become real:\n\n1. Fix the 3 environment-independent failures:\n   - builder-with-budget: both regexes pin the real broadened message.\n   - WS-5 silent-swallow ceiling: the new killSwitchAction site\n     (reactive-agent.ts) typed to Effect<void> (KillSwitchService\n[…]\nics-cache.json refreshed.\n\nVerified: bun test twice — 8224 pass / 0 fail / 8253 tests / 1045 files.\nBoth gates exit 0. Register §1 ratchet + P0-15 (PROVEN) + P0-21 (gate\nPROVEN, skips remain) updated.",
          "is_bot": false,
          "headline": "fix(debt): Wave 0 — make the signal trustworthy",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T00:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3bdf7388b817cb73d7d7c56c49c2aa9f201eebb4",
          "body": "… 09 amended\n\nReview found the burndown plan sound in shape and order but failing its own\ndefinition of done: the register it defers to had holes, and the governance it\nprescribes (amend 09, never fork direction) it had not followed.\n\n1. Absorb-or-defer pass (register 3b): every open item from the t\n[…]\nmbers on the sd-0.50 instrument would repeat July with fresher branding.\n4. Register 5 latent bugs assigned to Wave 2 (ride B2/B4).\n5. Subagent disposition recorded: debt repair, not new architecture.",
          "is_bot": false,
          "headline": "docs(debt): close the five plan-review defects — register exhaustive,…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T00:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5efa8a9a3bcaa0981574bf19a6f1c831063a3fa3",
          "body": "Seven waves, ordered by dependency rather than severity. The plan deliberately\ncontains no item list: the Debt Register is the single source of truth, and this\ndocument holds only the order and the rules. Thirteen plans rotted in July\nbecause each re-listed its own items and then drifted.\n\nThe order\n[…]\nred; wire-or-delete with no third option;\nboundary-first; the ratchet only decreases; v0.14 is already breaking, so removing\na lying API is cheaper and more honest than implementing it under pressure.",
          "is_bot": false,
          "headline": "docs(plan): debt burndown — sequence only, register holds the items",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T00:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "886b5d0a581b548eea24f45fe755feb978f58101",
          "body": "Fifth and final validation sweep. 23 published claims are FALSE, 6 unvalidated.\n\nVerified by running the suite: main is RED. 8,199 pass / 21 fail / 8,247 tests /\n1,045 files. Eighteen failures are Docker-daemon-dependent; three are\nenvironment-independent and gate CI (ci.yml:82 runs bare `bun test`)\n[…]\nnces drift by marking failing blocks as\nskipped. The claims did not rot randomly — the two mechanisms built to prevent\nrot were never connected to anything that could fail. Same disease, one level up.",
          "is_bot": false,
          "headline": "docs(debt): register — published-claims sweep; main is red",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T00:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "02fa631f2d830729bd445c895dd53e57b9b1433a",
          "body": "Replaces the scattered findings across six audit-report directories with one\nledger. Nothing is \"known debt\" unless it has a row here; every row carries a\nverdict, primary evidence, and the gate that keeps it fixed.\n\nMethod: five parallel read-only sweeps (builder withers, strategy x mechanism\nmatri\n[…]\ntention and goalAchieved across eight.\n\nRatchet: the counts may only go down. Definition of done is now declaration +\nwriter + reader + a mutation that goes red — prose findings do not discharge debt.",
          "is_bot": false,
          "headline": "docs(debt): canonical Debt Register — 5-sweep validation, ratcheted",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-20T00:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9c9e1f63647946cda563c431314da7e1884bd69f",
          "body": "Co-authored-by: Zain Dana Harper <zain@aurora-framework.dev>",
          "is_bot": false,
          "headline": "test(replay): add deterministic end-to-end replay coverage (#196)",
          "author_name": "ZentropyLabs.ai",
          "author_login": "HarperZ9",
          "committed_at": "2026-07-19T23:49:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0a7a2b274f164bb920bf5d021a617ed2feddc7d",
          "body": "… one open-work list\n\nComprehensive map + health audit of the July harness fortnight (226 unpushed\ncommits), synthesized from four parallel read-only audits: program completion\nvs git, built-never-wired code sweep, docs/authority accuracy, and churn\nanalysis.\n\nDeliverable: wiki/Research/Audit-Report\n[…]\nbefore the probe fleet gave it a regression\ngate. Corrective doctrine recorded in §4b: boundary-first fixing, probes as the\ngate, a sole-caller grep before deletion, measurement freeze, sync-per-wave.",
          "is_bot": false,
          "headline": "docs(audit): state-of-the-framework 2026-07-12 — one authority chain,…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T23:02:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "68bcb046db04da239bc866abf01853c58e0a61ce",
          "body": "…h, without .withKillSwitch()\n\nAll four are documented public methods on ReactiveAgent, and all four requested\nKillSwitchService by its raw Context tag. That service is only in the layer when\n.withKillSwitch() was called — Layer.empty otherwise, which is the DEFAULT\n(builder.ts: _enableKillSwitch = \n[…]\nnd .withKillSwitch(), never leaks the Effect defect text, and that the\nopted-in path still terminates — so the guard cannot be satisfied by breaking\nthe feature.\n\nVerified: runtime 1013 pass / 0 fail.",
          "is_bot": false,
          "headline": "fix(runtime): pause/resume/stop/terminate must fail clearly, not cras…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T15:28:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1c4c670f854c9976be4d828e6ec72463321c0b91",
          "body": "…, ToT guard reachability",
          "is_bot": false,
          "headline": "docs(agents): memory sync — stream tool events, unhandled-fiber noise…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T14:14:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e41006e918e30b14155c1879858e2f05eca37bf4",
          "body": "… become reachable\n\nTwo findings from the probe fleet, both the same shape: a mechanism that exists,\nis documented, and cannot fire.\n\n1. Six of the nine action-step sites in act.ts minted their step without\n   `metadata.toolUsed` — the allowedTools block, the meta-tool handler,\n   final-answer accep\n[…]\n84\ntok / 117s -> 11 calls / 17,919 tok / 55s, still writing the correct sum, all\nchecks pass. Cost is measured; quality-neutrality at other tiers is NOT claimed\nhere and needs the cross-tier ablation.",
          "is_bot": false,
          "headline": "fix(kernel,tot): every started tool call completes; ToT's cost guards…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T14:10:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "61f05489452dd8caeb0d0822fc9fe1bb765f76d2",
          "body": "… stop reporting as unhandled fibers\n\nProbe fleet rerun (12/12 graded checks passing) surfaced three defects that were\ninvisible to the checks and visible only in stderr. The instrument was the first\nbug: probe-harness graded the returned AgentResult and nothing else, so a run\ncould scream during ex\n[…]\n Live on ollama/gemma4:\np8 stream now shows ToolCallStarted x2 + ToolCallCompleted x2 with paired callIds\nand streamed tools exactly matching receipt.toolsUsed; p6 hygiene clean against a\nreal ENOENT.",
          "is_bot": false,
          "headline": "fix(stream,tools): tool events reach the public stream; failing tools…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T13:53:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b03a1b73bbacb82dfe08ffa573605a7f0ed43983",
          "body": "…100)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — wave 9 full interventions coverage (23f34…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T13:41:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "23f341000c70d67565347e3e8e18313f37bb92ae",
          "body": "…l actor named (#54)\n\nCompletes the receipt-as-debugging-spine (north-star spec §5b). W-J shipped\nthe slice (gate + grounding redirects); this annotates the remaining control\nactors at their EXISTING emission points, so a c4e964e8-class misfire is\ndiagnosable from result.receipt.interventions[] inst\n[…]\n entry absent → red). reasoning 2372 pass, core 186 pass; W-J\nauthority-exits + receipt-interventions kept green; tsc clean (excl. the\nparallel workstream's pre-existing step-executor llmCalls error).",
          "is_bot": false,
          "headline": "feat(reasoning): full receipt.interventions[] coverage — every contro…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T13:41:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c7d5ddef8733da73d2ec3e42855f5e0f9f20382f",
          "body": "…ed (ee9a1471)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — wave 8 docs gate honest + error-lies kill…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T12:45:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee9a147186f8b16b2e58e20f7a89b1302d5fb267",
          "body": "…gestion lies (#58)\n\nThe docs examples gate was green because ~35 real-drift blocks were marked\ndocs-skip-typecheck instead of fixed (a false green — the metric-gaming the\ngate exists to prevent). Fixed each to the real API and UNMARKED it, so the\ngreen now means \"docs are correct,\" not \"failures hi\n[…]\nthe test).\n\ndocs:examples:check green (349 checked); docs:gen:api clean; docs:build 92\npages; runtime tsc clean (excl. the parallel logging workstream's pre-existing\neffect-log-capture.test.ts break).",
          "is_bot": false,
          "headline": "fix(docs,runtime): make the anti-rot gate honest + kill the error-sug…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T12:45:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "70d87a0cef43d1ea41474d2823116d57e28bda42",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — result-boundary verification (b6745426)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T12:25:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b6745426455f4396645b78673799db247950468c",
          "body": "…es every run\n\nEmpirical: the terminal verifier ran ONLY inside the react kernel. Strategy\npaths (blueprint / plan-execute / tree-of-thought / reflexion / code-action)\nand the engine's inline loop shipped their answers UNVERIFIED — `rax:diagnose`\nreported \"0 verifier verdicts\" on every strategy trac\n[…]\nict events; p9 matrix\n+ p1 ALL CHECKS PASS. A pre-existing test comment (\"no verifier pass is\nforwarded to the receipt sites … bump if that plumbing lands\") is now the\nassertion — the plumbing landed.",
          "is_bot": false,
          "headline": "feat(runtime,core): result-boundary verification — the verifier reach…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T12:24:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "31933c9e51a4fabb830ce7076afb1aeaea7057cb",
          "body": "…f8f0ef2)",
          "is_bot": false,
          "headline": "docs(agents): memory sync — wave 7 doc propagation + anti-rot gate (2…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T02:05:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f8f0ef28d210f59f92aae01fccc5156716def42",
          "body": "… (#57)\n\nPublic-facing surfaces reframed to the shipped createAgent(config) front door,\nper the ratified dual-API spec (declarative front door -> fluent builder ->\ncompose). Additive: no builder docs deleted, the hierarchy is reframed.\n\n- Anti-rot gate (durable): scripts/check-doc-examples.ts, `docs\n[…]\norts) — pre-existing doc bugs the gate surfaced. The green means \"no\nUNMARKED block fails,\" not \"all docs correct.\" #58 fixes them so the green is\nhonest; the gate catches all FUTURE drift regardless.",
          "is_bot": false,
          "headline": "docs: propagate createAgent dual API + examples-compile anti-rot gate…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T02:04:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5cc9cafdee3da4838adcac45108ed49f7b01ce11",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync — probe-fleet wave 2 (12d86630)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T02:03:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12d8663009a2bce2d31d4c7a864999df1fb45da2",
          "body": "…ce policy parity\n\nFleet rerun after wave 1 went 12/12 clean; this wave takes the ranked backlog.\nThree coordinated fixes on the ENGINE's inline path plus the regressions the\nfleet itself caught while fixing them.\n\n1. Empty-output success invariant (M7's engine mirror). Deterministic repro:\n   tool-\n[…]\net drift\nfails); reasoning 2370, llm-provider 381, benchmarks 398 all 0 fail; bench:t0\ndeterministic gate green; live fleet spot-checks p2/p6/p10 ALL PASS and p4\nhonest-failure as above; builds clean.",
          "is_bot": false,
          "headline": "fix(runtime,reasoning,llm-provider): inline-path honesty + tool-surfa…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T02:02:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "61fcdfe9ad1e189c40bde047307c93b3295a37aa",
          "body": null,
          "is_bot": false,
          "headline": "docs(agents): memory sync + debrief — probe-fleet QA wave (4 fixes)",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:38:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f65722f6d31fe331839705b2ca1b38285dbd1b4e",
          "body": "…d receipt-vs-disk cross-checks\n\nPermanent QA tooling for the harness-improvement loop: build agents the way\nusers would (public builder API, live model), run realistic tasks, grade with\ndeterministic checks including receipt-claims-vs-disk-truth cross-checks.\nArchetypes: research-writer, multi-file\n[…]\neep (2026-07-11, gemma4) surfaced 8 findings; 4 fixed same-day\n(309a5c3a inline ledger, ed5caa07 code-action, d4623073 llmCalls,\nb1755ff4 goalAchieved). Reports committed as the before/after evidence.",
          "is_bot": false,
          "headline": "feat(probes): real-world agent probe fleet — 10 archetypes with grade…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:37:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b1755ff40512b8623652c0b87511d7e700fc282f",
          "body": "…urn's \"maybe\" answered deterministically\n\nEmpirical: probe p5 (gemma4, .withLongHorizon()) — success:true, file\nproduced, goalAchieved:null. Every end_turn run stayed null forever while the\ndeterministic answer (RunContract × step-ledger deliverable scan) sat one\nfield away on receipt.deliverables.\n[…]\nse on a run whose\nfile genuinely didn't land (receipt agrees with disk) — the null is gone in\nboth directions. runtime 1246 tests, same 2 pre-existing withBudget fails\n(parallel session); build clean.",
          "is_bot": false,
          "headline": "fix(runtime): goalAchieved resolves from deliverable evidence — end_t…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:36:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d4623073b907a47b9a1d2611695d894b7d0e9902",
          "body": "…mCalls (was 0)\n\nEmpirical: probe p9 (gemma4, same hermetic file task through all three\nstrategies) — every run reported metadata.llmCalls:0. The kernel counts its\nown calls (state.llmCalls, think.ts) and blueprint was fixed in 02e5d12b; the\nsiblings never read the counter or shipped a count.\n\nWirin\n[…]\nrategy; reasoning 2370 tests 0 fail; build clean.\n\nPerf note (unfixed, tracked): ToT burned 19 calls / 32k tokens / ~2min adding\nthree numbers — strategy cost on trivial tasks is its own backlog item.",
          "is_bot": false,
          "headline": "fix(reasoning): reflexion/plan-execute/tree-of-thought report real ll…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:30:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ed5caa07007f69271ecc2b278f25796881812789",
          "body": "…ools — five defects, one probe\n\nEmpirical: probe p7 (gemma4, \"sum of squares 1..250 → write file\"). Before:\nrun FAILED with \"Unexpected token '-'\" and reported tokensUsed:0 / llmCalls:0\nbeside a real plan call in the trace. After: exact answer 5239625 on disk,\nproduced:true, tokensUsed/llmCalls exa\n[…]\n     examples.\n\nVerification: sandbox/tool-binding/ledger pins RED→GREEN (36+40 tests);\nreasoning package 2370 pass 0 fail; live p7 rerun ALL CHECKS PASS;\nturbo build --force (reasoning, tools) clean.",
          "is_bot": false,
          "headline": "fix(reasoning,tools): code-action was structurally broken with real t…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:22:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "309a5c3ada14296755f03960c5d9558c315ab947",
          "body": "…ault-path receipts stop lying\n\nEmpirical: real-world probe fleet (2026-07-11, gemma4) — EVERY default-strategy\nrun reported receipt.deliverables[].produced:false with the file on disk\n(probes p1/p2/p4/p5/p10), and the new deliverable verdict cap (e247e6b8) then\ndowngraded those honest runs to parti\n[…]\nom\n    the parallel session); reasoning 2368 pass 0 fail.\n\nSurfaced, not fixed here: p10 second run shipped success:true with empty\noutput (inline-path output ownership); tracked in the probe backlog.",
          "is_bot": false,
          "headline": "fix(runtime): inline agent loop mints the canonical tool ledger — def…",
          "author_name": "Tyler Buell",
          "author_login": "tylerjrbuell",
          "committed_at": "2026-07-12T00:13:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 35,
      "commits_last_year": 3410,
      "latest_release_at": "2026-07-22T00:47:00Z",
      "latest_release_tag": "v0.14.0",
      "releases_from_tags": false,
      "days_since_last_push": 7,
      "active_weeks_last_year": 21,
      "days_since_latest_release": 8,
      "mean_days_between_releases": 8.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 85,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@reactive-agents/cli",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "cli",
            "typescript",
            "llm",
            "reactive-agents",
            "mcp",
            "agent-cli",
            "developer-tools"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/cli",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 42,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1071,
          "first_published_at": "2026-02-20T17:14:08.787000Z",
          "latest_published_at": "2026-07-22T00:46:54.944000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/cortex",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "reactive-agents",
            "cortex",
            "agent-studio",
            "agent-ui",
            "agent-observability",
            "ai-agents",
            "elysia"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/cortex",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 11,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1678,
          "first_published_at": "2026-05-05T17:36:49.186000Z",
          "latest_published_at": "2026-07-22T00:46:53.401000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/a2a",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "a2a",
            "agent-to-agent",
            "agent-protocol",
            "json-rpc",
            "agent-card",
            "multi-agent",
            "sse"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/a2a",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 26,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1145,
          "first_published_at": "2026-02-25T01:34:52.143000Z",
          "latest_published_at": "2026-07-22T00:46:28.843000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/core",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "eventbus",
            "pubsub",
            "agent-lifecycle",
            "state-machine",
            "core"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/core",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 27,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 2202,
          "first_published_at": "2026-02-20T17:13:25.532000Z",
          "latest_published_at": "2026-07-22T00:46:06.042000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/cost",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "cost-tracking",
            "budget",
            "model-routing",
            "complexity-routing",
            "token-cost",
            "llm-cost"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/cost",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 27,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1201,
          "first_published_at": "2026-02-20T17:13:56.840000Z",
          "latest_published_at": "2026-07-22T00:46:32.134000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/eval",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "evaluation",
            "llm-as-judge",
            "benchmark",
            "regression-testing",
            "scoring",
            "eval"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/eval",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 26,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 946,
          "first_published_at": "2026-02-21T01:32:58.329000Z",
          "latest_published_at": "2026-07-22T00:46:33.646000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/health",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "health-check",
            "readiness",
            "liveness",
            "probe",
            "production"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/health",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 15,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1057,
          "first_published_at": "2026-03-12T14:16:44.001000Z",
          "latest_published_at": "2026-07-22T00:46:12.740000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        },
        {
          "name": "@reactive-agents/memory",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "ai",
            "agents",
            "ai-agents",
            "llm",
            "effect-ts",
            "typescript",
            "memory",
            "sqlite",
            "vector-search",
            "embeddings",
            "fts5",
            "rag",
            "semantic-memory",
            "agent-memory"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@reactive-agents/memory",
          "is_deprecated": false,
          "latest_version": "0.14.0",
          "repository_url": "https://github.com/tylerjrbuell/reactive-agents-ts",
          "versions_count": 26,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 1705,
          "first_published_at": "2026-02-20T17:13:48.885000Z",
          "latest_published_at": "2026-07-22T00:46:19.525000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 8
        }
      ]
    },
    "popularity": {
      "forks": 4,
      "stars": 19,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-12",
            "count": 1
          },
          {
            "date": "2026-04-17",
            "count": 1
          },
          {
            "date": "2026-05-17",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 4,
        "total_forks": 4
      },
      "star_history": null,
      "open_issues_and_prs": 32
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "cookbook",
        "demos",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": true,
      "typecheck_configs": [
        "apps/advocate/tsconfig.json",
        "apps/cli/tsconfig.json",
        "apps/cortex/tsconfig.json",
        "apps/cortex/ui/tsconfig.json",
        "apps/docs/tsconfig.json",
        "apps/examples/tsconfig.json",
        "apps/stackblitz/01-hello-agent/tsconfig.json",
        "apps/stackblitz/02-tool-integration/tsconfig.json",
        "apps/stackblitz/03-strategy-demo/tsconfig.json",
        "docker/signal-mcp/server/tsconfig.json",
        "packages/a2a/tsconfig.json",
        "packages/benchmarks/tsconfig.json",
        "packages/channels/tsconfig.json",
        "packages/compose/tsconfig.json",
        "packages/core/tsconfig.json",
        "packages/cost/tsconfig.json",
        "packages/create-reactive-agent/tsconfig.json",
        "packages/diagnose/tsconfig.json",
        "packages/eval/tsconfig.json",
        "packages/gateway/tsconfig.json",
        "packages/guardrails/tsconfig.json",
        "packages/health/tsconfig.json",
        "packages/identity/tsconfig.json",
        "packages/interaction/tsconfig.json",
        "packages/judge-server/tsconfig.json",
        "packages/llm-provider/tsconfig.json",
        "packages/memory/tsconfig.json",
        "packages/observability/tsconfig.json",
        "packages/observe/tsconfig.json",
        "packages/prompts/tsconfig.json",
        "packages/react/tsconfig.json",
        "packages/reactive-agents/tsconfig.json",
        "packages/reactive-intelligence/tsconfig.json",
        "packages/reasoning/tsconfig.json",
        "packages/replay/tsconfig.json",
        "packages/runtime-shim/tsconfig.json",
        "packages/runtime/tsconfig.json",
        "packages/svelte/tsconfig.json",
        "packages/testing/tsconfig.json",
        "packages/tools/tsconfig.json",
        "packages/trace/tsconfig.json",
        "packages/ui-core/tsconfig.json",
        "packages/verification/tsconfig.json",
        "packages/vue/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 117970,
      "source_files_sampled": 2346,
      "oversized_source_files": 11,
      "agent_instruction_files": [
        ".github/copilot-instructions.md",
        "AGENTS.md",
        "CLAUDE.md",
        "apps/cortex/AGENTS.md"
      ],
      "agent_instruction_max_bytes": 65593
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "@opentelemetry/core",
            "direct": false,
            "version": "2.6.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-8988-4f7v-96qf"
            ],
            "fixed_version": "2.8.0",
            "advisory_count": 1,
            "oldest_advisory_days": 45
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "moderate": 1
        },
        "advisory_count": 1,
        "affected_count": 1,
        "assessed_count": 233,
        "malicious_count": 0,
        "assessed_package": "npm:@reactive-agents/cli@0.14.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "reactive-agents",
          "manifest": "apps/advocate/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/compose",
          "manifest": "apps/advocate/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/health",
          "manifest": "apps/advocate/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "effect",
          "manifest": "apps/advocate/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.10.0"
        },
        {
          "name": "effect",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.10.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/eval",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/a2a",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/trace",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/tools",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/memory",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/diagnose",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "chalk",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.4.0"
        },
        {
          "name": "ora",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.2.0"
        },
        {
          "name": "boxen",
          "manifest": "apps/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.1"
        },
        {
          "name": "elysia",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.1.0"
        },
        {
          "name": "effect",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.10.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/memory",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/observability",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/gateway",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/tools",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/reactive-intelligence",
          "manifest": "apps/cortex/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/a2a/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/a2a/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/channels/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/gateway",
          "manifest": "packages/channels/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "effect",
          "manifest": "packages/channels/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.10.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/compose/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "effect",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.10.0"
        },
        {
          "name": "ulid",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/cost/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "packages/cost/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/memory",
          "manifest": "packages/cost/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/cost/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/trace",
          "manifest": "packages/diagnose/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/replay",
          "manifest": "packages/diagnose/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/eval/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "packages/eval/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/eval/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/gateway/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/guardrails/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "packages/guardrails/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/health/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/identity/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@noble/ed25519",
          "manifest": "packages/identity/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.0.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/interaction/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/reasoning",
          "manifest": "packages/interaction/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/observability",
          "manifest": "packages/interaction/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "ulid",
          "manifest": "packages/interaction/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/judge-server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/eval",
          "manifest": "packages/judge-server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/llm-provider",
          "manifest": "packages/judge-server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/judge-server/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "effect",
          "manifest": "packages/judge-server/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/llm-provider/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/memory",
          "manifest": "packages/llm-provider/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/llm-provider/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/memory/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@reactive-agents/runtime-shim",
          "manifest": "packages/memory/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@opentelemetry/api",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.9.0"
        },
        {
          "name": "@opentelemetry/exporter-metrics-otlp-http",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.213.0"
        },
        {
          "name": "@opentelemetry/exporter-trace-otlp-http",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.213.0"
        },
        {
          "name": "@opentelemetry/resources",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.6.0"
        },
        {
          "name": "@opentelemetry/sdk-metrics",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.6.0"
        },
        {
          "name": "@opentelemetry/sdk-trace-base",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.6.0"
        },
        {
          "name": "@opentelemetry/semantic-conventions",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.40.0"
        },
        {
          "name": "@reactive-agents/core",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "chalk",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.4.0"
        },
        {
          "name": "boxen",
          "manifest": "packages/observability/package.json",
          "ecosystem": "npm",
          "version_constraint": "^8.0.1"
        }
      ],
      "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": 55,
        "open_issues": 32,
        "closed_ratio": 0.717,
        "closed_issues": 81,
        "closed_unmerged_prs": 26
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "tylerjrbuell",
          "commits": 3394,
          "avatar_url": "https://avatars.githubusercontent.com/u/89788783?v=4"
        },
        {
          "type": "User",
          "login": "HarperZ9",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/17142659?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.999
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "backfill-releases.yml",
        "ci.yml",
        "docs.yml",
        "eval.yml",
        "publish.yml",
        "regression-gate.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        "eslint.config.mjs"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "1 out of 1 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 1/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "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": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "162 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "45cbacdb3acf81c05c706b2cefa5f732b1584175",
        "ran_at": "2026-07-30T20:59:33Z",
        "aggregate_score": 4.6,
        "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-22T22:11:00Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": "2026-07-22T22:06:34Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 30,
          "created_at": "2026-05-15T01:57:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 31,
          "created_at": "2026-05-15T01:57:44Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 32,
          "created_at": "2026-05-15T01:57:45Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 33,
          "created_at": "2026-05-15T01:57:46Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 34,
          "created_at": "2026-05-15T01:57:47Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 35,
          "created_at": "2026-05-15T01:57:48Z",
          "last_comment_at": "2026-06-16T17:57:16Z",
          "last_comment_author": "tylerjrbuell"
        },
        {
          "number": 36,
          "created_at": "2026-05-15T01:57:50Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 37,
          "created_at": "2026-05-15T01:57:51Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 38,
          "created_at": "2026-05-15T01:57:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 42,
          "created_at": "2026-05-15T01:57:57Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 43,
          "created_at": "2026-05-15T01:57:58Z",
          "last_comment_at": "2026-06-16T17:57:16Z",
          "last_comment_author": "tylerjrbuell"
        },
        {
          "number": 44,
          "created_at": "2026-05-15T01:58:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 45,
          "created_at": "2026-05-15T01:58:01Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 47,
          "created_at": "2026-05-15T01:58:03Z",
          "last_comment_at": "2026-06-16T17:57:15Z",
          "last_comment_author": "tylerjrbuell"
        },
        {
          "number": 48,
          "created_at": "2026-05-15T01:58:04Z",
          "last_comment_at": "2026-06-11T00:45:23Z",
          "last_comment_author": "tylerjrbuell"
        },
        {
          "number": 49,
          "created_at": "2026-05-15T01:58:05Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 50,
          "created_at": "2026-05-15T01:58:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 51,
          "created_at": "2026-05-15T01:58:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 52,
          "created_at": "2026-05-15T01:58:10Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 53,
          "created_at": "2026-05-15T01:58:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/tylerjrbuell/reactive-agents-ts",
    "host": "github.com",
    "name": "reactive-agents-ts",
    "owner": "tylerjrbuell"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": "The weighted overall 67 is calibrated to 78 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 67,
            "calibrated": 78,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 78,
      "inputs": {
        "security": 55,
        "vitality": 87,
        "community": 53,
        "governance": 49,
        "calibration": "2026-08-02",
        "engineering": 86,
        "ai_readiness": 71,
        "weighted_overall_raw": 67
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 87,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "commits_last_year": 3410,
              "human_commit_share": 0.99,
              "days_since_last_push": 7,
              "active_weeks_last_year": 21
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 7 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 7
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "21/52 weeks with commits",
                "points": 14.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 21
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "3410 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 3410
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "exceptional",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 35,
              "latest_release_tag": "v0.14.0",
              "releases_from_tags": false,
              "days_since_latest_release": 8,
              "mean_days_between_releases": 8.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "35 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 8 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 8
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~8.6 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 8.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "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": "moderate",
        "name": "Community & Adoption",
        "value": 53,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "at_risk",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 24,
            "inputs": {
              "forks": 4,
              "stars": 19,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "19 stars",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 19
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "4 forks",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "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": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "readme_badge_services": [],
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "good",
            "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": 67,
            "inputs": {
              "packages": [
                "@reactive-agents/cli",
                "@reactive-agents/cortex",
                "@reactive-agents/a2a",
                "@reactive-agents/core",
                "@reactive-agents/cost",
                "@reactive-agents/eval",
                "@reactive-agents/health",
                "@reactive-agents/memory"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 11005
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "11,005 downloads/month across npm",
                "points": 53.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 11005,
                      "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": "weak",
        "name": "Sustainability & Governance",
        "value": 49,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.999
            },
            "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": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "merged_prs": 55,
              "open_issues": 32,
              "closed_issues": 81,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.717,
              "closed_unmerged_prs": 26,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "72% of issues closed",
                "points": 30.1,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 72
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "55/81 decided PRs merged",
                "points": 20.4,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 55,
                      "decided": 81
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "weak",
            "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": 40,
            "inputs": {
              "followers": 3,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "tylerjrbuell",
              "public_repos": 12,
              "account_age_days": 1795
            },
            "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": "3 followers of tylerjrbuell",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 3,
                      "login": "tylerjrbuell"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "12 public repos, account ~4 yr old",
                "points": 17.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 12
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 4
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@reactive-agents/cli",
                "@reactive-agents/cortex",
                "@reactive-agents/a2a",
                "@reactive-agents/core",
                "@reactive-agents/cost",
                "@reactive-agents/eval",
                "@reactive-agents/health",
                "@reactive-agents/memory"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 8
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 8 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 8
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "42 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 42
                    }
                  }
                ],
                "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": "excellent",
        "name": "Engineering Quality",
        "value": 86,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "6 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "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": "eslint.config.mjs",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "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": "1 out of 1 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": 90,
            "inputs": {
              "topics": [
                "agent-framework",
                "agent-observability",
                "agent-orchestration",
                "agentic-ai",
                "anthropic",
                "bun",
                "composable",
                "effect-ts",
                "google-ai",
                "llm",
                "multi-agent",
                "ollama",
                "openai",
                "type-safe",
                "typescript",
                "automation",
                "ai-agents",
                "gateway",
                "mcp",
                "streaming"
              ],
              "has_wiki": false,
              "homepage": "https://docs.reactiveagents.dev",
              "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://docs.reactiveagents.dev",
                "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 55,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "weak",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 4.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 1 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 1/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "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 fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "162 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Matched the npm:@reactive-agents/cli@0.14.0 runtime dependency closure — what installing the published package pulls in — 233 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@reactive-agents/cli@0.14.0",
                  "assessed": 233
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 89,
            "inputs": {
              "source": "osv",
              "advisories": 1,
              "affected_packages": 1,
              "assessed_packages": 233,
              "unassessed_packages": 0,
              "affected_by_severity": "moderate 1",
              "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": "1 affected: @opentelemetry/core 2.6.0 (moderate 5.3)",
                "points": 14.4,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 1,
                      "packages": "@opentelemetry/core 2.6.0 (moderate 5.3)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "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": 233,
              "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
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 3
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 71,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [
                ".github/copilot-instructions.md",
                "AGENTS.md",
                "CLAUDE.md",
                "apps/cortex/AGENTS.md"
              ],
              "agent_instruction_max_bytes": 65593
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "99 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 99,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 54,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": true,
              "has_linter_config": true,
              "typecheck_configs": [
                "apps/advocate/tsconfig.json",
                "apps/cli/tsconfig.json",
                "apps/cortex/tsconfig.json",
                "apps/cortex/ui/tsconfig.json",
                "apps/docs/tsconfig.json",
                "apps/examples/tsconfig.json",
                "apps/stackblitz/01-hello-agent/tsconfig.json",
                "apps/stackblitz/02-tool-integration/tsconfig.json",
                "apps/stackblitz/03-strategy-demo/tsconfig.json",
                "docker/signal-mcp/server/tsconfig.json",
                "packages/a2a/tsconfig.json",
                "packages/benchmarks/tsconfig.json",
                "packages/channels/tsconfig.json",
                "packages/compose/tsconfig.json",
                "packages/core/tsconfig.json",
                "packages/cost/tsconfig.json",
                "packages/create-reactive-agent/tsconfig.json",
                "packages/diagnose/tsconfig.json",
                "packages/eval/tsconfig.json",
                "packages/gateway/tsconfig.json",
                "packages/guardrails/tsconfig.json",
                "packages/health/tsconfig.json",
                "packages/identity/tsconfig.json",
                "packages/interaction/tsconfig.json",
                "packages/judge-server/tsconfig.json",
                "packages/llm-provider/tsconfig.json",
                "packages/memory/tsconfig.json",
                "packages/observability/tsconfig.json",
                "packages/observe/tsconfig.json",
                "packages/prompts/tsconfig.json",
                "packages/react/tsconfig.json",
                "packages/reactive-agents/tsconfig.json",
                "packages/reactive-intelligence/tsconfig.json",
                "packages/reasoning/tsconfig.json",
                "packages/replay/tsconfig.json",
                "packages/runtime-shim/tsconfig.json",
                "packages/runtime/tsconfig.json",
                "packages/svelte/tsconfig.json",
                "packages/testing/tsconfig.json",
                "packages/tools/tsconfig.json",
                "packages/trace/tsconfig.json",
                "packages/ui-core/tsconfig.json",
                "packages/verification/tsconfig.json",
                "packages/vue/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": "eslint.config.mjs",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "eslint.config.mjs"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "apps/advocate/tsconfig.json, apps/cli/tsconfig.json, apps/cortex/tsconfig.json, apps/cortex/ui/tsconfig.json, apps/docs/tsconfig.json, apps/examples/tsconfig.json, apps/stackblitz/01-hello-agent/tsconfig.json, apps/stackblitz/02-tool-integration/tsconfig.json, apps/stackblitz/03-strategy-demo/tsconfig.json, docker/signal-mcp/server/tsconfig.json, packages/a2a/tsconfig.json, packages/benchmarks/tsconfig.json, packages/channels/tsconfig.json, packages/compose/tsconfig.json, packages/core/tsconfig.json, packages/cost/tsconfig.json, packages/create-reactive-agent/tsconfig.json, packages/diagnose/tsconfig.json, packages/eval/tsconfig.json, packages/gateway/tsconfig.json, packages/guardrails/tsconfig.json, packages/health/tsconfig.json, packages/identity/tsconfig.json, packages/interaction/tsconfig.json, packages/judge-server/tsconfig.json, packages/llm-provider/tsconfig.json, packages/memory/tsconfig.json, packages/observability/tsconfig.json, packages/observe/tsconfig.json, packages/prompts/tsconfig.json, packages/react/tsconfig.json, packages/reactive-agents/tsconfig.json, packages/reactive-intelligence/tsconfig.json, packages/reasoning/tsconfig.json, packages/replay/tsconfig.json, packages/runtime-shim/tsconfig.json, packages/runtime/tsconfig.json, packages/svelte/tsconfig.json, packages/testing/tsconfig.json, packages/tools/tsconfig.json, packages/trace/tsconfig.json, packages/ui-core/tsconfig.json, packages/verification/tsconfig.json, packages/vue/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "apps/advocate/tsconfig.json, apps/cli/tsconfig.json, apps/cortex/tsconfig.json, apps/cortex/ui/tsconfig.json, apps/docs/tsconfig.json, apps/examples/tsconfig.json, apps/stackblitz/01-hello-agent/tsconfig.json, apps/stackblitz/02-tool-integration/tsconfig.json, apps/stackblitz/03-strategy-demo/tsconfig.json, docker/signal-mcp/server/tsconfig.json, packages/a2a/tsconfig.json, packages/benchmarks/tsconfig.json, packages/channels/tsconfig.json, packages/compose/tsconfig.json, packages/core/tsconfig.json, packages/cost/tsconfig.json, packages/create-reactive-agent/tsconfig.json, packages/diagnose/tsconfig.json, packages/eval/tsconfig.json, packages/gateway/tsconfig.json, packages/guardrails/tsconfig.json, packages/health/tsconfig.json, packages/identity/tsconfig.json, packages/interaction/tsconfig.json, packages/judge-server/tsconfig.json, packages/llm-provider/tsconfig.json, packages/memory/tsconfig.json, packages/observability/tsconfig.json, packages/observe/tsconfig.json, packages/prompts/tsconfig.json, packages/react/tsconfig.json, packages/reactive-agents/tsconfig.json, packages/reactive-intelligence/tsconfig.json, packages/reasoning/tsconfig.json, packages/replay/tsconfig.json, packages/runtime-shim/tsconfig.json, packages/runtime/tsconfig.json, packages/svelte/tsconfig.json, packages/testing/tsconfig.json, packages/tools/tsconfig.json, packages/trace/tsconfig.json, packages/ui-core/tsconfig.json, packages/verification/tsconfig.json, packages/vue/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "devcontainer, Dockerfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "devcontainer, Dockerfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "exceptional",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 117970,
              "source_files_sampled": 2346,
              "oversized_source_files": 11
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "11/2346 source files over 60KB",
                "points": 54.7,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 2346,
                      "oversized": 11
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "cookbook",
                "demos",
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "cookbook, demos, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "cookbook, demos, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "labels": [
        "library",
        "framework"
      ],
      "scores": {
        "cli": 2,
        "library": 6,
        "framework": 4,
        "mcp-server": 3
      },
      "primary": "library",
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:npm",
          "weight": 6
        },
        {
          "tier": "structure",
          "label": "mcp-server",
          "source": "mcp_signal",
          "weight": 3
        },
        {
          "tier": "tags",
          "label": "cli",
          "source": "tag:cli",
          "weight": 2
        },
        {
          "tier": "description",
          "label": "framework",
          "source": "description:framework",
          "weight": 2
        },
        {
          "tier": "tags",
          "label": "framework",
          "source": "tag:agent-framework",
          "weight": 2
        }
      ],
      "artifacts": [],
      "confidence": "medium",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": true
    },
    "metrics_version": "2.3.1"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-30T20:59:44.195726Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/t/tylerjrbuell/reactive-agents-ts.svg",
  "full_name": "tylerjrbuell/reactive-agents-ts",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

Los datos ausentes se excluyen y los pesos se renormalizan; nunca se puntúan como cero. La metodología es versionada y abierta: métricas v2.3.1, 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.