Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.23.0 · метрики 1.13.0 · 2026-07-21 15:49 UTC

usehelix / helix

Self-healing infrastructure for AI agent payments. 90.3% auto-recovery.

TypeScript · HTMLMIT★ 821 зірка⑂ 3 форкиз бер. 2026 р.Переглянути на GitHub ↗

usehelix/helix має індекс здоров’я 58 зі 100, що відповідає смузі «Помірний». Найвищий показник — Engineering Quality (81/100), найнижчий — Sustainability & Governance (43/100). Останнє оновлення було 42 дні тому. Більшість нещодавньої роботи виконує один учасник.

58
загалом / 100
Помірний

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

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

58
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

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

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

Власність

Helix TechnologyОрганізація
2 підписники4 публічні репозиторіїз трав. 2026 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
PyPIhelix-agent-sdkвказує на інший репозиторій — не оцінюється0.2.0566117 днів томуhelixai-agentsself-healingpaymentsweb3
npm@helix-agent/coreвказує на інший репозиторій — не оцінюється2.8.12013553 дні томуhelixvialosai-agentself-healingpaymentpcecgene-mapagent-reliabilitymppcoinbasecryptobudget-intelligenceagent-payment
npm@vial-agent/gene-map0.1.029198 днів тому
npm@vial-agent/coreвказує на інший репозиторій — не оцінюється0.2.0462114 днів томуself-healingautonomous-agentserror-repairreinforcement-learningpcecgene-map
npm@vial-agent/adapter-api0.1.0141114 днів томуself-healingapihttpretryerror-recoveryvial

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

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

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

68Помірний · 22% загального індексу
Як обчислюється оцінка
18/36Свіжість push — останній push 42 дн. тому
6.9/36Ритм комітів — 10/52 тижнів із комітами
18/18Обсяг комітів — 326 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year326
human_commit_share1
days_since_last_push42
active_weeks_last_year10
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 5 релізів
27/36Свіжість релізів — останній реліз 108 дн. тому
27/27Ритм релізів — реліз кожні ~2 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count5
latest_release_tagv2.7.0
releases_from_tagsні
days_since_latest_release108
mean_days_between_releases2
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

51Помірний · 18% загального індексу
Як обчислюється оцінка
47.3/60Зірки — 821 зірок
2.5/25Форки — 3 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks3
stars821
watchers0
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні
Як обчислюється оцінка
21.9/80Щомісячні завантаження — 43 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packages@vial-agent/gene-map, @vial-agent/adapter-api
dependents
ecosystemsnpm
total_downloads
monthly_downloads43
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

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

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

43У зоні ризику · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
5.4/22.5Розподіл комітів — головний контриб’ютор — автор 76% комітів
5.4/13.5Широта контриб’юторів — 4 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled4
top_contributor_share0,761
Як обчислюється оцінка
0/46.8Вирішення issue — закрито 0% issue
38.2/38.3Прийняття PR — злито 7/7 вирішених PR
1.5/15OpenSSF Scorecard: Code-Review — Found 1/8 approved changesets -- score normalized to 1
Використані вхідні дані
merged_prs7
open_issues4
closed_issues0
issue_closed_ratio0
closed_unmerged_prs0

Власність та опіка

39У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
3.4/25Охоплення власника — 2 підписників у usehelix
5.4/25Послужний список — 4 публічних репозиторіїв, вік облікового запису ~0 р.
Використані вхідні дані
followers2
owner_typeOrganization
is_verified
owner_loginusehelix
public_repos4
account_age_days58
Як обчислюється оцінка
25/25Опубліковано й доступно — 2 пакет(ів) у npm
35/35Свіжість публікацій — остання публікація 98 дн. тому
4/20Історія версій — 1 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packages@vial-agent/gene-map, @vial-agent/adapter-api
ecosystemsnpm
any_deprecatedні
min_days_since_publish98

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

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

81Добрий · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 2 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 7 out of 7 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

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

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://tryhelix.dev/
10/10Опис репозиторію
10/10Теми — 18 тем
10/10Wiki
Використані вхідні дані
topicsai-agents, blockchain, coinbase, payments, privy, privy-developer-tools, self-healing, self-healing-ai, tempo, docker-image, python-app, agent, agentic-ai, ai, llms, multi-agent-systems, self-evolving, agentic-ai-self-evolving
has_wikiтак
homepagehttps://tryhelix.dev/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

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

45У зоні ризику · 16% загального індексу

Стан безпеки

31У зоні ризику
Як обчислюється оцінка
0/7.5Binary-Artifacts — binaries present in source code
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 7 out of 7 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.8/7.5Code-Review — Found 1/8 approved changesets -- score normalized to 1
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
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
5/5Packaging — packaging workflow detected
1/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 87 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate3,1
Виключено з оцінювання (немає даних або не застосовно): signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
25/25Непрямі залежності без відомих сповіщень — жодна непряма залежність не має відомих сповіщень
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories0
affected_packages0
assessed_packages5
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено з runtime-замиканням залежностей pypi:helix-agent-sdk@0.2.0 — тим, що тягне за собою встановлення опублікованого пакета, — 5 пакетів. Досяжність не аналізується.

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

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

55Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 100 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — packages/adapter-api/tsconfig.json, packages/api/tsconfig.json, packages/cli/tsconfig.json, packages/core/tsconfig.json, packages/gene-map/tsconfig.json, packages/mcp/tsconfig.json, packages/vial-core/tsconfig.json, python/helix_agent/py.typed, scripts/circle-bench/seller/tsconfig.json, scripts/circle-bench/tsconfig.json, tsconfig.json
10/10Відтворюване середовище — Dockerfile, lockfile
2/10Підтверджена практика роботи з агентами — 1 з останніх 100 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
2/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 2
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileтак
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configspackages/adapter-api/tsconfig.json, packages/api/tsconfig.json, packages/cli/tsconfig.json, packages/core/tsconfig.json, packages/gene-map/tsconfig.json, packages/mcp/tsconfig.json, packages/vial-core/tsconfig.json, python/helix_agent/py.typed, scripts/circle-bench/seller/tsconfig.json, scripts/circle-bench/tsconfig.json, tsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
55/55Керовані розміри файлів — 0/360 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes44 797
source_files_sampled360
oversized_source_files0
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
20/20Сервер MCP
40/40Придатні до запуску приклади — demos, examples
Використані вхідні дані
example_dirsdemos, examples
has_mcp_signalтак
api_schema_files

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

821зірок GitHub
4контриб'юторів
326комітів за останні 12 місяців
42днів від останнього пушу
5релізів
1бас-фактор
4відкритих issue
npm, PyPIпакетних екосистем

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

  • pypi package 'helix-agent-sdk' points at a different repository (https://github.com/adrianhihi/helix); excluded from ecosystem scoring
  • Could not fetch npm package '@helix-agent/api' from its registry
  • Could not fetch npm package '@vial-agent/cli' from its registry
  • Could not fetch npm package '@helix-agent/mcp' from its registry
  • npm package '@helix-agent/core' points at a different repository (https://github.com/adrianhihi/helix); excluded from ecosystem scoring
  • npm package '@vial-agent/core' points at a different repository (https://github.com/adrianhihi/vial); excluded from ecosystem scoring
  • Could not fetch npm package '@vial-agent/openclaw-hook' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Докладніше

Історія зірок і форків 821 ★ / 3 ⇿
821Зірки
3Форки
5Релізи

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

02004006008001 0008213342026-032026-052026-07
Мажорні 0Мінорні 5Патчі 0
OpenSSF Scorecard 3.1 / 10
3.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-21 15:49 UTC

0Binary-Artifactsbinaries present in source code
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests7 out of 7 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
1Code-ReviewFound 1/8 approved changesets -- score normalized to 1
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
10Packagingpackaging workflow detected
2Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 2
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities87 existing vulnerabilities detected
Прямі залежності 30
РеєстрПакетОбмеження версіїМаніфест
npm@helix-agent/core*dashboard/package.json
npmexpress^4.18.0dashboard/package.json
npm@circle-fin/x402-batching^3.0.4package.json
npm@coinbase/cdp-sdk^1.46.1package.json
npm@coinbase/coinbase-sdk^0.25.0package.json
npm@privy-io/node^0.11.0package.json
npm@x402/core^2.12.0package.json
npm@x402/evm^2.12.0package.json
PyPIrequests>=2.28.0python/pyproject.toml
npm@helix-agent/core*packages/api/package.json
npmexpress^4.18.0packages/api/package.json
npm@anthropic-ai/sdk^0.24.3packages/cli/package.json
npm@octokit/rest^20.1.0packages/cli/package.json
npmaxios^1.7.0packages/cli/package.json
npmbetter-sqlite3^11.0.0packages/cli/package.json
npmchalk^4.1.2packages/cli/package.json
npmcommander^11.1.0packages/cli/package.json
npmexpress^4.18.0packages/cli/package.json
npmora^5.4.1packages/cli/package.json
npmconf^10.2.0packages/cli/package.json
npm@vial-agent/gene-map*packages/core/package.json
npm@vial-agent/runtime^0.1.0packages/core/package.json
npmbetter-sqlite3^11.0.0packages/core/package.json
npmviem^2.47.5packages/core/package.json
npmzod^4.3.6packages/core/package.json
npmbetter-sqlite3^11.0.0packages/gene-map/package.json
npm@helix-agent/core*packages/mcp/package.json
npm@modelcontextprotocol/sdk^1.0.0packages/mcp/package.json
npmbetter-sqlite3^11.0.0packages/vial-core/package.json
npm@circle-fin/developer-controlled-wallets^7.0.0scripts/circle-bench/package.json
Усі залежності не зібрано

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

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

Встановлення pypi:helix-agent-sdk@0.2.0 тягне 5 пакетів, прямих і транзитивних: 0 мають відомі сповіщення, з них 0 — прямі залежності.

Жодне відоме сповіщення не стосується оцінених залежностей.

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

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "ai-agents",
        "blockchain",
        "coinbase",
        "payments",
        "privy",
        "privy-developer-tools",
        "self-healing",
        "self-healing-ai",
        "tempo",
        "docker-image",
        "python-app",
        "agent",
        "agentic-ai",
        "ai",
        "llms",
        "multi-agent-systems",
        "self-evolving",
        "agentic-ai-self-evolving"
      ],
      "is_fork": false,
      "size_kb": 4455,
      "has_wiki": true,
      "homepage": "https://tryhelix.dev/",
      "languages": {
        "HTML": 1045201,
        "Shell": 16368,
        "Python": 60297,
        "Dockerfile": 1103,
        "JavaScript": 70737,
        "TypeScript": 1693268
      },
      "pushed_at": "2026-06-09T09:13:16Z",
      "created_at": "2026-03-20T01:01:23Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T17:06:43Z",
      "description": "Self-healing infrastructure for AI agent payments. 90.3% auto-recovery.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "HTML"
      ]
    },
    "owner": {
      "blog": "https://tryhelix.dev",
      "name": "Helix Technology",
      "type": "Organization",
      "login": "usehelix",
      "company": null,
      "location": "United States of America",
      "followers": 2,
      "avatar_url": "https://avatars.githubusercontent.com/u/287284731?v=4",
      "created_at": "2026-05-23T18:35:47Z",
      "is_verified": null,
      "public_repos": 4,
      "account_age_days": 58
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2026-04-03T17:30:55Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2026-03-29T07:00:28Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2026-03-29T05:45:29Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2026-03-27T02:09:34Z"
        },
        {
          "tag": "v2.3.0",
          "kind": "minor",
          "published_at": "2026-03-26T22:17:20Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "ead5271ff65a521a18c139b1a80ca4d907812114",
          "body": "docs: Add FAQ section for common questions",
          "is_bot": false,
          "headline": "Merge pull request #12 from meichuanyi/docs/add-faq-section",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-06-09T09:13:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ac26513446c4f65f51dfa924eb78e15933c96da",
          "body": null,
          "is_bot": false,
          "headline": "docs: Add FAQ section for common questions",
          "author_name": "meichuanyi",
          "author_login": "meichuanyi",
          "committed_at": "2026-06-01T21:17:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c2847e168c86f2689603e5edcc48a7138c84433d",
          "body": "Release: @helix-agent/core 2.8.1",
          "is_bot": false,
          "headline": "Merge pull request #11 from usehelix/release/core-v2.8.1",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-28T20:55:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "225d51c576493244b288a6ed4f0de03957e891f3",
          "body": "…nds policy (L2) + honesty audit\n\nL1: auto-detect/applyOverrides + split_transaction no longer scalar-mutate\nnon-scalar amounts (e.g. Circle's amount: string[]) — type-guarded.\nL2: insufficient-funds defaults to hold_and_notify; reduce_request only with\nallowPartial:true. Added WrapOptions.freezeArg\n[…]\nes marked\nnonRepairable. Filed KI-1 (serialize_and_backoff no-op, #9) and KI-2 (immune-\nstat inflation, #10).\n\n650/650 tests pass.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "@helix-agent/core 2.8.1: fix amount corruption (L1) + insufficient-fu…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-28T20:19:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e23c9338f4d18b6ad50ee67d21c627002cc6beec",
          "body": "Integrity pass over the Circle capsule seeds + changelog:\n- Zero out fabricated successCount/avgRepairMs on all seed genes;\n  non-zero values now require a real bench/telemetry artifact.\n- Drop 5 unvalidated Circle capsules to conservative q=0.50 priors\n  (gateway-rate-limit, gateway-nonce-used, cct\n[…]\nt a measured result.\n- CHANGELOG: 2.8.0 entry documenting all three Circle PRs with honest\n  provenance per capsule.\n- Bump package.json 2.7.3 → 2.8.0.\n\n623/623 tests pass. No fabricated metrics ship.",
          "is_bot": false,
          "headline": "chore(release): 2.8.0 — honest capsule provenance + changelog",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-28T05:43:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fe3833c87af3cbf2231a6651d4eb0af0f1056b7d",
          "body": " feat: Circle v2 strategies + 4 v1-vs-v2 benches (industry-default → Helix discovery)",
          "is_bot": false,
          "headline": "Merge pull request #7 from usehelix/feat/circle-v2-strategies-bench",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T07:48:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b265a4a60913298207c417e2a30e61c6f6c83e1b",
          "body": "Companion script to commit fd3ccf7 which captured Bench 2.4 results\nand refresh_metadata reachability analysis. Tests the three groups:\n- Group A: idempotencyKey deliberate trigger (strip_field path)\n- Group B: nil-UUID tokenId trigger (uuid_format violation path)\n- Group C: 'not-a-uuid' walletId trigger (hold_and_notify path)\n\nAllows independent reproduction of Bench 2.4 findings.",
          "is_bot": false,
          "headline": "bench: smart_param_repair e2e harness (used in Bench 2.4)",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T07:40:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd3ccf781164338e4260bd533fb85bfc438ee6a4",
          "body": "…ity analysis\n\n20 real Arc Testnet tx in Group A (idempotencyKey strip).\n20 correct holds in Group C (UUID format violation).\nGroup B revealed refresh_metadata action is design-intent only —\nCircle's actual tokenId error shapes route to hold_and_notify\nvia uuid_format (Rule 2) or catch-all (no errors[] array).\nDocumented for PR #4 numeric-code routing.",
          "is_bot": false,
          "headline": "bench: smart_param_repair e2e validation + refresh_metadata reachabil…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T07:31:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e974bfffacb1ebaed8b03c158cea805e6f851fe8",
          "body": "feat: Circle v2 strategies + v1-vs-v2 benches (industry-default → Helix discovery)",
          "is_bot": false,
          "headline": "Merge pull request #6 from usehelix/feat/circle-v2-strategies-bench",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:49:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2443ad18667d57bccd484dedf6a0af0fe558845b",
          "body": "JSON results files for the three v1-vs-v2 benches.\n\nIncludes v1-serialize-and-backoff-anomaly.md documenting the\nsustained-load anomaly discovered during Bench 2.1: v1's 5 retries\nfire concurrently and re-trigger the rate limit, losing 24% of\ntransfers. Marked for fix in PR #4 alongside Gene Map multi-strategy.",
          "is_bot": false,
          "headline": "bench: capture v1 vs v2 results + v1 anomaly doc",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:41:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4adca22185a78c16a35ab4214e354c332c765037",
          "body": "Three bench scripts comparing Helix v1 strategies against v2:\n- v1-vs-v2-rate-limit.ts: 20-concurrent × 5 trials on Arc Testnet\n- v1-vs-v2-param-repair.ts: 100 attempts, 5 synthetic Circle error shapes\n- v1-vs-v2-metadata-trust.ts: 4 scenarios × 50 iterations\n\nAll bench data saved to scripts/circle-bench/results/ as JSON.",
          "is_bot": false,
          "headline": "bench: v1 vs v2 comparison harness for 3 Circle capsules",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:41:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5997535faef0c4713cc0eb37f184c2a0c07a3424",
          "body": "…ta verification\n\nGeneralizes v1 override_api_decimals to check all token metadata fields,\nnot just decimals. Bench 2.3 shows v1 misses symbol drift entirely\n(USDC vs USDC.e silent substitution), creating fund-safety risk for\nagents. v2 verifies decimals + symbol + contract address via on-chain\nread\n[…]\ntion ('on-chain' vs 'ground-truth-table' vs 'api-trusted').\n\nCache layer for repeated verification of the same token. NATIVE_USDC_DECIMALS\ntable covers Arc, Base, Avalanche, Ethereum (all 6 decimals).",
          "is_bot": false,
          "headline": "feat(strategies/circle-v2): metadata-trust — generalized token-metada…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:41:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bf5b09d46e7ac7df378b080b4c91773cea598501",
          "body": "…ecovery\n\nIndustry-default 4xx-no-retry is over-conservative: Bench 2.2 shows 80%\nof Circle param errors are deterministic and auto-fixable (idempotencyKey\nstrip, amount type coercion, address normalization, fee injection,\ntokenId refresh). v1 hold_and_notify routed all 100 attempts to human\nreview \n[…]\ninistic cases (UUID format errors).\n\nTwo-function API: smartParamRepair(error) -> ParamRepairAction, plus\napplyParamRepair(args, action) for arg mutation. 8 action types,\nTypeScript exhaustive switch.",
          "is_bot": false,
          "headline": "feat(strategies/circle-v2): smart_param_repair — routed param-error r…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:40:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5d6febbd6f3382013550987af3024d85a10b4d20",
          "body": "…acing\n\nIndustry-default serialize_and_backoff loses 24% of transfers under\nsustained load (Bench 2.1: 20-concurrent × 5 trials on Arc Testnet,\n24 of 100 transfers permanently lost when retries hit the same rate\nlimit in parallel).\n\nchunk_concurrent paces requests under Circle's per-wallet concurren\n[…]\n300ms vs\n4760ms in the bench), in exchange for 100% reliability vs 76%.\n\nStandalone module — does NOT integrate with PCEC engine in this PR.\nGene Map multi-strategy support is PR #4 (post-grant work).",
          "is_bot": false,
          "headline": "feat(strategies/circle-v2): chunk_concurrent — proactive rate-limit p…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T06:40:30Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9a25f4812d305709841bb3940b201afec8641c6d",
          "body": "feat: Circle experimental capsules — decimals & stale_quote",
          "is_bot": false,
          "headline": "Merge pull request #5 from usehelix/feat/circle-experimental-capsules",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T03:10:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "864587dfeb13fdc4e44d4394ed69436db282a6f2",
          "body": "late_discover (reorder to think → discover → pay) is valid only when\nthe think step does not consume the quote. Bench Exp D used a\ncontrolled think-as-sleep design that satisfied this constraint.\n\nReal-world agents typically have think that consumes the quote\n(e.g., 'is $X worth it?'). For those, op\n[…]\nand post-quote price-check\n  (b) request longer quote TTL\n  (c) refresh quote between think and pay\n\nUpdated stale_quote seed-gene params and Scenario 5 console output\nto document all repair patterns.",
          "is_bot": false,
          "headline": "docs(circle): clarify stale_quote repair options",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:40:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "982c88cf6b9a14397004d47115adda5565313cfb",
          "body": "feat: Circle experimental capsules — decimals & stale_quote (2 of 2)",
          "is_bot": false,
          "headline": "Merge pull request #4 from usehelix/feat/circle-experimental-capsules",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:24:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b53b1c6c230ffa0d7c38f731903868d12903630d",
          "body": "Scenario 4 — Decimals override (Exp A reproduction):\n  Naive agent uses API's wrong decimals=18 for Arc USDC (real value 6)\n  Sends inflated amount → insufficient funds\n  Helix perceive heuristic catches the amount/balance > 10^9 ratio\n  Override strategy uses ground-truth table for native asset\n  R\n[…]\n\n  observe strategy records the failure but does NOT auto-fix\n  Console surfaces reorder recommendation backed by 932-tx bench data\n  Agent's preflight is responsible for applying the workflow reorder",
          "is_bot": false,
          "headline": "examples: scenarios 4 and 5 reproduce Exp A and Exp D",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:00:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "90cc5e6b66eeac0b2dd0ca28b34ef76a8ef30989",
          "body": "Tier 1 (caller-emit, explicit context):\n  decimals-metadata-mismatch: when context provides expected_decimals\n    and api_reported_decimals\n  stale_quote: when context.stale_quote=true OR response.data.code='STALE_QUOTE'\n    OR /stale.*quote|quote.*expired/i message match\n\nTier 2 (heuristic for decimals):\n  If requested_amount / available_balance > 10^9, suspect a decimals\n  bug rather than a true insufficient funds error.\n  (10^12 ratio is the 18-vs-6 case; 10^9 catches it comfortably)",
          "is_bot": false,
          "headline": "feat(circle/perceive): two-tier detection for new capsules",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:00:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b209e39f64280e370b65a5fbea7a74ccb832caf5",
          "body": "decimals-metadata-mismatch + override_api_decimals:\n  q=0.95 from Exp A on Arc Testnet\n  Real tx: 0x113addf13baa75d60cd402360d2ecb67512c31b4214750f56ace81c749781d07\n\nstale_quote + observe:\n  q=0.96 from Exp D on Arc Testnet\n  48/50 success across 932 confirmed transfers (96% E2E vs 0% bare)\n  Advisory pattern — Helix records, caller preflights with reorder",
          "is_bot": false,
          "headline": "feat(seed): 2 experimentally-validated capsules from April 2026",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:00:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edebc1ab32593d396421fd44646966c076171b8a",
          "body": "Three priorities for resolving correct decimals:\n  1. on-chain ERC-20.decimals() if context.publicClient + tokenAddress\n  2. ground-truth table for native USDC (arc-testnet, base-sepolia, etc.)\n  3. caller-supplied via context.expected_decimals\n\nStrategy returns _helix_actual_decimals + _helix_repair_source so\nparameterModifier knows how to apply the correction.",
          "is_bot": false,
          "headline": "feat(provider): override_api_decimals with 3-priority resolution",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:00:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5582de1283e0d489d5ae26ee532a0c00ef415f3c",
          "body": "stale_quote uses 'observe' (existing pass-through strategy, no whitelist\nneeded — advisory pattern records the failure for caller's preflight).",
          "is_bot": false,
          "headline": "feat(llm): whitelist override_api_decimals strategy",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T02:00:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bad496db665310edd8c4656adb7990139bc32e1",
          "body": "ErrorCode union:\n  decimals-metadata-mismatch  (Exp A April 2026, Arc Testnet)\n  stale_quote                  (Exp D April 2026, x402 facilitator)\n\nFailureCategory union:\n  infrastructure  (token metadata bugs, native vs ERC-20 confusion)\n\nFailureClassification.chain (optional string):\n  identifies the blockchain context for chain-specific bugs\n  e.g. 'arc-testnet', 'base-sepolia', 'avalanche-fuji'",
          "is_bot": false,
          "headline": "feat(types): add chain field, 2 ErrorCodes, 1 FailureCategory",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T01:59:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fcd3c3ef69cdf0f1defde8b94587371217fe9d14",
          "body": "feat: Circle Developer Wallets integration (foundation PR, 1 of 4)",
          "is_bot": false,
          "headline": "Merge pull request #3 from usehelix/feat/circle-integration",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:21:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "74abc777f984636968b8779144251342b14836f8",
          "body": "perceive-trace.ts: verify which platform adapter claims a given error\nprobe-error-shapes.ts: dump raw Circle SDK error shapes for analysis\n\nUsed during PR development to diagnose the dual-SDK-shape and\nadapter-chain ordering issues. Kept as permanent debug harnesses.",
          "is_bot": false,
          "headline": "scripts: diagnostic harnesses for Circle adapter",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68ae84c89013b48819c65a956f28d4fff837b2d1",
          "body": "Three Circle Wallets API failure scenarios + Helix repair:\n1. Rate limit (10 concurrent → IMMUNE → serialize_and_backoff)\n2. Param invalid (idempotencyKey trigger → IMMUNE → hold_and_notify)\n3. Insufficient funds (over-draft → IMMUNE → reduce_request)\n\nRuns against Circle Sandbox + Arc Testnet, generates real Arc tx hashes\nverifiable on testnet.arcscan.app.",
          "is_bot": false,
          "headline": "examples: end-to-end Circle Sandbox demo (3 scenarios)",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9411b0b233e9bbf10871d7228de5f36ed9398ed8",
          "body": "- perceive.ts: dual-SDK error shape support (v7 raw AxiosError +\n  v10 wrapped), numeric Circle code routing via response.data.code,\n  apiLayer gating to prevent over-claiming on plain noise\n- strategies.ts: 15 construct() branches covering 4 telemetry-validated\n  codes plus 11 Circle Web SDK numeric codes\n- Reordered defaultAdapters with circle first (most-specific URL\n  fingerprint precedes Privy's generic /429/ regex)",
          "is_bot": false,
          "headline": "feat(circle): Circle platform adapter",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ded19a8f7378a94aaba397c9af71efd92ff55606",
          "body": "Q-values derived from Helix experiments (Apr 2026, Arc Testnet):\n- wallets-api-rate-limit + serialize_and_backoff (q=0.95, Exp B)\n- gateway-rate-limit + burst_then_pace (q=0.70)\n- gateway-nonce-used + rotate_authorization (q=0.92)\n- cctp-attestation-pending + wait_attestation (q=0.98)\n- circle-param-invalid + hold_and_notify (q=0.85)\n\napiLayer set explicitly to ensure correct Gene Map lookup matching\npost v14 migration.",
          "is_bot": false,
          "headline": "feat(seed): add 5 telemetry-validated Circle capsules",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e63f277f30ac174b083ea91c8ec691337a20a5e",
          "body": "- serialize_and_backoff: Wallets API concurrency lock recovery\n- burst_then_pace: Gateway throughput window pacing\n- rotate_authorization: EIP-3009 nonce regeneration\n- wait_attestation: CCTP iris-api polling",
          "is_bot": false,
          "headline": "feat(provider): implement 4 Circle-specific repair strategies",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "53bff6c1b3f82ef8d9f3ebf5b4f49268296d32d4",
          "body": "serialize_and_backoff, burst_then_pace,\nrotate_authorization, wait_attestation",
          "is_bot": false,
          "headline": "feat(llm): whitelist 4 Circle repair strategies",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "243d196f6635a0fdc9024253af7fe5ae23acbf04",
          "body": "Maps to Circle's published Web SDK ErrorCode enum and\nDeveloper-Controlled Wallets numeric error codes:\n- code:1-11 (auth, service, retry, customer state)\n- code:155104, 155203, 155258, 155264 (session, balance, policy)\n- cctp-attestation-pending (for CCTP integration)",
          "is_bot": false,
          "headline": "feat(types): add 12 Circle ErrorCode union entries",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-26T00:09:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aebc7662c3a920098fb582139e9dbc3bac9e8598",
          "body": "- ErrorCategory enum + HelixError class with remediation\n- Factories for 20+ common errors (auth, network, GitHub, Claude, business)\n- wrapGitHubCall + wrapClaudeCall convert raw errors to HelixError\n- withRetry for transient errors with exponential backoff\n- displayError formats user-facing output,\n[…]\n→ save diff, don't push, give recovery command\n- engine.ts: PR create fails → keep branch, give manual gh command\n- --skip-tests flag with warning in PR body\n\n20 new tests, all existing tests passing.",
          "is_bot": false,
          "headline": "feat(errors): HelixError system with graceful degradation",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T18:54:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6cc8fb31accd47403a7a463b93dec7f26c6c3e06",
          "body": "- buildWebhookApp now accepts WebhookDeps interface\n- Production entry point: buildProductionWebhookApp()\n- Tests construct mock deps directly, no more _setXImplForTesting\n- Pattern reusable for GitHub App + Linear webhook handlers\n\nNo behavior change. All 9 webhook tests still pass.",
          "is_bot": false,
          "headline": "refactor(jira): replace test seams with explicit dependency injection",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T18:27:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "356264f0decd6d3b46c662d96023c0e9ad787009",
          "body": "- New IssueRef type unifies GitHub / Jira / Linear\n- executeplan accepts IssueRef instead of GHIssue\n- Capsule metadata records issue_source + issue_id (migration #18)\n- Removes number=-1 hack from Jira path\n- Branch naming, PR title, close-line all source-aware\n\nPrepares for GitHub App + Linear webhook (no more per-source hacks)",
          "is_bot": false,
          "headline": "refactor(execution): abstract IssueRef for multi-source support",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T18:25:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b3c02b6581bafaf931ae2cf69e053faddd551c49",
          "body": null,
          "is_bot": false,
          "headline": "fix(planner): strip markdown fence from Claude JSON output",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T17:50:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d037b2ecc5d320f50d019b3c4161cf6ee02b3cac",
          "body": "- migration #17: jira_webhooks + jira_credentials tables\n- JiraClient (axios) with ADF-format addComment\n- buildWebhookApp + processWebhook: secret check → label gate → triage → run\n- vial jira connect / webhook start / sync commands\n- AES-256-GCM encryption for stored API tokens\n- ADF → plain text adapter for description bodies\n- programmatic.ts: triageProgrammatic + runProgrammatic for non-interactive callers\n- triage --source jira mode\n\nTested: 32 cli + 570 root passing (20 new Jira tests)",
          "is_bot": false,
          "headline": "feat(jira): webhook listener + end-to-end pipeline",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T17:49:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "359e6e354a85785fab60bbf61798b960b943d140",
          "body": "- evaluateHintUsage(): keyword overlap, zero LLM cost\n  used(≥30% overlap)=+15%, ignored(<30%)=+5%, n/a=+10%\n- detectAndCorrectMisclassification(): haiku-driven, async\n  wrong capsule: q-0.08 / correct capsule: create at q=0.50\n- hint_used_count + hint_ignored_count columns (migration #16)\n- vial gene: hint:xx% column\n- Tested: 12/12 cli unit tests pass; live reclassification demo pending\n- 570/570 root tests passing",
          "is_bot": false,
          "headline": "feat(pcec): hint usage scoring + reverse classification",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T06:16:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "51769a104700e9866426d002a07724eaebc98fd3",
          "body": "- perceive.ts: 15 bug types, keyword fast-path + LLM fallback\n- construct.ts: Gene Map lookup, capsule hint injection\n- commit.ts: q-value upsert after every run (success/failure)\n- gene command: list capsules with q_value + usage stats\n- migration #15: gene_capsules_coding table\n- ~/.helix/gene-map.db bootstrapped on vial init",
          "is_bot": false,
          "headline": "feat(pcec): Gene Map learning loop",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T05:28:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f6b65948681364b79c0b41f146be793709f8e36",
          "body": "- Claude-driven execution plan with 30s interactive approval\n- Finds files, applies fix, runs tests, opens PR\n- Validated: 90% similarity to human fix on calcom/cal.diy#29233\n- 87s wall clock, ~$0.10 per run",
          "is_bot": false,
          "headline": "feat(cli): vial run — issue → plan → fix → PR",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T05:26:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a13ad4b465d3aef0090c069812e148bb6cc23ae6",
          "body": "- vial init: GitHub OAuth + repo config\n- vial triage: 5-condition scoring, auto-comment on needs_info\n- Tested on calcom/cal.diy (1,098 issues, correct 3-way classification)",
          "is_bot": false,
          "headline": "feat(cli): vial triage — actionability scoring on GitHub Issues",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-20T05:25:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a345c32f175d6bd2b9ce6d9160d265cd173dd5b2",
          "body": "20 JSON result files removed from tracking. Files stay on local disk\n(directory still useful for ongoing experiment runs). Future writes\nto experiment-results/ are ignored.\n\nHistory still contains the JSONs — this only hides them from HEAD.",
          "is_bot": false,
          "headline": "chore: untrack experiment-results/ from git",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T17:52:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2c07612c243aa98550b31c8738ce15d83b40259c",
          "body": "…apsules\n\nExp A2 found serialize_and_backoff (correct for Wallets API) makes\nGateway WORSE due to different throttle mechanisms:\n  Wallets API: concurrency lock -> serialize works\n  Gateway:     throughput window -> burst_then_pace works\n\nChanges:\n  packages/gene-map: schema v7, api_layer column + U\n[…]\nes, updateReasoning, recordFailureAnalysis, combine().\n\nNOTE: Three parallel Gene Map implementations exist. This change\napplied to gene-map + core. vial-core is vestigial. Cleanup tracked\nseparately.",
          "is_bot": false,
          "headline": "feat: Gene Map api_layer field — distinguish Wallets API vs Gateway c…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T16:46:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "62fab4be5ffd7dd595668e1daaed95596218c921",
          "body": "Arc burn → session boundary crash → Base Sepolia mint via Helix\n\nBurn TX (Arc):  0x415bd6d007997a0295d70396d5cad07637e2dcf04569055cdb33dbd7c2ce90d7\nMint TX (Base): 0x2e648be4aac5573cd11d74b2e9df2cd083591ba868f2ae8eeb48b628b47deff8\n\nAttestation latency: 0.2s (CCTP V2 Fast Transfer)\nCrash duration:   \n[…]\nint\n  Gene Map holds burn_tx + message_bytes across session boundary\n  Agent restart: auto-detect pending state → poll attestation → mint\n  Without Helix: 0.1 USDC stuck permanently (no recovery path)",
          "is_bot": false,
          "headline": "feat: CCTP Exp E — partial success recovery, end-to-end",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T15:45:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a6829f7189d8708ca32868b8dd49f56f10bf7309",
          "body": "Clean A/B: both arms make real payment, only logging behavior differs.\n\nBare:  Payment-Signature: eyJ4NDAyVmVyc2lvbiI6Mi... (full 7-day token in log)\nHelix: Payment-Signature: [REDACTED-BY-HELIX] (safe)\n\nRisk prevented:\n  Datadog/Splunk/CloudWatch: captures replay token -> redacted\n  Stack traces wi\n[…]\ne\n  Strategy: install_fetch_redaction_wrapper\n  Headers: Payment-Signature, X-Payment-Authorization, X-Payment-Token\n\nAlso: commit exp-d-validity-window.ts patched decoder (payload.authorization path)",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp D2 — Helix redacts Payment-Signature from logs",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T00:57:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ede159ab20bd8ef213c71a939c29ff07643cf973",
          "body": "Clean A/B: both arms call client.pay() with replayed nonce.\n\nBare:  'Payment failed: Payment settlement failed' (opaque)\nHelix: same SDK error + intercepted reason = 'nonce_already_used'\n\nHelix installs fetch interceptor before client.pay():\n  Snoop raw HTTP body before SDK swallows it\n  Save reason\n[…]\nponses\n  Zero impact on success path\n\nResult: bare retries forever; Helix classifies -> DO NOT retry\n\nGene Capsule: gateway-sdk-error-reason-stripping\n  Strategy: install_fetch_interceptor (~10 lines)",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp C2 — Helix recovers SDK-stripped error reason",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T00:55:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "acc706506a07e55144cea5e5c2b36be50dc9ba9e",
          "body": "Key finding: Wallets API strategy (serialize) is wrong for Gateway.\nGateway has sliding-window throughput throttle, not concurrency lock.\n\n4 runs:\n  Run 1 (naive serialize):       bare 98%, helix 62%  (-36pp)\n  Run 2 (calibrated serialize):  bare 100%, helix 97% (-3pp)\n  Run 3 (burst_then_pace N=30)\n[…]\n80s+) would approach 100%.\n\nGene Capsule fix needed:\n  circle-api-rate-limit -> split into:\n  wallets-api-rate-limit (serialize_and_backoff)\n  gateway-rate-limit (burst_then_pace, batch=10, pause=20s)",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp A2 — Gateway rate limit, 4-run arc",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-19T00:46:29Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "97cc85786734a62a9c6d75e2cade919ebdd70974",
          "body": "Finding 1: Gateway idempotency works correctly\n  Replayed EIP-3009 signature rejected with HTTP 402\n  reason: nonce_already_used (machine-readable at wire level)\n  No double-spend risk on the Gateway protocol itself.\n\nFinding 2: SDK strips error reasons (more important)\n  Raw facilitator API: {reaso\n[…]\neason-stripping\n  Strategy: intercept underlying facilitator response directly\n  OR use BatchFacilitatorClient instead of high-level pay()\n  OR infer from latency + context (Exp B finding) as fallback",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp C — idempotency + SDK error stripping",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T23:43:54Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "aa82baf4aee2ed0c9d6d52835de8464cc90cc67b",
          "body": "Original hypothesis: balance exhaustion produces distinct error.\nActual finding: Gateway throttled at ~30 sequential calls in ~10s.\nBalance was NOT exhausted (would need ~60min slow-drain).\n\nKey finding (stronger than expected):\n  ALL Gateway failure modes return identical string:\n  'Payment failed:\n[…]\nl error)\n\nGene Capsule: gateway-error-classification-via-latency-and-context\n  Agent must use latency profile + spend tracking to disambiguate\n  rather than relying on error code (which doesn't exist)",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp B — sustained rate limit + opaque errors",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T23:36:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6801fcaee0e9c14dcefedfe3223f121c23184dd1",
          "body": "Gateway concurrency vs Wallets API:\n  Wallets API: fails at N≥5 (code:5, no Retry-After)\n  Gateway:     N=20→100%, N=50→96%, N=100→0%\n  ~10× higher concurrency tolerance\n\nTwo Gateway failure modes:\n  N=50 (290ms avg): settlement race condition\n  N=100 (148ms avg): upstream burst gate rejection\n\nKey \n[…]\ntinguish rate-limit vs settlement bug vs balance issue.\nGene Capsule: gateway-opaque-error-classification\n\nSeller fix: facilitatorUrl required for 402 flow\nDeps: @x402/core + @x402/evm peer deps added",
          "is_bot": false,
          "headline": "feat: Nanopayments Exp A — Gateway rate limit ceiling",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T23:29:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a3c6e238cfc231f0b1dcadacf5eee572ccb612c5",
          "body": "SDK: @circle-fin/x402-batching@3.0.4\nBuyer:  0x4cD6945227E67d7FE5291D477a429fC40e023440 ($3 wallet + $2 Gateway)\nSeller: 0x1B79fE420a211f55F88B46Ad58390572C1473A33\n\nERC-20 USDC on Arc: 0x3600...0000, decimals()=6 (confirms Exp A)\nGateway deposit tx: 0x3e628a2d...\n\nScripts:\n  setup.ts          — depo\n[…]\ncurrent nanopayments\n  exp-b-balance-exhaustion.ts — drain until 3 consecutive failures\n  exp-c-idempotency.ts      — replay EIP-3009 signature\n  exp-d-validity-window.ts  — analyze validBefore window",
          "is_bot": false,
          "headline": "feat: Group 1 Nanopayments experiment setup",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T23:15:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "14ec7b29085fad39a17a1d6170df4a5de47861d5",
          "body": "All numbers from real experiment JSON files.\nRegistry queries are live. No fake animations.\nRate limit scene reads Exp B JSON instead of calling API.",
          "is_bot": false,
          "headline": "refactor: circle-live-demo v2 — honest live data only",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T22:30:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a993ee52a28c89ad0854281728ff20732d6bb87",
          "body": "N=50 workflows × 10 hops, fail_rate=0.01 (production-level noise)\n  Bare:  82.0% (41/50) — matches 0.99^20=81.8% theoretical\n  Helix: 100.0% (50/50)\n  Delta: +18pp\n\nHelix p99 better than bare (31.6s vs 47.7s) — retries prevent\nlate-workflow failures that waste all prior hops.\n115 extra attempts for 50 workflows = clean cost.\n\nBoth runs confirm: compounding failure is real and measurable.",
          "is_bot": false,
          "headline": "data: Experiment D fail_rate=0.01 run — 82%→100% (+18pp)",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T22:22:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fb2dcc767544ebf70e047bcb0c946ee7888373ac",
          "body": "circle-client.ts: shared SDK init for all circle-bench scripts\ncircle-live-demo.ts: 5-scene terminal demo for Circle meeting\n  Scene 1: 5/5 LLMs trapped by Arc decimals bug\n  Scene 2: Helix repair live (failed tx → fix → success tx)\n  Scene 3: Rate limit A/B (10 concurrent, 60%→100%)\n  Scene 4: Gene Registry inheritance (537ms, Agent B)\n  Scene 5: Summary (all numbers + tx hashes)",
          "is_bot": false,
          "headline": "feat: Circle live demo script + shared client helper",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T22:01:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "49f1e7cbe994e695e6091f021a29763926a14724",
          "body": "N=50 workflows × 10 hops, fail_rate=0.05\n  Bare:  36.0% (18/50) — matches 0.95^20=35.8% theoretical\n  Helix: 96.0% (48/50)\n  Delta: +60pp\n\nHelix caught 100% of seller_timeout failures (30/30).\nOnly 2 circle_other errors untouched (non-retryable, out of scope).\nMath: 2 seller calls per hop → 0.95^20=35.8% (not 0.95^10=59.9%)\n\nworkers/mock-seller: Cloudflare Worker with configurable fail_rate",
          "is_bot": false,
          "headline": "feat: Experiment D — 10-hop agent commerce A/B, +60pp",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T21:52:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c3559adf52392cbe1472d8fe01deab6cc6eeac86",
          "body": "Agent B (fresh, empty local Gene Map) queries Gene Registry\nfor decimals-metadata-mismatch capsule seeded by Agent A.\nRegistry hit in 537ms. Agent B succeeds first attempt.\n\nAgent A: failed first (5×10^18), diagnosis, 2 tx attempts, ~3200ms\nAgent B: registry query 537ms, correct decimals, 1 tx, 3172\n[…]\n agents, 1445 repairs\n4 Arc-specific capsules seeded:\n  decimals-metadata-mismatch (q=0.95)\n  circle-api-rate-limit (q=0.75)\n  gateway-idempotency-missing (q=0.75)\n  x402-long-validity-window (q=0.75)",
          "is_bot": false,
          "headline": "feat: Experiment C — Gene Registry cross-agent inheritance",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T20:20:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1b3a23a2c5bebea895abdf70fc4300edd78d3e9f",
          "body": null,
          "is_bot": false,
          "headline": "chore: add tx hash polling utility (reusable for future experiments)",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T20:06:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8404a079990b6725bfb2b529a7b32433dd2447c4",
          "body": "- N=10 concurrent txs on Arc Testnet\n- Without Helix: 50-60% success (code:5 rate limit, no Retry-After)\n- With Helix: 100% — serialize_and_backoff strategy\n- 1 backoff retry caught and recovered (tx index 9, 500ms)\n- Helix p50 faster (186ms vs 389ms); honest p99 tradeoff (804ms)\n\nFinding: ~5 concurrent tx cap, token-bucket behavior (not fixed int).\nSerialization alone handles most cases; backoff covers edge.",
          "is_bot": false,
          "headline": "feat: Experiment B — Circle rate limit A/B, +40pp improvement",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T19:57:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7baf2c217beba430b31f8992690742bd1aa81e5",
          "body": "- 5/5 frontier LLMs produce wrong atomic-unit amounts\n  when given Circle's actual Arc API response (decimals=18)\n- 0/5 identified that USDC actual decimals = 6\n- Helix PCEC detects revert, calls on-chain decimals(),\n  retries with correct value — success in 0.52s\n- Gene Map seeded with 4 Arc-specif\n[…]\n75, seeded)\n  x402-long-validity-window (q=0.75, seeded)\n- Live tx: 0x113addf1...781d07 on Arc Testnet (arcscan.app)\n\nModels: Claude Opus 4.6, Sonnet 4.6, GPT-5.4,\n        GPT-4o-mini, GPT-5.5 Instant",
          "is_bot": false,
          "headline": "feat: Experiment A — Arc USDC decimals bug, 5/5 LLMs trapped",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-18T19:44:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "22ef9f7480ce5ce4323c826234f907620e6b81c3",
          "body": "SQLite WAL/SHM sidecars should never have been tracked. Removing\nfrom the index (files stay on disk locally, just no longer in git):\n\n  helix-genes.db-shm                   (root, 32 KB)\n  helix-genes.db-wal                   (root, 0 bytes)\n  packages/core/helix-genes.db-shm     (32 KB)\n  packages/\n[…]\nhm, *.db-wal, *.sqlite,\n*.sqlite3 alongside the existing *.db pattern so the matching\n.db files keep being ignored AND the sidecars stay ignored from\nnow on.\n\nRepo hygiene only — no functional change.",
          "is_bot": false,
          "headline": "chore(repo): untrack transient SQLite sidecar files",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-17T23:26:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "700b16bd54b1011941c6b30876e78e39fd8cb3a6",
          "body": "Adds a second experiment to scripts/circle-bench/: do agents on a chain\ninherit the accumulated failure experience of every agent that ran\nbefore them? Two-arm test: a shared Gene Map across N=50 agents vs a\nfresh isolated Gene Map per agent. 1 agent = 1 ten-hop workflow.\n\nHeadline (N=50 each arm, f\n[…]\nepth for wallet-info.json,\n    recovery_file_*, *.db / *.db-shm / *.db-wal / *.sqlite.\n\nThe deck and partner-facing materials are NOT in this commit and\nwill be drafted separately after Circle review.",
          "is_bot": false,
          "headline": "feat(bench): cross-agent knowledge transfer — N=50 shared vs isolated",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-17T23:25:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2fa3506d1981d17a74a01a2119bd6fe7d052d953",
          "body": "…infra-failure excl\n\nPhase 5 packaging round on top of the N=50×4 results. No new experiments.\n\nCorrections (vs prior commit eee54fe):\n- README's claim \"the 2 helix stale_quotes are cold-start\" was wrong.\n  Each helix arm has exactly 1 cold-start (W1, Gene Map empty) AND\n  1 pay-tail-latency failure\n[…]\nogy, scope limitations\n- summary.cjs: ECONNRESET → infrastructure bucket, excl-infra E2E\n- .gitignore: .venv/\n\nThe deck (Part D) and the cross-agent transfer experiment continue\nin subsequent commits.",
          "is_bot": false,
          "headline": "docs(bench): Phase 5 — charts, corrected stale-quote classification, …",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-17T07:37:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "39b0ed60574003c65ac2ebfbd5cb98475fed59de",
          "body": "Clarified the comparison of Helix workflows and their value delivery versus waste.",
          "is_bot": false,
          "headline": "Update README with Helix workflow value comparison",
          "author_name": "Nicholas",
          "author_login": "nicholasvandy",
          "committed_at": "2026-05-17T05:41:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eee54fe77f5aa14888530ae9867bfd75b9540d1f",
          "body": "CEO-facing README for Scenario #1:\n- What was run (bare vs helix, N=50 × 4 arms)\n- Results table + deltas (+96pp at fail=0, +52pp at fail=0.05)\n- \"Known scope limitations\" section flagging mock x402 seller, the\n  authorization-TTL-timing vs x402 Issue #1062 facilitator-timeout\n  distinction, the 8s \n[…]\nsetup → create-wallet → seller deploy\n  → smoke → single arm → 4-arm overnight queue)\n- Pointers to the 4 N=50 manifests committed in runs/\n\nNo experimental claims added beyond what the data supports.",
          "is_bot": false,
          "headline": "docs(bench): scripts/circle-bench/README.md — honest scope writeup",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-16T20:54:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4813e1c79e98970511214fb0e4e4fecc906e98e6",
          "body": "…ence\n\n@vial-agent/core wrap() gains an optional `preflight(args)` hook that runs\nbefore fn() on every attempt and may return modifiedArgs. This is the first\npre-execution surface in the wrap — prior PCEC machinery only engaged after\na thrown error. Enables agents to consult the Gene Map and reshape\n[…]\n x402 Cloudflare Worker\n  scripts/circle-bench/runs/                         per-workflow JSONs + manifests\n  scripts/circle-bench/output/overnight-summary.txt  is gitignored; see runs/manifest-*.json",
          "is_bot": false,
          "headline": "feat(bench): Circle × Helix scenario 1 — preflight hook + N=50×4 evid…",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-16T20:50:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ce331a8b79e1177c650fa15f9d15ed393ecdaecf",
          "body": "helix-agent/core now bridges to the Registry that shipped this morning:\n- PCEC commit success → fire-and-forget POST /v1/capsules\n- Local Gene Map miss → 200ms blocking query, hit becomes synthetic\n  RepairCandidate with source='registry'\n- Tight timeout + silent fallback: Registry down ⇒ behaves as\n[…]\nM is\navailable — same-Mac dual-DB is sufficient proof of the reuse logic.\n\nTests: 557 → 570 (+13 unit tests for registry-bridge), all green.\nZero regression.\n\nReports: reports/dogfood-dual-run-may8.md",
          "is_bot": false,
          "headline": "feat(core): consume Gene Registry Cloud — cross-DB experience reuse",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-09T02:16:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "af2c9dc254fe92c8091c787d2386afe9c863fbd7",
          "body": "Borrowed from Hermes Self-Evolution / GEPA paper (ICLR 2026 Oral).\n\nConstruct's LLM fallback now includes the last 3 same-error-code traces\nfrom repair_audit (LEFT JOIN failed_repairs for ✗ context) instead of\njust the bare error code + 200-char message. The LLM sees attempted\nstrategies, outcomes (\n[…]\nt local widen).\n\nTests: 553 → 557 (+3 unit + 1 e2e), all green (61 files).\nmax_tokens: 200 → 300 when traces present (existing 200 when not).\n\nHardcoded model IDs left as-is — separate cleanup commit.",
          "is_bot": false,
          "headline": "feat(construct): trace-aware LLM fallback prompt",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-09T00:26:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5e7d0c0b5f627d3e52cf8fed8034f6a03caf1ac7",
          "body": "Worker (helix-telemetry) gains 3 D1-backed endpoints alongside the existing\nKV telemetry endpoints:\n\n- GET  /v1/capsules?code=&category=&platform=  → highest-q_value capsule, public\n- POST /v1/capsules                            → upsert from local Gene Map,\n                                         \n[…]\n key / wrong key) → POST 200 → GET 200 →\nseed 27/27 → stats reports 27 capsules → cleanup → final 27.\n\nNot publishing @vial-agent/gene-map yet — dogfooding the registry for ~1\nweek before npm release.",
          "is_bot": false,
          "headline": "feat(registry): Gene Registry Cloud MVP — D1-backed shared capsule store",
          "author_name": "Haimo Bai",
          "author_login": "adrianhihi",
          "committed_at": "2026-05-08T21:58:37Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "49c448a818494e9ef3e1225aa81f192426f637fb",
          "body": "Domain-agnostic Gene Map package extracted from @helix-agent/core.\nSame SQLite schema (v6), same Q-value RL, same adaptive alpha +\nThompson sampling. No helix-specific deps — uses plain strings\ninstead of union types.\n\nAPI: GeneMap(dbPath), upsertGene(), findBest(), updateQValue(),\ngetAll(), seed(),\n[…]\n audit, gene links.\n\nHelix core keeps its enhanced GeneMap (seeds, predictions, context\nsimilarity) and adds @vial-agent/gene-map as a workspace dep.\n\n7 standalone tests + all 553 helix tests passing.",
          "is_bot": false,
          "headline": "feat: @vial-agent/gene-map — standalone procedural memory substrate",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T08:09:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "677c80c48b746ca3315488c620c6956d9ef16aec",
          "body": null,
          "is_bot": false,
          "headline": "docs: roadmap — restore Phase 1 detail items, remove duplicate",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T07:55:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20d0e2f4e7ab55cf27b73ae83b9c34313b95b9b2",
          "body": null,
          "is_bot": false,
          "headline": "docs: rewrite roadmap around procedural memory narrative (4 phases)",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T07:53:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2524e815c4588d8b6e39e2360c7b88b64cd8b068",
          "body": null,
          "is_bot": false,
          "headline": "docs: add agentfolded + n8n node to roadmap, update Budget Intelligence",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T07:34:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "892d7c3131ae58c459d8c0453f89e4f0c411a376",
          "body": "- Tests: 526+ → 553+ across 59 files\n- Add Benchmarks section with Base mainnet A/B test + LLM eval results\n- Move Federated Learning to uncompleted in roadmap\n- Add experiments/README.md with eval harness index",
          "is_bot": false,
          "headline": "docs: update README stats, add benchmarks section, experiments README",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T07:30:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8860e23edb867739fb46ff34558be8ce0754b7ff",
          "body": null,
          "is_bot": false,
          "headline": "chore: gitignore .env.save, .wrangler/, kv-keys.json",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T06:19:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "938efce94138a5972695870b0cb97fb257340b64",
          "body": "- Experiment A: gas cost of LLM misclassification (static analysis)\n- Experiment B: CoT vs bare prompt (Claude Opus 90% → 100%)\n- Experiment C: multi-step failure chain compounding\n- Add openai package for GPT-5.4 experiment\n- x402-v2 concurrency test script",
          "is_bot": false,
          "headline": "feat: experiments A/B/C scripts + results, openai dep, concurrency test",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-14T06:18:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "126694a54bf20ca01a72ba64b92e0adec968fdd6",
          "body": "Previously best_strategy was overwritten on every event and just\nreflected \"the last strategy written\", not the actually best one.\nNow each genemap:* entry tracks per-strategy {total, success} buckets,\nand best_strategy is recomputed every write as the highest success_rate\namong strategies with ≥3 s\n[…]\nession tracking, and the total>3 cold-start threshold all untouched.\n\nVerified live on helix-telemetry against the existing auth_401 entry\n(legacy 50/40 → upgraded → 51/41, confidence 0.80 preserved).",
          "is_bot": false,
          "headline": "fix(worker): per-strategy tracking in genemap KV schema",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-10T02:55:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ada1029395b8227148a086c94183a7a7ad1cb6a2",
          "body": "Reads any agent log file, finds every failed transaction, classifies\neach via PCEC pattern matching, and reports what's repairable. Includes\nrealistic 76-line sample log with 12 failures across 5 error classes.\n\nRun modes:\n  npx tsx demo/scan.ts                  scan + report\n  npx tsx demo/scan.ts --apply          also simulate repairs\n  npx tsx demo/scan.ts <path/to/log>    scan a different file",
          "is_bot": false,
          "headline": "feat: agent log scanner — diagnostic mode",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-09T22:33:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "786e08fde1e8836f19dcaa3bdf837f568f5df16c",
          "body": "A 'show how it works' demo for live presentations. Runs the same\nUniswap swap function twice — without Helix it fails on bare\n'execution reverted'; with helix.wrap() PCEC walks through all 6\nstages (perceive→construct→evaluate→commit→verify→gene), mutates\namountOutMinimum, and the swap succeeds. No animations, no ASCII art,\njust clean narrated stdout. Run: npx tsx demo/live.ts",
          "is_bot": false,
          "headline": "feat: live demo — side-by-side naive vs helix.wrap()",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-09T22:30:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea7dfbff1b2cc7ab94d348a0233c25dbbeb0fe3e",
          "body": "Single-file TypeScript demo with no extra deps. Walks through:\nproblem → Exp 7 benchmark → Exp B CoT → Exp C compounding →\nExp 8 on-chain proof → PCEC stages → final stats. Uses true-color\nANSI, animated bars, typing effects, box drawing.\n\nModes:\n  npx tsx demo/showcase.ts          interactive (ENTER to advance)\n  npx tsx demo/showcase.ts --auto   auto-advance every 3s\n  npx tsx demo/showcase.ts --fast   no delays (testing)",
          "is_bot": false,
          "headline": "feat: terminal showcase demo for live presentations",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-09T22:09:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "317fab839282bb658e9411dd58d55d42f98b1b76",
          "body": "On-chain Uniswap V3 proof on Base mainnet. GPT-5.4 (OpenAI flagship)\nclassifies bare \"execution reverted\" as \"other\" with 0.18 confidence —\nno actionable fix. PCEC pattern-matches slippage_too_tight, lowers\namountOutMinimum → swap succeeds. 0/3 vs 3/3, 6 tx hashes on BaseScan.",
          "is_bot": false,
          "headline": "feat: Experiment 8v2 — GPT-5.4 vs PCEC on bare \"execution reverted\"",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-09T00:22:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cfb2a328b5c0c421773213dcb13226fe1f160bf5",
          "body": "First fully on-chain experiment proving LLM misclassification cost.\nE08 \"replacement transaction underpriced\": GPT-4o-mini classifies as\ninsufficient_gas → increases gas → still fails (nonce is stale).\nPCEC classifies as nonce_conflict → refreshes nonce → succeeds.\n3 rounds, 3 PCEC tx hashes verifiable on BaseScan.",
          "is_bot": false,
          "headline": "feat: Experiment 8 — on-chain wrong fix vs correct fix (0/3 vs 3/3)",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-09T00:03:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b89a64899d53efd7c9e4f7fe49c2ff353b7a3cc1",
          "body": "| Model | Correct | Accuracy |\n| GPT-4o-mini | 5/10 | 50% |\n| GPT-4o | 8/10 | 80% |\n| Claude Opus 4.6 | 9/10 | 90% |\n| GPT-5.4 | 9/10 | 90% |\n| GPT-5.4-mini | 9/10 | 90% |\n| PCEC (Helix) | 18/18 | 100% |\n\nAll models fail on bare 'execution reverted' (E03).\nGPT-4o also fails STF (E05). GPT-4o-mini fails all opaque codes.\nFixed max_completion_tokens for GPT-5.x models.",
          "is_bot": false,
          "headline": "data: Experiment 7 full results — 6 models tested",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T23:00:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9a486fbe466b90346cda20a324ec73c0ee425f41",
          "body": "| Model | Correct | Accuracy |\n| GPT-4o-mini | 5/10 | 50% |\n| GPT-4o | 8/10 | 80% |\n| Claude Opus 4.6 | 9/10 | 90% |\n| PCEC (Helix) | 18/18 | 100% |\n\nGPT-4o-mini classified STF, SPL, LOK, bare revert all as 'other'.",
          "is_bot": false,
          "headline": "data: GPT-4o-mini scores 50% — all opaque codes misclassified",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T22:56:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7cd06f650d85a199baed7c4454045a0d2d6c3ad4",
          "body": "Added OpenAI client support to llm_classifier.py.\nGPT-4o: 8/10 (80%) — missed bare revert + STF (thought it was slippage).\nClaude Opus 4.6: 9/10 (90%) — missed bare revert only.\nPCEC: 18/18 (100%).",
          "is_bot": false,
          "headline": "feat: Experiment 7 supports OpenAI + GPT-4o results (80%)",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T22:49:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "533e1719c12a7c308ad31d0a4abdb3a96ec79f9d",
          "body": "9/10 correct. Only miss: bare 'execution reverted' (no message) classified as 'other' instead of slippage_too_tight.\nOpaque codes (STF, SPL, LOK) all correctly identified.",
          "is_bot": false,
          "headline": "data: Experiment 7 results — Claude Opus 4.6 scores 90% vs PCEC 100%",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T22:26:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "56eb5eb2fbb51c9240f56c03094dd2bbd816f796",
          "body": "10 real EVM revert messages from Base mainnet experiments 2-6.\nIncludes opaque Uniswap codes: SPL, STF, LOK.\nCompares LLM natural classification vs PCEC accuracy (18/18).\n\nRun: ANTHROPIC_API_KEY=sk-... python3 experiments/exp7-llm-vs-pcec/llm_classifier.py claude-opus-4-6",
          "is_bot": false,
          "headline": "feat: Experiment 7 — LLM vs PCEC error classification benchmark",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T22:22:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c7db04a71345641a891d0e2468d6a7d4695d702",
          "body": "Added GET /v1/event?ec=&p=&ok=&src= — no JSON, no escaping.\nSKILL.md v0.6.3: all curl commands use simple GET URLs.\nTelemetry flows reliably from exec() calls.",
          "is_bot": false,
          "headline": "fix: GET endpoint for /v1/event + SKILL.md v0.6.3",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T09:00:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d9c435a2f0d8a5365f04b9df4a96c867b161ad7",
          "body": "…mpound",
          "is_bot": false,
          "headline": "fix: split exec commands — two simple calls instead of one complex co…",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T08:49:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5fc5fb10cdb36aa6ba41c9c0da96889aa980ba1",
          "body": "Each protocol now sends anonymous event to Gene Map automatically.\nFormat: {e, ec, p, ok, src} — no PII, no user content.\nNon-blocking (background &), 2s timeout, silent (-sf).",
          "is_bot": false,
          "headline": "feat: SKILL.md v0.6.1 — default telemetry on every protocol",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T08:37:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0553d8e8b29ddb9122a5bf6d5bfb53b4273750f9",
          "body": "SKILL.md v0.6: 8 protocols total\n  Protocol 8: Agent Role Guard — orchestrator drift detection\n  Gene Map lookup for role_drift, behavioral_7a, behavioral_7b\n\nHook v0.3: after_tool_call role enforcement (Protocol 8)\n  Injection via openclaw agent --message (zero external API)\n\nGene Map: 3 new baselines (role_drift, behavioral_7a, behavioral_7b)",
          "is_bot": false,
          "headline": "feat: Vial v0.6 — Protocol 8 + hook v0.3 + Gene Map baselines",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T08:23:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb3e60a6a238c949833649adcd48e3618c5cdadb",
          "body": "Protocol 7 — Behavioral Failure Detection:\n  7a: Silent Abandonment (said will do, didn't execute)\n  7b: Wrong Completion (sessions_spawn verification)\n  7c: Instruction Drift (did Y instead of X)\n\nHook v0.2 — after_tool_call + agent:turn:complete:\n  Injection via: openclaw agent --message (existing\n[…]\nng OpenClaw tools\n  Loop detection: textOnlyTurns >= 2 → inject interrupt\n  Auth/rate/timeout: detect from tool result → inject protocol\n\nNative loop detection: scripts/clawdi/enable-loop-detection.sh",
          "is_bot": false,
          "headline": "feat: Protocol 7 + Tier 2 hook v0.2 — zero Clawdi dependency",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T08:02:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7b422cf719511211ebd56f37386177abd36af52f",
          "body": null,
          "is_bot": false,
          "headline": "fix: SKILL.md v0.4 — explicit error code table for Gene Map queries",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T06:55:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc57f5062dc58d54b3878f7f0aac5f3776f9b542",
          "body": "Gene Map API:\n  GET /v1/repair?ec=&platform= → {strategy, confidence, based_on, source}\n  Baseline: 14 static strategies with initial confidence\n  Data-driven: aggregates from /v1/event telemetry (after 10+ samples)\n\nSKILL.md: queries Gene Map before applying protocols.\n/v1/event now aggregates into genemap: KV keys for lookup.\n\nThis is the moat: protocols are copyable, accumulated data is not.",
          "is_bot": false,
          "headline": "feat: Gene Map /v1/repair API + SKILL.md queries Gene Map",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T06:27:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c19be7491be588d88ca999849779b72dda537dda",
          "body": "Changes:\n- MANDATORY → RECOMMENDED (removes aggressive language)\n- Declared telemetry endpoint + data sent in metadata\n- Added privacy note (no PII, no credentials transmitted)\n- Scoped re-auth: uses OpenClaw connector flows only\n- exec log commands marked optional with || true fallback\n- Added 'always ask before destructive actions' to Protocol 2\n- Clarified re-auth does not access/store/transmit credentials",
          "is_bot": false,
          "headline": "fix: SKILL.md v0.3 — address ClawHub security scan concerns",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T06:10:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30a7bc07836ed12c0aa7832e263d750321d8bf55",
          "body": "…ility\n\n- metadata now single-line JSON (required by AgentSkills parser)\n- Added user-invocable: true (exposes /vial slash command)\n- Added homepage field",
          "is_bot": false,
          "headline": "fix: SKILL.md frontmatter — single-line metadata for ClawHub compatib…",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T05:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e84cd0e42a2787098232cefd916073f0b82ef9e",
          "body": null,
          "is_bot": false,
          "headline": "fix: add openclaw.extensions to hook package.json",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T05:25:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92bae9b2d4e06d07d975e0a6327a77ba8b419465",
          "body": "integrations/openclaw-hook/:\n  HOOK.md: metadata, events (agent:bootstrap, command:new/reset)\n  handler.ts: loop detection, error interception, telemetry\n  package.json: @vial-agent/openclaw-hook\n\nTier 2: hook runs at gateway level — agent cannot ignore.\nLoop detection injects interrupt after 2+ text-only turns.\nTool errors classified and sent to Vial telemetry.\n\nInstall: openclaw plugins install @vial-agent/openclaw-hook",
          "is_bot": false,
          "headline": "feat: Vial OpenClaw hook — gateway layer self-healing",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T05:20:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce8805d6bcbe16dec5de54af118bb791c5624e71",
          "body": "Major changes:\n1. Added proper YAML frontmatter (ClawHub compatible)\n2. MANDATORY before/after hooks — proactive not reactive\n3. Session start check — agent reports repair history\n4. Cleaner protocol format with immediate action steps\n5. Clawdi agent-specific notes (CEO/Crypto/Stock)",
          "is_bot": false,
          "headline": "improve: SKILL.md v0.2 — active protocols + AgentSkills frontmatter",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T05:04:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cccbfe4bdb86064b6e4a8eda45a2c76329cda180",
          "body": null,
          "is_bot": false,
          "headline": "test: Vial SKILL.md auth repair before/after validation script",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T04:38:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ea64943adddcc2be48a568cfeab38763070154d",
          "body": null,
          "is_bot": false,
          "headline": "fix: relax telemetry validation — only e and ec required, ra/ok optional",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T04:23:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "586dac17b3ff669ffa0b19bd645ae935e378c7aa",
          "body": "Each protocol now sends anonymous repair events to Vial telemetry:\n  POST https://helix-telemetry.haimobai-adrian.workers.dev/v1/event\n  Payload: {e, ec, p, ok, src} — no PII, no user content\n\nAlso writes to /tmp/vial.log for local debugging.",
          "is_bot": false,
          "headline": "feat: add telemetry to SKILL.md — repair events feed Gene Map",
          "author_name": "Haimo Bai",
          "author_login": "hbaidoordash",
          "committed_at": "2026-04-08T04:02:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 5,
      "commits_last_year": 326,
      "latest_release_at": "2026-04-03T17:30:55Z",
      "latest_release_tag": "v2.7.0",
      "releases_from_tags": false,
      "days_since_last_push": 42,
      "active_weeks_last_year": 10,
      "days_since_latest_release": 108,
      "mean_days_between_releases": 2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "helix-agent-sdk",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "helix",
            "ai-agents",
            "self-healing",
            "payments",
            "web3",
            "Development Status :: 4 - Beta",
            "Intended Audience :: Developers",
            "License :: OSI Approved :: MIT License",
            "Programming Language :: Python :: 3",
            "Topic :: Software Development :: Libraries"
          ],
          "ecosystem": "pypi",
          "matches_repo": false,
          "registry_url": "https://pypi.org/project/helix-agent-sdk/",
          "is_deprecated": false,
          "latest_version": "0.2.0",
          "repository_url": "https://github.com/adrianhihi/helix",
          "versions_count": 6,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 56,
          "first_published_at": "2026-03-25T19:41:29.228159Z",
          "latest_published_at": "2026-03-26T06:34:39.631893Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 117
        },
        {
          "name": "@helix-agent/core",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "helix",
            "vialos",
            "ai-agent",
            "self-healing",
            "payment",
            "pcec",
            "gene-map",
            "agent-reliability",
            "mpp",
            "coinbase",
            "crypto",
            "budget-intelligence",
            "agent-payment"
          ],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/@helix-agent/core",
          "is_deprecated": false,
          "latest_version": "2.8.1",
          "repository_url": "https://github.com/adrianhihi/helix",
          "versions_count": 35,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 201,
          "first_published_at": "2026-03-21T06:54:06.652000Z",
          "latest_published_at": "2026-05-28T20:18:55.505000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 53
        },
        {
          "name": "@vial-agent/gene-map",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vial-agent/gene-map",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 29,
          "first_published_at": "2026-04-14T08:14:43.181000Z",
          "latest_published_at": "2026-04-14T08:14:43.409000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 98
        },
        {
          "name": "@vial-agent/core",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "self-healing",
            "autonomous-agents",
            "error-repair",
            "reinforcement-learning",
            "pcec",
            "gene-map"
          ],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/@vial-agent/core",
          "is_deprecated": false,
          "latest_version": "0.2.0",
          "repository_url": "https://github.com/adrianhihi/vial",
          "versions_count": 2,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 46,
          "first_published_at": "2026-03-29T05:31:23.761000Z",
          "latest_published_at": "2026-03-29T06:38:11.998000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 114
        },
        {
          "name": "@vial-agent/adapter-api",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "self-healing",
            "api",
            "http",
            "retry",
            "error-recovery",
            "vial"
          ],
          "ecosystem": "npm",
          "matches_repo": null,
          "registry_url": "https://www.npmjs.com/package/@vial-agent/adapter-api",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": null,
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 14,
          "first_published_at": "2026-03-29T06:38:19.612000Z",
          "latest_published_at": "2026-03-29T06:38:19.838000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 114
        }
      ]
    },
    "popularity": {
      "forks": 3,
      "stars": 821,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-06-01",
            "count": 1
          },
          {
            "date": "2026-07-07",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 3,
        "total_forks": 3
      },
      "star_history": {
        "days": [
          {
            "date": "2026-03-26",
            "count": 5
          },
          {
            "date": "2026-03-27",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 3
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-01",
            "count": 24
          },
          {
            "date": "2026-04-02",
            "count": 34
          },
          {
            "date": "2026-04-03",
            "count": 9
          },
          {
            "date": "2026-04-04",
            "count": 28
          },
          {
            "date": "2026-04-05",
            "count": 21
          },
          {
            "date": "2026-04-06",
            "count": 23
          },
          {
            "date": "2026-04-07",
            "count": 20
          },
          {
            "date": "2026-04-08",
            "count": 15
          },
          {
            "date": "2026-04-09",
            "count": 20
          },
          {
            "date": "2026-04-10",
            "count": 26
          },
          {
            "date": "2026-04-11",
            "count": 18
          },
          {
            "date": "2026-04-12",
            "count": 18
          },
          {
            "date": "2026-04-13",
            "count": 26
          },
          {
            "date": "2026-04-14",
            "count": 18
          },
          {
            "date": "2026-04-15",
            "count": 21
          },
          {
            "date": "2026-04-16",
            "count": 13
          },
          {
            "date": "2026-04-18",
            "count": 3
          },
          {
            "date": "2026-04-24",
            "count": 1
          },
          {
            "date": "2026-05-08",
            "count": 2
          },
          {
            "date": "2026-05-09",
            "count": 15
          },
          {
            "date": "2026-05-10",
            "count": 9
          },
          {
            "date": "2026-05-11",
            "count": 23
          },
          {
            "date": "2026-05-12",
            "count": 18
          },
          {
            "date": "2026-05-13",
            "count": 15
          },
          {
            "date": "2026-05-14",
            "count": 20
          },
          {
            "date": "2026-05-15",
            "count": 15
          },
          {
            "date": "2026-05-16",
            "count": 17
          },
          {
            "date": "2026-05-17",
            "count": 25
          },
          {
            "date": "2026-05-18",
            "count": 22
          },
          {
            "date": "2026-05-19",
            "count": 22
          },
          {
            "date": "2026-05-20",
            "count": 19
          },
          {
            "date": "2026-05-21",
            "count": 12
          },
          {
            "date": "2026-05-22",
            "count": 16
          },
          {
            "date": "2026-05-23",
            "count": 20
          },
          {
            "date": "2026-05-24",
            "count": 20
          },
          {
            "date": "2026-05-25",
            "count": 19
          },
          {
            "date": "2026-05-26",
            "count": 24
          },
          {
            "date": "2026-05-27",
            "count": 17
          },
          {
            "date": "2026-05-28",
            "count": 15
          },
          {
            "date": "2026-05-29",
            "count": 14
          },
          {
            "date": "2026-05-30",
            "count": 16
          },
          {
            "date": "2026-05-31",
            "count": 22
          },
          {
            "date": "2026-06-01",
            "count": 18
          },
          {
            "date": "2026-06-02",
            "count": 14
          },
          {
            "date": "2026-06-03",
            "count": 15
          },
          {
            "date": "2026-06-04",
            "count": 3
          },
          {
            "date": "2026-06-05",
            "count": 1
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-23",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-07-03",
            "count": 1
          },
          {
            "date": "2026-07-05",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 821,
        "total_stars": 821
      },
      "open_issues_and_prs": 4
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "demos",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/adapter-api/tsconfig.json",
        "packages/api/tsconfig.json",
        "packages/cli/tsconfig.json",
        "packages/core/tsconfig.json",
        "packages/gene-map/tsconfig.json",
        "packages/mcp/tsconfig.json",
        "packages/vial-core/tsconfig.json",
        "python/helix_agent/py.typed",
        "scripts/circle-bench/seller/tsconfig.json",
        "scripts/circle-bench/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 44797,
      "source_files_sampled": 360,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "dashboard/package.json",
        "package.json",
        "python/pyproject.toml"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 5,
        "assessed_package": "pypi:helix-agent-sdk@0.2.0",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm",
        "pypi"
      ],
      "dependencies": [
        {
          "name": "@helix-agent/core",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "express",
          "manifest": "dashboard/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.18.0"
        },
        {
          "name": "@circle-fin/x402-batching",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.0.4"
        },
        {
          "name": "@coinbase/cdp-sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.46.1"
        },
        {
          "name": "@coinbase/coinbase-sdk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.25.0"
        },
        {
          "name": "@privy-io/node",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.11.0"
        },
        {
          "name": "@x402/core",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.12.0"
        },
        {
          "name": "@x402/evm",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.12.0"
        },
        {
          "name": "requests",
          "manifest": "python/pyproject.toml",
          "ecosystem": "pypi",
          "version_constraint": ">=2.28.0"
        },
        {
          "name": "@helix-agent/core",
          "manifest": "packages/api/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "express",
          "manifest": "packages/api/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.18.0"
        },
        {
          "name": "@anthropic-ai/sdk",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.24.3"
        },
        {
          "name": "@octokit/rest",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^20.1.0"
        },
        {
          "name": "axios",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.7.0"
        },
        {
          "name": "better-sqlite3",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.0"
        },
        {
          "name": "chalk",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.1.2"
        },
        {
          "name": "commander",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.1.0"
        },
        {
          "name": "express",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.18.0"
        },
        {
          "name": "ora",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.4.1"
        },
        {
          "name": "conf",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.2.0"
        },
        {
          "name": "@vial-agent/gene-map",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "@vial-agent/runtime",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.1.0"
        },
        {
          "name": "better-sqlite3",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.0"
        },
        {
          "name": "viem",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.47.5"
        },
        {
          "name": "zod",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.3.6"
        },
        {
          "name": "better-sqlite3",
          "manifest": "packages/gene-map/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.0"
        },
        {
          "name": "@helix-agent/core",
          "manifest": "packages/mcp/package.json",
          "ecosystem": "npm",
          "version_constraint": "*"
        },
        {
          "name": "@modelcontextprotocol/sdk",
          "manifest": "packages/mcp/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.0"
        },
        {
          "name": "better-sqlite3",
          "manifest": "packages/vial-core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^11.0.0"
        },
        {
          "name": "@circle-fin/developer-controlled-wallets",
          "manifest": "scripts/circle-bench/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.0.0"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 7,
        "open_issues": 4,
        "closed_ratio": 0,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "hbaidoordash",
          "commits": 248,
          "avatar_url": "https://avatars.githubusercontent.com/u/89813563?v=4"
        },
        {
          "type": "User",
          "login": "adrianhihi",
          "commits": 75,
          "avatar_url": "https://avatars.githubusercontent.com/u/6823112?v=4"
        },
        {
          "type": "User",
          "login": "nicholasvandy",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/55884527?v=4"
        },
        {
          "type": "User",
          "login": "meichuanyi",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/35057768?v=4"
        }
      ],
      "contributors_sampled": 4,
      "top_contributor_share": 0.761
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "docker.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 0,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "7 out of 7 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": 1,
            "reason": "Found 1/8 approved changesets -- score normalized to 1",
            "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": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 3 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": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 2,
            "reason": "dependency not pinned by hash detected -- score normalized to 2",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "87 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "ead5271ff65a521a18c139b1a80ca4d907812114",
        "ran_at": "2026-07-21T15:49:06Z",
        "aggregate_score": 3.1,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/usehelix/helix",
    "host": "github.com",
    "name": "helix",
    "owner": "usehelix"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 58,
      "inputs": {
        "security": 45,
        "vitality": 68,
        "community": 51,
        "governance": 43,
        "engineering": 81
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 68,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 53,
            "inputs": {
              "commits_last_year": 326,
              "human_commit_share": 1,
              "days_since_last_push": 42,
              "active_weeks_last_year": 10
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 42 days ago",
                "points": 18,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 42
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "10/52 weeks with commits",
                "points": 6.9,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 10
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "326 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 326
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 90,
            "inputs": {
              "releases_count": 5,
              "latest_release_tag": "v2.7.0",
              "releases_from_tags": false,
              "days_since_latest_release": 108,
              "mean_days_between_releases": 2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "5 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 108 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 108
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 51,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "forks": 3,
              "stars": 821,
              "watchers": 0,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "821 stars",
                "points": 47.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 821
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "3 forks",
                "points": 2.5,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "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": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (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": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "critical",
            "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": 27,
            "inputs": {
              "packages": [
                "@vial-agent/gene-map",
                "@vial-agent/adapter-api"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 43
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "43 downloads/month across npm",
                "points": 21.9,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 43,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 43,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 23,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 4,
              "top_contributor_share": 0.761
            },
            "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 76% of commits",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 76
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "4 contributors",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "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": "at_risk",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "merged_prs": 7,
              "open_issues": 4,
              "closed_issues": 0,
              "issue_closed_ratio": 0,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "0% of issues closed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 0
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "7/7 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 7,
                      "decided": 7
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/8 approved changesets -- score normalized to 1",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 39,
            "inputs": {
              "followers": 2,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "usehelix",
              "public_repos": 4,
              "account_age_days": 58
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "2 followers of usehelix",
                "points": 3.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2,
                      "login": "usehelix"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "4 public repos, account ~0 yr old",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 4
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "packages": [
                "@vial-agent/gene-map",
                "@vial-agent/adapter-api"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 98
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "2 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 2,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 98 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 98
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "1 published versions",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 81,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "7 out of 7 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "ai-agents",
                "blockchain",
                "coinbase",
                "payments",
                "privy",
                "privy-developer-tools",
                "self-healing",
                "self-healing-ai",
                "tempo",
                "docker-image",
                "python-app",
                "agent",
                "agentic-ai",
                "ai",
                "llms",
                "multi-agent-systems",
                "self-evolving",
                "agentic-ai-self-evolving"
              ],
              "has_wiki": true,
              "homepage": "https://tryhelix.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://tryhelix.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": "18 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 18
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 45,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 31,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 3.1
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "7 out of 7 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/8 approved changesets -- score normalized to 1",
                "points": 0.8,
                "status": "partial",
                "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 not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 3 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 detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 2",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "87 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:helix-agent-sdk@0.2.0 runtime dependency closure — what installing the published package pulls in — 5 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "pypi:helix-agent-sdk@0.2.0",
                  "assessed": 5
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 5,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 5,
              "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": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 4
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 55,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 47,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "packages/adapter-api/tsconfig.json",
                "packages/api/tsconfig.json",
                "packages/cli/tsconfig.json",
                "packages/core/tsconfig.json",
                "packages/gene-map/tsconfig.json",
                "packages/mcp/tsconfig.json",
                "packages/vial-core/tsconfig.json",
                "python/helix_agent/py.typed",
                "scripts/circle-bench/seller/tsconfig.json",
                "scripts/circle-bench/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "packages/adapter-api/tsconfig.json, packages/api/tsconfig.json, packages/cli/tsconfig.json, packages/core/tsconfig.json, packages/gene-map/tsconfig.json, packages/mcp/tsconfig.json, packages/vial-core/tsconfig.json, python/helix_agent/py.typed, scripts/circle-bench/seller/tsconfig.json, scripts/circle-bench/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/adapter-api/tsconfig.json, packages/api/tsconfig.json, packages/cli/tsconfig.json, packages/core/tsconfig.json, packages/gene-map/tsconfig.json, packages/mcp/tsconfig.json, packages/vial-core/tsconfig.json, python/helix_agent/py.typed, scripts/circle-bench/seller/tsconfig.json, scripts/circle-bench/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "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 2",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 44797,
              "source_files_sampled": 360,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/360 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 360,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "moderate",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 60,
            "inputs": {
              "example_dirs": [
                "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": "demos, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "demos, examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "pypi package 'helix-agent-sdk' points at a different repository (https://github.com/adrianhihi/helix); excluded from ecosystem scoring",
    "Could not fetch npm package '@helix-agent/api' from its registry",
    "Could not fetch npm package '@vial-agent/cli' from its registry",
    "Could not fetch npm package '@helix-agent/mcp' from its registry",
    "npm package '@helix-agent/core' points at a different repository (https://github.com/adrianhihi/helix); excluded from ecosystem scoring",
    "npm package '@vial-agent/core' points at a different repository (https://github.com/adrianhihi/vial); excluded from ecosystem scoring",
    "Could not fetch npm package '@vial-agent/openclaw-hook' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T15:49:24.918633Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/u/usehelix/helix.svg",
  "full_name": "usehelix/helix",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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