Informe JSON sin procesar legible por máquina
{
"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"
}