Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"ai",
"anthropic",
"claude",
"llm",
"mcp",
"model-context-protocol",
"task-management"
],
"is_fork": false,
"size_kb": 7050,
"has_wiki": false,
"homepage": "https://gkoreli.com/one-hundred-pull-requests",
"languages": {
"CSS": 124411,
"HTML": 11100,
"Shell": 243,
"JavaScript": 116012,
"TypeScript": 2578380
},
"pushed_at": "2026-07-20T19:05:18Z",
"created_at": "2025-12-20T07:52:54Z",
"owner_type": "User",
"updated_at": "2026-07-20T19:05:42Z",
"description": "Your backlog is your agent's memory",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "gkoreli.com",
"name": "Goga Koreli",
"type": "User",
"login": "gkoreli",
"company": null,
"location": null,
"followers": 0,
"avatar_url": "https://avatars.githubusercontent.com/u/243085293?v=4",
"created_at": "2025-11-10T08:36:47Z",
"is_verified": null,
"public_repos": 5,
"account_age_days": 259
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.70.0",
"kind": "minor",
"published_at": "2026-07-20T19:05:19Z"
},
{
"tag": "v0.69.0",
"kind": "minor",
"published_at": "2026-07-19T05:54:41Z"
},
{
"tag": "v0.68.0",
"kind": "minor",
"published_at": "2026-07-18T16:01:47Z"
},
{
"tag": "v0.67.0",
"kind": "minor",
"published_at": "2026-07-18T00:05:07Z"
},
{
"tag": "v0.66.0",
"kind": "minor",
"published_at": "2026-07-17T23:40:44Z"
},
{
"tag": "v0.65.0",
"kind": "minor",
"published_at": "2026-07-17T23:11:33Z"
},
{
"tag": "v0.64.0",
"kind": "minor",
"published_at": "2026-07-17T21:05:58Z"
},
{
"tag": "v0.63.0",
"kind": "minor",
"published_at": "2026-07-17T16:59:39Z"
},
{
"tag": "v0.62.0",
"kind": "minor",
"published_at": "2026-07-17T04:45:26Z"
},
{
"tag": "v0.61.0",
"kind": "minor",
"published_at": "2026-07-16T23:17:25Z"
},
{
"tag": "v0.60.0",
"kind": "minor",
"published_at": "2026-07-16T21:08:11Z"
},
{
"tag": "v0.59.0",
"kind": "minor",
"published_at": "2026-07-16T18:56:31Z"
},
{
"tag": "v0.58.0",
"kind": "minor",
"published_at": "2026-06-19T22:24:18Z"
},
{
"tag": "v0.57.0",
"kind": "minor",
"published_at": "2026-06-19T22:13:25Z"
},
{
"tag": "v0.56.0",
"kind": "minor",
"published_at": "2026-06-19T21:10:33Z"
},
{
"tag": "v0.55.1",
"kind": "patch",
"published_at": "2026-06-19T20:37:56Z"
},
{
"tag": "v0.55.0",
"kind": "minor",
"published_at": "2026-06-19T20:33:25Z"
},
{
"tag": "v0.54.1",
"kind": "patch",
"published_at": "2026-06-19T19:51:29Z"
},
{
"tag": "v0.53.7",
"kind": "patch",
"published_at": "2026-06-18T23:45:34Z"
},
{
"tag": "v0.53.6",
"kind": "patch",
"published_at": "2026-06-18T23:41:42Z"
},
{
"tag": "v0.53.5",
"kind": "patch",
"published_at": "2026-06-18T23:37:31Z"
},
{
"tag": "v0.53.3",
"kind": "patch",
"published_at": "2026-06-18T22:24:11Z"
},
{
"tag": "v0.53.2",
"kind": "patch",
"published_at": "2026-06-18T19:42:43Z"
},
{
"tag": "v0.53.1",
"kind": "patch",
"published_at": "2026-06-18T16:44:17Z"
},
{
"tag": "v0.53.0",
"kind": "minor",
"published_at": "2026-06-17T22:49:29Z"
},
{
"tag": "v0.52.0",
"kind": "minor",
"published_at": "2026-06-17T21:12:06Z"
},
{
"tag": "v0.51.1",
"kind": "patch",
"published_at": "2026-06-17T04:16:58Z"
},
{
"tag": "v0.51.0",
"kind": "minor",
"published_at": "2026-06-16T23:13:31Z"
},
{
"tag": "v0.50.3",
"kind": "patch",
"published_at": "2026-06-03T23:42:08Z"
},
{
"tag": "v0.50.2",
"kind": "patch",
"published_at": "2026-05-25T07:05:36Z"
},
{
"tag": "v0.50.1",
"kind": "patch",
"published_at": "2026-05-25T06:52:15Z"
},
{
"tag": "v0.50.0",
"kind": "minor",
"published_at": "2026-05-25T06:40:17Z"
},
{
"tag": "v0.49.2",
"kind": "patch",
"published_at": "2026-04-29T21:40:55Z"
},
{
"tag": "v0.49.0",
"kind": "minor",
"published_at": "2026-04-29T19:04:28Z"
},
{
"tag": "v0.48.2",
"kind": "patch",
"published_at": "2026-04-23T21:21:39Z"
},
{
"tag": "v0.48.1",
"kind": "patch",
"published_at": "2026-04-20T20:31:07Z"
},
{
"tag": "v0.47.5",
"kind": "patch",
"published_at": "2026-04-14T23:03:46Z"
},
{
"tag": "v0.47.4",
"kind": "patch",
"published_at": "2026-04-14T22:43:24Z"
},
{
"tag": "v0.47.3",
"kind": "patch",
"published_at": "2026-04-14T21:47:01Z"
},
{
"tag": "v0.47.2",
"kind": "patch",
"published_at": "2026-04-14T20:48:50Z"
},
{
"tag": "v0.47.1",
"kind": "patch",
"published_at": "2026-03-26T01:31:52Z"
},
{
"tag": "v0.47.0",
"kind": "minor",
"published_at": "2026-03-26T01:21:05Z"
},
{
"tag": "v0.46.0",
"kind": "minor",
"published_at": "2026-02-24T21:29:34Z"
},
{
"tag": "v0.45.0",
"kind": "minor",
"published_at": "2026-02-24T21:14:27Z"
},
{
"tag": "v0.44.0",
"kind": "minor",
"published_at": "2026-02-24T20:50:02Z"
},
{
"tag": "v0.43.0",
"kind": "minor",
"published_at": "2026-02-24T20:21:05Z"
},
{
"tag": "v0.42.0",
"kind": "minor",
"published_at": "2026-02-24T01:56:06Z"
},
{
"tag": "v0.41.0",
"kind": "minor",
"published_at": "2026-02-24T01:37:30Z"
},
{
"tag": "v0.40.0",
"kind": "minor",
"published_at": "2026-02-21T23:52:30Z"
},
{
"tag": "v0.39.1",
"kind": "patch",
"published_at": "2026-02-20T21:45:36Z"
},
{
"tag": "v0.39.0",
"kind": "minor",
"published_at": "2026-02-16T22:38:12Z"
},
{
"tag": "v0.37.0",
"kind": "minor",
"published_at": "2026-02-16T19:27:55Z"
},
{
"tag": "v0.36.0",
"kind": "minor",
"published_at": "2026-02-12T05:15:33Z"
},
{
"tag": "v0.35.0",
"kind": "minor",
"published_at": "2026-02-10T00:48:39Z"
},
{
"tag": "v0.34.0",
"kind": "minor",
"published_at": "2026-02-09T21:01:19Z"
},
{
"tag": "v0.33.0",
"kind": "minor",
"published_at": "2026-02-07T02:38:08Z"
},
{
"tag": "v0.32.0",
"kind": "minor",
"published_at": "2026-02-06T18:14:30Z"
},
{
"tag": "v0.31.0",
"kind": "minor",
"published_at": "2026-02-05T22:56:59Z"
},
{
"tag": "v0.30.0",
"kind": "minor",
"published_at": "2026-02-05T07:00:53Z"
},
{
"tag": "v0.29.1",
"kind": "patch",
"published_at": "2026-02-03T06:25:54Z"
},
{
"tag": "v0.29.0",
"kind": "minor",
"published_at": "2026-02-03T01:15:19Z"
},
{
"tag": "v0.28.0",
"kind": "minor",
"published_at": "2026-01-31T18:34:02Z"
},
{
"tag": "v0.27.2",
"kind": "patch",
"published_at": "2026-01-29T01:25:15Z"
},
{
"tag": "v0.27.1",
"kind": "patch",
"published_at": "2026-01-28T22:55:02Z"
},
{
"tag": "v0.27.0",
"kind": "minor",
"published_at": "2026-01-28T01:44:28Z"
},
{
"tag": "v0.26.1",
"kind": "patch",
"published_at": "2026-01-27T20:35:50Z"
},
{
"tag": "v0.26.0",
"kind": "minor",
"published_at": "2026-01-27T18:05:55Z"
},
{
"tag": "v0.25.1",
"kind": "patch",
"published_at": "2026-01-27T01:07:18Z"
},
{
"tag": "v0.25.0",
"kind": "minor",
"published_at": "2026-01-26T23:00:42Z"
},
{
"tag": "v0.24.0",
"kind": "minor",
"published_at": "2026-01-26T20:21:30Z"
},
{
"tag": "v0.23.0",
"kind": "minor",
"published_at": "2026-01-26T19:59:57Z"
},
{
"tag": "v0.21.2",
"kind": "patch",
"published_at": "2026-01-26T18:42:44Z"
},
{
"tag": "v0.21.1",
"kind": "patch",
"published_at": "2026-01-26T18:30:54Z"
},
{
"tag": "v0.21.0",
"kind": "minor",
"published_at": "2026-01-26T06:41:12Z"
},
{
"tag": "v0.20.0",
"kind": "minor",
"published_at": "2026-01-25T04:08:57Z"
},
{
"tag": "v0.19.0",
"kind": "minor",
"published_at": "2026-01-24T19:40:42Z"
},
{
"tag": "v0.18.0",
"kind": "minor",
"published_at": "2026-01-24T03:16:55Z"
},
{
"tag": "v0.17.0",
"kind": "minor",
"published_at": "2026-01-23T03:02:51Z"
},
{
"tag": "v0.16.0",
"kind": "minor",
"published_at": "2026-01-22T19:57:39Z"
},
{
"tag": "v0.14.0",
"kind": "minor",
"published_at": "2026-01-22T07:58:31Z"
},
{
"tag": "v0.13.0",
"kind": "minor",
"published_at": "2026-01-22T06:35:34Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2026-01-21T07:33:24Z"
},
{
"tag": "v0.11.3",
"kind": "patch",
"published_at": "2026-01-21T00:48:16Z"
},
{
"tag": "v0.11.2",
"kind": "patch",
"published_at": "2026-01-21T00:44:49Z"
},
{
"tag": "v0.11.1",
"kind": "patch",
"published_at": "2026-01-21T00:40:58Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2026-01-21T00:40:28Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2026-01-20T04:57:01Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2026-01-20T01:58:47Z"
},
{
"tag": "v0.8.1",
"kind": "patch",
"published_at": "2026-01-17T03:47:56Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2026-01-17T03:41:11Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-01-17T03:21:14Z"
},
{
"tag": "v0.6.7",
"kind": "patch",
"published_at": "2026-01-17T02:03:21Z"
}
],
"recent_commits": [
{
"oid": "135db9d44ad5012d780eafc9b04b867000c35071",
"body": "Recent-homes switcher (self-declaration on use, server-presented home\nidentity) + docs-native read-model memoization that fixes the large-home\nviewer hang. See CHANGELOG.\n\nAlso track CLAUDE.md (re-exports AGENTS.md for Claude Code).",
"is_bot": false,
"headline": "chore: bump versions (server 0.70.0, viewer 0.62.0)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-20T19:03:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "869d582f6ef32bceff19512613af875c886d4264",
"body": "The home selector lists global + every recent project from /api/homes\n(most-recent-first), with a two-line entry (label + display_path), a ✓ on the\nactive home, a hover forget (✕) wired to DELETE /api/homes/:root, and an\nempty-state hint. All display strings come from the server presenter; the\nclient no longer derives labels or collapses paths itself.\n\nSee docs/adr/0128.",
"is_bot": false,
"headline": "feat(viewer): recent-homes switcher — render server-presented homes",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-20T19:02:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "421ab3ea1fd7f3c1b9ea3fe90914cca83d3ef04a",
"body": "A project home is remembered the first time an agent works against it (any\ncore op that resolves a project home — CLI in a repo, MCP bridge, or viewer\n?project_root), like `code .` adds a folder to VS Code recents. No directory\nscanning: the switcher reads a use-declared manifest.\n\n- RecentHomesStor\n[…]\n display_path,\n so the client renders strings verbatim instead of doing path surgery. Home\n provenance now projects root/documents_dir/label/display_path from the domain\n model.\n\nSee docs/adr/0128.",
"is_bot": false,
"headline": "feat(homes): recent-homes registry — self-declaration on use",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-20T19:02:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2248e3f831097c9b3ad1a64d3cc8d0e8b0d14385",
"body": "…s rescan\n\nDocsNativeFilesystemStorage re-read and re-parsed every markdown file from\ndisk on every read (get/list/counts/iterateEntities/getDocumentById), and\nResourceManager.list() did the same full discoverDocuments() scan. On a\n1,300+ doc home the /operations feed fanned that out per-id, saturat\n[…]\n Memoize ResourceManager.list() the same way, invalidated on the same seams.\n\nMarkdown stays authoritative — the cache is derived state that rebuilds from\ndisk on any invalidation.\n\nSee docs/adr/0127.",
"is_bot": false,
"headline": "perf(storage): memoize docs-native read model; kill per-request corpu…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-20T19:01:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d58ad769727be6581da25de15b02e319a3873443",
"body": null,
"is_bot": false,
"headline": "docs: normalize engineering record spacing",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-19T16:17:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e58ef4f1b5f06e8a364ea4b47d737358a4dbe3a2",
"body": null,
"is_bot": false,
"headline": "docs: link backlog-mcp transformation story",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-19T16:17:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3aa7557af25d80101030ce4a799e04a8fd44a979",
"body": "…dings + cross-home) + ratify ADR 0126\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "chore: release 0.69.0 (recall done right: stemming/stop-words + embed…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-19T05:53:20Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e961bd78d7887fac97e889903aa850cd5b9ea08f",
"body": "…-force Map scan) + sharpen the scale tripwire\n\nVerified against v3.1.18 source (trees/vector.ts): Orama's vector search is a\nplain Map + brute-force cosine for-loop, no ANN, toJSON dumps every raw vector\n(the ~512MB ceiling / in-memory-rebuild root). This equalizes the sqlite-vec\ncomparison (also b\n[…]\nd to a\ndistinct higher tripwire whose target is LanceDB, not sqlite-vec.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): 0126 — capture Orama's under-the-hood vector search (brute…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-19T05:45:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9c7d94a8f3556eacc6c8f244d4945ef9d3bde084",
"body": "…a-done-right, sqlite-vec as designed fallback\n\nEvidence-based ruling on Goga's \"either Orama works properly or we explore\nalternatives.\" Two adversarially-verified research passes (competitor stacks;\nin-process alternatives) + the just-landed Orama fix. Findings: the \"they use\nDBs\" framing is large\n[…]\n as the pre-scoped fallback with four tripwires. Awaiting\nGoga's ruling.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): 0126 — retrieval substrate ruling (Proposed): stay on Oram…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T23:49:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "072f667b21c39cfe137bf295286818761f7f8829",
"body": "…pose deps) + CHANGELOG\n\nCodifies the invariant behind the tokenizer + embeddings fixes (goga-approved,\n2026-07-18): the core must behave identically for every consumer regardless of\nprocess lifetime, and must compose a dependency's real pipeline rather than\nhand-roll a parallel one. Evidence: the c\n[…]\nd-aid into the real\ntokenizer-compose fix and adds the embeddings entry.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: NORTH-STAR Invariant 10 + ADR 0125 (consumer-agnostic core; com…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T23:45:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "242c62f66f08e09be05a429c229367d685e129b0",
"body": "embeddingsReady is a per-process flag, only ever warmed by\nensureEmbeddings(). loadFromDisk()'s cached-embeddings fast path sets\nhasEmbeddingsInIndex from the persisted cache and returns without ever\ncalling ensureEmbeddings() (that call is skipped specifically because\nhasEmbeddingsInIndex is alread\n[…]\nthis embeddings backfill both require a\none-time reindex).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(search): cold write paths lazily init embeddings, not a stale flag",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T23:37:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c7adcfd1ef52248e96f22ce37d05518471f79105",
"body": "compoundWordTokenizer was a bare object with a `.tokenize` method, so\nOrama's create() took the \"already-a-Tokenizer\" branch and used it\nverbatim — createTokenizer() (stemmer + stopWords + normalizeToken) was\nnever invoked. No stop-word removal and no English stemming have ever\nbeen active in this i\n[…]\nich incidentally\nshifted an internal chunk's output path).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(search): compose Orama's default tokenizer instead of replacing it",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T23:36:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d452b2a32827da6cd7563daea964a7d653152d61",
"body": "…tative, source-verified at v3.1.18)\n\nCaptures why our custom compoundWordTokenizer silently dropped stop-words AND\nstemming: create.ts branch-3 uses any object with a .tokenize verbatim and\nnever calls createTokenizer(), so no stemmer/stopWords were ever active.\nSpecific deep-link citations (docs.o\n[…]\ndocs↔package inconsistencies. Two independent research passes converged.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(ref): REF-0016 — Orama v3 text-analysis pipeline & BM25 (authori…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T23:05:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9a719daf13d0f59911ae544bd26cfbeeaa5b0fc8",
"body": "…ric-word overlap inflating grade-0 memories (R8)\n\nThe multi-term coordination re-ranker (applyCoordinationBonus) counted raw\nquery-term overlap with no stopword filtering, so a memory sharing only\nfunction words (\"what\", \"before\", \"a\", \"my\") with the query earned the same\ncoordination credit as one\n[…]\n745 → 0.8842, no regressions.\nRegression tests added to scoring.test.ts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(recall): discount stopwords in the coordination bonus — stop gene…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T20:33:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "12c5f9902fa710310a8cf231fed48f102d579a77",
"body": "…1 R8)\n\nExtends scripts/search-eval.mjs to score recall-queries-v2.jsonl-style\nfixtures where each query names its own production home (\"global\" or\n\"project\") instead of sharing one --project-root corpus. Per-home recall\nqueries now build one real CLI runtime per distinct home via\ncreateCliRuntime (\n[…]\nll@k 1.0000 across 4 human-judged (gate-eligible) queries.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(evaluation): per-home recall scoring in search-eval.mjs (ADR 012…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T20:23:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1706e1d106bc8665a87b55791e07d1c071727447",
"body": "…sessor of record)\n\nCaptures the completed R8 judging (goga, assessor of record, human:goga\n2026-07-18): the graded sheet stays the human record; recall-queries-v2 +\nrecall-qrels-v2 are the machine gate the eval harness scores against, so any\nfuture ranker change is measured against Goga's ground tr\n[…]\ndgments are per-home; the data is correct and the\nharness must catch up.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(evaluation): R8 human qrels — Goga's graded recall judgments (as…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T18:14:06Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "39a85bbb26d53baa624454fdd5bf0d3bb5dba7d5",
"body": "…ject (TASK-0006)\n\nrecall/search --home all came back \"No memories found\" from within a project\neven though each home queried alone had hits. Two compounding causes: the\nambient project discovered from cwd was excluded from the fan-out (no\n--project-root → selection undefined → global only), and the\n[…]\nand ran full\nvalidation (typecheck, memory/viewer/server suites, build).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(cli): cross-home recall no longer returns empty from inside a pro…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T18:07:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b72098e783e4fcb8682e548b3be4b3c3221bcb07",
"body": "…oposed)\n\nSalvaged from builder:boundary-decay (charter D2, Goga GO 2026-07-18), which\ncommitted this design before running out of credits mid-build. Lands the\nthree-class taxonomy DECISION only — AUTHORITATIVE (docs/committed config),\nDERIVED (index/caches, delete-safe), EVIDENCE (journal/telemetry\n[…]\nentionally dropped and gets written\nwhen the enforcement actually ships.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): 0123 — authoritative/derived/evidence boundary (design, Pr…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T17:53:02Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7ba62f906aa857783c32b53779a5ec0f81d7bfa3",
"body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): ADR 0122 Slice A under Unreleased",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T17:45:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "174f1dd3c29c0534374459fa683f6158c35d373b",
"body": "…sertion)\n\nMode-independent class in the composition block: every active declarative\nsubstrate's definitionVersion is a positive integer with a complete frozen\nchain; a synthetic v2 fixture with complete history loads clean; the same\nfixture without history yields exactly the missing-version-history\ndiagnostic while the substrate still loads and validates writes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(suite): schema-evolution structural class (ADR 0122 R5, first as…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T17:44:05Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ed6fd7f1a4c02a64f9cd97db916b132019f35228",
"body": "…s (ADR 0122 Slice A)\n\nR1: the meta-schema accepts any positive-integer definitionVersion\n(previously z.literal(1)); the substrate-definition URN is unchanged.\nR2: a declaration at version N > 1 requires frozen history at\nsubstrates/history/<type>@<v>.json for every v in 1..N-1; each missing\nlink is\n[…]\ntions accept\nan optional permitted array, validated but entirely unused.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(substrates): unpin definitionVersion + freeze-on-bump diagnostic…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T17:44:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "66e74665120fa89b2041fd4cd960039b35f2af33",
"body": "…ons)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: CHANGELOG unreleased entry + checkpoint memory (legal-next-acti…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:33:02Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "20c1a48eb1ab26f840dbb5955e051873ef8b28f6",
"body": "wakeup(operation=X) now carries focus.next — every transition the\nsubstrate's DECLARED workflow allows from the focal doc's current state,\ntransition names in declaration order, ' · '-joined (compiled-process\n2026-07, the 5% slice). Derived entirely from the existing declaration:\nzero new declaratio\n[…]\nd\n the 3,072-byte ceiling holds with the ledger unchanged (2,987 bytes)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(wakeup): legal-next-actions line on the focal briefing",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:32:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f21688f3d29c51720254055abd1a3c42586c5474",
"body": "…CLI link setup), by goga",
"is_bot": false,
"headline": "memory: MEMO-0009 — Goga's first hand-written project memory (global …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:32:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee3bf1a955f5555f588e03469a958472b4a21f1f",
"body": "…, non-goals, phases; evidence: stale 0.62.0, takeover incident, organ fragility)",
"is_bot": false,
"headline": "docs: PROMPT 0016 verbatim + ADR 0124 resilient-daemon charter (R1-R7…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:27:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "adb2d5f446caa9921aae418ff1dae5dc29df8fca",
"body": "…reely, truth stays legible, destruction test is the license) + It-IS reframed from 'convenience over files' to 'engine over legible truth' + resilient-daemon ledger row",
"is_bot": false,
"headline": "docs: PROMPT 0015 verbatim + NORTH-STAR Invariant 9 (engine absorbs f…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:25:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49bdf86f6ad3b58788ef18005c0f48e57191ba4d",
"body": "…eal recorded demand, live results attached",
"is_bot": false,
"headline": "docs(evaluation): R8 human judging sheet — four recall queries from r…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:20:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc8e8a9d3a35e512781742a9823749211063c63c",
"body": "… prep)",
"is_bot": false,
"headline": "docs: TASK-0006 — cross-home fused recall regression (found during R8…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:19:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46ab8389b0cdeb89885d24ba26ab2a98539e0e7b",
"body": "…agent-system compiler assessed against all three anchors; PARKED UNTIL PAIN with five unpark tripwires",
"is_bot": false,
"headline": "docs: PROMPT 0014 verbatim + compiled-process Part Two — declarative …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:11:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe71443a5ac5735e3ec93f50fdfa42fb779e12ca",
"body": "…layers; compile gates never the run-loop; grants seam; E-PROC experiment)",
"is_bot": false,
"headline": "docs: PROMPT 0013 verbatim + compiled-process cross-validation (five …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:08:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b82b58b1d5849fd3bc243f6e6c3237962cc64774",
"body": "…with cross-validation addendum + living PRESSURE-LEDGER",
"is_bot": false,
"headline": "docs: PROMPT 0012 verbatim (full document) + pressure-map assessment …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:06:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47130215264c70ac46fe8db122cf05cccb4d477d",
"body": null,
"is_bot": false,
"headline": "chore: bump versions (server 0.68.0, viewer 0.60.0)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T16:00:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "daa63b6974fda6129d7aba52ecb2d831863ddcc4",
"body": "… + uniform MCP 'as' + whitespace normalization + test hygiene (review 0001 HIGH-1/MEDIUM-1/LOW)\n\nImplemented by codex gpt-5.6-sol @ high in sandboxed worktree; committed by granite (sandbox could not write the linked worktree index). Evidence: .codex/logs/fix-identity-request-scope/report.md",
"is_bot": false,
"headline": "fix(identity): per-home rung resolution for request-selected runtimes…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T15:59:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d00585932db900e00f816be98f58bda2576a874d",
"body": "…ed versions, frozen history, instance stamps, read-never-blocks, migrate-as-verb)",
"is_bot": false,
"headline": "docs: PROMPT 0011 verbatim + ADR 0122 substrate schema evolution (nam…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T15:58:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2903870ebe8cf13866bfdb1b003b542b1939d015",
"body": "…-worktree memory-ID collision, lattice-class)",
"is_bot": false,
"headline": "docs: TASK-0004 (uncapped contradictions endpoint) + TASK-0005 (cross…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:39:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c84f0bac3eba9912851c263ef8e70e975ffb17f4",
"body": "… two omission channels (MEMO-0006)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "memory: builder:desk-hardening procedural lesson — bounded folds have…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:39:10Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8dec569f04579c3c637ce9f6724bf664bb20a02b",
"body": "…candidates leave (review 0001)\n\nThree Desk findings from the independent sol trunk review\n(docs/reviews/0001-sol-trunk-review-2026-07-18.md), fixed without touching\nthe seven-item output law, ranking, or the Desk's read-only posture.\n\nHIGH-2 composition bounds:\n- candidate .jsonl files: stat before\n[…]\npnpm -r test: memory 47, viewer 146, server 1341+2 skipped (was 1330+2).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(desk): bound composition, host-independent determinism, reviewed …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:39:00Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "22db8dc3a50f118e3571ad6a46dd6711e8cfd746",
"body": "…-integrity finding)",
"is_bot": false,
"headline": "docs: TASK-0003 — search-demand packing parity gap (builder:telemetry…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:38:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c215e125d9052bdc2ce04c7d25c497352142f6ca",
"body": "…d state via ALS; memfs rename infidelity (MEMO-0006)\n\nFinal telemetry-integrity commit. DONE: all three review 0001 telemetry\nMEDIUMs fixed with tests (packed-away recall hits, per-request HTTP\nsessions, 8 MiB sink rotation), CHANGELOG Fixed entry, live-verified\nagainst the real built server (two /\n[…]\nn green (memory 47, viewer 146,\nserver 1340+2 skipped), typecheck clean.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "memory: builder:telemetry-integrity procedural lesson — request-scope…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:37:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fd37adc2b1568c922f32250c13d33d8573cafb89",
"body": "…iting review 0001\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): Unreleased Fixed entry — telemetry integrity fixes c…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:36:11Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "de23f4176836a1a382057f3a98b07e7635ce8994",
"body": "…efore append\n\nReview 0001 MEDIUM: retrieval-telemetry.jsonl grew forever — no\nrotation, retention, or size cap — so a long-lived server under steady\nsearch traffic could fill the disk, and the resulting ENOSPC would\nbreak authoritative writes far beyond telemetry.\n\nappendTelemetryLine (retrieval-te\n[…]\nure, runtime-level wiring past a real 8 MiB\nsink, and the 8 MiB default.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(telemetry): bound the sink — rotate once to <name>.1 past 8 MiB b…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:33:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5d693ee924322af2a2158af239aa3705611d766c",
"body": "Review 0001 MEDIUM: the telemetry session UUID was module-global and\nminted once per process, so every request through the stateless HTTP\ntransport — which constructs a fresh server per request — shared one\nsession for the detached server's whole lifetime, letting independent\nclients be falsely corr\n[…]\nover shared runtimes record\ndistinct sessions with unchanged line shape.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(telemetry): stateless HTTP/MCP requests each mint their own session",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:29:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5e3aeafb106b272b1c66ebe9940696590613d2cc",
"body": "…val, not the packed response\n\nReview 0001 MEDIUM: recordRecallDemand() partitioned the fused,\ntoken-packed final response per home, so a home whose hit was dropped\nby cross-home packing recorded ids: [] — a fabricated recall miss\ncorrupting the R6 mining trigger and promotion-lane evidence. Ids now\n[…]\nived behavior.\nRanking untouched (0121 R5); event line schema unchanged.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(telemetry): per-home recall ids derive from the home's own retrie…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:27:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a15c9486788f9057a46f1c36cc126e03592a38ca",
"body": "…MEDIUM, 1 LOW); HIGH-1 verified by granite",
"is_bot": false,
"headline": "docs(reviews): review 0001 — independent sol trunk review (2 HIGH, 6 …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:18:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7608baf872fe0a6e4a853690d6036449c46024cc",
"body": "…ompositions (MEMO-0005)\n\nFinal W2 commit. DONE: everything — implementation, 33 tests, docs,\nTASK-0001 done, rebase onto origin/main @ 002a13f, full validation green\n(memory 47, viewer 146, server 1330+2 skipped), first-person memory\nwritten at my own checkpoint via the stamped CLI.",
"is_bot": false,
"headline": "memory: engineer:lattice-w2 procedural lesson — two-filesystem test c…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:16:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f05a2fb5792ae084a26e15a54c4cd4ecb10abd42",
"body": "…dence (CLI-stamped, MEMO-0004 auto-capture)\n\nDONE: implementation + tests + docs; live verification in this worktree\n(canonical title + exact stub observed, reverted clean); rebased onto\norigin/main @ 002a13f (completion memory renumbered MEMO-0003 → MEMO-0004\nto clear main's MEMO-0003).\nREMAINS: full validation on the rebased tip + first-person memory + final\nreport.",
"is_bot": false,
"headline": "docs(lattice-w2): CHANGELOG Unreleased entry; TASK-0001 done with evi…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:15:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc038d3fd244905f87d43d9c6a50763303664c51",
"body": "…, wire-budget absorption gate\n\nDONE: 33 new tests — git-law-freshness (19: real repo + 3 linked worktrees;\ndiverged/fresh/ahead/worktree-only/missing/ambiguous/cached-read/fail-open/\nsha256; grounding law facts; production-composition E2E at the MCP boundary\nwith byte-exact memfs mirrors), core-wak\n[…]\ns:1,decisions:3,operations:1}, 2962 ≤ 3072 bytes).\nIN PROGRESS: docs (CHANGELOG, TASK-0001) + rebase + memory + report.\nTotals: memory 47, viewer 146, server 1323+2 skipped — baseline +33, only added.",
"is_bot": false,
"headline": "test(lattice-w2): real-git probe/grounding/E2E suite, fold exact-text…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:15:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3309f5e141f595adb16e661cd273ffbe5836e3d6",
"body": "…fold, wire doctrine\n\nDONE: W2 implementation — git-law-freshness probe (blob-hash detection, one\npinned canonical read, per-process cache), grounding law facts, fold serves\ncanonical vision title + exact one-line divergence stubs (vision.divergence,\nconstraints_divergence), CLI formatter lines, pro\n[…]\n class; at most ONE canonical read per\ncomposition, cached per process; hash comparison never textual diff;\nnon-worktree homes byte-identical (git-family e2e test now doubles as the\nfresh-case proof).",
"is_bot": false,
"headline": "feat(lattice-w2): canonical-fresh law disclosure — probe, grounding, …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:15:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "002a13f1a3e79401dfbe79be6e55d5eb5601a2c1",
"body": "… (builder:cli-context finding)",
"is_bot": false,
"headline": "docs: TASK-0002 — refs validation must derive from substrate registry…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:04:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b0a88d1210ad32a867fe9960119c4fe69175fcbf",
"body": "…ration fix\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "memory: builder:cli-context procedural lesson from the F3 context-hyd…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:02:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "722bea5e3c111ebf7efd7644372f573815b99a9b",
"body": "… 0010 F3)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): Unreleased Fixed entry for CLI get --context (report…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:00:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b360d9991c2ea780e6cef751d1af9f0218a9066a",
"body": "…(report 0010 F3)\n\nThe CLI get now takes --context and renders the same relational stubs the\nMCP backlog_get path returns (same core getItems/composeContextStubs call),\nin the CLI's recall-style stub grammar. Both surfaces emit the Tier-1\nexpand event on the context path for entity-id items only; plain gets stay\nbyte-identical. Parity covered in cli-get-context.test.ts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(cli): get --context — the ADR 0114 neighborhood reaches the CLI …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:00:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4192f1667930c5fe4c8362f6ccac67c53c45fe1b",
"body": "…eport 0010 F3)\n\nrecordExpand keeps the ADR 0092.9 R-14 strong-usage signal (overlay line +\ncounter bump) but no longer emits Tier-1 telemetry; the new\nrecordContextExpand emits the session/actor-stamped expand event for\nentity-id gets with context:true — granite's ruling: plain gets and\nresource-path gets are reads, not expansions. Ranking untouched.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(telemetry): Tier-1 expand is the neighborhood act, not reading (r…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T07:00:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b645c96a97d9fa53e50e0c4ec64cbb61ad49ec51",
"body": "…absorption assessment (7 absorbed, T1/T2 chartered frozen-lane, 3 refused, positioning seed)",
"is_bot": false,
"headline": "docs: PROMPT 0010 verbatim + REF-0015 (Cerebras KB) + knowledge-base …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T06:49:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45ce99b4eea6938fdffff7140e839d0c858653b9",
"body": "…lane) + TASK-0001 (Lattice W2), report 0010 (findings F1-F4), fix 0116 index/frontmatter drift the session caught",
"is_bot": false,
"headline": "docs: dogfood session 01 — first project memories (MEMO-0002 release …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T02:34:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4dd98c61c10b530584b23c25b7767c039aede08a",
"body": null,
"is_bot": false,
"headline": "chore: bump versions (server 0.67.0, viewer 0.59.0)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T00:03:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f67338d85ea3fa869b6dd5248fa45a9445099e6f",
"body": "…try build\n\nWritten via the built CLI (remember --layer procedural), attributed by\nthe ADR 0119.1 worktree stamp — no --as.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "memory: builder:telemetry-t1 procedural lesson from the Tier-1 teleme…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-18T00:02:09Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b3e402f6a8f741b70c553f216d6a458de6cdbfe2",
"body": "…probes\n\nTelemetry's actor resolution made the first ambientAgentIdentity() call\nin a vitest worker a REAL git probe, so the process-level rung cache\ncould carry the host repo's actual backlog.agent into tests that prove\nABSENT-identity behavior. The envActor test now seeds absent rungs\nexplicitly (\n[…]\nval-telemetry.jsonl sibling\n— still fully under the ignored state/ area.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "test(server): deterministic identity-ladder seeding around telemetry …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:59:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8c7f342eccf01d7bac3ef1d23ec181019e3b6ea1",
"body": "…ation README instrument note\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: Tier-1 retrieval telemetry — CHANGELOG Unreleased entry + evalu…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:55:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7dc971ae5d3252e5d922a663586018312b3fb248",
"body": "…n, state-area\n\n16 new tests: session id stable per process + BACKLOG_SESSION override;\nrecall miss (ids: []) first-class with no overlay line; recall/search/\nexpand share one session; throwing sink or identity probe never\nsurfaces; project + global homes land events in <controlDir>/state/\nretrieval\n[…]\n Two\ncoordinator tests: per-home recall miss and per-home search demand.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "test(server): Tier-1 telemetry — session, misses, shared id, fail-ope…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:54:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "628d2dd8e71aab6569622f3733018eb2d9f01c9e",
"body": "backlog_search (MCP + CLI) records returned ids through the tracker —\nids only, never query text (Tier 2 is gated separately). The cross-home\ncoordinator records per-home search demand and no longer skips\nzero-contribution homes on recall: a consulted home with no returned ids\nis the per-home recall\n[…]\ne\ndemand signal. Observation only — result shapes and ranking untouched.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(server): search + cross-home telemetry hooks (ADR 0121 R7)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:51:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "baf323a52ed71c8d81e16b048982342ae5245322",
"body": "…ecall misses (ADR 0121 R7)\n\nNew memory/retrieval-telemetry.ts: one UUID session per process\n(BACKLOG_SESSION overrides), append-only {session, ts, event, ids, home,\nactor?} lines into <controlDir>/state/retrieval-telemetry.jsonl — the\nsame uncommitted state area as the usage overlay, never committe\n[…]\nail-open everywhere; overlay lines and retrieval\nresults byte-identical.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(server): Tier-1 retrieval telemetry — session-stamped events + r…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:51:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1658d7cb9b445eb2fb97889d12c4b53428711292",
"body": null,
"is_bot": false,
"headline": "chore: bump versions (server 0.66.0, viewer 0.58.0)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:39:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "724d4037c7f2ebfbf7358243d73a476c5edaa8b5",
"body": "Frontmatter only, as directed; rulings text untouched. Note: the\ndirected status wording predates R6 (added on main in 93cf2a3, protocol\nnot code) — R6 is likewise unchanged by this implementation.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): 0119.1 status -> Implemented (builder, 2026-07-17)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:38:13Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6f23a5e0e556862ec9c36467abb14ce1f4d7b7a5",
"body": "CHANGELOG gains the Unreleased Added entry (set identity once via\ngit config backlog.agent; the briefing discloses the winning rung).\nREADME Configuration gains the ladder section with the five set-once\ncommands, the R1 worktree-over-env rationale, and the R4 shared-checkout\nanti-pattern. The five C\n[…]\ne.\nSKILL.md mentions neither --as nor BACKLOG_AGENT — nothing to update.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: teach the attribution ladder (CHANGELOG, README, --as help text)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:38:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1c8c068f65da006409d7325536af623041e5ed8a",
"body": "…act text\n\nReal repo + real linked worktree (git-family pattern), hermetic via\nGIT_CONFIG_GLOBAL/GIT_CONFIG_NOSYSTEM: all six rungs, the R1\nworktree-over-env inversion, the extension-absent gate (a stamp file\nwithout extensions.worktreeConfig never becomes rung 2 — git itself\nrefuses to read it), no\n[…]\nyte-identical\nabsent case, and the intact identity.md presence fallback.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "test(server): attribution-ladder precedence matrix + R2 disclosure ex…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:37:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1a1ec2567f7202748938c12b0736bd69424bee9a",
"body": "The briefing's meta line names the winning rung, exactly:\nidentity: <resolved-display-or-raw> (<source>) with source one of --as /\nworktree config / env / checkout config / user config. Display reuses\nthe fail-open read-side attribution index (ADR 0119 R2/R3): declared\nvalues render as the Agent tit\n[…]\nent / identity: present), and the MCP briefing JSON gains\nno key at all.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(server): wakeup meta discloses the identity source (ADR 0119.1 R2)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:37:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ca19107d544ce8886618b0677700e2aea4653d89",
"body": "… (ADR 0119.1)\n\nThe six-rung ladder as one core module: explicit --as/MCP-as ->\ngit worktree config (extensions.worktreeConfig-gated) -> BACKLOG_AGENT\nenv -> git local config -> git global config -> absent. Returns value +\nwinning rung for R2 disclosure. R1: the deliberate worktree stamp beats\nthe i\n[…]\nd git, empty values -> rung absent, output\nbyte-identical to pre-0119.1.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(server): attribution ladder — implicit agent identity resolution…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:37:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "11cd47465454e23106c0689e3f3b72673254b9f8",
"body": "…ubstrates), ADR index truth (0119.1/0120/0121 + shipped retags + Historical split), NORTH-STAR roadmap checkboxes, AGENTS.md 4-package truth, evaluation README title; retire docs/framework-adr pointer",
"is_bot": false,
"headline": "docs: freshness pass — README front door (Desk, operation=, shipped s…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:37:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb51bf4f99446dfe17d3f01c9f55b1608c4c2d39",
"body": null,
"is_bot": false,
"headline": "fix: carry imperfect legacy docs through migration",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:34:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93cf2a301ee212ebb4df969d78ffe525ef3de4c6",
"body": "…cope (goga's parallel-agent challenge)",
"is_bot": false,
"headline": "docs(adr): 0119.1 R6 — writers get worktrees; one writing actor per s…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:19:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63eaf0f85a0418e3d5eb4e6d463298984b68377f",
"body": "…tribution ladder)",
"is_bot": false,
"headline": "docs: PROMPT 0009 verbatim + ADR 0119.1 implicit identity capture (at…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:13:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa4b53b2a0a1784fd85c6d454c424a13780e99ae",
"body": null,
"is_bot": false,
"headline": "chore: bump versions (server 0.65.0, viewer 0.57.0)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:09:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32c7d667caa6b28133c10cd31f80b0dfbf717109",
"body": null,
"is_bot": false,
"headline": "docs(changelog): docs-native ID navigation fix under Unreleased",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:09:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49bbce2e0f7ee1e084c79f120283b6c8380b8b03",
"body": "…65 assertions, 25 failures\n\nSame-corpus before/after (sha 7c190d02dda3…, 229 documents, main code vs\nthis branch): 459 failures → 25.\n\n- navigation-id: 206 (bm25) + 224 (hybrid) → 0 + 0. Every entity now\n resolves at rank 1 for BOTH forms of its own ID (space and hyphen).\n- navigation-title + memb\n[…]\nngle hit) in both modes. All\nnon-navigation per-class metrics identical.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(evaluation): structural suite rerun after ID-navigation fix — 24…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T23:07:12Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e695c6b7dc3dce87c6691eed11a4d7a12899d6d4",
"body": "… zero-universe type-word fail-open\n\nTwo navigation plumbing bugs proved at corpus scale by the structural\ntruth suite (457 failures on main, dominated by navigation-id):\n\n1. The exact-ID fast path only knew built-in prefixes (TASK, EPIC, ...),\n so docs-native display ids (\"ADR 0116\", \"REF-0004\", \n[…]\nRanking is untouched (ADR 0121 R5): no fusion, scoring, or decay change.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(search): docs-native ID navigation — registry-derived ID intent +…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:59:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3f60365f0e954d7e667143006e194a4de92182a6",
"body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): the Desk under Unreleased",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:51:08Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8a2b09c3525535716ac5b44543a027d0ae5965b9",
"body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(desk): /desk redirect carries home selection through to the SPA",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:51:08Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a227fab8b55e75be0e72da9c6651bf458cf120c1",
"body": "Core fold: per-class why-surfaced rules, budget=7 cap, worst-first band\nordering, honest per-class omission, determinism, worktree chip.\nEndpoint: /api/desk composition + provenance, degrade-without-readers,\n/desk chrome redirect. Grounding: frontmatter-over-git recency, lenient\nattention/author rea\n[…]\nrbatim\nrender, chips, copy-only affordances, fail-closed home selection.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "test(desk): fold rules, endpoint, grounding readers, viewer page",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:51:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "10bfc6dda97721a268703edae2d80a18362c1b6d",
"body": "…(V1)\n\nThe Desk (attention-viewer proposal, PROMPT 0007): one deterministic,\ntransport-free core fold (core/desk.ts) composes JUDGE/REVIEW/READ/HEALTH\nfrom store state — ≤7 items total, worst-first across classes via declared\nseverity bands, per-class honest omission, why-surfaced sentence and a\ncop\n[…]\no the SPA),\nread-only, home-scoped, matching the existing design system.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(desk): server desk fold + /api/desk endpoint + viewer Desk page …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:51:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2ae33054b809fe72f19b823079e0e91e4d7b1901",
"body": "One memory, one home, fused reads: reads always fuse with provenance chips\n(0112 D made default), writes follow a nine-word rubric line (git ownership\nis the only real decision), 'meant for both' becomes usage-driven promotion\nwith provenance (cherry-pick for memories), identity is attribution and a\n[…]\nor art at verification\nlevels; signal-per-token audit: zero added turns.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: PROMPT 0008 verbatim + memory placement dissolution proposal",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:51:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2aa059a7b1787d010dae61e75ee774c9a24a06cc",
"body": "…n (457 failures, -3)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: changelog for rubric pair + wire ceiling; post-merge suite reru…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:45:34Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3ddc9fc9548193e4f147951f28991d65a87ffb6a",
"body": "The client owns the hooks (0117/0118.1 law). SessionStart mounts the\nbriefing via the verified additionalContext contract (matcher covers\nstartup|resume|clear|compact, --max-knowledge 0 load-bearing, fail-open).\nSessionEnd/PreCompact cannot deliver text to the model in Claude Code —\nthe remember rub\n[…]\nwhich is what\nPROMPT 0006's first-person-at-checkpoint law wants anyway.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs: Claude Code session-hook recipe for the memory protocol",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:43:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8d8f00e61ac4ac4e83b33862559038d58150d075",
"body": "… ceiling\n\nADR 0118.1 Slice A + memory-flywheel F1:\n- MEMORY_PROTOCOL rides every briefing once, as its final block:\n recall rubric (session-start, ~55 tokens) + remember rubric\n (session-end twin: the three capture triggers + PROMPT 0006's\n first-person law). Non-droppable under the ceiling.\n- H\n[…]\nflood 3,066 B ·\ncold-open 2,173 B · amnesia 1,557/1,596 B — all ≤ 3,072.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(server): the rubric pair — memory protocol in wakeup + hard wire…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:43:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e2813d2690fb4239603b4e82222a211e31a97d09",
"body": "…tions, 460 failures\n\nSame failure classes as the first run at proportional scale (corpus grew\n222→+ docs through today's merges): docs-native ID navigation broken at\ncorpus scale, hybrid taxes exact-ID lookup, intent-parser eats one title.\nDemonstrates the regenerate-per-run drift-proof property live.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(evaluation): structural suite rerun on current main — 2445 asser…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:43:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6031f91e91a14650842e3e5d29019afcac810d24",
"body": "…ailures\n\nFirst run against the real corpus (222 documents: 143 adr, 5 prompt,\n14 reference entities + 60 resources; corpus 4b00540ce136…, both BM25\nand hybrid modes; byte-identical across two full runs).\n\nWhat holds by construction:\n- wakeup-reconciliation PASSES: 45 eligible decisions, 45 disclose\n[…]\n0096) but\n shares no title tokens, so ordering is skipped and recorded.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(eval): first structural truth suite run — 2399 assertions, 450 f…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:41:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dd1e6805471ee38af2b9931f3a65e8717afd3dc8",
"body": "Lenient reads keep whatever YAML yields; ADR 0097 declares\nsupersedes: 0096-cron-entity-type.md as a scalar. A hand-written scalar\nis still a declaration of record — normalize to a one-element list so\nthe supersedes classes see it.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(eval): accept scalar frontmatter supersedes declarations",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:41:11Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "28313199b9c1aa71173eac24a4097750772dace5",
"body": "…gate\n\nADR 0121 R9, with R4's truthful re-marking:\n\n- JUDGING.md gains the constructively-true assessor tier\n (constructive:<generator> — truth by construction, no reviewer exists\n to disagree) alongside human:<name> and llm:<agent-or-model>, plus the\n note that the assessor role is adjudication,\n[…]\nllm: tier (24 queries, 235 qrels), preserving the\n append-only history.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "fix(eval): R9 honesty repairs — assessor tiers replace the substring …",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:41:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "17d43bb5279d83d6052959f6c694a69327bec59d",
"body": "One generator walks the real project corpus at run time and emits\njudge-free, constructively-true assertions, regenerated every run:\n\n- navigation-title / membership-title: every document's title as a query;\n the document is the sole grade-3 target by construction (top-10 nav\n window, top-20 membe\n[…]\n by\nconstruction: no timestamps, no timings, stable ordering everywhere.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "feat(eval): structural truth suite generator (ADR 0121 R2)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:41:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "37b460c284a27a7d06f445c4156b4073ff7e57df",
"body": "Unquoted, YAML treats \" #7)\" as a comment start and truncates the value;\nquoting preserves \"awaiting zombie-sweep ruling (report 0009 #7)\" exactly\nfor YAML-aware readers. Verified with js-yaml.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): quote the attention frontmatter values for YAML cleanliness",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "912a405c573aa9ddf6bdc6bacbf0b8c5938be927",
"body": "…re note\n\n- Report 0009 (the judgment-queue probe) enters the tree with an appended\n \"Reconciliation applied\" section: 12 flipped with evidence, 3 recorded\n dispositions, 5 BUG ledgers, 4 NORTH-STAR rows, 7 zombies annotated,\n and the genuinely-open remainder listed.\n- Report 0005 (owner's briefi\n[…]\nows 3/7/8/9 recorded as still open. The historical\n table is untouched.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(reports): probe 0009 reconciliation ledger + briefing 0005 closu…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "30f1b154987327d68fa25eb4af9744537ba8e756",
"body": "Context tools (0114, shipped 0.59.0), storage layout and docs home (0112\nfamily, 0.60.0-0.61.0), and ADR modeling (0113 Phases A-C) drifted: the\nwork shipped while the table still said open. Each row now carries its\nrelease evidence. The NAME row and the history/truth (0107 vs 0112) row\nare preserved as genuinely open - only table rows edited.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(north-star): mark the four shipped Open-decisions rows resolved",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7c33b95fc4883b0fc7de3217ee6ea08b04542df2",
"body": "BUG-0001/0002/0004/0005 -> Fixed (0.64.0) with rerun citations (reports\n0006/0007/0008, CHANGELOG 0.64.0). BUG-0003 stays Open with an in-flight\nnote (retrieval defect batch) - it is still a known issue in 0.64.0.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(reports): reconcile EXP-1 BUG ledgers with the 0.64.0 reruns",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b4509b5db7df0628b989f66802a6e4be5665b825",
"body": "Seven pre-uplift ADRs (0009, 0018, 0021, 0037, 0083, 0084, 0097.1) whose\nreport-0003 citations are partial (phase-only, quarantine-posture, or\nGARDEN-classified) get a machine-findable attention line instead of a\nmanufactured disposition. Statuses untouched; the ruling stays human.\nNotably 0083: ADR\n[…]\nplemented; cross-encoder proposal remains conditional\" - not superseded.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): annotate zombies awaiting the sweep ruling (report 0009 #7)",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a3e18ff7c13ae36d1029df848fc6f191486492dc",
"body": "….7, 0101)\n\n- 0036 pruning system: Superseded per report 0003 D10 (0092.x memory\n architecture; decay reborn as 0092.12 ripeness; docs-native pivot 0112).\n- 0013.7 hosting Open Tension: resolved by ADR 0104's explicit text\n (\"resolved in favor of neither: local is primary\"), per D14.\n- 0101 Phase \n[…]\n engineering record documents the ID short-circuit), per 0003 appendix.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): record dispositions report 0003 already proved (0036, 0013…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "176d18fd6dcfb7a613f9c9d4cd37bcc41b218cf8",
"body": "…0.64.0)\n\nThe charter shipped in 0.64.0 and all three acceptance reruns ran\n2026-07-17; the status line now records the measured numbers, including\nthe honest aime shortfall (3.0/5 vs the 4/5 bar - the declared zero-setup\nboundary), per reports 0006/0007/0008 and the CHANGELOG.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(proposals): wakeup-first-impression — implemented and measured (…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "919971093fc4ee008484462f2dd9db370071bcc8",
"body": "Eleven ADRs whose work shipped (CHANGELOG 0.59.0-0.62.0, 2026-07-16, plus\nthe 0092.x engineering records) but whose ledgers still said Proposed:\n0092.3, 0106, 0106.5, 0112, 0112.1-0112.4, 0113, 0114, 0115. Each new\nstatus carries its release/record citation inline. Records reality only -\nno dispositions manufactured (report 0009, drift item #3).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(adr): reconcile executed-but-Proposed statuses with ship evidence",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:38:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8d72374dfc496668203f8302984256887f114bab",
"body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): remove conflict artifact from 0119-A rebase resolution",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:35:18Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f3cb6353c9afd2ecf971b142d1123d5706477dba",
"body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "docs(changelog): record ADR 0119 Slice A under Unreleased",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:34:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a16d92f9b1fa64a944cf365a064a91f4b0d3a128",
"body": "…ce rendering\n\nThe R8 fixture declares the agent substrate as a project declaration and\nproves: compile + claim of the real nine-agent fleet roster, search via\nthe declared projection, attribution round-trip (write as AGENT-0001 /\naime:beryl / MCP as-field -> journal actor + \"by <title>\" rendering),\n[…]\no the new\nwithAgentIdentity export stays live under the stubbed runners.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01VYipkzAmWVocZxWZKY4pBw",
"is_bot": false,
"headline": "test(server): nine-agent fixture (0119 R8) + --as wiring and provenan…",
"author_name": "Goga Koreli",
"author_login": "gkoreli",
"committed_at": "2026-07-17T22:34:27Z",
"body_truncated": true,
"is_coding_agent": true
}
],
"releases_count": 92,
"commits_last_year": 920,
"latest_release_at": "2026-07-20T19:05:19Z",
"latest_release_tag": "v0.70.0",
"releases_from_tags": false,
"days_since_last_push": 6,
"active_weeks_last_year": 26,
"days_since_latest_release": 6,
"mean_days_between_releases": 0.4
},
"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": [
{
"name": "backlog-mcp",
"exists": true,
"license": "MIT",
"keywords": [
"mcp",
"model-context-protocol",
"claude",
"anthropic",
"ai",
"llm",
"agent-memory",
"memory",
"context-engineering",
"substrates",
"progressive-disclosure",
"local-first",
"markdown",
"backlog",
"task-management",
"claude-code"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/backlog-mcp",
"is_deprecated": false,
"latest_version": "0.70.0",
"repository_url": "https://github.com/gkoreli/backlog-mcp",
"versions_count": 91,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2363,
"first_published_at": "2025-12-27T07:10:15.214000Z",
"latest_published_at": "2026-07-20T19:05:26.448000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
}
]
},
"popularity": {
"forks": 2,
"stars": 5,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-04-15",
"count": 1
}
],
"complete": true,
"collected": 2,
"total_forks": 2
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": true,
"bootstrap_files": [
".mise.toml"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"packages/memory/tsconfig.json",
"packages/server/tsconfig.json",
"packages/shared/tsconfig.json",
"packages/viewer/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 56219,
"source_files_sampled": 423,
"oversized_source_files": 0,
"agent_instruction_files": [
".agents/skills/backlog-ui-framework/AGENTS.md",
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 33296
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-f88m-g3jw-g9cj"
],
"fixed_version": "0.35.0",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "@hono/node-server",
"direct": true,
"version": "1.19.15",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-frvp-7c67-39w9"
],
"fixed_version": "2.0.5",
"advisory_count": 1,
"oldest_advisory_days": 5
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1,
"moderate": 1
},
"advisory_count": 2,
"affected_count": 2,
"assessed_count": 248,
"malicious_count": 0,
"assessed_package": "npm:backlog-mcp@0.70.0",
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@backlog-mcp/shared",
"manifest": "packages/memory/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@orama/orama",
"manifest": "packages/memory/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.18"
},
{
"name": "@orama/stopwords",
"manifest": "packages/memory/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.18"
},
{
"name": "@huggingface/transformers",
"manifest": "packages/memory/package.json",
"ecosystem": "npm",
"version_constraint": "^3.8.1"
},
{
"name": "@hono/node-server",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^1.14.0"
},
{
"name": "@huggingface/transformers",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^3.8.1"
},
{
"name": "@modelcontextprotocol/sdk",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^1.25.1"
},
{
"name": "@orama/orama",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.18"
},
{
"name": "@orama/stopwords",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^3.1.18"
},
{
"name": "@parcel/watcher",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "2.5.6"
},
{
"name": "ajv",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^8.17.1"
},
{
"name": "arctic",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "commander",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^14.0.3"
},
{
"name": "gray-matter",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.3"
},
{
"name": "hono",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^4.7.0"
},
{
"name": "mcp-remote",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^0.1.37"
},
{
"name": "zod",
"manifest": "packages/server/package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.5"
},
{
"name": "zod",
"manifest": "packages/shared/package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.5"
},
{
"name": "@backlog-mcp/shared",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@nisli/core",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^0.54.0"
},
{
"name": "@orama/highlight",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^0.1.9"
},
{
"name": "@shikijs/engine-javascript",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.0"
},
{
"name": "@shikijs/langs",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.0"
},
{
"name": "@shikijs/themes",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.0"
},
{
"name": "diff",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^9.0.0"
},
{
"name": "dompurify",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^3.3.1"
},
{
"name": "marked",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^17.0.1"
},
{
"name": "marked-shiki",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.1"
},
{
"name": "mermaid",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^11.12.3"
},
{
"name": "shiki",
"manifest": "packages/viewer/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.0"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 109,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 9
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "gkoreli",
"commits": 595,
"avatar_url": "https://avatars.githubusercontent.com/u/243085293?v=4"
},
{
"type": "User",
"login": "gogakoreli",
"commits": 266,
"avatar_url": "https://avatars.githubusercontent.com/u/12997449?v=4"
},
{
"type": "User",
"login": "claude",
"commits": 59,
"avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
}
],
"contributors_sampled": 3,
"top_contributor_share": 0.647
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"auto-tag.yml",
"ci.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"pnpm-lock.yaml"
],
"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": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/29 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 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": "121 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "135db9d44ad5012d780eafc9b04b867000c35071",
"ran_at": "2026-07-27T10:29:36Z",
"aggregate_score": 3.7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-20T19:05:30Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-19T16:17:51Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/gkoreli/backlog-mcp",
"host": "github.com",
"name": "backlog-mcp",
"owner": "gkoreli"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"security": 43,
"vitality": 89,
"community": 36,
"governance": 49,
"engineering": 77
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 89,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"commits_last_year": 920,
"human_commit_share": 1,
"days_since_last_push": 6,
"active_weeks_last_year": 26
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "26/52 weeks with commits",
"points": 18,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 26
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "920 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 920
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 92,
"latest_release_tag": "v0.70.0",
"releases_from_tags": false,
"days_since_latest_release": 6,
"mean_days_between_releases": 0.4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "92 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 92
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.4 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.4
}
}
],
"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": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 36,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"forks": 2,
"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": "2 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 2
}
}
],
"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
}
]
},
{
"key": "ecosystem_adoption",
"band": "moderate",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 56,
"inputs": {
"packages": [
"backlog-mcp"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 2363
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "2,363 downloads/month across npm",
"points": 45,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 2363,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 49,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 3,
"top_contributor_share": 0.647
},
"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 65% of commits",
"points": 7.9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 65
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "3 contributors",
"points": 4.1,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 3
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 66,
"inputs": {
"merged_prs": 109,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 9
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "109/118 decided PRs merged",
"points": 35.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 109,
"decided": 118
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/29 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "critical",
"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": 21,
"inputs": {
"followers": 0,
"owner_type": "User",
"is_verified": null,
"owner_login": "gkoreli",
"public_repos": 5,
"account_age_days": 259
},
"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": "0 followers of gkoreli",
"points": 0,
"status": "missed",
"details": [
{
"code": "owner_followers",
"params": {
"count": 0,
"login": "gkoreli"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "5 public repos, account ~0 yr old",
"points": 7.1,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 5
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"backlog-mcp"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 6
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 6 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 6
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "91 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 91
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 77,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"ai",
"anthropic",
"claude",
"llm",
"mcp",
"model-context-protocol",
"task-management"
],
"has_wiki": false,
"homepage": "https://gkoreli.com/one-hundred-pull-requests",
"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://gkoreli.com/one-hundred-pull-requests",
"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": "7 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 7
}
}
],
"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": 43,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 37,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 3.7
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/29 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file 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": "121 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Matched the npm:backlog-mcp@0.70.0 runtime dependency closure — what installing the published package pulls in — 248 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "npm:backlog-mcp@0.70.0",
"assessed": 248
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 69,
"inputs": {
"source": "osv",
"advisories": 2,
"affected_packages": 2,
"assessed_packages": 248,
"unassessed_packages": 0,
"affected_by_severity": "high 1, moderate 1",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: @hono/node-server 1.19.15 (moderate 5.9)",
"points": 18.5,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "@hono/node-server 1.19.15 (moderate 5.9)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "1 affected: sharp 0.34.5 (high 7.3)",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "sharp 0.34.5 (high 7.3)"
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 248,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 72,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [
".agents/skills/backlog-ui-framework/AGENTS.md",
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 33296
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": ".agents/skills/backlog-ui-framework/AGENTS.md, AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".agents/skills/backlog-ui-framework/AGENTS.md, AGENTS.md, CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"pnpm-lock.yaml"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [
".mise.toml"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"packages/memory/tsconfig.json",
"packages/server/tsconfig.json",
"packages/shared/tsconfig.json",
"packages/viewer/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.65,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": ".mise.toml",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".mise.toml"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "packages/memory/tsconfig.json, packages/server/tsconfig.json, packages/shared/tsconfig.json, packages/viewer/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "packages/memory/tsconfig.json, packages/server/tsconfig.json, packages/shared/tsconfig.json, packages/viewer/tsconfig.json, tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "65 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 65,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 56219,
"source_files_sampled": 423,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/423 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 423,
"oversized": 0
}
}
],
"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-27T10:29:45.479776Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/gkoreli/backlog-mcp.svg",
"full_name": "gkoreli/backlog-mcp",
"license_state": "standard",
"license_spdx": "MIT"
}