Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 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 зірок⑂ 4 форкиз лют. 2026 р.Переглянути на GitHub ↗
ТипБібліотекаФреймворкяк це визначено

tylerjrbuell/reactive-agents-ts має індекс здоров’я 78 зі 100, що відповідає смузі «Добрий». Найвищий показник — Vitality (87/100), найнижчий — Sustainability & Governance (49/100). Останнє оновлення було 7 днів тому. Більшість нещодавньої роботи виконує один учасник.

78
загалом / 100
Добрий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє зважене середнє, відкаліброване за розподілом публічного реєстру, тож діапазони мають перцентильний зміст; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 34 («У зоні ризику»).

78
Винятковий93-100Верхній щабель реєстру (≈ топ-5%); відповідає практично всім перевіреним критеріям
Відмінний80-92Сильний за всіма напрямами; незначні прогалини
Добрий65-79Здоровий; прогалини обмежені та керовані
Помірний50-64Прийнятний, але з помітними прогалинами; рекомендовано перевірку
Слабкий35-49Суттєві недоліки в кількох сферах
У зоні ризику20-34Суттєві слабкі місця; впровадження потребує обережності
Критичний1-19Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Зважений загальний бал 67 калібровано до 78 за шкалою опублікованого індексу (калібрування реєстру 2026-08-02).

Власність

Tyler BuellОсобистий обліковий запис
3 підписники12 публічних репозиторіївз серп. 2021 р.@luduscom

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

87Відмінний · 21% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 7 дн. тому
14.5/36Ритм комітів — 21/52 тижнів із комітами
18/18Обсяг комітів — 3 410 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year3 410
human_commit_share0,99
days_since_last_push7
active_weeks_last_year21
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 35 релізів
36/36Свіжість релізів — останній реліз 8 дн. тому
27/27Ритм релізів — реліз кожні ~8,6 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count35
latest_release_tagv0.14.0
releases_from_tagsні
days_since_latest_release8
mean_days_between_releases8,6
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

53Помірний · 17% загального індексу
Як обчислюється оцінка
20.4/60Зірки — 19 зірок
4/25Форки — 4 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks4
stars19
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
readme_badges
has_contributingтак
has_issue_templateні
has_code_of_conductні
readme_badge_services
has_pull_request_templateтак
Як обчислюється оцінка
53.9/80Щомісячні завантаження — 11 005 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
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
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

49Слабкий · 23% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0/22.5Розподіл комітів — головний контриб’ютор — автор 100% комітів
2.7/13.5Широта контриб’юторів — 2 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled2
top_contributor_share0,999
Як обчислюється оцінка
30.1/42Вирішення issue — закрито 72% issue
20.4/30Прийняття PR — злито 55/81 вирішених PR
0/13Newcomer PR acceptance — за 30 дн. не вирішено жодного PR від новачка
0/15OpenSSF Scorecard: Code-Review — Found 1/30 approved changesets -- score normalized to 0
Використані вхідні дані
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
Виключено з оцінювання (немає даних або не застосовно): newcomer_pr_acceptance. Залишкові ваги перенормовано.
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
4.3/25Охоплення власника — 3 підписників у tylerjrbuell
17.9/25Послужний список — 12 публічних репозиторіїв, вік облікового запису ~4 р.
Використані вхідні дані
followers3
owner_typeUser
is_verified
owner_logintylerjrbuell
public_repos12
account_age_days1 795
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Супровід пакетів

100Винятковий
Як обчислюється оцінка
25/25Опубліковано й доступно — 8 пакет(ів) у npm
35/35Свіжість публікацій — остання публікація 8 дн. тому
20/20Історія версій — 42 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
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_deprecatedні
min_days_since_publish8

Інженерна якість

Чи наявні базові інженерні практики та документація?

86Відмінний · 19% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 6 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — eslint.config.mjs
0/9.6Pre-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
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні

Документація

90Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://docs.reactiveagents.dev
10/10Опис репозиторію
10/10Теми — 20 тем
0/10Wiki
Використані вхідні дані
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_wikiні
homepagehttps://docs.reactiveagents.dev
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

55Помірний · 16% загального індексу

Стан безпеки

46Слабкий
Як обчислюється оцінка
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.5Ліцензія — 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 — немає даних
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 — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 162 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate4,6
Виключено з оцінювання (немає даних або не застосовно): packaging, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
14.4/25Непрямі залежності без відомих сповіщень — уражено 1: @opentelemetry/core 2.6.0 (moderate 5.3)
40/40Немає задавнених сповіщень — жодне сповіщення не є публічним довше за 90 дн.
Використані вхідні дані
sourceosv
advisories1
affected_packages1
assessed_packages233
unassessed_packages0
affected_by_severitymoderate 1
direct_affected_packages0
Звірено з runtime-замиканням залежностей npm:@reactive-agents/cli@0.14.0 — тим, що тягне за собою встановлення опублікованого пакета, — 233 пакетів. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Має свідомо малу вагу (4%): агентний інструментарій — реальний сигнал супроводу, але репозиторій без нього все одно може отримати 100/100.

71Добрий · 4% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — .github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 99 з 99 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files.github/copilot-instructions.md, AGENTS.md, CLAUDE.md, apps/cortex/AGENTS.md
agent_instruction_max_bytes65 593
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — eslint.config.mjs
11/11Статична перевірка типів — 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/10Відтворюване середовище — devcontainer, Dockerfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Використані вхідні дані
has_nixні
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
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
54.7/55Керовані розміри файлів — 11/2 346 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes117 970
source_files_sampled2 346
oversized_source_files11
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
20/20Сервер MCP
40/40Придатні до запуску приклади — cookbook, demos, examples
Використані вхідні дані
example_dirscookbook, demos, examples
has_mcp_signalтак
api_schema_files

Ключові факти

19зірок GitHub
2контриб'юторів
3 410комітів за останні 12 місяців
7днів від останнього пушу
35релізів
1бас-фактор
32відкритих issue
npmпакетних екосистем

Попередження щодо збору даних

  • 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

Докладніше

Історія зірок і форків 0 ★ / 4 ⇿
0Зірки
4Форки
17Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

1223344412026-032026-052026-07
Мажорні 0Мінорні 6Патчі 11
OpenSSF Scorecard 4.6 / 10
4.6сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).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
н/дPackagingpackaging 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
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities162 existing vulnerabilities detected
Прямі залежності 75
РеєстрПакетОбмеження версіїМаніфест
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
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Сповіщення про залежності 1

Встановлення npm:@reactive-agents/cli@0.14.0 тягне 233 пакетів, прямих і транзитивних: 1 мають відомі сповіщення, з них 0 — прямі залежності.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
@opentelemetry/core2.6.0непрямапомірна12.8.0

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "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"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v2.3.1, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаnpm.