JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"a2a",
"ai-agents",
"ai-safety",
"leaderboard",
"mcp",
"open-source",
"ossf-scorecard",
"provenance",
"security",
"supply-chain",
"trust"
],
"is_fork": false,
"size_kb": 133209,
"has_wiki": false,
"homepage": "https://hvtracker.net",
"languages": {
"CSS": 20242,
"HTML": 17607326,
"Jinja": 290814,
"Shell": 8094,
"Python": 900188,
"Dockerfile": 3793,
"JavaScript": 41587
},
"pushed_at": "2026-07-26T08:12:23Z",
"created_at": "2026-05-23T01:26:41Z",
"owner_type": "User",
"updated_at": "2026-07-23T17:06:51Z",
"description": "AI Agent Trust Registry — independent, evidence-based trust scores for 300+ open-source AI agents. Runtime-trust calibrated (MCP, dependencies, provenance drift), with side-by-side comparison and embeddable live badges. Ranked by verifiable signals, not hype.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "HTML",
"significant_languages": [
"HTML"
]
},
"owner": {
"blog": null,
"name": "Yugant M. Hadiyal",
"type": "User",
"login": "YugantM",
"company": "Fraunhofer IOF",
"location": "Jena",
"followers": 45,
"avatar_url": "https://avatars.githubusercontent.com/u/27622259?v=4",
"created_at": "2017-04-16T11:35:11Z",
"is_verified": null,
"public_repos": 69,
"account_age_days": 3387
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2026-07-01T18:29:58Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2026-06-03T22:44:42Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2026-05-31T18:19:21Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-05-26T13:18:25Z"
}
],
"recent_commits": [
{
"oid": "dd0e4bf8ea94b5c9276861ce9b077442ce2232c5",
"body": "… items (#200)",
"is_bot": false,
"headline": "AGENTS.md: record 2026-07-23 #198/#199 UI deploy + close orphan/About…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-23T17:06:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cd051db670960ca85f81936d384c2676cc24875",
"body": "…ks, a11y tables (#199)\n\n- Skip-to-main link + aria-current page indicator in shared site header\n- Blog snapshot/quarterly posts get full site chrome (header, footer, GA guard)\n- GA localhost guard + analytics.js on all remaining guard-less pages\n- Branded correct/submit pages replacing unstyled for\n[…]\ne pairs (distinct from evidence grade)\n- Empty states on movers gains/drops; org GitHub links use slug not display name\n- Watch/compare toggles 26px with expanded ::after hit area (mobile tap targets)",
"is_bot": false,
"headline": "UI/UX batch 2: skip link, aria-current nav, blog chrome, internal lin…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-23T16:53:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4c9d3a2b9db5ce66ca0401cd7cbee4930b6ee0fb",
"body": "- category pages: grade letters visible again (color-on-color override removed)\n- leaderboard: fix Last Push sort (parseFloat truncated ISO dates to year)\n- agent hero grid: auto-fit columns (5th cell no longer orphaned)\n- methodology/roadmap/blog-comparison: remove stale pre-v4 copy and score denom\n[…]\n; Submit Agent unified to /submit/\n- filter empty-state row with clear button; clear-tracked confirmation; cat-view medal suppression\n- app.py header: add missing Trends/Capabilities/Corrections links",
"is_bot": false,
"headline": "UI/UX fix batch: P0 bugs, a11y, contrast tokens, retention (#198)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-23T16:51:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ad761a322fb81cca4a20c95b820ce42da5c527dc",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-19 #193 deploy + live verification (#194)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-19T14:14:25Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6cf4db72997e20827036ebf40654b6ffde3e2276",
"body": "…lash hygiene (#193)\n\n* Stop GSC crawl waste: login next-nesting, compare-fallback noindex, slash hygiene\n\nThe 2026-07-18 GSC coverage drilldowns (1,307 URLs across 5 buckets) traced\nto two self-inflicted infinite URL spaces plus trailing-slash inconsistency:\n\n- auth.js re-wrapped the current URL's \n[…]\nthropic.com>\n\n* CLAUDE.md: record the 2026-07-18 GSC crawl-waste fixes (#193)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Stop GSC crawl waste: login next-nesting, compare-fallback noindex, s…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-18T19:40:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7427e0d004ce3ef9ecd7d6df713e56838440a0e9",
"body": "…dent (#192)\n\nGSC's 'Blocked by robots.txt' (33) and 'Server error (5xx)' (32) buckets\nare entirely /auth/github/login?next=... junk URLs with recursive next=\nparams; /track/ click redirects inflate the redirect bucket. Block both\ndeliberately. CLAUDE.md records the 2026-07-18 Cloudflare AI Crawl Control\nincident (managed robots injection + edge 403s, both owner-disabled and\nverified) and the restarted GSC validations.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "robots.txt: disallow /auth/ and /track/; log Cloudflare AI-block inci…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-18T18:53:16Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "658b7c3f0781f06c8c862e4a8cba4e736b53e13d",
"body": "…sure (#191)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-16 provider-detection deploy + #186 clo…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-17T04:08:53Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ed9d31034a2d4016f42b38a4b71ed9ed1cda5574",
"body": "…try, scoped-marker fix (#190)\n\nOwner-requested full-coverage pass before deploying the #186 fix.\n\n- _manifest_has_dep_marker: markers with @ or / (scoped npm packages)\n could never match — the tokenizer splits on both — so \"@google/genai\"\n was dead; they now substring-match. A leading \"=\" require\n[…]\nade flips, 11 agents move >10 ranks (max 23), bystanders\nshift ≤7. Every spot-checked addition traces to a named dependency in a\nnamed manifest.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Expand provider detection: 12 new rules, router labels, harness symme…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-16T20:48:30Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ba03b0afc9fcfc58f144d7fec03f7e836146932d",
"body": "…) (#189)\n\nClaude Code-native agents run inside the harness and never import the\nanthropic SDK, so the post-#98 dep/env-marker detector could never see\nthem — AIPass's 2026-07-04 \"Provider Removed: Anthropic\" event was our\nown #98 deploy, not a change in their repo (11 agents lost Anthropic\nthat day\n[…]\nts gain Anthropic (aipass 82.0→81.5,\nrank 50→51), max rank move +7, one boundary grade flip (context7\n65.0→64.5 B→C), bystanders shift ≤2 ranks.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Detect Claude Code harness wiring as Anthropic runtime evidence (#186…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-16T20:27:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eb61890517e53b3f28cf64e16a0fea7caa4aac06",
"body": "…(#188)\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the Grok Build listing + OG denominator fix deploy …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-15T22:31:22Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8ba19ed844e32345a1ae909b3b083c23af03ad8d",
"body": "…nator (#187)\n\n- agents.json: Grok Build under Coding Agents (catalog 440 -> 441).\n First-party xAI coding agent (Rust TUI, Apache-2.0) — own agent\n runtime, NOT the denylisted supervisory-harness class from #180.\n- scorecard-cache.json: image-seed of the fresh OSSF scan (3.4/10);\n same entry alr\n[…]\ns) at the call site.\n\nLocal full-pipeline verification: 45.9/100, Grade D, rank #217/372,\ncoverage grade B, OG card renders 'Rank #217 of 372'.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster: list Grok Build (xai-org/grok-build); fix OG-card rank denomi…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-15T22:21:09Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0480e7261889b3bfcb86274ee47824af3acf84fe",
"body": "Maintainer listing request (issue #77, cacheplane/dawnai) — the agent was\nalready listed (prior roster batch) but without a package field. Adds the\nnpm_package the maintainer supplied; verified it points back at the repo\n(registry.repository = git+https://github.com/cacheplane/dawnai.git) and\nreturn\n[…]\ne\nthe live /agents/dawnai/ slug (slugify(name)); no rank/scoring policy change.\n\nGates green: pytest, --render-only, validate_html; ruff clean.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "DawnAI: attach verified npm package @dawn-ai/cli (#181)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-15T08:00:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7c99ef97cc502e85c9474ff6b50fdc7c7047ee68",
"body": "Fresh discovery sweep (790 repos, 615 novel, 565 past automated pre-checks)\ntriaged against docs/strict-inclusion-rubric.md down to 46 listings.\nCatalog 394 -> 440 (417 active + 23 legacy).\n\n 16 MCP Servers · 12 Protocols & Tool Integration · 5 Sandboxes & Runtimes\n 3 Agent Frameworks · 3 Coding\n[…]\nue scans them first (full coverage <=24h).\n\nGates green: pytest, --render-only (board_invariant_violations: []), and\nvalidate_html; ruff clean.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster: list 46 agents/MCP servers; denylist the harness class (#180)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-14T23:16:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "709f0954f20dc836643ade52c1d509fac4841d65",
"body": "…179)\n\nA maintainer (apify/apify-mcp-server#1086) read \"Transparency — License and\npublic checks\" at 12.2 and asked why an open-source repo loses transparency\npoints. The pillar is half OSSF Scorecard, but we published that nowhere: the\nmethodology listed the pillar weights, never the split inside a\n[…]\n exactly on the published max\n for all five pillars, and they must sum to 100.\n\nNo scoring change — trust_score, rank and grade are untouched.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Show what each HVTrust pillar is made of; fix compare identity max (#…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-14T16:06:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1808dfb9b2133cd1464a72e1513f6c092ed77c56",
"body": "…(#178)\n\nExpands the hosted /mcp surface 4 -> 8 tools, all free and backed by\nexisting cheap in-memory/registry paths (no new data source, no GitHub\nopen-lookup, no always-on process):\n\n- scan_stack: bulk pre-connect verdict for a whole requirements.txt /\n package.json / mcp config (reuses the /api\n[…]\nlling\ncode ships (visa/legal hold). Cost-safety: all new tools ride the existing\n60/min/IP limiter + MCP_ENABLED kill switch + $6 Railway alert.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "MCP: add 4 free tools (scan_stack, leaderboard, categories, history) …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-13T18:23:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "08a0fdf25a64127837b1bec25a549bcff76a5d8c",
"body": "The Tier-1 misses from the 2026-07-13 roster review: omo, BettaFish,\nAgent Browser, GraphRAG, Crush, OpenCLI, FastMCP, Beads, Suna,\nVibe-Trading, Agent Zero, Rowboat, Memvid, SurfSense, MemOS, Magentic-UI,\nClaude Agent SDK, OpenLLMetry, Julep, Cloudflare Agents, OpenAI Agents\nSDK (JS), Potpie, Deeps\n[…]\nig\nrepos) and are deliberately left UNMARKED so CI's stalest-first scorecard\nqueue scans them first (next cron ~01:00 UTC, full coverage <=24h).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster: list 23 agents across existing categories (#177)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-13T08:36:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "044070c68e3fbfdfa73d010cb1cc1417902c5c82",
"body": "~10 rows legitimately sit at 0 commits with a recent push (default-branch-\nquiet repos, re-verified each boot by design since #160), which keeps\n_has_missing_commit_rows() true on nearly every boot. With repair-commits\nfirst in the elif chain, the pending branch was unreachable — freshly added\nagent\n[…]\ns commit counts for its\nrows anyway, and repair runs on the following boot. Regression test locks the\nmode choice (fails on the previous order).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Startup: pending-signals refresh outranks commit repair (#176)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-13T00:14:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4c7dd40320c6a7a1e5dc97d9bb7c52cc8a093a98",
"body": "- agents.json: +20 canonical MCP servers (Playwright MCP, AWS MCP Servers,\n Cloudflare/Supabase/Stripe/Notion/Grafana/Terraform/Browserbase/Firecrawl/\n Qdrant/Atlassian/Apify/Kubernetes/Sentry/Elasticsearch/Perplexity/MindsHub/\n AntV Chart/Blender), catalog 351 -> 371. npm/pypi package fields set\n[…]\n 20\n (also overlaid onto the data branch @57ef892f2, freshest-wins).\n\nAll three gates green (pytest, --render-only, validate_html); ruff clean.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster: list 20 MCP servers under new 'MCP Servers' category (#175)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-12T23:34:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "35e4c83b9f34e7d311ce003ca2dc85464a614dce",
"body": "READMEs embed badges through GitHub's camo proxy — camo caches the SVG\nand strips referrers, and SVGs can't run analytics, so GA is\nstructurally blind to badge reach (each origin fetch here represents\nmany actual README views). The owner's only current visibility is\ngrepping Railway logs.\n\nSame patt\n[…]\nd file-serving branch. healthz gains badge_fetches\n{since, total, top-20 by slug}, which also shows which adopter repos\nactually drive exposure.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Count badge SVG fetches per agent slug; expose in healthz (#174)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-12T18:52:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8f1053d3444b949d1371f7b1509c8a781ad7d62c",
"body": "…(#173)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-12 MCP load review + stdio v0.2.1 ship …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-12T18:30:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7c0c1226074f6f5baed39680d11f18d2b678ad5a",
"body": "The #169 scan_failed_at markers landed in the data-branch cache on\n2026-07-11; the first 2h batch refresh to meet one (batch 4/6,\n2026-07-12 18:00 UTC) crashed with KeyError: 'score' — the stale-cache\nfallback (elif cached: cached[\"score\"]) assumed every entry carries a\nscore, but marker-only entrie\n[…]\n marker-only entries behave exactly like an absent entry, and\nentries carrying old data + a failure marker keep serving the old\nscore as before.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Treat marker-only scorecard cache entries as misses, not hits (#172)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-12T18:29:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d81b2e0d4b9e4ff9af2b23d254bc060daaab8add",
"body": "… (#171)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-11 scorecard-scan hardening (#167-#170)…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T12:37:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "cb4e6d7b73adbf7cc3179e7d459c29c591a93c13",
"body": "… (#170)\n\nRun 29151228066 validated #169's logic (the breaker correctly skipped\npast four repo-specific timeouts on healthy quota) but the runner was\nkilled AGAIN at minute 23 — still inside the sicko stall zone, before\nthe first success — so the demotion markers died with the runner and\nthe merge j\n[…]\nnsupported.\n- Merge step exits cleanly when a killed scan uploaded no artifact\n (glob guard); the scan failure already routes to the alert job.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Scorecard scan: shrink stall kill-window, cap CLI memory, guard merge…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T12:07:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6a3121d032ed343ba827e04ec4fbf5f990cf0118",
"body": "… (#169)\n\nThe pinned shard-3 verification run (29150539525) failed on FRESH\nquota and exposed the last deadlock: four repos that never succeed\n(activepieces — OSV backend error; BrowserGym/traceroot/mlflow —\nconsistent 300s timeouts even with plentiful quota) sat permanently at\nthe front of the stal\n[…]\nr failers get\nmarkers and the shard proceeds to its ~51 healthy repos. Mock-binary\nverified: demotion ordering, marker preservation, exit floor.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Scorecard scan: demote failing repos; breaker asks the rate-limit API…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T11:35:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5ec3285d9b963cfa6ed01b7cd1eea0323603e423",
"body": "The #167 hardening improved the merge (215/328 repos got fresh scans\non 2026-07-11) but shard 3 still failed in both runs since: the CLI\nburns a few thousand API calls per ~55-repo shard, so even SERIAL\nshards drain the PAT's 5k/hr quota after about two shards — the next\nshard starts starved, stalls\n[…]\ntead of six).\nMAX_CONSECUTIVE_TIMEOUTS 5->3 — the observed kills came during the\n4th-5th consecutive stall, so bail before the reclaim exposure.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Scorecard scan: one shard per run, six quota windows a day (#168)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T11:10:33Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "19ebc310db08793ec41ed86a6dd2dbf18bfd2b50",
"body": "…(#167)\n\nThree of the last four scan runs failed. Root cause chain (from the\n2026-07-10 run logs): parallel shards share the PAT's 5k/hr quota →\nquota starvation turns each repo into a full 300s timeout → the stalls\nburn wall clock until the hosted runner is reclaimed (~40 min, exit\n143) → the shard\n[…]\nock scorecard binary: ordering, kill -9 mid-run\n(cache retains completed repos), budget stop, 5-timeout abort,\n0-success exit code. Gates green.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Scorecard scan: incremental writes, stalest-first queue, time budget …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T01:11:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0466dc250538a76b2b5c9f4cd5394bc407c0d853",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-11 retention/SEO batch (#163-#165) (#166)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T00:51:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "04dcb5c4065fdb8e4dcdeea3e5b7c5afab51d9c3",
"body": "GSC: comparison queries collect impressions but almost no clicks\n(litellm vs vllm: 142 impressions at position ~9, zero clicks) while\nevery pair shared one generic template description. The snippet now\nnames both agents with their scores and grades plus what's actually\ncompared (provenance, Scorecar\n[…]\n, downloads).\nTitles untouched (the #114 GSC-churn lesson); the page body already\ncontains these numbers, so sitemap lastmod churn is unchanged.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Compare pages: data-rich meta descriptions (#165)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T00:47:33Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eaf0516d2711e10466ca8f52df12d83d9b1f1f1d",
"body": "…p (#164)\n\nGSC: \"is <agent> safe\" is the query pattern that actually earns clicks\n(742 impressions, best CTRs), with agent pages sitting at positions\n8-10 — but the visible page never answered the question directly, and\nonly 17 of 23.7k impressions showed a review snippet.\n\n- Hero gains a .safety-ve\n[…]\n.\n- Titles and meta untouched.\n\nVerified: JSON-LD parses on rendered pages (review.rating present),\nverdict renders above the fold. Gates green.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Agent pages: above-fold \"Is X safe?\" verdict + editorial Review marku…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T00:41:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c2421705ab81252d69870f8760ee9fe4ce0cf4f7",
"body": "…163)\n\nGA (Jun 12–Jul 9): week-1 retention 1–3%, and the alerts-waitlist\npopup converted 554 views into 3 submits (377 dismissals) — it burned\ngoodwill without building a return loop. Meanwhile 64 watchlist adds\nshow real tracking intent with nothing pulling users back.\n\n- analytics.js: exit-intent \n[…]\nips render from a backdated snapshot, snapshot\nadvances after load, mobile stacks cleanly. Gates green (289 tests,\nrender, validate_html, ruff).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Homepage declutter + return-visit watch panel; remove alerts popup (#…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-11T00:33:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6705ae094a7363d0757faee92dc42c238b3acc81",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: record the 2026-07-10 platform-health pass (#157-#161) (#162)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T16:36:22Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1c7839f1e2052f3aca221832c23ee8f8ad9c6976",
"body": "…#161)\n\nOnly batch mode carried legacy_rows forward from the prior render;\npending-only and repair-commits set legacy_agents=[] and wrote a render\nwith zero legacy rows. Any startup that fired one of those modes (e.g.\nthe deploy at 2026-07-10 16:16 UTC, whose repair-commits pass left\nbuild_report le\n[…]\npair-commits run\nagainst a render_state with no legacy rows: \"restored 23 missing legacy\nrow(s)\", build_report legacy=23, retired.json 23 slugs.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Carry forward + restore legacy rows in pending/repair refresh modes (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T16:32:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "633f7cc8b09998346474a40439d66960cc3d6d96",
"body": "Rows written before the None-seed fix (#158) have weekly_commits=0 baked\nin, and the GraphQL signals prefetch can miss a repo indefinitely — the\nrepair pass only looked for None, so those zeros never healed (the 4\nagents added in #153 all show 0 commits on prod despite active repos).\n\nA push inside \n[…]\nined to keep fetch_and_build out of\nthe web process) share the same predicate. Genuinely quiet repos\n(0 commits, no recent push) stay untouched.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Repair selector: treat 0 commits + recent push as suspect (#160)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T16:13:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eec17ded00996171ffc1c1835b6488ead9f991c1",
"body": "…tion (#159)\n\nLegacy agents keep internal rows (no public pages) that feed\ndata/retired.json — the 410 responses — and stay refreshable via the\nsignals pass. But prod only runs signals/batch modes, which never\nre-fetch a legacy agent that has no row, so when the cache lost them\n(code-only transition\n[…]\necur.\n\nLocal verification: \"restored 23 missing legacy row(s)\",\nbuild_report legacy=23 failed=0 (was legacy=0 failed=23),\nretired.json 23 slugs.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Restore lost legacy rows provisionally; fix SuperAGI status contradic…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T16:03:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "642fd4d928ebdc9720e8b6191489b4f83a253316",
"body": "…e (#158)\n\nprovisional_agent_row seeded weekly_commits: 0, but 0 is a legitimate\n\"counted, none found\" value — app._has_missing_commit_rows() only treats\nNone as missing. New agents therefore looked already-counted, the startup\nrepair-commits refresh never fired for them, and they showed 0 commits\ni\n[…]\nount.\n\nTests lock the seed value and that _has_missing_commit_rows catches a\nfreshly-provisioned row (and stays quiet once a real count exists).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Seed provisional weekly_commits as None so the repair refresh can fir…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T15:51:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5a359ad32e47ec2f71c0adb713099a7d8d4bc110",
"body": "Shards were sized for ~228 repos (~57/shard, ~40min — the tested profile).\nThe roster grew to ~350, pushing shards to 82 repos; shard 4 got the\nhosted runner reclaimed mid-scan (exit 143) at repo ~52 on 3 of the last\n4 daily runs, so every repo after the kill point was never scanned —\nwhich is why n\n[…]\nng\nagents coasted on freshest-wins cached values. Six shards restores ~59\nrepos each; the merge job globs scorecard-shard-*, so no other change.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "scorecard-scan: reshard 4 -> 6 for the grown roster (#157)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T15:45:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "86321ea21bc095e25b4a2714956e9afd7e9e6b28",
"body": "The first deploy (#154) shipped the <img src=\"...?v=20260709\"> before the\nserving route existed (#155), so /threadplane-logo.png?v=20260709 returned\n404 for a window. Browsers cache 404s against the exact URL, and the\nversion string never changed — so clients that loaded the homepage in that\nwindow \n[…]\nves the\nPNG correctly (verified: 200, valid 64x64 RGBA, byte-identical to repo).\n\nBumping to ?v=20260710b forces a fresh fetch for every client.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Bump the Threadplane logo cache-buster to clear stale 404s (#156)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T10:56:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "78ad93e78758e10c86fe15e1cd729c98ad3804d6",
"body": "…w-up) (#155)\n\nThe adopter logos are served by explicit FileResponse routes reading\nBASE_DIR (the image), because the catch-all StaticFiles mount serves\nOUTPUT_DIR (the volume). Adding threadplane-logo.png to the Dockerfile\nCOPY put it in the image but not on the volume, so /threadplane-logo.png\n404\n[…]\ne missing route, plus a regression test covering all five adopter\nlogos — the same BASE_DIR-vs-OUTPUT_DIR trap that bit the trend badge\nin #143.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Serve the Threadplane logo via an explicit BASE_DIR route (#154 follo…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T10:48:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a915abb365901cbcfc3e2c4098f86c720f63df68",
"body": "Threadplane (cacheplane/angular-agent-framework) embeds the HVTrust badge\nin its README, so it joins Haystack, AIPass, Composio and LightRAG in the\nhomepage adopters strip.\n\nUses the project's own brand mark (marketing/assets/brand/plane.png),\ndownscaled to 64x64 (7.4KB, transparent). Rendered with \n[…]\nme out short).\n\nthreadplane-logo.png added to the Dockerfile COPY allow-list; without it\nthe image 404s in prod even though it resolves locally.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Featured in READMEs: add Threadplane with its brand logo (#154)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-10T10:39:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fb678ef24ff2f16386dacc6062781bf89594eb4f",
"body": "Adds the four P1 recommended agents from\ndocs/research/new-agent-candidates-2026-07-09 — all verified via GitHub API\n(canonical repo, OSS license, first-party agent loop confirmed against\nREADME) and re-checked for canonical resolution + no repo/name collision:\n\n Intelligent-Internet/ii-agent (II-\n[…]\ngrok-dev)\n\nCatalog 347->351. All four render provisional (score 0) until the next\nsignals refresh scores them; board-invariant violations empty.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster: add 4 verified agents (discovery 2026-07-09) (#153)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T18:21:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "17afe3e0db1b8dc7d6da6a2cac2da6e8ebe0c639",
"body": "…eared (#151)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: Phase 4 held (gate unmet); Dependabot #133 + flake #150 cl…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T15:53:52Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "64f19c586e7ea225c7dbd8e6cfcf31996e182f91",
"body": "…150)\n\ntest_sitemap_lastmod_stable_when_content_unchanged renders the site three\ntimes and asserts no page's sitemap <lastmod> re-stamps without a content\nchange. Renders now take minutes each (the site grew a lot through Phases\n1-3), so wall-clock time advanced between them and any page carrying a\n\n[…]\nso relative-time content is byte-identical between renders. Test-only\nchange; no production behavior touched. Verified: the file's 7 tests pass.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Freeze the clock in the sitemap-lastmod stability test (flake fix) (#…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T15:52:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3ecb98ac31d6b70f4f64da3fc06543e117eafa1f",
"body": "Bumps the minor-and-patch group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [fastapi](https://github.com/fastapi/fastapi) | `0.136.3` | `0.139.0` |\n| [uvicorn](https://github.com/Kludex/uvicorn) | `0.49.0` | `0.51.0` |\n| [boto3](https://github.com/boto/boto3) | \n[…]\nion-update:semver-patch\n dependency-group: minor-and-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Bump the minor-and-patch group across 1 directory with 8 updates (#133)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-09T15:46:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fbcd09e03ebd0c856b60158182ecc93eb522ee5d",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: Phase 3 deployed + verified live (2026-07-09) (#149)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T15:09:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "78352d1143bb35614384d3a79ec90d6631294efc",
"body": "…y pending (#148)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 3 complete (code) — #145-#147, local-only, deplo…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T10:30:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e21f295f50deeb76de2816f34763ed299484b4fc",
"body": "GET /api/v1/agents/<slug>/history returns one entry per daily snapshot\nover a hard 90-day window (_HISTORY_PUBLIC_DAYS), oldest first, restricted\nto a public-field whitelist (_HISTORY_PUBLIC_FIELDS) — rank, trust_score,\nboth grades, confidence, provenance, scorecard, signed-commits, stars,\ndownloads\n[…]\nor unknown slug; counted in machine_usage.api_v1.\nDocumented on /data-api/.\n\nTests: window cap, field whitelist, date ordering, CORS/cache, 404.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Public 90-day per-agent history API (plan 3.3) (#147)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T10:29:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "99442e8cbcecf7a7d13ce23caa0cace896f8b014",
"body": "…an 3.2) (#146)\n\nSurfaces the history dataset as product:\n- /trends/ renders 5 era-annotated SVG line charts from the daily\n snapshots (compute_ecosystem_trends + render_trend_chart_svg): roster,\n MCP implemented, grade distribution, provider dependencies, staleness.\n Score-derived series (grades\n[…]\npy (9 — series/eras, era-break, gap handling,\nfact-check figure tracing, signal-capture baselines, coverage minimum,\ncurrent-quarter exclusion).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "/trends/ ecosystem charts + quarterly State of Agent Trust report (pl…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T10:17:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5c566028da4b74c83d1c7bcec332e88fd1a2e9b7",
"body": "…) (#145)\n\nderive_agent_events now emits capability-surface drift from the snapshot\nfields locked by #89: mcp_status_changed, provider_added/provider_removed\n(surface grew/shrank, provider names listed), tool_surface_changed.\nWording says \"detected\" throughout — these track our public-evidence\ndetec\n[…]\nsurface section;\n287 agent pages render it from the local 35-day history. Events reach\nwatchers through the existing recent_events -> bell path.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Runtime-drift monitoring: capability-surface timeline (T3.5, plan 3.1…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-09T08:13:02Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4407d962204327cba8dd63b31a027df815d7f2d9",
"body": "…#144)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: trend badge live (#141+#143); Railway blip self-resolved (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T22:22:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8a56b5a23c8a2cdb61be538fe2ea285c8cbef7f5",
"body": "…w-up) (#143)\n\nThe -trend branch read BASE_DIR/badge/ — the immutable code dir — while\ngenerate_badges() writes to the render output root (OUTPUT_DIR, the prod\nvolume). Origin therefore kept 404ing after #141 deployed. The original\nregression test passed falsely because BASE_DIR falls back to the repo\nroot locally, which contained locally-rendered badges; it now asserts the\nserved bytes equal the file the render wrote under OUTPUT_DIR.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Trend badge route: read from OUTPUT_DIR, not the code dir (#141 follo…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T22:20:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "17b6e92135c81e0173d2bcd01fe9dbb20c7a9ff3",
"body": "…1 blocked by Railway CREATE_CONTAINER failures (#142)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: Phase 2 deploy state — live @71018954; trend-badge fix #14…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T21:32:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6aa7522af1112723a7e1f72c7c2a8384468a4489",
"body": "…) (#141)\n\nBadges are served dynamically by badge_by_slug, which only knew the\n-grade suffix — /badge/<slug>-trend.svg (shipped in #137 and advertised\non the badges page) 404'd in prod. Trend badges need history (the\nera-aware rank series), so they are pre-rendered by generate_badges();\nthe route no\n[…]\nthe -trend suffix, 404ing unknown\nagents or a missing file.\n\nRegression test: trend badge serves 200 image/svg with content; unknown\nagent 404s.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Serve pre-rendered trend badges from the dynamic badge route (2.3 fix…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T21:11:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cedf9e42da3c667863136d443fa8546eae47a7b8",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 2 completion (#135-#139) (#140)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:50:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1585cac6eb5d37d52a1125dafde2e93f26159541",
"body": "Every agent page now cross-links its nearest 4 same-category neighbours\nby category rank (\"Ranked neighbours in <category>\", padding from the\nother side at the edges) plus the category page — on top of the\nprovider/ecosystem, capability-matrix, org, and compare links already\nshipped. related_agents(\n[…]\nling links.\n\nThe GSC-precision half of 2.1 (196 crawled-not-indexed URLs) stays open\nuntil the owner exports URL-level data from Search Console.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Related-agents strip on agent pages (plan 2.1, structural mesh) (#139)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:50:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f1d1f42cedf1bc5cec42d3e7206108671e565cf3",
"body": "derive_agent_events gains the two events a watcher actually needs:\n- grade_changed (\"Trust grade B -> A\") — suppressed across\n METHODOLOGY_VERSION changes like trust/rank, since grade is a score band\n and cutovers flip grades wholesale;\n- drift_warning_raised / drift_warning_cleared — transitions \n[…]\nlors extended. Abandonment already existed\n(stale_warning at 90 days). Bell path verified: a watched grade flip\nyields exactly one notification.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Watchlist alerts: grade flips + drift warnings (plan 2.4) (#138)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:42:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "19a9f1affc39fce8919ee5d211e11f84210481fa",
"body": "New /badge/<slug>-trend.svg: grade + 30-day rank direction. trend_arrow()\nreads the era-aware sparkline series (trimmed at the last\nMETHODOLOGY_VERSION change), so a scoring cutover never renders as a\nmovement; +/-3-rank threshold keeps the dense board's jitter flat.\n324 x 3 badges per render; badge\n[…]\nping per\nspam freeze; aipass improved to A/81.9; lightrag improved to A/82.9.\nCandidate pool refreshed from the corrected top; no outreach sent.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Trend badge + adopter audit (plan 2.3) (#137)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:34:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3843ccdc0b4394da68b290c1c51a63226a02dc83",
"body": "…plan 2.2) (#136)\n\nCompare pairs (the site's best-ranking SEO pages) gain:\n- a coverage-grade row with the leader highlighted;\n- a \"Runtime capability surface\" section via compare_capability_rows():\n MCP server, providers, API-key requirement, plugin surface, provenance\n drift side-by-side. Leads \n[…]\nce coverage is\n thinner than the trailer's, the verdict box says so plainly.\n\nNo <title>/meta changes (GSC title-churn lesson from 2026-06-25).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Compare surface v2: capability diff, coverage grades, honest caveat (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:27:17Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "34b27d79107d7381d4c1f102e66e495f705b8830",
"body": "The correction form and DB table existed; the public process did not.\n/correct/ now leads with the full dispute policy: anything published is\ndisputable, evidence means public checkable sources, re-checks happen\nagainst the source, fixes ship on the next render, methodology-level\nerrors are disclose\n[…]\npage + all template pages), and the sitemap.\n\nNote: templates/correct.html is dead code (the route builds its own page\ninline) — left untouched.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Corrections & appeals policy on /correct/ (plan 2.5) (#135)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T16:20:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4e6df910817f1c0df322f4f07527a1c53a89d58d",
"body": "…, registry) (#134)\n\nOwner confirmed 2026-07-08: directory submissions are already DONE on\nSmithery, awesome-mcp-servers, and the official MCP registry (also\nre-verified live at 0.2.0 via the OIDC publish) — no open submission\nwork. Marketplace listing for hvtrust-gate: agreed, publish from the\nrepo\n[…]\nes UI when convenient; the action already works via\nuses: YugantM/hvtrust-gate@v1 without it. Mirror-on-bump process note\nrecorded in CLAUDE.md.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: record owner-confirmed submission status (Smithery, awesome-mcp…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T15:41:33Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e679156b15541bdb97df2f298dea89d5d2517174",
"body": "…closed) (#132)\n\nOwner clarified the distribution repo is YugantM/hvtracker-mcp. The listing\ndoc is now a pointer to that repo's canonical kit (server.json,\nREGISTRY_SUBMISSIONS.md, manifest.json, tag-triggered CI). Records the\nv0.2.0 release executed there: compare_agents + capability/credential\nen\n[…]\n-mcp 0.2.0\nverified live in the registry. Master plan 1.3 flipped to done; remaining\nowner actions are only the signed-in directory submissions.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: MCP listing corrected to the canonical hvtracker-mcp repo (1.3 …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T09:14:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4c54e1d44acacbc7e2ad1fcf16a172c2176472c0",
"body": "…#131)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 1 completion deploy (#128-#130, verified live) (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T01:19:08Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2c596a5c160f632518b339a1b6cfeeebd0585464",
"body": "…) (#130)\n\nThe CI trust gate lives in the new public repo YugantM/hvtrust-gate\n(tags v1/v0.1.0): composite action, stdlib-only, resolves targets via\n/api/v1/mcp/verify, min-grade threshold with warn-only and\nfail-on-untracked modes, step-summary table; self-test verified green on\nGitHub runners. The\n[…]\n.\n\nMaster plan + CLAUDE.md updated: Phase 1 code complete; remaining owner\nactions are the MCP registry submissions and the Marketplace listing.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Phase 1 wrap: hvtrust-gate shipped + badges-page CI snippet (plan 1.4…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T01:16:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "da14685ae163c71b9bcd9b326863844058e95189",
"body": "…lds (plan 1.3) (#129)\n\nmcp_server.py v0.1.2 -> v0.2.0:\n- New compare_agents(a, b) tool: both trust profiles, an evidence-based\n one-line verdict, and the published compare-page URL when one exists.\n- check_agent_trust now returns coverage_grade, a capabilities block\n (mcp_status, provider_count, \n[…]\nr the official MCP registry\n(mcp-publisher), Smithery (server card already live), and no-account\ndirectories — registry auth is an owner action.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "MCP server productization: compare_agents + capability/credential fie…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T01:07:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "990d695e15b82a1851e8e5b9452ac6949908c653",
"body": "/data-api/ now documents the full machine surface: /api/v1/mcp/verify\n(with spec link), per-agent JSON + latest.json (signed trust_credential,\nverify-yourself link), .well-known discovery, and a published stability\npromise (fields add-only within v1; breaking changes bump the path;\nCC BY 4.0 + attri\n[…]\n / mcp /\ndata_json / exports requests in-memory, exposed as machine_usage in\n/healthz — the master plan's Audience-A KPI baseline, zero storage.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "API docs completion + machine-usage counters (plan 1.2) (#128)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T00:55:29Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d236e4a448814a59ba155104da91fb8a8cad9e7c",
"body": "…(#127)\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 1 first batch deploy (#124-#126, verified live) …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T00:46:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "dd31a22bd31abd63ebdd405a8166efb0e75a26c7",
"body": "…#126)\n\nwrite_dataset_export() emits a citable CC BY 4.0 snapshot of every public\nfield (incl. flattened runtime capabilities) as .json.gz + .csv at a\nstable per-quarter URL, refreshed each render within the quarter and\nfrozen at end-of-quarter state once renders roll to the next filename.\nLinked fr\n[…]\nn asset #2).\n\nTests: quarter labels, JSON/CSV shape and ordering, None-safety,\nsame-quarter overwrite semantics, serving + docs-page assertions.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Quarterly dataset export: /data/exports/hvtrust-<Y>-Q<n> (plan 1.6) (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-08T00:43:30Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d7b617c6f62fd3aad423ac4d815f2ee078f91b4a",
"body": "….1b) (#125)\n\nCompletes T3.3: the per-agent \"AI agent surface\" section now links each\ndetected provider to its /ecosystem/<slug>/ hub (provider->slug map built\nfrom ecosystem_pages in the generator and passed to the template) and the\nsection intro links /capabilities/. Capabilities also added to the\n[…]\ne_header nav (the homepage nav got it in #124).\n\nTest locks the acceptance: agent page contains /ecosystem/<provider>/ and\n/capabilities/ links.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Agent pages: link providers to ecosystem pages + capability matrix (1…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T21:06:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c1d4e7e344db7c2a17d4971ec2ff9673ca42d81f",
"body": "… (#124)\n\nThe \"what can this agent touch\" view: build_capability_matrix(rows)\nreshapes the per-row runtime fields (mcp_server_support,\nexternal_service_dependencies, tool_plugin_surface,\npackage_provenance_drift) into one trust-ranked matrix page with summary\nstats. Provider chips link to their /eco\n[…]\nvider links, stats match\nlive data (70 MCP implemented / 17 providers / 85 require keys).\n\nPer-agent capability section (1.1b) lands separately.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "/capabilities/ hub: agent runtime capability matrix (T3.3, plan 1.1a)…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T20:59:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "69462c9f83e418bece3b654c97f8041a45d4a729",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 0 deploy (verified live 2026-07-07) (#123)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T20:44:30Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "325cdbffd33c8232df968dfa2167e7e6200ebc55",
"body": "…items (#122)\n\n- LobsterAI, Agent Orchestrator, Sandcastle rejected from listing (owner).\n New REVIEWED_REJECTED denylist in discover_agents.py so discovery cannot\n re-propose them; locked by test. Research doc annotated RESOLVED.\n- Postgres consolidation (0.5) verified ALREADY DONE: second instan\n[…]\n\n (daily 0.228/0.277/0.271, no ratchet); total memory run-rate ~$3.4/mo.\n- Public /output/history/ paths stay as-is (owner decision, recorded).\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Owner decisions 2026-07-07: reject 3 candidates, close Phase 0 gated …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T20:10:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2f4d157faf4f4138ea2c0aa5d9dc5676d01cbe51",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log Phase 0 execution (#116-#120) (#121)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:52:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c73f590e1534bc60cbde83e20f67f79633b84d5c",
"body": "…an 1.5) (#120)\n\nCredential signing has been live since v4.0 but was illegible to outsiders.\nThis makes it tangible:\n\n- methodology page gains a \"#verify-yourself\" section with a 12-line\n copy-paste Python snippet that verifies any agent's Ed25519-signed\n trust_credential against the .well-known i\n[…]\non.\n\nVerified against live prod: haystack + vercel-ai-sdk credentials verify OK;\na tampered score fails both signature and evidence-hash checks.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Verify-a-score-yourself: methodology section + reference verifier (pl…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:51:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8fe97dde1f91b7160b47ecb2bac6216bc5cc1089",
"body": "…#119)\n\nAdds the five P1 candidates from docs/research/new-agent-candidates-2026-07-06\n(mini-SWE-agent, Mistral Vibe, CowAgent, oh-my-pi, Solace Agent Mesh), all\nre-verified against live GitHub today, and applies the four repository moves\nin place preserving verified package fields:\n\n sst/opencode \n[…]\nent flow). Slugs/URLs unchanged; the four moved\nagents show as NEW in rank-delta/sparklines until history re-accumulates\nunder the new repo key.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Roster refresh: 5 new agents + 4 repository moves (master plan 0.4) (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:42:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "26058a879174e93727e74c53debce341f3cb34c5",
"body": "…6) (#118)\n\nThe 13 hand-written blog_feed_items stamped now_iso on every render,\nchurning feed.json lastmod without content change (#114 follow-up). Each\nnow carries its real publish date, recovered from the post's JSON-LD\ndatePublished. The remaining now_iso uses are intentional (compare-article\nfallback; per-agent items whose content changes every render).\n\nLocked by test_handwritten_feed_items_have_stable_dates.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Stable publish dates for hand-written blog feed items (master plan 0.…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:34:31Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1b637a78c69a47e914c99f25e13101cfd6c9c1c0",
"body": "check_board_invariants() sanity-checks the final ranked board each render:\nmax trust_score >= 99.5 (inflation/pinning), scores outside [0,100],\nmean |Δrank| > 15 vs prior snapshot without a METHODOLOGY_VERSION change\n(silent mass churn), listed-agent count drop > 5% (mass delisting/fetch\nfailure). V\n[…]\nnder\". Also logs task 0.1 completion (offsite backup,\nprivate repo hvtracker-history-backup, 46 snapshots seeded + verified) in\nthe master plan.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Board-integrity invariants at render time (master plan 0.3) (#117)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:24:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7042f9ad60291dd6a2d4617d06570407a71ddabc",
"body": "- Add docs/master-plan-2026-07-07.md: verified live-state audit, ecosystem\n forecast, phased feature plan (supersedes product-plan-2026-h2 as the\n forward plan). Written self-contained for fresh AI sessions.\n- Commit the 2026-07-06 new-agent-candidates research (md + copy-ready JSON).\n- CLAUDE.md:\n[…]\nde, content-truth, GSC cleanup live);\n credential signing verified end-to-end; GitHub About already updated.\n Point \"Next\" at the master plan.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: master plan 2026-07-07 + CLAUDE.md truth sweep (task 0.2) (#116)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-07T19:10:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "743cccd55d9a366f23fa00f6a87f0d727881070c",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "CLAUDE.md: log GSC cleanup ship + deploy (#114) (#115)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-06T17:30:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ab7f67cadffcf2c477e2086c10f4e54c559efaf6",
"body": "…410 (#114)\n\nSearch Console coverage export (2026-07-06) showed 913 of 1,558 known pages\nnot indexed: 87 404s, 328 redirect pages, 196 crawled/discovered-not-indexed.\nRoot causes fixed here:\n\n- Compare pairs: previously-published /compare/<a>-vs-<b>/ pages persist\n across renders (data/seo_state.js\n[…]\ne site 3x into a tmp OUTPUT_DIR\nand locks pair persistence, lastmod stability (sentinel dates), stable\narticle dates, and the 301/410 behaviour.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "GSC cleanup: stop 404-churn, honest sitemap lastmod, retired-URL 301/…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-06T17:25:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6b90913a2a430bca1398f999eaff687c92204e2f",
"body": "Bring public copy up to the v4.x reality and announce the v4.2 calibration\ncorrection + the new evidence-coverage grade.\n\nContent-truth:\n- README: \"Version 3.1\" -> \"Version 4\" (runtime calibration, soft ceiling,\n v4.2 fix, coverage grade); formula block gains the calibration layer;\n Evidence Grade\n[…]\ngrade.\n- blog_index card, sitemap_urls, blog_feed_items entries added.\n\nDocs-and-copy only; no scoring/rank/generator-logic change. Gates green.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Content-truth pass + v4.2 announcement blog post (#113)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T22:52:45Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a49994369a0eb3e698a93b5ec0058b29b8736ff4",
"body": "…nct from the trust band (#112)\n\nThe A–D letter grade (evidence_grade) has measured the trust-SCORE band since\nv4.0, but README/marketing still framed it as \"evidence depth\". Add a real,\nseparate coverage grade so breadth of evidence is honestly visible:\n\n- coverage_grade(signal_types): A>=4, B=3, C\n[…]\nw coverage grade\ninstead of hiding behind the number. Tests lock the thresholds. No change\nto trust_score, rank, or the existing evidence_grade.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Add evidence-coverage grade (T3.3): independent-signal breadth, disti…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T22:42:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f6d94714d2c4fd1d9563abc801538cef74334b61",
"body": "…ation (#111)\n\ndocs/plan-2026-07-06-post-v4.2.md is the ACTIVE PLAN:\n- Railway bill fix (#106) verified via metrics API: web RAM avg\n 0.660 -> 0.228 GB (-65%), flat baseline, no ratchet; est. memory cost\n $6.60 -> $2.28/mo. Re-check 2026-07-12.\n- Content-truth checklist: README still describes v3.\n[…]\n previously untracked docs/product-plan-2026-h2.md that\nCLAUDE.md references, and points the CLAUDE.md/AGENTS.md \"Next\" section at\nthe new plan.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Post-v4.2 plan doc: next steps, content-truth checklist, bill verific…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T22:18:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e7b40132e50ba877651149fd4576a2a4ab775008",
"body": "…v4.2) (#110)\n\nThe build loop never seeded row[\"trust_score\"] with the freshly-computed\nbase before compute_trust_score_v2 read it, so the bounded runtime\nadjustment layered on the PRIOR build's already-calibrated score and\nratcheted every render toward the 0/100 rails (humanlayer: real base 50.9\ndr\n[…]\nAdd a regression test locking\nnon-compounding + idempotency; document the correction in the methodology\nchangelog and trust policy decision log.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix compounding runtime calibration: re-derive from base each build (…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T21:18:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5519c24d1e0e3bbf43b01d4af40e18e281e1efca",
"body": "…cumulator (#108)\n\nThe auto-scroll read viewport.scrollLeft each frame and added 0.5 to it. Many\nbrowsers (Safari, some Chrome) snap scrollLeft to an integer, so the +0.5 step\ntruncated straight back to the same value every frame — the ticker never moved\n(stuck at 0 for gainers, at max for the rever\n[…]\ntrip's initial jump-to-end by one frame so scrollWidth\nis settled first.\n\nGate: 197 tests pass (JS-only change; no Python touched), HTML valid.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix stuck daily-movers ticker: don't read scrollLeft back into the ac…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T15:20:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f2120106761ac0d0bf8de0e2f30093502e72acff",
"body": "… rigged\") (#107)\n\nOwner report: three agents showed an identical 100 with different ranks —\nreads as rigged. Root cause: the v4.0 calibration hard-clamped base+bonuses\nto 100, piling strong agents onto the ceiling, then broke the tie on the two\nMOST fakeable signals (momentum, stars). Two real prob\n[…]\nceiling\nscaling (bonuses yes, penalties no) and the evidence-before-popularity order.\n\nGates: 197 passed, render clean, HTML valid, ruff clean.\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Scoring v4.1: soft ceiling + evidence-first tie-break (fix \"100s look…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-05T07:29:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "655f7227fa0a28a0ff8f240ad25a090fc31c05b9",
"body": "… bill) (#106)\n\nCost investigation (Railway metrics API, June 1 onward): the web service\naveraged 0.47GB RAM (peaks 0.9GB) = ~$4.74/mo of the ~$5.74 total usage —\n83% of the bill, and the reason usage exceeds the Hobby plan's $5 credit.\nRoot cause: fetch_and_build.run_refresh() ran IN-PROCESS inside\n[…]\n prod where /app and /data/site are\nseparate.)\n\nGates: 195 passed (1 new for refresh_argv mode mapping), render clean,\nHTML valid, ruff clean.\n\nCo-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Run refreshes as a subprocess to stop RAM ratcheting (~83% of Railway…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-04T13:45:09Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "683beeb7a8b0d1d2d5abce36faa0dedfd45e90c7",
"body": "…s (#105)\n\nVolume verification (railway ssh, read-only) diffed every generated page\nfamily on the prod volume against the current build and found leftovers that\nnothing ever deletes: org/i-am-bee and agents/bee-agent-framework (repo\nrename), use-cases/recently-active (data-driven page whose filter c\n[…]\n- untracked local artifacts, not\nproduced by current code, confirmed absent from prod.\n\nGates: 194 passed, render clean, HTML valid, ruff clean.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Prune stale generated page dirs for org/use-cases/ecosystem/categorie…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-03T15:32:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3cc3a6d6c4c2428dc9c37843862e02b44d635b23",
"body": "Owner directive: the red per-row runtime-adjustment line (e.g. \"provenance\n+4.0 · MCP +2.0\") is gone from the leaderboard — users who want to understand\nthe score go to the methodology page — and Score Lab is retired since there\nis no experimental scoring anymore: the calibration it previewed IS the\n[…]\n new\nmethodology section renders with anchor, agent page copy corrected,\nsite-wide grep for score-lab returns nothing outside history snapshots.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Remove per-row adjustment text from leaderboard; retire Score Lab (#104)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-03T10:45:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "916203f2c3b74b89e4dee9436d3beca1fa9145a5",
"body": "Replace the CSS-transform marquee with a JS-driven native scroll: overflow-x\nnow auto (was hidden, so the strip was unscrollable even paused), scrollbar\nhidden for a clean look, cursor grab/grabbing. Auto-scroll runs via\nrequestAnimationFrame directly setting scrollLeft, bounces back and forth at\nea\n[…]\n2 unique gainers, no repeats). No console errors.\n\nGates green: 195 tests (unchanged, no Python touched), render clean, HTML\nvalid, ruff clean.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Daily movers ticker: hover-pause then scroll left/right yourself (#103)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-03T10:09:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2c60e019bbe38d488d0e518ac32e6201532695a9",
"body": "…re (#102)\n\nOwner-confirmed, explicit, no adopter heads-up (\"switch to new scoring to\nthe core... this being a legit profound change of the platform\"). Supersedes\nthe client-side-toggle version shipped earlier the same day (#101).\n\ntrust_score/rank/evidence_grade are now runtime-calibrated (base 5-d\n[…]\n195 tests (6 new: v2_why_summary already covered, plus 3 for\nthe methodology-boundary event suppression), render clean, HTML valid,\nruff clean.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "T3.4 core swap: runtime-calibrated score IS trust_score/rank everywhe…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T20:58:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fd2f4df08b3d201c4a56d79b0e8ae1e095bc3f55",
"body": "…101)\n\nOwner decision after the T3.1 false-positive audit closed with zero real\nsupply-chain risks found (see docs/t3.1-upset-review-2026-07-02.md addenda\n1-4): fold trust_score_v2 into the homepage as a distinct, labelled,\nreversible slice, defaulting to the calibrated view rather than opt-in.\n\n- v\n[…]\ny on real user toggles, not the initial default-view\napplication.\n\nGates green: 192 tests (2 new for v2_why_summary), render clean, HTML valid.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "T3.4: runtime-calibrated ranking becomes the default homepage view (#…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T20:18:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "385605fba6023c194513202dc03463502a0749e2",
"body": "A scoring-methodology change (tracked in the existing methodology_version\nfield on every history snapshot -- already changed 4 times historically:\nv2.0 -> v3.0 -> v3.1 -> v3.2) is not a real rank movement, but the sparkline\npreviously connected across it, so a cutover could render as a misleading\n\"b\n[…]\n3.2 run) instead of 2026-05-23,\ncorrectly excluding the incomparable pre-v3.2 history while still showing\nreal movement within the current run.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Reset rank-trend sparklines at methodology-version changes (#100)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T18:09:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b0be3f38b5a5957f7397c359568e136955642195",
"body": "… (#99)\n\nExtends the T3.1 false-positive audit to the last class of bug: a project\nthat moved to a new GitHub org (leondz/garak -> nvidia/garak, for example)\nlooks identical to a real hijack from a string-comparison standpoint, but\nGitHub's own API already tells us the answer -- get_repo() transpare\n[…]\n with diminishing\nreturns confirms this is the real floor; remaining churn is the\nleaderboard-density effect from addendum 3, not further bugs.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Detect repo transfers in drift check + resolve all remaining warnings…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T17:50:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b14f8a5f7db485af7335b9de72b2e8716c2cd440",
"body": "…positive class as drift (#98)\n\nOwner directive: no compromise on quality of scores/leaderboard. Extended the\nT3.1 audit beyond package_provenance_drift to the two remaining unvetted\nruntime dimensions, which turned out to have the same class of bug, worse:\n\n1. Substring-matching bug shared by both \n[…]\nnal 10%\nrank-churn ceiling conflates density with instability; owner decision needed\non whether to measure stability differently going forward.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Audit external_dependencies + tool_plugin_surface for the same false-…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T17:27:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5acd1e9d15d1b85af42fc27cc3a64a46506fd7bc",
"body": "…(#97)\n\nManual investigation (live npm/PyPI registry queries) of the 3 A-grade drops\nnot explained by the same-owner drift fix (#96), per owner-approved option A:\n\n- Strands Agents: npm_package \"strands\" was an unrelated 2016 JS string-utils\n package, not squatting -- a pre-existing name collision.\n[…]\nt problem. Option A is exhausted -- closing criterion 1 (churn ceiling)\nnow needs option B (revisit the ceiling or a phased dimension rollout).\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Correct wrong npm/pypi package guesses for 3 agents (T3.1 follow-up) …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T17:12:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3b04526600ba37628cb2a5f16bf2ee6670527165",
"body": "…(#96)\n\npackage_provenance_drift's -5.0 \"warning\" penalty conflated two different\nsignals: a genuine different-owner package mismatch (real ambiguity) and a\nsame-owner, different-repo mismatch (JS/Python split, rename, monorepo\ncarve-out -- not evidence of hijack). detect_package_provenance_drift no\n[…]\nused the\nnetted total, which sign-cancellation distorts, instead of summed\nper-dimension magnitudes; corrected criterion 3 to PASS at 37%/34%).\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix drift false positives: don't warn on same-owner package variants …",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T16:59:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3ab33d19ea805a0d630bfdf2ca332c4e6af59c1b",
"body": "Documents the four runtime discovery fields (mcp_server_support,\nexternal_service_dependencies, tool_plugin_surface, package_provenance_drift)\nand the experimental v2 adjustment table, mirroring compute_trust_score_v2\nexactly. States explicitly that runtime signals are discovery-only and do not\naffe\n[…]\nown cases through compute_trust_score_v2 and asserts the documented\nconstants, so changing the formula without bumping the spec fails the suite.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Publish /spec/runtime-trust v0.1 (T3.2) (#95)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T16:33:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "66bc36c570107c7ab3a1b1c37caa71ac46cb451f",
"body": "GSC export (3mo, 2026-07-02) showed /categories/agent-frameworks/ at 1,091\nimpressions / position 16.4 for queries like \"ai agent framework\" — but the\ntitle tag said \"Best Agent Frameworks\", missing the \"AI\" the searcher typed.\nAdd \"AI\" to the title/og:title/twitter:title/JSON-LD name only; the H1 a\n[…]\nmatch their query clusters well (\"Is X Safe?\" mirrors the \"is X safe\"\nquery pattern seen in the export), so no other template needed this pass.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Category pages: match title to actual search query phrasing (#94)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T15:52:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e7d0c3bc8f470ee584aa3766c35f2fadb742e6a8",
"body": "Co-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Update Now/next bookkeeping for the 2026-07-02 batch (#88–#92) (#93)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T14:55:10Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "736fbc4e71b1d4a62602eace2b2487ecc48c2803",
"body": "Cross-sectional analysis of trust_score_v2 vs production rank across all 319\nagents: churn metrics, biggest swings with per-dimension attribution, and\nproposed go/no-go criteria. Verdict as calibrated today: NO-GO — 19% of agents\nmove >10 ranks, six A-grade agents drop >10 driven almost entirely by \n[…]\ndominates every top swing in both\ndirections. Recommends drift-evidence audit + weight split + T3.2 spec before\nre-review. No production change.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "T3.1 upset-review report: v1->v2 calibration evidence + go/no-go (#92)",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T14:54:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "110869bd985ec5ca2891e9af4aec73c6b15b0f9e",
"body": "… (#91)\n\nSplit into builder (venv pip install, pruned of pip/setuptools; scorecard-cache\nfetch) and runtime (fonts + gosu + code + venv copy). Two real fixes beyond\nstructure: python:slim ships no curl, so the old in-stage fetch of the fresh\nscorecard cache from the data branch silently fell back to\n[…]\nly:\ncontainer boots healthy (uvicorn via venv, gosu drop to hvt, /healthz ok with\n319 agents from prebuilt), all modules import, PID 1 non-root.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Multi-stage Dockerfile: venv builder + working scorecard fetch (T2.4)…",
"author_name": "Yugant M. Hadiyal",
"author_login": "YugantM",
"committed_at": "2026-07-02T14:52:06Z",
"body_truncated": true,
"is_coding_agent": true
}
],
"releases_count": 4,
"commits_last_year": 489,
"latest_release_at": "2026-07-01T18:29:58Z",
"latest_release_tag": "v3.1.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 11,
"days_since_latest_release": 24,
"mean_days_between_releases": 12.1
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 42,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 1,
"stars": 5,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2026-06-03",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": null,
"open_issues_and_prs": 9
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": true,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 349335,
"source_files_sampled": 58,
"oversized_source_files": 3,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 42601
},
"dependencies": {
"manifests": [
"requirements-dev.txt",
"requirements.txt"
],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [],
"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": 9,
"merged_prs": 164,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 17,
"closed_unmerged_prs": 10
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "YugantM",
"commits": 419,
"avatar_url": "https://avatars.githubusercontent.com/u/27622259?v=4"
},
{
"type": "User",
"login": "codex",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/267193182?v=4"
}
],
"contributors_sampled": 2,
"top_contributor_share": 0.993
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"scorecard-scan.yml",
"scorecard-self.yml"
],
"has_docs_dir": true,
"linter_configs": [
"ruff.toml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "25 out of 30 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "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": 0,
"reason": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 1,
"reason": "dependency not pinned by hash detected -- score normalized to 1",
"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": "16 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "dd0e4bf8ea94b5c9276861ce9b077442ce2232c5",
"ran_at": "2026-07-26T08:44:22Z",
"aggregate_score": 3.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-26T08:12:26Z",
"oldest_open_prs": [
{
"number": 74,
"created_at": "2026-06-24T15:04:58Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 75,
"created_at": "2026-06-24T15:05:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 152,
"created_at": "2026-07-09T17:05:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 183,
"created_at": "2026-07-15T15:06:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 184,
"created_at": "2026-07-15T15:06:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 185,
"created_at": "2026-07-15T15:06:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 195,
"created_at": "2026-07-22T15:04:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 196,
"created_at": "2026-07-22T15:04:56Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 197,
"created_at": "2026-07-22T15:05:51Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-23T17:06:47Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/YugantM/hvtracker",
"host": "github.com",
"name": "hvtracker",
"owner": "YugantM"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 57,
"inputs": {
"security": 36,
"vitality": 77,
"community": 29,
"governance": 50,
"engineering": 84
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 77,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"commits_last_year": 489,
"human_commit_share": 0.99,
"days_since_last_push": 0,
"active_weeks_last_year": 11
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "11/52 weeks with commits",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 11
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "489 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 489
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 4,
"latest_release_tag": "v3.1.0",
"releases_from_tags": false,
"days_since_latest_release": 24,
"mean_days_between_releases": 12.1
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "4 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 4
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 24 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 24
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~12.1 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 12.1
}
}
],
"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": "critical",
"name": "Community & Adoption",
"value": 29,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"forks": 1,
"stars": 5,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "5 stars",
"points": 9.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 5
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"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": 0,
"status": "missed",
"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
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 50,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 15,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 2,
"top_contributor_share": 0.993
},
"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 99% of commits",
"points": 0.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 99
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "2 contributors",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 2
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"merged_prs": 164,
"open_issues": 0,
"closed_issues": 17,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 10
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.8,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "164/174 decided PRs merged",
"points": 36.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 164,
"decided": 174
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 59,
"inputs": {
"followers": 45,
"owner_type": "User",
"is_verified": null,
"owner_login": "YugantM",
"public_repos": 69,
"account_age_days": 3387
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "45 followers of YugantM",
"points": 12,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 45,
"login": "YugantM"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "69 public repos, account ~9 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 69
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 84,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"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": "ruff.toml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "ruff.toml"
}
}
],
"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": "25 out of 30 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"a2a",
"ai-agents",
"ai-safety",
"leaderboard",
"mcp",
"open-source",
"ossf-scorecard",
"provenance",
"security",
"supply-chain",
"trust"
],
"has_wiki": false,
"homepage": "https://hvtracker.net",
"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://hvtracker.net",
"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": "11 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 11
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 36,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 3.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "25 out of 30 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"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": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file 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": "16 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"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": 2
},
"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": 66,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"has_llms_txt": true,
"legible_history_share": 0.98,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 42601
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": "llms.txt present",
"points": 15,
"status": "met",
"details": [
{
"code": "llms_txt_present",
"params": {}
}
],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "97 of 99 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 97,
"sampled": 99
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.96,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.01
},
"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": "ruff.toml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "ruff.toml"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "96 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 96,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "1 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 1,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"primary_language": "HTML",
"largest_source_bytes": 349335,
"source_files_sampled": 58,
"oversized_source_files": 3
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "HTML without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "HTML"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "3/58 source files over 60KB",
"points": 52.2,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 58,
"oversized": 3
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "critical",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"example_dirs": [],
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-26T08:44:39.769358Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/y/YugantM/hvtracker.svg",
"full_name": "YugantM/hvtracker",
"license_state": "standard",
"license_spdx": "MIT"
}