Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 180153,
"has_wiki": false,
"homepage": "https://clipboardhealth.github.io/core-utils",
"languages": {
"Shell": 91810,
"Python": 14975,
"JavaScript": 28696,
"TypeScript": 1343171
},
"pushed_at": "2026-07-27T11:47:57Z",
"created_at": "2024-08-05T19:12:25Z",
"owner_type": "Organization",
"updated_at": "2026-07-26T01:00:53Z",
"description": "Clipboard's core libraries and utilities.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "https://www.clipboardworks.com/",
"name": "Clipboard",
"type": "Organization",
"login": "ClipboardHealth",
"company": null,
"location": null,
"followers": 96,
"avatar_url": "https://avatars.githubusercontent.com/u/28880063?v=4",
"created_at": "2017-05-23T00:11:20Z",
"is_verified": null,
"public_repos": 8,
"account_age_days": 3352
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "config@2.9.3",
"kind": "other",
"published_at": "2026-07-22T16:11:42Z"
},
{
"tag": "util-ts@5.14.0",
"kind": "other",
"published_at": "2026-07-22T16:11:42Z"
},
{
"tag": "analytics@2.9.3",
"kind": "other",
"published_at": "2026-07-22T16:11:41Z"
},
{
"tag": "testing-core@2.9.3",
"kind": "other",
"published_at": "2026-07-22T16:11:40Z"
},
{
"tag": "phone-number@2.9.3",
"kind": "other",
"published_at": "2026-07-22T16:11:40Z"
},
{
"tag": "notifications@3.11.3",
"kind": "other",
"published_at": "2026-07-22T16:11:39Z"
},
{
"tag": "contract-core@4.2.3",
"kind": "other",
"published_at": "2026-07-22T16:11:39Z"
},
{
"tag": "json-api-nestjs@2.10.3",
"kind": "other",
"published_at": "2026-07-22T16:11:38Z"
},
{
"tag": "playwright-toolkit@1.1.5",
"kind": "other",
"published_at": "2026-07-22T16:11:37Z"
},
{
"tag": "core-plugin@3.23.0",
"kind": "other",
"published_at": "2026-07-21T02:49:26Z"
},
{
"tag": "ai-rules@2.44.0",
"kind": "other",
"published_at": "2026-07-21T02:49:26Z"
},
{
"tag": "core-plugin@3.22.6",
"kind": "other",
"published_at": "2026-07-21T01:32:43Z"
},
{
"tag": "config@2.9.2",
"kind": "other",
"published_at": "2026-07-21T01:32:42Z"
},
{
"tag": "util-ts@5.13.2",
"kind": "other",
"published_at": "2026-07-21T01:32:42Z"
},
{
"tag": "embedex@2.8.2",
"kind": "other",
"published_at": "2026-07-21T01:32:41Z"
},
{
"tag": "json-api@2.7.3",
"kind": "other",
"published_at": "2026-07-21T01:32:41Z"
},
{
"tag": "ai-rules@2.43.6",
"kind": "other",
"published_at": "2026-07-21T01:32:40Z"
},
{
"tag": "nx-plugin@2.7.2",
"kind": "other",
"published_at": "2026-07-21T01:32:40Z"
},
{
"tag": "clearance@1.6.3",
"kind": "other",
"published_at": "2026-07-21T01:32:40Z"
},
{
"tag": "analytics@2.9.2",
"kind": "other",
"published_at": "2026-07-21T01:32:39Z"
},
{
"tag": "testing-core@2.9.2",
"kind": "other",
"published_at": "2026-07-21T01:32:38Z"
},
{
"tag": "rules-engine@3.8.2",
"kind": "other",
"published_at": "2026-07-21T01:32:38Z"
},
{
"tag": "phone-number@2.9.2",
"kind": "other",
"published_at": "2026-07-21T01:32:37Z"
},
{
"tag": "oxlint-config@1.14.2",
"kind": "other",
"published_at": "2026-07-21T01:32:37Z"
},
{
"tag": "notifications@3.11.2",
"kind": "other",
"published_at": "2026-07-21T01:32:36Z"
},
{
"tag": "eslint-plugin@2.7.2",
"kind": "other",
"published_at": "2026-07-21T01:32:36Z"
},
{
"tag": "eslint-config@7.9.2",
"kind": "other",
"published_at": "2026-07-21T01:32:35Z"
},
{
"tag": "contract-core@4.2.2",
"kind": "other",
"published_at": "2026-07-21T01:32:35Z"
},
{
"tag": "json-api-nestjs@2.10.2",
"kind": "other",
"published_at": "2026-07-21T01:32:35Z"
},
{
"tag": "execution-context@2.7.2",
"kind": "other",
"published_at": "2026-07-21T01:32:34Z"
},
{
"tag": "playwright-toolkit@1.1.4",
"kind": "other",
"published_at": "2026-07-21T01:32:34Z"
},
{
"tag": "playwright-reporter-llm@2.8.2",
"kind": "other",
"published_at": "2026-07-21T01:32:33Z"
},
{
"tag": "playwright-flake-linter@1.0.2",
"kind": "other",
"published_at": "2026-07-21T01:32:33Z"
},
{
"tag": "background-jobs-adapter@2.7.2",
"kind": "other",
"published_at": "2026-07-21T01:32:32Z"
},
{
"tag": "core-plugin@3.22.5",
"kind": "other",
"published_at": "2026-07-21T00:45:13Z"
},
{
"tag": "json-api@2.7.2",
"kind": "other",
"published_at": "2026-07-21T00:45:12Z"
},
{
"tag": "ai-rules@2.43.5",
"kind": "other",
"published_at": "2026-07-21T00:45:12Z"
},
{
"tag": "playwright-toolkit@1.1.3",
"kind": "other",
"published_at": "2026-07-21T00:45:11Z"
},
{
"tag": "playwright-reporter-llm@2.8.1",
"kind": "other",
"published_at": "2026-07-21T00:45:11Z"
},
{
"tag": "playwright-reporter-llm@2.8.0",
"kind": "other",
"published_at": "2026-07-20T20:56:21Z"
},
{
"tag": "clearance@1.6.2",
"kind": "other",
"published_at": "2026-07-20T15:54:10Z"
},
{
"tag": "core-plugin@3.22.4",
"kind": "other",
"published_at": "2026-07-19T00:41:38Z"
},
{
"tag": "config@2.9.1",
"kind": "other",
"published_at": "2026-07-19T00:41:37Z"
},
{
"tag": "util-ts@5.13.1",
"kind": "other",
"published_at": "2026-07-19T00:41:37Z"
},
{
"tag": "embedex@2.8.1",
"kind": "other",
"published_at": "2026-07-19T00:41:36Z"
},
{
"tag": "json-api@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:36Z"
},
{
"tag": "ai-rules@2.43.4",
"kind": "other",
"published_at": "2026-07-19T00:41:36Z"
},
{
"tag": "nx-plugin@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:35Z"
},
{
"tag": "clearance@1.6.1",
"kind": "other",
"published_at": "2026-07-19T00:41:35Z"
},
{
"tag": "analytics@2.9.1",
"kind": "other",
"published_at": "2026-07-19T00:41:34Z"
},
{
"tag": "testing-core@2.9.1",
"kind": "other",
"published_at": "2026-07-19T00:41:34Z"
},
{
"tag": "rules-engine@3.8.1",
"kind": "other",
"published_at": "2026-07-19T00:41:33Z"
},
{
"tag": "phone-number@2.9.1",
"kind": "other",
"published_at": "2026-07-19T00:41:33Z"
},
{
"tag": "oxlint-config@1.14.1",
"kind": "other",
"published_at": "2026-07-19T00:41:33Z"
},
{
"tag": "notifications@3.11.1",
"kind": "other",
"published_at": "2026-07-19T00:41:32Z"
},
{
"tag": "eslint-plugin@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:32Z"
},
{
"tag": "eslint-config@7.9.1",
"kind": "other",
"published_at": "2026-07-19T00:41:31Z"
},
{
"tag": "contract-core@4.2.1",
"kind": "other",
"published_at": "2026-07-19T00:41:31Z"
},
{
"tag": "json-api-nestjs@2.10.1",
"kind": "other",
"published_at": "2026-07-19T00:41:30Z"
},
{
"tag": "execution-context@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:30Z"
},
{
"tag": "playwright-toolkit@1.1.2",
"kind": "other",
"published_at": "2026-07-19T00:41:29Z"
},
{
"tag": "playwright-reporter-llm@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:29Z"
},
{
"tag": "playwright-flake-linter@1.0.1",
"kind": "other",
"published_at": "2026-07-19T00:41:28Z"
},
{
"tag": "background-jobs-adapter@2.7.1",
"kind": "other",
"published_at": "2026-07-19T00:41:28Z"
},
{
"tag": "playwright-toolkit@1.1.1",
"kind": "other",
"published_at": "2026-07-17T16:53:35Z"
},
{
"tag": "core-plugin@3.22.3",
"kind": "other",
"published_at": "2026-07-17T16:14:52Z"
},
{
"tag": "ai-rules@2.43.3",
"kind": "other",
"published_at": "2026-07-17T16:14:52Z"
},
{
"tag": "core-plugin@3.22.2",
"kind": "other",
"published_at": "2026-07-17T15:37:17Z"
},
{
"tag": "ai-rules@2.43.2",
"kind": "other",
"published_at": "2026-07-17T15:37:17Z"
},
{
"tag": "core-plugin@3.22.1",
"kind": "other",
"published_at": "2026-07-17T15:30:00Z"
},
{
"tag": "ai-rules@2.43.1",
"kind": "other",
"published_at": "2026-07-17T15:29:59Z"
},
{
"tag": "core-plugin@3.22.0",
"kind": "other",
"published_at": "2026-07-17T15:24:35Z"
},
{
"tag": "ai-rules@2.43.0",
"kind": "other",
"published_at": "2026-07-17T15:24:35Z"
},
{
"tag": "core-plugin@3.21.0",
"kind": "other",
"published_at": "2026-07-17T14:58:57Z"
},
{
"tag": "ai-rules@2.42.0",
"kind": "other",
"published_at": "2026-07-17T14:58:57Z"
},
{
"tag": "ai-rules@2.41.2",
"kind": "other",
"published_at": "2026-07-17T01:13:04Z"
},
{
"tag": "ai-rules@2.41.1",
"kind": "other",
"published_at": "2026-07-16T18:04:08Z"
},
{
"tag": "core-plugin@3.20.0",
"kind": "other",
"published_at": "2026-07-16T17:34:33Z"
},
{
"tag": "config@2.9.0",
"kind": "other",
"published_at": "2026-07-16T17:34:33Z"
},
{
"tag": "util-ts@5.13.0",
"kind": "other",
"published_at": "2026-07-16T17:34:32Z"
},
{
"tag": "embedex@2.8.0",
"kind": "other",
"published_at": "2026-07-16T17:34:31Z"
},
{
"tag": "json-api@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:31Z"
},
{
"tag": "ai-rules@2.41.0",
"kind": "other",
"published_at": "2026-07-16T17:34:30Z"
},
{
"tag": "nx-plugin@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:30Z"
},
{
"tag": "clearance@1.6.0",
"kind": "other",
"published_at": "2026-07-16T17:34:29Z"
},
{
"tag": "analytics@2.9.0",
"kind": "other",
"published_at": "2026-07-16T17:34:28Z"
},
{
"tag": "testing-core@2.9.0",
"kind": "other",
"published_at": "2026-07-16T17:34:28Z"
},
{
"tag": "rules-engine@3.8.0",
"kind": "other",
"published_at": "2026-07-16T17:34:27Z"
},
{
"tag": "phone-number@2.9.0",
"kind": "other",
"published_at": "2026-07-16T17:34:27Z"
},
{
"tag": "oxlint-config@1.14.0",
"kind": "other",
"published_at": "2026-07-16T17:34:26Z"
},
{
"tag": "notifications@3.11.0",
"kind": "other",
"published_at": "2026-07-16T17:34:26Z"
},
{
"tag": "eslint-plugin@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:25Z"
},
{
"tag": "eslint-config@7.9.0",
"kind": "other",
"published_at": "2026-07-16T17:34:25Z"
},
{
"tag": "contract-core@4.2.0",
"kind": "other",
"published_at": "2026-07-16T17:34:24Z"
},
{
"tag": "json-api-nestjs@2.10.0",
"kind": "other",
"published_at": "2026-07-16T17:34:24Z"
},
{
"tag": "execution-context@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:23Z"
},
{
"tag": "playwright-toolkit@1.1.0",
"kind": "other",
"published_at": "2026-07-16T17:34:22Z"
},
{
"tag": "playwright-reporter-llm@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:22Z"
},
{
"tag": "playwright-flake-linter@1.0.0",
"kind": "other",
"published_at": "2026-07-16T17:34:21Z"
},
{
"tag": "background-jobs-adapter@2.7.0",
"kind": "other",
"published_at": "2026-07-16T17:34:21Z"
}
],
"recent_commits": [
{
"oid": "4065c8bd5acad21983c08fef2df2009308d22d26",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency oxfmt to v0.60.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-26T00:57:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "387a1c06e97bc51d1fab4d630d991ae6f378e0d3",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency lint-staged to v17.1.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-26T00:54:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "610b17f09126bf5224e7531cfbe8b9eb149d2bc8",
"body": "….218",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-25T22:15:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f462c242217fa4561d503b148cb4f6075c09447",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency lint-staged to v17.1.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-24T01:11:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44844cd54f3e43b0e887d2e90d9f3c6e9230e5d3",
"body": null,
"is_bot": true,
"headline": "chore(deps): update swc monorepo",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-24T01:06:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c48e96c6ce426fa1a4eebde9b2fe2987332bc9ed",
"body": "….216",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-24T01:01:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb9c8d6c67f25c372f87dad2fbf17bf7be968b4c",
"body": null,
"is_bot": true,
"headline": "chore(deps): update mongo:8.3 docker digest to a7f5aa2",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-23T02:06:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5986d1fcadbdcbfb4b04ad16751311a6721af387",
"body": "- project: playwright-toolkit 1.1.5\n\n- project: json-api-nestjs 2.10.3\n\n- project: contract-core 4.2.3\n\n- project: notifications 3.11.3\n\n- project: phone-number 2.9.3\n\n- project: testing-core 2.9.3\n\n- project: analytics 2.9.3\n\n- project: util-ts 5.14.0\n\n- project: config 2.9.3",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-22T16:11:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4f228c66343809f665e998a4dac82678533c0d2a",
"body": "## Context\n\nThis PR implements the incremental alternative described in the [recent\nIS Effect Adoption\ncomment](https://app.notion.com/p/IS-Effect-Adoption-3648643321f480f28f83d3edffeda1bb?d=0a18643321f48245b41703101ab30953&source=copy_link):\nthe primary requirement is preserving a branchable error \n[…]\ne locally built package\n- clipboard-health MSA tests: 3 suites, 8 tests\n- clipboard-health controller lint with both configured linters\n\n---------\n\nCo-authored-by: Codex GPT-5.6 Sol <codex@openai.com>",
"is_bot": false,
"headline": "feat(util-ts): prototype typed ServiceResult errors (#811)",
"author_name": "Clayton Winders",
"author_login": "cbh-clayton",
"committed_at": "2026-07-22T16:09:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9f0e2fd4353a8b26098a49e98440cd2b956bb6e9",
"body": "## Summary\n\nExtend the Null/Undefined Checks rule in the shared TypeScript rules so\ndouble-negated presence checks are caught and simplified:\n\n- `!isDefined(x)` → `isNil(x)`\n- `!isNil(x)` → `isDefined(x)`\n\nBoth equivalences are logical inverses, so the guidance keeps presence\nchecks in their single-\n[…]\n.\n\nAgent session: `claude --resume 1defb1b8-b238-4269-8ffc-8774c792ab9f`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.23.0</code></sub>\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: flag double-negated presence checks in null rule (#810)",
"author_name": "Felipe R. Vieira",
"author_login": "felipe-vieira",
"committed_at": "2026-07-21T15:52:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ac5cd0558c00d6353872275f2aeddae82099a624",
"body": "- project: ai-rules 2.44.0\n\n- project: core-plugin 3.23.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-21T02:49:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f17def9709d704dc3462ec03971419d96152ec1d",
"body": "## Summary\n\nClassify deployed-service D3 and failed-fix recurrence from the exact\nfailure runtime and fix-commit ancestry. The workflow now records\nservice, Datadog version, ECS task definition, runtime SHA, deployment\nrun, ancestry result, and the first fix-containing deployment boundary.\n\nStale ru\n[…]\nAgent session: `codex resume 019f826a-b397-7080-8c91-ca6d4cd453d8`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.22.6</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: make flaky recurrence deployment-aware (STAFF-1939) (#808)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-21T02:45:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "608040a2a18b9aed58660f558297b14b351cf254",
"body": "- project: background-jobs-adapter 2.7.2\n\n- project: playwright-flake-linter 1.0.2\n\n- project: playwright-reporter-llm 2.8.2\n\n- project: playwright-toolkit 1.1.4\n\n- project: execution-context 2.7.2\n\n- project: json-api-nestjs 2.10.2\n\n- project: contract-core 4.2.2\n\n- project: eslint-config 7.9.2\n\n- \n[…]\nce 1.6.3\n\n- project: nx-plugin 2.7.2\n\n- project: ai-rules 2.43.6\n\n- project: json-api 2.7.3\n\n- project: embedex 2.8.2\n\n- project: util-ts 5.13.2\n\n- project: config 2.9.2\n\n- project: core-plugin 3.22.6",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-21T01:32:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "02d04e70152b5d222601a68367b1277bce1a4197",
"body": null,
"is_bot": true,
"headline": "fix(deps): update dependency @knocklabs/node to v1.34.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:24:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afbc61490c182da114b01a65c59d7ab13896f12a",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency @swc-node/register to v1.12.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:20:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d51bb6e13aa71ce4ffbcf89c800e7cf384d1d115",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency vite to v8.1.5",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:15:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9a227d8a271a38d27e14cac160843f0946cb068",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency markdownlint-cli2 to v0.23.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:10:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e10feb34dee7f8b09e18762b2990a1c717f6e02b",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency libphonenumber-js to v1.13.9",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:05:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cf0124d1ab9e9fca149ad344709141155196015",
"body": "….214",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T01:00:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e11619ceb1863e9317cc34c2b5751599a471cab",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency oxlint-tsgolint to v0.25.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T00:56:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5456c8d6175b73e70c5992044b65d80472fc0dfb",
"body": null,
"is_bot": true,
"headline": "chore(deps): update actions/checkout digest to 3d3c42e",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-21T00:46:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d378d9591bd75400cb082711b10f605d73624b7",
"body": "- project: playwright-reporter-llm 2.8.1\n\n- project: playwright-toolkit 1.1.3\n\n- project: ai-rules 2.43.5\n\n- project: json-api 2.7.2\n\n- project: core-plugin 3.22.5",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-21T00:45:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a07eb247e5d26a1a6c4deacf2404284806ce60a",
"body": "## Summary\n\n- remove remaining CSpell directives from source, tests, and plugin\ndocumentation\n- remove the CSpell VS Code recommendation and obsolete backtest\nvalidation command\n- leave the repository with zero tracked CSpell references\n\n## Verification\n\n- npm run sync-ai-rules\n- npm run verify\n- git diff --check\n\nFollow-up to #792.\n\nCo-authored-by: Codex GPT-5.6 Sol <codex@openai.com>",
"is_bot": false,
"headline": "fix: remove remaining CSpell references (#807)",
"author_name": "Clayton Winders",
"author_login": "cbh-clayton",
"committed_at": "2026-07-21T00:42:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "95c0c1ce53571f0b57382f3946caead77c5e393f",
"body": "- project: playwright-reporter-llm 2.8.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-20T20:56:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03fcccae08a788ff3f632e2dd922df9f4f137d4d",
"body": "## Summary\n\n- Preserve the bounded `browser-network-lifecycle` attachment on the\nmatching Playwright network instance as `clientLifecycle`.\n- Join duplicate request shapes by method, sanitized origin/path\ntemplate, and nearest request-start time while keeping report schema v3\nbackward-compatible.\n- \n[…]\nbsent\nwhen no lifecycle attachment is supplied.\n\nCloses staff-1921\n\n<sub>🤖 <code>cb-ship:created v1 core@3.22.2</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: preserve browser client lifecycle (STAFF-1921) (#806)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-20T20:54:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "39ab0eb9fb1567b2395c8d94a0cc9f4cfec51306",
"body": null,
"is_bot": true,
"headline": "chore(deps): weekly safe npm updates · 1 package (#803)",
"author_name": "mendral-app[bot]",
"author_login": "mendral-app[bot]",
"committed_at": "2026-07-20T18:05:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f96abec9de953d87701241870e73e638253e42c9",
"body": "- project: clearance 1.6.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-20T15:54:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a279d24b4906441d8a535b0862928a28a5421609",
"body": "…d (#804)\n\n## Why\n\ncmux's bundled `cmux-claude-wrapper` gained a `--settings`-merging\nfeature (wrapper lines ~932–1023) that references five new `CMUX_*`\nnames. Clearance's drift check scans the wrapper for `CMUX_*` names not\nin its reviewed lists, so every groundcrew launch under cmux now prints:\n\n\n[…]\n to CI's format\ncheck).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nhttps://claude.ai/code/session_01XggsSqw8qkzUiHTfq8idLq\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(clearance): mark cmux settings-merge wrapper env names as reviewe…",
"author_name": "Jason Wuertz",
"author_login": "ClipboardJason",
"committed_at": "2026-07-20T15:52:00Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "96581aca2632a5fd1bf277b2b6c8ff0d0fb94c85",
"body": "## Summary\n\n- close five merged flaky-fix KB actions across query-driven\nreplaceable-owner and CDC readiness mechanisms\n- record provider-topology, restored-form eligibility, Daily View, Home\nHealth disclosure, and wrapped-error evidence\n\n## Validation\n\n- `node --run sync-ai-rules`\n- `NX_DAEMON=fals\n[…]\n3\nledger=aee09c9bb4c3a6776a13d88e2657316054f8b348d7e43e8f71d8c0704502003c\n-->\n\n<sub>🤖 <code>cb-ship:created v1 core@3.22.2</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "docs: close flaky-fix knowledge base (#805)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-20T15:07:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5e7ad73086f6515ca63ce246c6374fe132723dc8",
"body": "….211",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-19T00:42:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3dde00aed52a96064f0f8d21ac54def2eb935350",
"body": "- project: background-jobs-adapter 2.7.1\n\n- project: playwright-flake-linter 1.0.1\n\n- project: playwright-reporter-llm 2.7.1\n\n- project: playwright-toolkit 1.1.2\n\n- project: execution-context 2.7.1\n\n- project: json-api-nestjs 2.10.1\n\n- project: contract-core 4.2.1\n\n- project: eslint-config 7.9.1\n\n- \n[…]\nce 1.6.1\n\n- project: nx-plugin 2.7.1\n\n- project: ai-rules 2.43.4\n\n- project: json-api 2.7.1\n\n- project: embedex 2.8.1\n\n- project: util-ts 5.13.1\n\n- project: config 2.9.1\n\n- project: core-plugin 3.22.4",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-19T00:41:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f95051ecf1adf8acec2d8938abe8eef9661e29e2",
"body": null,
"is_bot": true,
"headline": "fix(deps): update dependency @knocklabs/node to v1.33.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:53:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79260fe2b9ae5192cb7b6162c5d672dff31ce1b8",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency oxlint to v1.74.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:48:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3465f1c085a9a5ef9ab7a6a9c14bfa3e5489588",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency oxfmt to v0.59.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:37:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2faa2f7a79c334361d8f5eb307a09608a8512ba2",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency dependency-cruiser to v18.1.0",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:32:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71b44ffd22384e9264b73236c3d61534471402f4",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency tsx to v4.23.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:28:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d050004fe760debb1d7cf0b13efdc2d2ffd789d",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency promptfoo to v0.121.19",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:24:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4867f257b3654f67fae32311db6c3e1e21f31b3e",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency @types/supertest to v7.2.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:20:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d78803d2136a093d159e53bb726dc8db0be0cd15",
"body": "….210",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-18T01:16:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b19f7fad927a4fde23d73abd1d866371f1eb03dd",
"body": null,
"is_bot": true,
"headline": "chore(deps): update mongo:8.3 docker digest to 309d760",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-17T16:54:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b219c6dfa33f063d84c9fc1c7536b5ae6b5e0115",
"body": "- project: playwright-toolkit 1.1.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T16:53:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b341ebfb167aa4e088083432466d374f4c62cbc",
"body": "## Summary\n\nThe first admin/mobile Playwright toolkit rollout allowed one unusable\nadmin token to fan out across every shard. The cache identity covered\nonly environment and email, freshness trusted only the configured TTL,\nand a generated token could be persisted without proving that the target\nAPI\n[…]\ns a fresh token instead of inheriting a version 1.1.0 cache\nentry.\n\n<sub>🤖 <code>cb-ship:created v1 core@3.22.3</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: harden Playwright admin token cache (STAFF-1827, STAFF-1828) (#799)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T16:51:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f1a541f573a4242628a5b42c173ae7b1dbcdbe6f",
"body": "- project: ai-rules 2.43.3\n\n- project: core-plugin 3.22.3",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T16:14:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4435486ca55739287ca825fc1adeeb13d309b566",
"body": "## Summary\n\n- Record the provider-topology variant of query-driven interaction\nteardown and add its discriminating symptom-index signature.\n- Document cbh-admin-frontend#7608 as the landed fix, including\ndelayed-token regression coverage.\n- Preserve the failed-scope lesson from the dialog-only Home \n[…]\n2af29b5c103d612223643da1d4e1a27089b60530a06ffda89b4806591541b3\n-->\n\n<sub>🤖 <code>cb-ship:created v1 core@3.22.2</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: close provider topology KB entry (STAFF-1846) (#802)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T16:12:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "83f91f9acbb766a3d91032621c2fb02bdb91ef0d",
"body": "- project: ai-rules 2.43.2\n\n- project: core-plugin 3.22.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T15:37:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62f456096c061040f3c219b5a04ac414c78f0f82",
"body": "## Summary\n\nKeeps the final `cb-ship` output line unambiguously limited to the\nrocket-wrapped PR URL. Moves the concrete example URL into the\nsurrounding instructions so agents do not emit the example text or\nduplicate the URL.\n\n## Validation\n\n- `node --run sync-ai-rules`\n- `node --run verify`\n- `gi\n[…]\n example.\n\nAgent session: `codex resume 019f7094-d8b9-7f30-99c9-20c40dba46fa`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.20.0</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: keep shipped PR output to bare URL (#801)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T15:34:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "92de1d36916ae07f2cd54fa6e960b47df4171db5",
"body": "- project: ai-rules 2.43.1\n\n- project: core-plugin 3.22.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T15:29:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98b1e43269937754b61ce61786f73d9eeba26c16",
"body": "Co-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: refine flaky-fix gate guidance (STAFF-1865) (#796)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T15:27:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82b0a41ea07518692a7703ca166e0a2f76c9a1ec",
"body": "- project: ai-rules 2.43.0\n\n- project: core-plugin 3.22.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T15:24:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "249ecef81bb7ed40f91452bcdfa0979a5b2d3d20",
"body": "## Summary\n\nMoves the PR link to the final line of the `cb-ship` handoff so it is\neasy to find. Wraps the bare URL with 🚀 emoji, leaves it unlabeled, and\nrenames the handoff metadata section to `Details:`.\n\n## Validation\n\n- `node --run sync-ai-rules`\n- `node --run verify`\n\n## Notes\n\nAgent session: `codex resume 019f7094-d8b9-7f30-99c9-20c40dba46fa`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.20.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: highlight PR link in ship output (#800)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T15:22:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ca3cf826ea147bdfd8b78e4126121fe7b487b27",
"body": "Co-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: coordinate flaky triage by KB mechanism (#797)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T15:18:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f804c19ad510d806ed843f4521dda2af3084f24",
"body": "- project: ai-rules 2.42.0\n\n- project: core-plugin 3.21.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T14:58:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad22c7ade47f23cb581ec70a9516ea2f6f7ed7ed",
"body": "Co-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: add flaky closeout sweeper (STAFF-1809) (#798)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T14:56:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02328cfd92d2ac1d04c71b6ea90a69cde60d2b54",
"body": "- project: ai-rules 2.41.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-17T01:13:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c94fa9327ebeb14987caaa7ae9e66f2cf5f473f1",
"body": "## Summary\n\nDocument why the ai-rules build excludes test files from the published\nskills bundle: consumers install it without test-only dependencies.\n\n## Validation\n\n- `node --run verify`\n- `npm exec nx -- test ai-rules --skip-nx-cache`\n- `npm exec nx -- run-many --targets=build,lint,test\n--project\n[…]\n\n## Notes\n\nAgent session: `codex resume 019f6d96-7ebf-73d1-be4f-71a446cfac1d`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.20.0</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: explain ai-rules test exclusion (#795)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T01:11:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "33c885c9e490040e8247cc1b5edc96aeebd9af0c",
"body": "## Summary\n\nBacktests flaky-critic's B8 causal-chain and B5 Prior-attempts gates\nagainst 20 historical Linear implementation plans from June 1 through\nJuly 16.\n\n- Cohort: 14 human approvals, 6 human rejects. Five reject labels are\nweak supersession or closure outcomes.\n- Raw agreement: 6/20 (30%). T\n[…]\nAgent session: `codex resume 019f6c7d-87f5-7571-96d5-79da8addfcc6`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.20.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "docs: backtest flaky critic gates (STAFF-1818) (#794)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-17T00:29:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7e0cb0994d337d19a51b3e7d14f22e8d36fea23c",
"body": "- project: ai-rules 2.41.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T18:04:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47d2ff93773fb72c1245604b53963395d0a2a9c2",
"body": "## Summary\n\nClarify why ai-rules sync errors prefer `Error.stack`: it retains the\nmessage and call-site context needed to diagnose failures.\n\nThe comment-only TypeScript change keeps runtime behavior unchanged\nwhile the `fix:` commit exercises the ai-rules patch-release flow.\n\n## Validation\n\n- `npm \n[…]\nnvironment. Running the same build script through Node's\n`tsx` loader passed.\n\n<sub>🤖 <code>cb-ship:created v1 core@3.20.0</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: clarify sync error context (#793)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T18:00:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d13631580826e3fd7258b82948dbed660812c84f",
"body": "<!-- mendral:session:slack:T51H5SZR7:1784222949.683909 -->\n## Summary\n- Remove cspell configuration, devDependency, lint-staged hook, and\nverifyAll script reference\n- cspell was not enforced in CI (only ran locally via lint-staged and\n`npm run verify`) and added unnecessary dev dependency overhead\n\n\n[…]\n909&cid=D0AT1488A8G)\n\n---------\n\nCo-authored-by: mendral-app[bot] <233154221+mendral-app[bot]@users.noreply.github.com>\nCo-authored-by: Clayton Winders <185639173+cbh-clayton@users.noreply.github.com>",
"is_bot": false,
"headline": "chore: remove cspell spell-checking tooling (#792)",
"author_name": "Clayton Winders",
"author_login": "cbh-clayton",
"committed_at": "2026-07-16T17:59:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dc747ffee6e8113c7e1ff847c44c4d3dcc8992c9",
"body": "## Summary\n\nMake `cb-ship` handoffs lead with the complete PR URL, separated from\nthe shipped summary by a blank line.\n\nMove directory, branch, review, session, and unrelated-worktree caveats\ninto an `Additional information` section so they do not compete with the\nPR link or user-facing outcomes.\n\n#\n[…]\nmatter key. This change does not alter that pre-existing metadata.\n\n<sub>🤖 <code>cb-ship:created v1 core@3.19.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "docs: prioritize PR link in ship output (#791)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T17:43:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eef1f20c446e47e4330bc3efc7bd28b1cc91e138",
"body": "- project: background-jobs-adapter 2.7.0\n\n- project: playwright-flake-linter 1.0.0\n\n- project: playwright-reporter-llm 2.7.0\n\n- project: playwright-toolkit 1.1.0\n\n- project: execution-context 2.7.0\n\n- project: json-api-nestjs 2.10.0\n\n- project: contract-core 4.2.0\n\n- project: eslint-config 7.9.0\n\n- \n[…]\nce 1.6.0\n\n- project: nx-plugin 2.7.0\n\n- project: ai-rules 2.41.0\n\n- project: json-api 2.7.0\n\n- project: embedex 2.8.0\n\n- project: util-ts 5.13.0\n\n- project: config 2.9.0\n\n- project: core-plugin 3.20.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T17:34:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "59621de13aeea61634d8f8b7d824602676fef4fa",
"body": "## Summary\n\nPublish `@clipboard-health/playwright-flake-linter`, a single\nconfigurable TypeScript AST checker for the shared flake rubric instead\nof maintaining frontend-repository copies.\n\nThe CLI enforces fixed-sleep B2 violations, underspecified response\nwaits, unclassified B1 retries, low-entrop\n[…]\nket while preserving the same checker\nbehavior.\n\nCloses staff-1815\n\n<sub>🤖 <code>cb-ship:created v1 core@3.18.1</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: add shared Playwright flake linter (STAFF-1815) (#789)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T17:32:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "976767fa58599e09a4789eca914a2f8829491241",
"body": "- project: ai-rules 2.40.1\n\n- project: core-plugin 3.19.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T17:18:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "497251d792a0b33918e86260d92ccb624ec3f590",
"body": "## Summary\n\n- require flaky-debug dossiers to match symptom signatures against the\nroot-cause KB and cite the mechanism plus failed-fix history\n- make post-merge KB updates a required flaky-fix close-out with\nexplicit dry-run and final statement formats\n- let flaky-critic use KB recurrence evidence \n[…]\nAgent session: `codex resume 019f6bcc-9930-7940-ae9d-fe4c51589ef5`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.18.1</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: wire flaky root-cause KB lifecycle (STAFF-1830) (#790)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T17:16:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1c5fa51fe569b08274fb422b5ff756f23704acd7",
"body": "- project: background-jobs-adapter 2.6.0\n\n- project: playwright-reporter-llm 2.6.0\n\n- project: playwright-toolkit 1.0.0\n\n- project: execution-context 2.6.0\n\n- project: json-api-nestjs 2.9.0\n\n- project: contract-core 4.1.0\n\n- project: eslint-config 7.8.0\n\n- project: eslint-plugin 2.6.0\n\n- project: no\n[…]\nce 1.5.0\n\n- project: nx-plugin 2.6.0\n\n- project: ai-rules 2.40.0\n\n- project: json-api 2.6.0\n\n- project: embedex 2.7.0\n\n- project: util-ts 5.12.0\n\n- project: config 2.8.0\n\n- project: core-plugin 3.19.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T16:57:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e0da3a81dab54443bd7e8a99162a3494ec6124c0",
"body": "## Summary\n\n- add the publishable `@clipboard-health/playwright-toolkit` package\nwith per-test traceparent correlation, classified retries and bounded\npolling, cross-process admin-token caching, deployed-asset verification,\nMailpit polling, Cognito diagnostics, and setup retry classification\n- port \n[…]\nAgent session: `codex resume 019f6b81-15ad-7af3-a13d-4dea207f6e05`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.18.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: add Playwright anti-flake toolkit (STAFF-1814) (#787)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T16:54:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8878fa58c723fadbe8fd6e8f90e6be97f32cb81f",
"body": "- project: ai-rules 2.39.1\n\n- project: core-plugin 3.18.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T16:42:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c27ce7a7ece91bec39edbb8a5dfdbe4bd22e446",
"body": "## Summary\n\n- Add a `Sibling-repo check` contract and concrete `main`-pinned search\nrecipe to flaky-debug planning and fix mode.\n- Require a linked Groundcrew mirror implementation ticket when the\nsibling frontend carries the same mechanism.\n- Add dated C6 critic enforcement with §1 amend-and-resubm\n[…]\n-mode-step-in-flaky-debug-critic-rubric-c-rule\n- Closes staff-1816\n\n<sub>🤖 <code>cb-ship:created v1 core@3.18.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: propagate flaky fixes across sibling repos (STAFF-1816) (#788)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T16:39:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "97b272f31cb90e8c1d0121ededd4701871025db8",
"body": "- project: ai-rules 2.39.0\n\n- project: core-plugin 3.18.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T16:09:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9593fadfbc6e3de34e21f6b4678531d593ae758d",
"body": "## Summary\n\n- Add the `flaky-deep-dive` chronic-family investigation skill with\nfail-closed Datadog APM/log, staging VPN health, and AWS read-access\npreconditions.\n- Reuse `flaky-debug` canonical dossier and causal-chain rules, while\nadding exhaustive prior-attempt review, cross-repository groundtru\n[…]\ntaff-1819\n\nAgent session: `codex resume 019f6b72-b5d2-7c20-a861-d14fe021a412`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.17.1</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "feat: add chronic flake deep-dive skill (STAFF-1819) (#786)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T16:06:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d086249787dbf2aa2dba45e6a23546c5b44f52e0",
"body": "- project: ai-rules 2.38.3\n\n- project: core-plugin 3.17.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-16T15:51:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ade68e9c037f2f1cee5523fbed4272faf08deea",
"body": "## Summary\n\n- Add a mechanism-indexed flaky root-cause knowledge base under\n`flaky-debug/references`, with a one-read symptom-to-entry index.\n- Seed eight entries covering query-driven overlay teardown, Cognito\nalias consistency, Cognito throttling, CDC/read-model readiness, lazy\nchunks, CDN 503 amp\n[…]\nfailures.\n\nAgent session: `codex resume 019f6b7c-1ee5-7c20-b98a-79df6a21f81a`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.17.1</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: add flaky root-cause knowledge base (STAFF-1817) (#785)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T15:49:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "16349047efa10391e2b44cd126756e9eaf86f63c",
"body": "…783)\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: encode dossier-first investigation across the flaky pipeline (#…",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-16T14:20:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5219573dd64e2bd188fde4c0706357a37647db52",
"body": null,
"is_bot": true,
"headline": "chore(deps): update actions/setup-node action to v7 (#777)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-16T11:13:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16ed904137c14c9d3111775985490cc9ada5269d",
"body": "- project: json-api-nestjs 2.8.12\n\n- project: contract-core 4.0.4\n\n- project: notifications 3.9.12\n\n- project: phone-number 2.7.12\n\n- project: testing-core 2.7.12\n\n- project: analytics 2.7.12\n\n- project: util-ts 5.11.0\n\n- project: config 2.7.12",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-15T18:34:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5797abc6dd2e184e34edcdb2a264d29e863c1e90",
"body": "Summary\n ===\n\n What changes were made?\n ---\n- Added a new `isRecord(value): value is Record<string, unknown>` type\nguard to `@clipboard-health/util-ts` at\n`packages/util-ts/src/lib/objects/isRecord.ts`, excluding arrays (and\n`null`)\n- Added a new `objects` category\n(`packages/util-ts/src/lib/obje\n[…]\nets/gh-open-in-devin-review-dark.svg?v=1\">\n<img\nsrc=\"https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1\"\nalt=\"Open in Devin Review\">\n </picture>\n</a>\n<!-- devin-review-badge-end -->",
"is_bot": false,
"headline": "feat(util-ts): add isRecord type guard (#782)",
"author_name": "Wes Jones",
"author_login": "wesjones-ch",
"committed_at": "2026-07-15T18:30:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "98fce2bb857478174067aa9619ac3bb622c4b21c",
"body": "- project: playwright-reporter-llm 2.5.11\n\n- project: ai-rules 2.38.2\n\n- project: core-plugin 3.17.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-15T12:38:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0fb1baa040c23325149396b5bc7f13f5b2dd3b7",
"body": "## Summary\n\n- Prefer the backend response `traceparent` in Playwright reports, then\nfall back to validated Datadog request IDs when the response is\nunavailable.\n- Require working `pup` APM access and CI artifact access before\nflaky-debug diagnosis begins.\n- Document the staging APM query recipe, `cb\n[…]\nAgent session: `codex resume 019f63ab-a59f-7ad1-b831-3a899df718bb`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.17.0</code></sub>\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: repair Playwright Datadog trace correlation (STAFF-1792) (#780)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-15T12:31:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0b3f7ff23a3c9c8e757230daad99c9bb8ac033cc",
"body": "- project: ai-rules 2.38.1",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-15T02:46:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7172e73ad869f68ef2f87ca18faa6187d563bf96",
"body": "## Summary\n\nMake a one-character code comment change in `packages/ai-rules` so Nx\nRelease publishes a new patch version.\n\n## Validation\n\n- `npx nx run-many --projects=ai-rules --targets=lint,test,build`: lint\nand test passed; the build command was rerun successfully as `node\n--import tsx scripts/bui\n[…]\n\n## Notes\n\nAgent session: `codex resume 019f639b-84d4-7793-8143-dc0914994ee5`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.17.0</code></sub>\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>",
"is_bot": false,
"headline": "fix: publish ai-rules patch (#779)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-15T02:43:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e6c69a22d5e71bd82d37c89e59c4e3bab2badda6",
"body": "## Summary\n\nRecurrence data (Jun 2–Jul 6: 21 fingerprint families re-flaked after a\nDone closure; the fullLifecycle family was closed Done six times) shows\nthe pipeline's dominant failure mode is symptom-level diagnosis: plans\nthat stop at a status code, timeout, or the repo boundary, then patch\nloc\n[…]\nclaude-code)\n\nhttps://claude.ai/code/session_01XpAUHKnzjCPh4qiGw5WYFv\n\n---------\n\nCo-authored-by: Rocky Warren <rocky.warren@clipboardhealth.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: require terminated causal chains in flaky-fix plans (#778)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-15T01:40:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f94b6a7082eaf8c5653a55c38ae64b2500ebc8aa",
"body": null,
"is_bot": true,
"headline": "chore(deps): update actions/setup-node digest to 2499707",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-15T01:04:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4ee088503bf54bbe6e7632c58790da5decab600",
"body": "- project: json-api-nestjs 2.8.11\n\n- project: contract-core 4.0.3\n\n- project: notifications 3.9.11\n\n- project: phone-number 2.7.11\n\n- project: testing-core 2.7.11\n\n- project: analytics 2.7.11\n\n- project: util-ts 5.10.0\n\n- project: config 2.7.11",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-14T22:55:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98ea076f196005367cfe9a181b5dce336d5e142c",
"body": "…d> (#776)\n\n## Summary\n- Adds a no-arg overload to `success` so a void result can be written\n`success()` instead of `success(undefined)`.\n- `success(undefined)` trips `unicorn/no-useless-undefined`, forcing an\ninline disable at every `ServiceResult<void>` return (12+ sites in\n`clipboard-health` alon\n[…]\nonsuming repo): bump\n`@clipboard-health/util-ts` and replace `success(undefined)` + the\n`no-useless-undefined` disable with `success()`.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)",
"is_bot": false,
"headline": "feat(util-ts): allow success() with no argument for ServiceResult<voi…",
"author_name": "Paul Oldridge",
"author_login": "poldridge",
"committed_at": "2026-07-14T22:51:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6495803965d90dd1977cc188740553785595e0e5",
"body": "- project: ai-rules 2.38.0\n\n- project: core-plugin 3.17.0",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-14T18:38:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1c73d52325d3e852f828107d35014c4c50fddc1",
"body": "## Summary\n\nAdds an agent-agnostic, behavior-first red-green workflow to `cb-work`,\nincluding public test seams, boundary-only mocking, focused tests, and\nregularly scoped typechecking.\n\nPrefers validation scoped to touched projects or files and leaves\nresource-heavy workspace checks to CI unless th\n[…]\nance bundled instead of depending on\na host-specific home-directory skill.\n\nAgent session: `codex resume 019f61b1-f803-7002-aacd-41d8f6565f48`\n\n<sub>🤖 <code>cb-ship:created v1 core@3.16.2</code></sub>",
"is_bot": false,
"headline": "feat: strengthen cb work testing and review context (#775)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-14T18:35:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1a7ff83c099c1980dbe5496704afb660e0775b7a",
"body": "- project: ai-rules 2.37.3\n\n- project: core-plugin 3.16.3",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-14T18:29:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6ee92decabd4fb9f7bddf95891f91261a75d433",
"body": "## Summary\n\nPorts the `blind-backtest` skill into `plugins/core/skills/`. It\nbacktests an automated judgment stage (clustering, verdicts, routing,\ngating) against historical decisions with known outcomes, enforcing\nblinding by splitting the assembler (sees outcomes), blind judge (sees\nonly inputs), \n[…]\ng) unrelated to this change; reverted to\nkeep the PR focused.\n\n<sub>🤖 <code>cb-ship:created v1 core@3.12.0</code></sub>\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(core): add blind-backtest skill (#774)",
"author_name": "Rocky Warren",
"author_login": "therockstorm",
"committed_at": "2026-07-14T18:25:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dfaa08be3100a424f98f8999b7f90b3bc499e926",
"body": "- project: ai-rules 2.37.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-14T17:03:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6092b718ea55621ecdc7d0185929763505cb0371",
"body": "Summary\n===\n<!--\n- For expectations after PR approval and merge, see the CONTRIBUTING.md\nfile\n-->\n\nAdds additional context for contract best practices as a\nnon-deterministic way of discouraging behaviors\n\nChanges\n---\n- Test system, not contract\n- Validate shape, not business logic to prevent duplication down stream\n\nVideos/screenshots\n---",
"is_bot": false,
"headline": "fix(ai-rules): update ai-rules for contract best practices (#773)",
"author_name": "Clayton Winders",
"author_login": "cbh-clayton",
"committed_at": "2026-07-14T17:00:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41c3c2998ffa74d33869f17a506a104566e4dca9",
"body": null,
"is_bot": false,
"headline": "chore(release): sync package versions [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-14T02:00:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b1d4ed1febbb253338ff8d9d48bae43c02b9dc6",
"body": null,
"is_bot": true,
"headline": "chore(deps): lock file maintenance",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-14T01:50:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09464251cda492f8a8d77713638aa5dcf24bf815",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency vite to v8.1.4",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-14T01:44:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfeca19fb5d74afa79781008081dfd2aa7c7d6c5",
"body": "….207",
"is_bot": true,
"headline": "chore(deps): update dependency @anthropic-ai/claude-agent-sdk to v0.3…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-13T22:59:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85035e42dd088abadfc053999696dbc803a7caf7",
"body": "- project: background-jobs-adapter 2.5.33\n\n- project: playwright-reporter-llm 2.5.10\n\n- project: execution-context 2.5.33\n\n- project: json-api-nestjs 2.8.10\n\n- project: contract-core 4.0.2\n\n- project: eslint-config 7.7.33\n\n- project: eslint-plugin 2.5.33\n\n- project: notifications 3.9.10\n\n- project: \n[…]\n.4.7\n\n- project: nx-plugin 2.5.33\n\n- project: ai-rules 2.37.1\n\n- project: json-api 2.5.33\n\n- project: embedex 2.6.10\n\n- project: util-ts 5.9.10\n\n- project: config 2.7.10\n\n- project: core-plugin 3.16.2",
"is_bot": false,
"headline": "chore(release): publish [skip actions]",
"author_name": "GitHub Bot",
"author_login": null,
"committed_at": "2026-07-12T02:09:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "81e537ea127d71fb2ca02f7a7b36b180eecbf1d4",
"body": null,
"is_bot": true,
"headline": "fix(deps): update nest monorepo to v11.1.28",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-12T02:02:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37762303149cf4dfabf7142f01896e078fa8a851",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency promptfoo to v0.121.18",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-12T01:56:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1a71773c777120d6a91c7816db9874ddf94c9ea4",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency jscpd to v5.0.12",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-12T01:52:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31da378ae6509d606169035e924c5cbbfc326dda",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v24.13.3",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-12T01:47:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac7cf16f355e681127e93ab65caee4b9a0062574",
"body": null,
"is_bot": true,
"headline": "chore(deps): update dependency @commitlint/cli to v21.2.1",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2026-07-12T01:42:21Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 1928,
"latest_release_at": "2026-07-22T16:11:42Z",
"latest_release_tag": "config@2.9.3",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 51,
"days_since_latest_release": 5,
"mean_days_between_releases": 0.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "@clipboard-health/config",
"exists": true,
"license": "MIT",
"keywords": [
"config",
"typescript",
"zod"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/config",
"is_deprecated": false,
"latest_version": "2.9.3",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 455,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 5270,
"first_published_at": "2024-10-28T19:27:24.144000Z",
"latest_published_at": "2026-07-22T16:12:26.094000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "embedex",
"exists": true,
"license": "MIT",
"keywords": [
"cli",
"documentation",
"embed",
"examples",
"snippets",
"typedoc",
"typescript"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/embedex",
"is_deprecated": false,
"latest_version": "2.8.2",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 396,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 2,
"monthly_downloads": 4688,
"first_published_at": "2024-11-18T22:48:37.025000Z",
"latest_published_at": "2026-07-21T01:33:20.722000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@clipboard-health/ai-rules",
"exists": true,
"license": "MIT",
"keywords": [
"ai",
"best-practices",
"claude",
"coding-assistant",
"coding-standards",
"copilot",
"cursor",
"nestjs",
"react",
"typescript"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/ai-rules",
"is_deprecated": false,
"latest_version": "2.44.0",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 448,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 33926,
"first_published_at": "2025-10-13T18:06:13.581000Z",
"latest_published_at": "2026-07-21T02:49:54.507000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@clipboard-health/json-api",
"exists": true,
"license": "MIT",
"keywords": [
"api",
"json-api",
"json:api",
"jsonapi",
"rest",
"typescript"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/json-api",
"is_deprecated": false,
"latest_version": "2.7.3",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 428,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 21019,
"first_published_at": "2024-08-23T13:15:43.558000Z",
"latest_published_at": "2026-07-21T01:33:20.214000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@clipboard-health/analytics",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/analytics",
"is_deprecated": false,
"latest_version": "2.9.3",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 388,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 18210,
"first_published_at": "2025-08-06T18:19:39.497000Z",
"latest_published_at": "2026-07-22T16:12:21.623000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "@clipboard-health/clearance",
"exists": true,
"license": "MIT",
"keywords": [
"agent",
"allowlist",
"egress",
"proxy",
"safehouse",
"sandbox"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/clearance",
"is_deprecated": false,
"latest_version": "1.6.3",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 51,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 2562,
"first_published_at": "2026-05-12T19:13:03.386000Z",
"latest_published_at": "2026-07-21T01:33:17.275000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@clipboard-health/nx-plugin",
"exists": true,
"license": "MIT",
"keywords": [
"generator",
"library",
"node",
"nx",
"plugin",
"typescript"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/nx-plugin",
"is_deprecated": false,
"latest_version": "2.7.2",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 432,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 11426,
"first_published_at": "2024-08-06T12:19:54.227000Z",
"latest_published_at": "2026-07-21T01:33:17.664000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@clipboard-health/phone-number",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@clipboard-health/phone-number",
"is_deprecated": false,
"latest_version": "2.9.3",
"repository_url": "https://github.com/ClipboardHealth/core-utils",
"versions_count": 377,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 4,
"monthly_downloads": 22770,
"first_published_at": "2025-09-12T18:44:54.752000Z",
"latest_published_at": "2026-07-22T16:12:16.385000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 9,
"stars": 66,
"watchers": 16,
"fork_history": {
"days": [
{
"date": "2024-11-01",
"count": 1
},
{
"date": "2025-02-25",
"count": 1
},
{
"date": "2025-08-23",
"count": 1
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-28",
"count": 1
},
{
"date": "2026-05-14",
"count": 1
},
{
"date": "2026-05-16",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-31",
"count": 1
}
],
"complete": true,
"collected": 9,
"total_forks": 9
},
"star_history": null,
"open_issues_and_prs": 7
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"packages/ai-rules/tsconfig.json",
"packages/analytics/tsconfig.json",
"packages/background-jobs-adapter/tsconfig.json",
"packages/clearance/tsconfig.json",
"packages/config/tsconfig.json",
"packages/contract-core/tsconfig.json",
"packages/embedex/tsconfig.json",
"packages/eslint-config/tsconfig.json",
"packages/eslint-plugin/tsconfig.json",
"packages/example-nestjs/tsconfig.json",
"packages/execution-context/tsconfig.json",
"packages/json-api-nestjs/tsconfig.json",
"packages/json-api/tsconfig.json",
"packages/notifications/tsconfig.json",
"packages/nx-plugin/tsconfig.json",
"packages/oxlint-config/tsconfig.json",
"packages/phone-number/tsconfig.json",
"packages/playwright-flake-linter/tsconfig.json",
"packages/playwright-reporter-llm/tsconfig.json",
"packages/playwright-toolkit/tsconfig.json",
"packages/rules-engine/tsconfig.json",
"packages/testing-core/tsconfig.json",
"packages/util-ts/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 61021,
"source_files_sampled": 407,
"oversized_source_files": 1,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 4021
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 4,
"malicious_count": 0,
"assessed_package": "npm:@clipboard-health/config@2.9.3",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "tslib",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/phone-number",
"manifest": "packages/analytics/package.json",
"ecosystem": "npm",
"version_constraint": "2.9.3"
},
{
"name": "@clipboard-health/util-ts",
"manifest": "packages/analytics/package.json",
"ecosystem": "npm",
"version_constraint": "5.14.0"
},
{
"name": "@segment/analytics-node",
"manifest": "packages/analytics/package.json",
"ecosystem": "npm",
"version_constraint": "3.1.0"
},
{
"name": "tslib",
"manifest": "packages/analytics/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "tslib",
"manifest": "packages/background-jobs-adapter/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "tslib",
"manifest": "packages/clearance/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/util-ts",
"manifest": "packages/config/package.json",
"ecosystem": "npm",
"version_constraint": "5.14.0"
},
{
"name": "decamelize",
"manifest": "packages/config/package.json",
"ecosystem": "npm",
"version_constraint": "5.0.1"
},
{
"name": "dotenv",
"manifest": "packages/config/package.json",
"ecosystem": "npm",
"version_constraint": "17.4.2"
},
{
"name": "tslib",
"manifest": "packages/config/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "tslib",
"manifest": "packages/contract-core/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@commander-js/extra-typings",
"manifest": "packages/embedex/package.json",
"ecosystem": "npm",
"version_constraint": "15.0.0"
},
{
"name": "glob",
"manifest": "packages/embedex/package.json",
"ecosystem": "npm",
"version_constraint": "13.0.6"
},
{
"name": "tslib",
"manifest": "packages/embedex/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "yoctocolors-cjs",
"manifest": "packages/embedex/package.json",
"ecosystem": "npm",
"version_constraint": "2.1.3"
},
{
"name": "@typescript-eslint/utils",
"manifest": "packages/eslint-plugin/package.json",
"ecosystem": "npm",
"version_constraint": "8.62.0"
},
{
"name": "tslib",
"manifest": "packages/eslint-plugin/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/contract-core",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "*"
},
{
"name": "@clipboard-health/json-api-nestjs",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "*"
},
{
"name": "@nestjs/common",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "11.1.28"
},
{
"name": "@nestjs/core",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "11.1.28"
},
{
"name": "@nestjs/platform-express",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "11.1.28"
},
{
"name": "@nx/webpack",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "22.7.6"
},
{
"name": "@ts-rest/core",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "3.52.1"
},
{
"name": "@ts-rest/nest",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "3.52.1"
},
{
"name": "qs",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "6.15.3"
},
{
"name": "reflect-metadata",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "0.2.2"
},
{
"name": "zod",
"manifest": "packages/example-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "3.25.76"
},
{
"name": "tslib",
"manifest": "packages/execution-context/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/contract-core",
"manifest": "packages/json-api-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "*"
},
{
"name": "tslib",
"manifest": "packages/json-api-nestjs/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "tslib",
"manifest": "packages/json-api/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/background-jobs-adapter",
"manifest": "packages/notifications/package.json",
"ecosystem": "npm",
"version_constraint": "2.7.2"
},
{
"name": "@clipboard-health/phone-number",
"manifest": "packages/notifications/package.json",
"ecosystem": "npm",
"version_constraint": "2.9.3"
},
{
"name": "@clipboard-health/util-ts",
"manifest": "packages/notifications/package.json",
"ecosystem": "npm",
"version_constraint": "5.14.0"
},
{
"name": "@knocklabs/node",
"manifest": "packages/notifications/package.json",
"ecosystem": "npm",
"version_constraint": "1.34.0"
},
{
"name": "tslib",
"manifest": "packages/notifications/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "tslib",
"manifest": "packages/nx-plugin/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/util-ts",
"manifest": "packages/phone-number/package.json",
"ecosystem": "npm",
"version_constraint": "5.14.0"
},
{
"name": "tslib",
"manifest": "packages/phone-number/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "glob",
"manifest": "packages/playwright-flake-linter/package.json",
"ecosystem": "npm",
"version_constraint": "13.0.6"
},
{
"name": "tslib",
"manifest": "packages/playwright-flake-linter/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "typescript",
"manifest": "packages/playwright-flake-linter/package.json",
"ecosystem": "npm",
"version_constraint": "5.9.3"
},
{
"name": "tslib",
"manifest": "packages/playwright-reporter-llm/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
},
{
"name": "@clipboard-health/util-ts",
"manifest": "packages/playwright-toolkit/package.json",
"ecosystem": "npm",
"version_constraint": "5.14.0"
},
{
"name": "tslib",
"manifest": "packages/playwright-toolkit/package.json",
"ecosystem": "npm",
"version_constraint": "2.8.1"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 6,
"merged_prs": 656,
"open_issues": 1,
"closed_ratio": 0.667,
"closed_issues": 2,
"closed_unmerged_prs": 151
},
"bus_factor": 1,
"bot_contributors": 3,
"top_contributors": [
{
"type": "User",
"login": "therockstorm",
"commits": 305,
"avatar_url": "https://avatars.githubusercontent.com/u/1085683?v=4"
},
{
"type": "User",
"login": "cbh-clayton",
"commits": 26,
"avatar_url": "https://avatars.githubusercontent.com/u/185639173?v=4"
},
{
"type": "User",
"login": "superzadeh",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/11708669?v=4"
},
{
"type": "User",
"login": "ClipboardJason",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/132281010?v=4"
},
{
"type": "User",
"login": "pgbezerra",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/1123196?v=4"
},
{
"type": "User",
"login": "claude",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/81847?v=4"
},
{
"type": "User",
"login": "piotrj",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/9296?v=4"
},
{
"type": "User",
"login": "FelipePhilippCbh",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/140093394?v=4"
},
{
"type": "User",
"login": "stefanchrobot",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/8614029?v=4"
},
{
"type": "User",
"login": "iornstein",
"commits": 6,
"avatar_url": "https://avatars.githubusercontent.com/u/5554521?v=4"
}
],
"contributors_sampled": 41,
"top_contributor_share": 0.656
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml"
],
"has_docs_dir": false,
"linter_configs": [
".eslintrc.json"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"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": 4,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 1,
"reason": "Found 4/29 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 5 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 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": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 3,
"reason": "dependency not pinned by hash detected -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "19 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4065c8bd5acad21983c08fef2df2009308d22d26",
"ran_at": "2026-07-27T20:04:51Z",
"aggregate_score": 5.4,
"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-26T01:03:55Z",
"oldest_open_prs": [
{
"number": 771,
"created_at": "2026-07-12T01:30:35Z",
"last_comment_at": "2026-07-21T22:57:48Z",
"last_comment_author": "stale"
},
{
"number": 812,
"created_at": "2026-07-23T16:00:56Z",
"last_comment_at": "2026-07-23T16:03:25Z",
"last_comment_author": "nx-cloud"
},
{
"number": 813,
"created_at": "2026-07-25T00:49:37Z",
"last_comment_at": "2026-07-25T00:49:41Z",
"last_comment_author": "renovate"
},
{
"number": 814,
"created_at": "2026-07-25T00:49:57Z",
"last_comment_at": "2026-07-25T00:51:50Z",
"last_comment_author": "nx-cloud"
},
{
"number": 815,
"created_at": "2026-07-26T01:03:32Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 816,
"created_at": "2026-07-27T09:14:01Z",
"last_comment_at": "2026-07-27T09:15:15Z",
"last_comment_author": "nx-cloud"
}
],
"last_merged_pr_at": "2026-07-22T16:09:09Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 2,
"created_at": "2024-08-06T15:00:47Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ClipboardHealth/core-utils",
"host": "github.com",
"name": "core-utils",
"owner": "ClipboardHealth"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"security": 63,
"vitality": 99,
"community": 71,
"governance": 64,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 99,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"commits_last_year": 1928,
"human_commit_share": 0.64,
"days_since_last_push": 0,
"active_weeks_last_year": 51
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "51/52 weeks with commits",
"points": 35.3,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 51
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "1928 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 1928
}
}
],
"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": 100,
"latest_release_tag": "config@2.9.3",
"releases_from_tags": false,
"days_since_latest_release": 5,
"mean_days_between_releases": 0.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "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": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 71,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 43,
"inputs": {
"forks": 9,
"stars": 66,
"watchers": 16,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "66 stars",
"points": 29.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 66
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "9 forks",
"points": 7.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 9
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "16 watchers",
"points": 6.5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 16
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"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": 85,
"inputs": {
"packages": [
"@clipboard-health/config",
"embedex",
"@clipboard-health/ai-rules",
"@clipboard-health/json-api",
"@clipboard-health/analytics",
"@clipboard-health/clearance",
"@clipboard-health/nx-plugin",
"@clipboard-health/phone-number"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 119871
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "119,871 downloads/month across npm",
"points": 67.7,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 119871,
"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": "moderate",
"name": "Sustainability & Governance",
"value": 64,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 41,
"top_contributor_share": 0.656
},
"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 66% of commits",
"points": 7.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 66
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "41 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 41
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"merged_prs": 656,
"open_issues": 1,
"closed_issues": 2,
"issue_closed_ratio": 0.667,
"closed_unmerged_prs": 151
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "67% of issues closed",
"points": 31.2,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 67
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "656/807 decided PRs merged",
"points": 31.1,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 656,
"decided": 807
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 4/29 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"followers": 96,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "ClipboardHealth",
"public_repos": 8,
"account_age_days": 3352
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "96 followers of ClipboardHealth",
"points": 14.3,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 96,
"login": "ClipboardHealth"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "8 public repos, account ~9 yr old",
"points": 18.9,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 8
}
},
{
"code": "account_age_years",
"params": {
"years": 9
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@clipboard-health/config",
"embedex",
"@clipboard-health/ai-rules",
"@clipboard-health/json-api",
"@clipboard-health/analytics",
"@clipboard-health/clearance",
"@clipboard-health/nx-plugin",
"@clipboard-health/phone-number"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "8 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 8,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "455 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 455
}
}
],
"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": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"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": ".eslintrc.json",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json"
}
}
],
"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": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "8 out of 8 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://clipboardhealth.github.io/core-utils",
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://clipboardhealth.github.io/core-utils",
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 63,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 5.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 3,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "8 out of 8 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 4/29 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 5 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "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 not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 3",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "19 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@clipboard-health/config@2.9.3 runtime dependency closure — what installing the published package pulls in — 4 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@clipboard-health/config@2.9.3",
"assessed": 4
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 4,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 4,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 8
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 76,
"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.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 4021
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "64 of 64 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 64,
"sampled": 64
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"packages/ai-rules/tsconfig.json",
"packages/analytics/tsconfig.json",
"packages/background-jobs-adapter/tsconfig.json",
"packages/clearance/tsconfig.json",
"packages/config/tsconfig.json",
"packages/contract-core/tsconfig.json",
"packages/embedex/tsconfig.json",
"packages/eslint-config/tsconfig.json",
"packages/eslint-plugin/tsconfig.json",
"packages/example-nestjs/tsconfig.json",
"packages/execution-context/tsconfig.json",
"packages/json-api-nestjs/tsconfig.json",
"packages/json-api/tsconfig.json",
"packages/notifications/tsconfig.json",
"packages/nx-plugin/tsconfig.json",
"packages/oxlint-config/tsconfig.json",
"packages/phone-number/tsconfig.json",
"packages/playwright-flake-linter/tsconfig.json",
"packages/playwright-reporter-llm/tsconfig.json",
"packages/playwright-toolkit/tsconfig.json",
"packages/rules-engine/tsconfig.json",
"packages/testing-core/tsconfig.json",
"packages/util-ts/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.06,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.35
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".eslintrc.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "packages/ai-rules/tsconfig.json, packages/analytics/tsconfig.json, packages/background-jobs-adapter/tsconfig.json, packages/clearance/tsconfig.json, packages/config/tsconfig.json, packages/contract-core/tsconfig.json, packages/embedex/tsconfig.json, packages/eslint-config/tsconfig.json, packages/eslint-plugin/tsconfig.json, packages/example-nestjs/tsconfig.json, packages/execution-context/tsconfig.json, packages/json-api-nestjs/tsconfig.json, packages/json-api/tsconfig.json, packages/notifications/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/oxlint-config/tsconfig.json, packages/phone-number/tsconfig.json, packages/playwright-flake-linter/tsconfig.json, packages/playwright-reporter-llm/tsconfig.json, packages/playwright-toolkit/tsconfig.json, packages/rules-engine/tsconfig.json, packages/testing-core/tsconfig.json, packages/util-ts/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "packages/ai-rules/tsconfig.json, packages/analytics/tsconfig.json, packages/background-jobs-adapter/tsconfig.json, packages/clearance/tsconfig.json, packages/config/tsconfig.json, packages/contract-core/tsconfig.json, packages/embedex/tsconfig.json, packages/eslint-config/tsconfig.json, packages/eslint-plugin/tsconfig.json, packages/example-nestjs/tsconfig.json, packages/execution-context/tsconfig.json, packages/json-api-nestjs/tsconfig.json, packages/json-api/tsconfig.json, packages/notifications/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/oxlint-config/tsconfig.json, packages/phone-number/tsconfig.json, packages/playwright-flake-linter/tsconfig.json, packages/playwright-reporter-llm/tsconfig.json, packages/playwright-toolkit/tsconfig.json, packages/rules-engine/tsconfig.json, packages/testing-core/tsconfig.json, packages/util-ts/tsconfig.json, tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "6 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 6,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "35 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 35,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 61021,
"source_files_sampled": 407,
"oversized_source_files": 1
},
"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": "1/407 source files over 60KB",
"points": 54.9,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 407,
"oversized": 1
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"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-27T20:05:13.323623Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/ClipboardHealth/core-utils.svg",
"full_name": "ClipboardHealth/core-utils",
"license_state": "standard",
"license_spdx": "MIT"
}