公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-27 16:55 UTC

smoothbricks / codebase

The SmoothBricks monorepo

Rust · TypeScript未检测到许可证★ 0 星标⑂ 0 复刻始于 2025年6月在 GitHub 上查看 ↗

smoothbricks/codebase 的健康指数为 100 分中的 56 分,处于「中等」区间。 其得分最高的类别是Vitality(90/100),最低的是Community & Adoption(17/100)。 最近一次更新在 5 天前。 近期的大部分工作由 1 位贡献者完成。

56
总分 / 100
中等

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

56
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

2 关注者7 个公开仓库始于 2023年9月

该仓库由组织支持——共同承担、可问责的托管责任,可延续于任何单一维护者之后。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
npm@smoothbricks/cli0.10.52,015236 天前
npm@smoothbricks/lmao0.2.387496 天前
npm@smoothbricks/time0.1.447256 天前
npm@smoothbricks/money0.1.682576 天前
npm@smoothbricks/columine0.1.564766 天前
npm@smoothbricks/duration0.1.448156 天前
npm@smoothbricks/lmao-ttsc0.1.854946 天前
npm@smoothbricks/nx-plugin0.3.41,036136 天前

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

90优秀 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 5 天前
20.1/36提交节奏 — 52 周中有 29 周有提交
18/18提交量 — 最近一年 1,389 次提交
10/10OpenSSF Scorecard:Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
所用输入
commits_last_year1,389
human_commit_share0.96
days_since_last_push5
active_weeks_last_year29

发布纪律

100优秀
评分方式
27/27有发布版本 — 已发布 100 个发布版本
36/36发布时效 — 最近一次发布版本于 6 天前
27/27发布节奏 — 约每 0 天发布一次
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count100
latest_release_tagnx-plugin@0.3.4
releases_from_tags
days_since_latest_release6
mean_days_between_releases0
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

项目是否拥有用户、下载量与关注度,并具备欢迎贡献者参与的配置?

17危急 · 占总体的 18%
评分方式
0/60星标 — 0 个星标
0/25复刻 — 0 个复刻
0/15关注者 — 0 位关注者
所用输入
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
评分方式
0/22.5README
0/22.5许可证 — 未检测到许可证文件
0/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
51.2/80月度下载量 — npm 合计每月 6,899 次下载
0/20注册表被依赖数 — 该生态系统不报告此项
所用输入
packages@smoothbricks/cli, @smoothbricks/lmao, @smoothbricks/time, @smoothbricks/money, @smoothbricks/columine, @smoothbricks/duration, @smoothbricks/lmao-ttsc, @smoothbricks/nx-plugin
dependents
ecosystemsnpm
total_downloads
monthly_downloads6,899
已排除计分(无数据或不适用):注册表被依赖数。 其余权重已重新归一化。

可持续性与治理

项目能否在其成员之外延续——巴士系数、响应能力、由谁支持,以及软件包的维护状况?

56中等 · 占总体的 24%
评分方式
9/54巴士系数 — 1 位贡献者贡献了半数提交
1.2/22.5提交分布 — 头号贡献者编写了 95% 的提交
5.4/13.5贡献者广度 — 4 位贡献者
6/10OpenSSF Scorecard:Contributors — project has 2 contributing companies or organizations -- score normalized to 6
所用输入
bus_factor1
contributors_sampled4
top_contributor_share0.946
评分方式
0/46.8议题解决 — 没有议题或无数据
38.2/38.3PR 接受 — 已裁定的 PR 中 6/6 已合并
0/15OpenSSF Scorecard:Code-Review — Found 0/1 approved changesets -- score normalized to 0
所用输入
merged_prs6
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
已排除计分(无数据或不适用):议题解决。 其余权重已重新归一化。
评分方式
30/30所有权背书 — 组织持有
0/20已验证域名
3.4/25所有者影响力 — smoothbricks 有 2 位关注者
12.4/25既往记录 — 7 个公开仓库,账户约 2 年
所用输入
followers2
owner_typeOrganization
is_verified
owner_loginsmoothbricks
public_repos7
account_age_days1,056
评分方式
25/25已发布且可解析 — npm 上有 8 个软件包
35/35发布时效 — 最近一次发布于 6 天前
20/20版本历史 — 23 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packages@smoothbricks/cli, @smoothbricks/lmao, @smoothbricks/time, @smoothbricks/money, @smoothbricks/columine, @smoothbricks/duration, @smoothbricks/lmao-ttsc, @smoothbricks/nx-plugin
ecosystemsnpm
any_deprecated
min_days_since_publish6

工程质量

基础的工程与文档实践是否到位?

62中等 · 占总体的 20%

工程实践

90优秀
评分方式
24/24CI 工作流 — 3 个工作流
24/24存在测试
16/16Linter 配置 — biome.json
0/9.6Pre-commit 钩子
6.4/6.4.editorconfig
20/20OpenSSF Scorecard:CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config

文档

20危急
评分方式
0/30README
0/25文档目录
0/15文档 / 主页站点
10/10仓库描述
0/10主题标签
10/10Wiki
所用输入
topics
has_wiki
homepage
has_readme
has_docs_dir
has_description

安全

可见的安全与供应链实践是否稳固,且不存在未解决的高风险司法辖区暴露?

46存在风险 · 占总体的 16%

安全态势

37存在风险
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2.5/2.5CI-Tests — 1 out of 1 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/1 approved changesets -- score normalized to 0
1.5/2.5Contributors — project has 2 contributing companies or organizations -- score normalized to 6
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
5/5Fuzzing — project is fuzzed
0/2.5许可证 — license file not detected
7.5/7.5Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — 无数据
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 23 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3.7
已排除计分(无数据或不适用):packaging, signed_releases。 其余权重已重新归一化。
评分方式
35/35直接依赖不含已知公告 — 没有直接依赖携带已知公告
7.2/25间接依赖不含已知公告 — 2 个受影响:axios 1.16.1 (high 8.2), brace-expansion 5.0.6 (high 7.5)
40/40没有长期未处理的公告 — 没有公告公开超过 90 天
所用输入
sourceosv
advisories12
affected_packages2
assessed_packages348
unassessed_packages0
affected_by_severityhigh 2
direct_affected_packages0
比对的是 npm:@smoothbricks/cli@0.10.5 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 348 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

79良好 · 占总体的 0%
评分方式
45/45代理指令 — AGENTS.md, CLAUDE.md, packages/CLAUDE.md, packages/cowshed/docs/agents.md
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 96 次人类提交中有 96 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share1
agent_instruction_filesAGENTS.md, CLAUDE.md, packages/CLAUDE.md, packages/cowshed/docs/agents.md
agent_instruction_max_bytes51,885
评分方式
18/18一条命令的引导启动 — packages/columine/justfile, packages/lmao-rs/justfile
22/22自动化测试
11/11Lint / 格式化配置 — biome.json
11/11静态类型检查 — packages/arrow-builder/tsconfig.json, packages/cli/tsconfig.json, packages/columine/src/tsconfig.json, packages/columine/tsconfig.json, packages/cowshed/tsconfig.json, packages/duration/tsconfig.json, packages/lmao-expo-benchmark/tsconfig.json, packages/lmao-inspector/tsconfig.json, packages/lmao-ttsc/examples/tsconfig.json, packages/lmao-ttsc/tsconfig.json, packages/lmao/tsconfig.json, packages/money/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/opencode-entangled/tsconfig.json, packages/statebus-core/tsconfig.json, packages/statebus-react/tsconfig.json, packages/time/tsconfig.json, packages/validation/tsconfig.json, targets/lmao-docs/tsconfig.json, tsconfig.json
10/10可复现环境 — Nix, lockfile
10/10已体现的代理实践 — 最近 100 次提交中有 40 次由代理编写或署名代理
0/8自动化维护 — 未观察到自动依赖更新
0/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
所用输入
has_nix
has_tests
lockfilesCargo.lock
has_dockerfile
typed_language
bootstrap_filespackages/columine/justfile, packages/lmao-rs/justfile
has_devcontainer
has_linter_config
typecheck_configspackages/arrow-builder/tsconfig.json, packages/cli/tsconfig.json, packages/columine/src/tsconfig.json, packages/columine/tsconfig.json, packages/cowshed/tsconfig.json, packages/duration/tsconfig.json, packages/lmao-expo-benchmark/tsconfig.json, packages/lmao-inspector/tsconfig.json, packages/lmao-ttsc/examples/tsconfig.json, packages/lmao-ttsc/tsconfig.json, packages/lmao/tsconfig.json, packages/money/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/opencode-entangled/tsconfig.json, packages/statebus-core/tsconfig.json, packages/statebus-react/tsconfig.json, packages/time/tsconfig.json, packages/validation/tsconfig.json, targets/lmao-docs/tsconfig.json, tsconfig.json
agent_commit_share0.4
toolchain_manifestspackages/columine/Cargo.toml, packages/columine/crates/columine-arrow/Cargo.toml, packages/columine/crates/columine-ep-wasm/Cargo.toml, packages/columine/crates/columine-event-processor/Cargo.toml, packages/columine/crates/columine-parsing/Cargo.toml, packages/columine/crates/columine-types/Cargo.toml, packages/columine/crates/columine-vm/Cargo.toml, packages/columine/crates/columine-wasm/Cargo.toml, packages/cowshed/Cargo.toml, packages/cowshed/crates/cowshed-cli/Cargo.toml, packages/cowshed/crates/cowshed-core/Cargo.toml, packages/cowshed/crates/cowshed-escape-tests/Cargo.toml, packages/cowshed/crates/cowshed-gateway/Cargo.toml, packages/cowshed/crates/cowshed-napi/Cargo.toml, packages/lmao-rs/Cargo.toml, packages/lmao-rs/crates/lmao-arena/Cargo.toml, packages/lmao-rs/crates/lmao-arrow/Cargo.toml, packages/lmao-rs/crates/lmao-core/Cargo.toml, packages/lmao-rs/crates/lmao-macros/Cargo.toml, packages/lmao-rs/crates/lmao-query/Cargo.toml, packages/lmao-rs/crates/lmao-timestamp-proof/Cargo.toml, packages/lmao-rs/crates/lmao-wasm/Cargo.toml, packages/lmao-ttsc/plugin/go.mod
dependency_bot_commit_share0
评分方式
45/45可类型检查的代码 — Rust(静态类型)
53.4/55可控的文件大小 — 采样的 734 个源文件中有 22 个超过 60KB
所用输入
primary_languageRust
largest_source_bytes196,566
source_files_sampled734
oversized_source_files22

机器可读接口

40存在风险
评分方式
0/40API 模式(OpenAPI/GraphQL/proto)
0/20MCP 服务器
40/40可运行示例 — examples
所用输入
example_dirsexamples
has_mcp_signal
api_schema_files

关键数据

0GitHub 星标
4贡献者
1,389最近 12 个月提交数
5距最近推送天数
100发布版本数
1巴士系数(bus factor)
0开放议题
npm软件包生态系统数

数据采集警告

  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

更多细节

OpenSSF Scorecard 3.7 / 10
3.7综合

来自开源项目 OpenSSF Scorecard 的独立、工具无关的安全评估。每项检查奖励的是安全实践本身,而非特定供应商的工具。Scorecard 无法判定的检查项标记为 不适用,并从安全评分中剔除(绝不按零分计)。Scorecard v5.5.0 · 2026-07-27 16:54 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
10CI-Tests1 out of 1 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/1 approved changesets -- score normalized to 0
6Contributorsproject has 2 contributing companies or organizations -- score normalized to 6
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
10Fuzzingproject is fuzzed
0Licenselicense file not detected
10Maintained30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
不适用Packagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities23 existing vulnerabilities detected
直接依赖 53
注册表软件包版本约束清单文件
npm@smoothbricks/cliworkspace:*tooling/package.json
npm@uwdata/flechette^2.3.0packages/arrow-builder/package.json
npmtslib^2.8.1packages/arrow-builder/package.json
npm@arethetypeswrong/core^0.18.2packages/cli/package.json
npm@prettier/sync^0.6.1packages/cli/package.json
npm@smoothbricks/nx-pluginworkspace:*packages/cli/package.json
npm@smoothbricks/validationworkspace:*packages/cli/package.json
npmcommander^14.0.3packages/cli/package.json
npmprettier^3.6.1packages/cli/package.json
npmpublint^0.3.18packages/cli/package.json
npmsemver^7.7.4packages/cli/package.json
npmsherif^1.11.1packages/cli/package.json
npmtoml-eslint-parser^1.0.3packages/cli/package.json
npmtslib^2.8.1packages/cli/package.json
npmtypia13.1.19packages/cli/package.json
npmtypia13.1.19packages/cowshed/package.json
npmtslib^2.8.1packages/duration/package.json
npmeslint-friendly-formatter^4.0.1packages/eslint-stdout/package.json
npm@expo/metro-runtime57.0.3packages/lmao-expo-benchmark/package.json
npm@smoothbricks/lmaoworkspace:*packages/lmao-expo-benchmark/package.json
npmexpo57.0.4packages/lmao-expo-benchmark/package.json
npmfast-text-encoding1.0.6packages/lmao-expo-benchmark/package.json
npmreact19.2.3packages/lmao-expo-benchmark/package.json
npmreact-dom19.2.3packages/lmao-expo-benchmark/package.json
npmreact-native0.86.0packages/lmao-expo-benchmark/package.json
npmreact-native-get-random-values2.0.0packages/lmao-expo-benchmark/package.json
npmreact-native-web0.21.2packages/lmao-expo-benchmark/package.json
npm@duckdb/duckdb-wasm1.33.1-dev20.0packages/lmao-inspector/package.json
npm@uwdata/flechette^2.3.0packages/lmao-inspector/package.json
npm@ttsc/unplugin0.19.3packages/lmao-ttsc/package.json
npmttsc0.19.3packages/lmao-ttsc/package.json
npmtypescript^6.0.3packages/lmao-ttsc/package.json
npm@msgpack/msgpack^3.1.3packages/lmao/package.json
npm@neophi/sieve-cache^1.5.0packages/lmao/package.json
npm@smoothbricks/arrow-builderworkspace:*packages/lmao/package.json
npm@smoothbricks/validationworkspace:*packages/lmao/package.json
npm@uwdata/flechette^2.3.0packages/lmao/package.json
npmtslib^2.8.1packages/lmao/package.json
npmtypia13.1.19packages/lmao/package.json
npmtslib^2.8.1packages/money/package.json
npm@nx/js23.1.0packages/nx-plugin/package.json
npmnx23.1.0packages/nx-plugin/package.json
npmtslib^2.8.1packages/nx-plugin/package.json
npm@opencode-ai/plugin^1.3.5packages/opencode-entangled/package.json
npmfenceparser^2.2.0packages/opencode-entangled/package.json
npmtypia13.1.19packages/opencode-entangled/package.json
npm@tldraw/state^3.15.5packages/statebus-core/package.json
npmtslib^2.8.1packages/statebus-core/package.json
npm@smoothbricks/statebus-coreworkspace:*packages/statebus-react/package.json
npm@tldraw/state^3.15.5packages/statebus-react/package.json
npm@tldraw/state-react^3.15.5packages/statebus-react/package.json
npmtslib^2.8.1packages/statebus-react/package.json
npmtslib^2.8.1packages/time/package.json
全部依赖 未采集

本报告未能采集到解析后的依赖集合:GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

依赖安全公告 2

安装 npm:@smoothbricks/cli@0.10.5 会引入 348 个包(直接与传递):其中 2 个存在已知公告,0 个为直接依赖。

软件包版本关系严重程度公告数修复版本
axios1.16.1间接101.18.0
brace-expansion5.0.6间接25.0.8

公告表示依赖图中记录的版本落入某条公告的受影响范围。可达性未经分析,且依赖图包含开发与测试的版本固定——某项发现可能只涉及工具链而非交付的软件。

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 14884,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "Go": 235028,
        "CSS": 3945,
        "MDX": 144484,
        "Nix": 6613,
        "Just": 5320,
        "Rust": 4853904,
        "Astro": 1116,
        "Shell": 19023,
        "JavaScript": 11779,
        "TypeScript": 4347751
      },
      "pushed_at": "2026-07-22T11:06:39Z",
      "created_at": "2025-06-21T10:08:09Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-22T10:55:19Z",
      "description": "The SmoothBricks monorepo",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": "Rust",
      "significant_languages": [
        "Rust",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://smoothbricks.dev",
      "name": "SmoothBricks",
      "type": "Organization",
      "login": "smoothbricks",
      "company": null,
      "location": null,
      "followers": 2,
      "avatar_url": "https://avatars.githubusercontent.com/u/144062606?v=4",
      "created_at": "2023-09-04T19:52:50Z",
      "is_verified": null,
      "public_repos": 7,
      "account_age_days": 1056
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "nx-plugin@0.3.4",
          "kind": "other",
          "published_at": "2026-07-20T22:47:15Z"
        },
        {
          "tag": "cli@0.10.5",
          "kind": "other",
          "published_at": "2026-07-20T22:47:13Z"
        },
        {
          "tag": "validation@0.1.4",
          "kind": "other",
          "published_at": "2026-07-20T18:30:22Z"
        },
        {
          "tag": "time@0.1.4",
          "kind": "other",
          "published_at": "2026-07-20T18:30:20Z"
        },
        {
          "tag": "opencode-entangled@0.1.4",
          "kind": "other",
          "published_at": "2026-07-20T18:30:18Z"
        },
        {
          "tag": "nx-plugin@0.3.3",
          "kind": "other",
          "published_at": "2026-07-20T18:30:16Z"
        },
        {
          "tag": "money@0.1.6",
          "kind": "other",
          "published_at": "2026-07-20T18:30:13Z"
        },
        {
          "tag": "lmao-ttsc@0.1.8",
          "kind": "other",
          "published_at": "2026-07-20T18:30:11Z"
        },
        {
          "tag": "lmao-inspector@0.1.8",
          "kind": "other",
          "published_at": "2026-07-20T18:30:09Z"
        },
        {
          "tag": "lmao@0.2.3",
          "kind": "other",
          "published_at": "2026-07-20T18:30:07Z"
        },
        {
          "tag": "duration@0.1.4",
          "kind": "other",
          "published_at": "2026-07-20T18:30:04Z"
        },
        {
          "tag": "columine@0.1.5",
          "kind": "other",
          "published_at": "2026-07-20T18:30:02Z"
        },
        {
          "tag": "cli@0.10.4",
          "kind": "other",
          "published_at": "2026-07-20T18:29:59Z"
        },
        {
          "tag": "arrow-builder@0.1.5",
          "kind": "other",
          "published_at": "2026-07-20T18:29:57Z"
        },
        {
          "tag": "validation@0.1.3",
          "kind": "other",
          "published_at": "2026-07-17T00:01:30Z"
        },
        {
          "tag": "time@0.1.3",
          "kind": "other",
          "published_at": "2026-07-17T00:01:28Z"
        },
        {
          "tag": "opencode-entangled@0.1.3",
          "kind": "other",
          "published_at": "2026-07-17T00:01:25Z"
        },
        {
          "tag": "nx-plugin@0.3.2",
          "kind": "other",
          "published_at": "2026-07-17T00:01:23Z"
        },
        {
          "tag": "money@0.1.5",
          "kind": "other",
          "published_at": "2026-07-17T00:01:20Z"
        },
        {
          "tag": "lmao-ttsc@0.1.7",
          "kind": "other",
          "published_at": "2026-07-17T00:01:18Z"
        },
        {
          "tag": "lmao-inspector@0.1.7",
          "kind": "other",
          "published_at": "2026-07-17T00:01:15Z"
        },
        {
          "tag": "lmao@0.2.2",
          "kind": "other",
          "published_at": "2026-07-17T00:01:13Z"
        },
        {
          "tag": "duration@0.1.3",
          "kind": "other",
          "published_at": "2026-07-17T00:01:11Z"
        },
        {
          "tag": "columine@0.1.4",
          "kind": "other",
          "published_at": "2026-07-17T00:01:09Z"
        },
        {
          "tag": "cli@0.10.3",
          "kind": "other",
          "published_at": "2026-07-17T00:01:06Z"
        },
        {
          "tag": "arrow-builder@0.1.4",
          "kind": "other",
          "published_at": "2026-07-17T00:01:04Z"
        },
        {
          "tag": "validation@0.1.2",
          "kind": "other",
          "published_at": "2026-07-16T18:15:34Z"
        },
        {
          "tag": "time@0.1.2",
          "kind": "other",
          "published_at": "2026-07-16T18:15:31Z"
        },
        {
          "tag": "opencode-entangled@0.1.2",
          "kind": "other",
          "published_at": "2026-07-16T18:15:27Z"
        },
        {
          "tag": "nx-plugin@0.3.1",
          "kind": "other",
          "published_at": "2026-07-16T18:15:24Z"
        },
        {
          "tag": "money@0.1.4",
          "kind": "other",
          "published_at": "2026-07-16T18:15:21Z"
        },
        {
          "tag": "lmao@0.2.1",
          "kind": "other",
          "published_at": "2026-07-16T18:15:19Z"
        },
        {
          "tag": "lmao-ttsc@0.1.6",
          "kind": "other",
          "published_at": "2026-07-16T18:15:16Z"
        },
        {
          "tag": "lmao-inspector@0.1.6",
          "kind": "other",
          "published_at": "2026-07-16T18:15:14Z"
        },
        {
          "tag": "duration@0.1.2",
          "kind": "other",
          "published_at": "2026-07-16T18:15:12Z"
        },
        {
          "tag": "columine@0.1.3",
          "kind": "other",
          "published_at": "2026-07-16T18:15:07Z"
        },
        {
          "tag": "cli@0.10.2",
          "kind": "other",
          "published_at": "2026-07-16T18:15:04Z"
        },
        {
          "tag": "arrow-builder@0.1.3",
          "kind": "other",
          "published_at": "2026-07-16T18:15:01Z"
        },
        {
          "tag": "nx-plugin@0.3.0",
          "kind": "other",
          "published_at": "2026-07-15T00:55:04Z"
        },
        {
          "tag": "cli@0.10.1",
          "kind": "other",
          "published_at": "2026-07-15T00:55:01Z"
        },
        {
          "tag": "cli@0.10.0",
          "kind": "other",
          "published_at": "2026-07-06T08:51:24Z"
        },
        {
          "tag": "cli@0.9.0",
          "kind": "other",
          "published_at": "2026-07-06T01:02:00Z"
        },
        {
          "tag": "cli@0.8.0",
          "kind": "other",
          "published_at": "2026-07-05T23:16:48Z"
        },
        {
          "tag": "money@0.1.3",
          "kind": "other",
          "published_at": "2026-07-05T13:20:32Z"
        },
        {
          "tag": "lmao-transformer@0.1.5",
          "kind": "other",
          "published_at": "2026-07-05T13:20:30Z"
        },
        {
          "tag": "lmao-inspector@0.1.5",
          "kind": "other",
          "published_at": "2026-07-05T13:20:28Z"
        },
        {
          "tag": "lmao@0.2.0",
          "kind": "other",
          "published_at": "2026-07-05T13:20:26Z"
        },
        {
          "tag": "cli@0.7.0",
          "kind": "other",
          "published_at": "2026-07-05T13:20:24Z"
        },
        {
          "tag": "cli@0.6.0",
          "kind": "other",
          "published_at": "2026-07-01T17:54:18Z"
        },
        {
          "tag": "cli@0.5.0",
          "kind": "other",
          "published_at": "2026-07-01T13:21:23Z"
        },
        {
          "tag": "money@0.1.2",
          "kind": "other",
          "published_at": "2026-06-30T02:03:45Z"
        },
        {
          "tag": "lmao-transformer@0.1.4",
          "kind": "other",
          "published_at": "2026-06-30T02:03:42Z"
        },
        {
          "tag": "lmao-inspector@0.1.4",
          "kind": "other",
          "published_at": "2026-06-30T02:03:39Z"
        },
        {
          "tag": "lmao@0.1.4",
          "kind": "other",
          "published_at": "2026-06-30T02:03:36Z"
        },
        {
          "tag": "columine@0.1.2",
          "kind": "other",
          "published_at": "2026-06-30T02:03:33Z"
        },
        {
          "tag": "arrow-builder@0.1.2",
          "kind": "other",
          "published_at": "2026-06-30T02:03:30Z"
        },
        {
          "tag": "cli@0.4.3",
          "kind": "other",
          "published_at": "2026-05-27T10:29:57Z"
        },
        {
          "tag": "nx-plugin@0.2.5",
          "kind": "other",
          "published_at": "2026-05-27T03:43:58Z"
        },
        {
          "tag": "cli@0.4.2",
          "kind": "other",
          "published_at": "2026-05-27T03:43:54Z"
        },
        {
          "tag": "cli@0.4.1",
          "kind": "other",
          "published_at": "2026-05-27T01:13:12Z"
        },
        {
          "tag": "nx-plugin@0.2.4",
          "kind": "other",
          "published_at": "2026-05-26T17:32:32Z"
        },
        {
          "tag": "cli@0.4.0",
          "kind": "other",
          "published_at": "2026-05-26T17:32:29Z"
        },
        {
          "tag": "nx-plugin@0.2.3",
          "kind": "other",
          "published_at": "2026-05-25T20:31:00Z"
        },
        {
          "tag": "cli@0.3.4",
          "kind": "other",
          "published_at": "2026-05-25T20:30:57Z"
        },
        {
          "tag": "nx-plugin@0.2.2",
          "kind": "other",
          "published_at": "2026-05-01T15:27:19Z"
        },
        {
          "tag": "cli@0.3.3",
          "kind": "other",
          "published_at": "2026-05-01T15:27:15Z"
        },
        {
          "tag": "cli@0.3.2",
          "kind": "other",
          "published_at": "2026-05-01T13:59:09Z"
        },
        {
          "tag": "nx-plugin@0.2.1",
          "kind": "other",
          "published_at": "2026-04-30T23:43:04Z"
        },
        {
          "tag": "cli@0.3.1",
          "kind": "other",
          "published_at": "2026-04-30T23:43:01Z"
        },
        {
          "tag": "nx-plugin@0.2.0",
          "kind": "other",
          "published_at": "2026-04-30T20:56:29Z"
        },
        {
          "tag": "lmao-transformer@0.1.3",
          "kind": "other",
          "published_at": "2026-04-30T20:56:26Z"
        },
        {
          "tag": "lmao-inspector@0.1.3",
          "kind": "other",
          "published_at": "2026-04-30T20:56:23Z"
        },
        {
          "tag": "lmao@0.1.3",
          "kind": "other",
          "published_at": "2026-04-30T20:56:20Z"
        },
        {
          "tag": "cli@0.3.0",
          "kind": "other",
          "published_at": "2026-04-30T20:56:16Z"
        },
        {
          "tag": "@smoothbricks/nx-plugin@0.1.0",
          "kind": "other",
          "published_at": "2026-04-29T22:44:34Z"
        },
        {
          "tag": "@smoothbricks/lmao@0.1.2",
          "kind": "other",
          "published_at": "2026-04-29T22:44:27Z"
        },
        {
          "tag": "@smoothbricks/lmao-transformer@0.1.2",
          "kind": "other",
          "published_at": "2026-04-29T22:44:24Z"
        },
        {
          "tag": "@smoothbricks/lmao-inspector@0.1.2",
          "kind": "other",
          "published_at": "2026-04-29T22:44:22Z"
        },
        {
          "tag": "@smoothbricks/cli@0.2.0",
          "kind": "other",
          "published_at": "2026-04-29T22:44:19Z"
        },
        {
          "tag": "eslint-stdout@1.1.2",
          "kind": "other",
          "published_at": "2026-04-29T20:03:12Z"
        },
        {
          "tag": "@smoothbricks/cli@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:36Z"
        },
        {
          "tag": "eslint-stdout@1.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:17Z"
        },
        {
          "tag": "@smoothbricks/validation@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:15Z"
        },
        {
          "tag": "@smoothbricks/time@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:12Z"
        },
        {
          "tag": "@smoothbricks/statebus-react@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:10Z"
        },
        {
          "tag": "@smoothbricks/statebus-core@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:07Z"
        },
        {
          "tag": "@smoothbricks/opencode-entangled@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:05Z"
        },
        {
          "tag": "@smoothbricks/money@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T18:00:02Z"
        },
        {
          "tag": "@smoothbricks/lmao@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:59Z"
        },
        {
          "tag": "@smoothbricks/lmao-transformer@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:57Z"
        },
        {
          "tag": "@smoothbricks/lmao-inspector@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:54Z"
        },
        {
          "tag": "@smoothbricks/duration@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:52Z"
        },
        {
          "tag": "@smoothbricks/columine@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:50Z"
        },
        {
          "tag": "@smoothbricks/arrow-builder@0.1.1",
          "kind": "other",
          "published_at": "2026-04-28T17:59:47Z"
        },
        {
          "tag": "eslint-stdout@1.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:35Z"
        },
        {
          "tag": "@smoothbricks/validation@0.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:34Z"
        },
        {
          "tag": "@smoothbricks/time@0.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:32Z"
        },
        {
          "tag": "@smoothbricks/statebus-react@0.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:31Z"
        },
        {
          "tag": "@smoothbricks/statebus-core@0.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:30Z"
        },
        {
          "tag": "@smoothbricks/opencode-entangled@0.1.0",
          "kind": "other",
          "published_at": "2026-04-28T01:54:28Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "79b7d844136790d41e25e78b365d55310109327a",
          "body": "Review feedback from Danny Wilson on the HTTP guide: the example op set\n`ctx.tag.route('/cart').status(200)` and re-promoted a requestId the\nhandler had supplied. Those are all facts of the HTTP boundary, and the\nop hardcoded a 200 before the outcome existed — so a failing request was\nrecorded as a \n[…]\nt fit. Composite is only for wanting several outputs at once.\n\nDocs build green — 55 pages, all internal links valid.\n\nReported-by: Danny Wilson\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): separate HTTP and domain responsibilities in the guides",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "95f3fdd6a875d1027d94641009e0bab08a695fe6",
          "body": "`CompositeTracerOptions<B>` carries `delegates: Tracer<B>[]`, which pins B\nto the op context being traced. The shared tracer options were built from\nthe loose default schema — `createTestTracerOptions()` without a type\nargument in the test, `new JsBufferStrategy()` in both examples — so\n`bufferStrat\n[…]\nite.\n\nVerified: typecheck clean, CompositeTracer test 5 pass, both examples\nstill emit the span tree and their Arrow/flush output, biome clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao): bind composite tracer options to the concrete log schema",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "76344196ebd8a1929691e360e687db5bd628059c",
          "body": "The stdout-and-Arrow pattern the examples and guides/convert-to-arrow.mdx\ndocument had no test — it was only exercised by two example scripts that\nCI never runs. CompositeTracer had no test file at all.\n\nCover the case that matters in practice: StdioTracer stacked with\nArrayQueueTracer behind one Co\n[…]\nthe stdio delegate from the\ncomposite turns 5 pass into 2 pass / 3 fail, failing exactly the three\nstdout assertions. Restored, back to 5 pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "test(lmao): cover stdio + ArrayQueue stacking via CompositeTracer",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3605b89faa187a5b4c115162e503217f0f3bec6e",
          "body": "The previous fix stopped the examples smuggling ctx.buffer out of the op,\nbut swapping StdioTracer for a retaining tracer traded away the printed\nspan tree. You don't have to choose: CompositeTracer fans a single trace\nout to several tracers, which is what its own JSDoc describes (\"multiple\noutputs \n[…]\nlete-example prints the tree and flushes 4 rows), biome clean,\ndocs build green — 55 pages, all internal links valid.\n\nReported-by: Danny Wilson\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao): show stdout and Arrow export from one trace run",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d72923e2b65d5c058bc4536ddb1f6a69bb624862",
          "body": "arrow-export.ts and complete-example.ts assigned `ctx.buffer` to a\nmodule-level `let` from inside a `defineOp` body, then read it after the\ntrace finished. That teaches the wrong model twice over: an op is a\nreusable definition that may run concurrently, so a shared variable\nraces and last-writer wi\n[…]\nte-example flushes 4 rows through the scheduler), biome clean,\ndocs build green — 55 pages, all internal links valid.\n\nReported-by: Danny Wilson\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao): stop examples smuggling ctx.buffer out of the op",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3376d4f5e3d6483eaca4df2df28c83c3c72979f0",
          "body": "Running the CMS indexes every page under `mdxPages` and writes its\ngit-native tracking fields (`id: vx-…`, `created`, `modified`) into the\nsource frontmatter, reflowing long `description` values to YAML block\nscalars along the way. This is Conloca working as designed, not a\nmigration step.\n\nCommitte\n[…]\ncontent-file diff is\nreviewable on its own. Starlight's docsSchema accepts the extra keys —\nbuild is green, 55 pages, all internal links valid.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(lmao-docs): record Conloca content IDs in docs frontmatter",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "25da594d36131562cd39ef42f93901370e1454fd",
          "body": "Wire @conloca/astro-cms into the docs site so the existing 55 Starlight\n.mdx pages are editable in a CMS, with Starlight still doing the\nrendering (sidebar, Pagefind search, link validation, llms.txt all\nunchanged).\n\nThe key piece is `content/sites.json`: `mdxPages` points Conloca at\nStarlight's doc\n[…]\n.js both 200, no unresolved-dependency\nwarnings, and the production build is unchanged — 55 pages, all internal\nlinks valid, GFM tables intact.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): integrate Conloca CMS for editing the Starlight docs",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ae77385f079d7b903835642a332bc33cb920ecf7",
          "body": "b528bb7b committed packages/lmao/.zig-cache — 17.9 MB of build artifacts\nincluding build_zcu.obj (9.6 MB), build.pdb (5.1 MB) and build.exe (3.6 MB).\nThese are regenerated by the zig build and should never have been tracked;\n.zig-cache had no .gitignore entry.\n\nUntrack them and add the ignore rule so they stay out.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(repo): untrack the zig build cache",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "12237798ba1dee92aa51109161c1208e1bbdb350",
          "body": "Astro 7 is out and the whole plugin chain supports it, so move the docs\nsite over:\n\n- astro ^6.2.1 -> ^7.1.3\n- @astrojs/starlight ^0.39.0 -> ^0.41.3 (requires Astro 7)\n- starlight-links-validator ^0.24.0 -> ^0.25.2\n- starlight-llms-txt ^0.10.0 -> ^0.11.0\n\nDrop remark-gfm: Astro 7 replaces the remark\n[…]\nsame as before), all\ninternal links valid, llms.txt/llms-full/llms-small regenerated,\nscroll-reveal script intact, inline whitespace preserved.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): upgrade to Astro 7 and Starlight 0.41",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ef38e42437d5baa84237224b783cf1b59d4f642a",
          "body": null,
          "is_bot": false,
          "headline": "fix(docs): correct command path for local development in README",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0bb5cfe0cef340c1a66d2cb44521806a6d54d83b",
          "body": null,
          "is_bot": false,
          "headline": "fix(docs): update commands in README for correct paths",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "71742069b75bc6688cddc8adc791a0b7f09ea546",
          "body": "…trategy\n\nThe latest main merge exposes the WebAssembly buffer strategy as a public\nsubpath (`@smoothbricks/lmao/wasm`), matching spec 01q moving the WASM buffer\nstrategy from a target contract to shipped. Reflect that in the docs:\n\n- architecture.mdx: drop the now-false \"not part of the public API \n[…]\ntegy` as a drop-in,\n  async-constructed alternative to `JsBufferStrategy`, plus the allocator /\n  trace-root primitives the subpath re-exports.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): document the public @smoothbricks/lmao/wasm buffer s…",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c3a0935219ffec3f03e1adbcd1477b132de413d4",
          "body": "- Created new timestamp file in .zig-cache/h/\n- Added build executable, PDB, and object files in .zig-cache/o/45207511f28cb38b6067da974b224340/\n- Introduced dependencies.zig file in .zig-cache/o/a9cfc9d8fc3d796eec03d5c3167c0979/ with empty packages and root_deps\n- Added several new binary files in .zig-cache/z/ for caching purposes",
          "is_bot": false,
          "headline": "Add initial build artifacts and dependencies for lmao package",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5666ce699405844fde300bc47f3f7e6860d12789",
          "body": "Drop the pointer to the internal specs/lmao/01o file (not part of the published\nsite) and write every transformation out with before -> after examples:\nsource-line injection, monomorphic span() lowering (+ bailouts), the\ndestructured-context rewrite, tag inlining (with bit-packed booleans / enum\nindices), and op capability/capacity hints, plus the legacy defineModule note.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): document the transformer's rewrites in full on the page",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1fdccc55669cc82c689183ecf4612e0381bdc21d",
          "body": "… API\n\nAfter merging main: the transformer shipped as the ttsc/Go plugin\n@smoothbricks/lmao-ttsc (createLmaoTransformer is gone) — rewrite transformer.mdx\nand swap the package-exports companion row; spanSync now takes a no-arg Op (not a\ncallback) — fix span-context.mdx; add the ./vocabulary/register/v1 and\n./span-buffer/aot/v1 subpaths; roadmap notes ttsc (§3 __ctx implemented), the\nunbuilt lmao-inspect CLI, and the in-progress Rust core.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): reconcile reference and roadmap with post-merge lmao…",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c21217b4ab3bffdd530fd9081d7a87664e789cf9",
          "body": "main's merged biome.json wraps long fluent `.tag()`/`.ok()` chains across lines;\nthese example files were formatted under the pre-merge config, so CI's\n`biome check packages/lmao` (the lmao:lint step) flagged them. Reformat via\n`biome check --write`. Verified: biome check + eslint packages/lmao/src both clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "style(lmao): wrap long fluent chains to satisfy biome",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "1ed7483e0978fbe3c3988365733944cc0dfda342",
          "body": "Websites/apps live in targets/. Move lmao-docs/ -> targets/lmao-docs/ (git-tracked\nrename of 68 files; nx config is all {projectRoot}-relative so needs no change) and\nswitch the root workspace glob from the explicit \"lmao-docs\" entry to \"targets/*\".\nAlso update the packages/lmao/README link (../../l\n[…]\nconciled (frozen-lockfile clean); nx discovers the project at\ntargets/lmao-docs and 'nx astro-html lmao-docs' is green (55 pages, links valid).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(lmao-docs): relocate app under targets/ per monorepo convention",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "eb17465c4b3889c9e4f3c86e8d980a11b0b3409b",
          "body": "The README only covered trace-testing (plus the Nx-generated stub). Replace it\nwith a complete overview: what LMAO is, install, quick start, core API\n(schema/defineOpContext/SpanContext/results), tracers, feature flags, persist &\nanalyze, a condensed trace-testing section, package exports, companion\n[…]\ns,\nand examples. Samples are grounded in the shipped API and the runnable examples.\nThe previous README is preserved verbatim as README-OLD.md.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao): rewrite package README as a full library overview",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ddb873449e4c10c38e8bee87c12ec72c09811348",
          "body": "ctx.span(...) returns a Result union, so the tutorial's ctx.ok({ valid:\nvalid.value, items: data.value.items }) would not typecheck when copied. Guard\neach with .success first. Also drop a needless querySelectorAll<HTMLElement>\ngeneric in ScrollReveal (Astro compiles script tags as TS, so it was harmless,\nbut the annotation is unnecessary).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao-docs): narrow Result before reading .value in the HTTP tutorial",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4194e69e2bb0b3291687197827854497208b4963",
          "body": "The example defined ops from one defineOpContext but built the StdioTracer from\na second, separate instance. Share one const opContext across defineOp and the\ntracer so they can't drift and per-context state is shared. Typechecks via\ntsconfig.test.json.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao): reuse a single op context in the fluent-result example",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "496d24a0ce6f109d9e2fdf3e0c580b7e30afafc3",
          "body": "After the Astro 5->6 upgrade, GFM was no longer applied through the default\nmarkdown pipeline in this Starlight setup, so every Markdown table rendered as\nliteral '| ... |' text (site-wide). Add remark-gfm explicitly via\nmarkdown.remarkPlugins and declare it as a direct dependency. Verified: tables\nnow emit real <table> elements across the docs and the build stays green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao-docs): restore GFM tables broken by the Astro 6 upgrade",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5547379fc0a82e45c08eee46904e3a3d6b71bf19",
          "body": "Move query engine, inspector, and transformer out of 'not shipped' into the\nshipped companion packages (lmao-inspector, lmao-transformer) and the partial\nCloudflare sink; keep AI-agent/MCP as the sole genuine roadmap item.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): reconcile roadmap with shipped companion packages",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e2dafad1452ba279e41ed306888afde1dac6dc87",
          "body": "Add ctx.spanSync (sync child span returning Result directly) and the\nuint64_value(bigint) log-entry writer across span-context, entry-types,\nmeasure-op-performance, and span-model. The writer is documented only on the\nlog chain, the sole public ctx surface that exposes it.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): document spanSync and the uint64_value writer",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "360f9d52a996041b0940a8b0e4ddaecf2ead9045",
          "body": "Add the @smoothbricks/lmao/cloudflare subpath to package-exports, the\nDiagnosticDrainTracer/ClassSplitTracer sink tracers to the tracers reference,\nand a diagnostic-sink guide section (Pipelines/Queues transports, billing vs\ndiagnostic lanes). Flagged partial: the collector service is still a design.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): document the Cloudflare trace sink",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "123e1449d23da7a98eccb7e7e39ec1d411d78862",
          "body": "Document the @smoothbricks/lmao-inspector (createQueryEngine, archive/stream\nsources) and @smoothbricks/lmao-transformer (createLmaoTransformer) companion\npackages, sourced from their package src + tests. Add reference index cards.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): add inspector and transformer reference pages",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e4ee29710a04e1cefb4d2e3370941d3d9cdf7c5e",
          "body": "exclude: [\"dist\"] silently overrode TypeScript's implicit default exclude\n(which always includes node_modules), so the \"**/*\" include glob was also\nroot-matching every file under lmao-docs/node_modules (1147 files) instead of\njust our own source. Add node_modules back to exclude explicitly.\n\nInvesti\n[…]\nsolved simultaneously in the dependency\ntree. Doesn't affect `nx astro-html` (Vite build, no full typecheck) and isn't\nsomething we introduced.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao-docs): exclude node_modules from tsconfig root-file discovery",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "d441239af908ab9e744fd7976fa0b391cd88c655",
          "body": "- Remove editLink and lastUpdated from Starlight config: no \"Edit page\" link\n  or \"Last updated\" stamp on any doc page or the splash home.\n- Replace the Phase-2 on-load card reveal with a scroll-triggered one\n  (ScrollReveal.astro, IntersectionObserver): below-the-fold card grids on the\n  home page \n[…]\nrds correctly start hidden below the fold and reveal when actually\nintersecting the viewport (checked via computed styles at both edge states).\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): drop edit/last-updated buttons, reveal cards on scroll",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "48f5eb6f3927a66f0231d62a35541f91fc1a42ad",
          "body": "Replace the lightly-edited starter README (which had a broken code fence) with\nan accurate one: the Astro 6 / Starlight 0.39 stack, Bun/Nx commands, the\nDiátaxis content structure and autogenerated sidebar, the amber theme + landing\nmotion, the llms.txt / links-validator plugins, and the deploy-time `site`\nplaceholder note.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): rewrite README for the actual site",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "606cdbc025b4e933d13661d4939ec5748d449870",
          "body": "Borrow Conloca's landing polish on LMAO's amber accent (not their cyan):\n- CSS keyframes (fadeIn, slideUp, blink, bounce)\n- hero entrance (staggered slideUp) + staggered card reveals\n- an amber blinking terminal cursor after the hero title\n- a soft amber glow and a slate-deep backdrop (#0a0b10) behi\n[…]\n.\nVerified via computed styles: amber accent preserved, slideUp active, slate bg\napplied; production build stays green (53 pages, links valid).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): animated landing with slate depth (keep amber accent)",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "86935e4011027b0cc56fd0a47c24f27542e27013",
          "body": "The Astro-6.0 MDX crash we hit earlier (options.components/plugins is not\niterable) is fixed in current Astro 6; this bumps the docs site off the Astro 5\npin onto the same stack Conloca runs in production.\n\n- astro ^5.15.9 -> ^6.2.1 (resolves 6.4.8), @astrojs/starlight ^0.34 -> ^0.39 (0.39.3)\n- star\n[…]\n34 raw-.ts workaround is moot)\n\nBuild green: 53 pages, all internal links valid, Pagefind + llms.txt routes intact,\nfrozen lockfile consistent.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(lmao-docs): upgrade to Astro 6 + Starlight 0.39",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "9e95f5173b0443d3b936c299351cd9f5a1c9cd2d",
          "body": "Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Potential fix for pull request finding",
          "author_name": "George Shanidze",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b0247bdb0af97410c985206e99ada8719d84256f",
          "body": "Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "Potential fix for pull request finding",
          "author_name": "George Shanidze",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e5647583dc7cda309694b7b8d61036f8e668d695",
          "body": "Rename the documentation-site folder from `docs/` to `lmao-docs/` to avoid\nconfusion with a generic docs folder. Reference updates:\n- root package.json `workspaces`: \"docs\" -> \"lmao-docs\"\n- lmao-docs/astro.config.mjs editLink baseUrl -> .../edit/main/lmao-docs/\n- lmao-docs/tsconfig.json include path\n[…]\nn.lock is reconciled to main's package versions plus the docs workspace deps\n(astro/starlight/etc.) and passes `bun install --frozen-lockfile`.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(lmao-docs): rename docs/ directory to lmao-docs/",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "352e0e1a32de9c83c6a28fd7615e55a76d490a83",
          "body": "The package examples were rewritten against the current API and are verified runnable,\nso the docs can safely reference them:\n- guides landing: add a \"Runnable examples\" section mapping each example to what it shows\n- convert-to-arrow: add a tip about capturing the root buffer via the public `ctx.buffer`\n  (as arrow-export.ts demonstrates)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao-docs): point readers to the now-runnable examples",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7028910d1ea9349754e6ed6ff6a86292179821a2",
          "body": "…check\n\nAll 7 example files used the removed `defineModule`/`createRequestContext` /\n`.ctx().make()` / `module.op()` API and were in no tsconfig (never typechecked or\nrun), so editors flagged them and they had drifted out of correctness.\n\n- Rewrite basic-usage, chaining-showcase, fluent-result-api, \n[…]\nxamples into tsconfig.test.json (rootDir \".\" + examples glob) so the inferred\n  typecheck target covers them and they can't silently rot again.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao): rewrite examples against defineOpContext + wire into type…",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bbb3c57d7390ec2301f3bc12544c2a87696a8946",
          "body": "Investigated replacing the DepsConfig/ResolvedDeps `Record<string, any>`\nplaceholders with the real types from opGroupTypes. Doing so makes SpanContext\nstructurally recursive (deps -> OpGroup -> op -> SpanContext -> deps), which breaks\nthe structural assignability used when passing a dependency's op\n[…]\nad-bearing, not laziness. Replace the terse comment with\nthe precise rationale and what a real fix (non-recursive resolved-deps view) requires.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao): explain why deps type placeholders must stay `any`",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "82b391b6badde0d456bb53fe3dd34f4908c8fc08",
          "body": "- tracer.ts: replace the user-ctx copy loop's `(ctx as Record<string, unknown>)[key]`\n  assignment with `Object.assign(ctx, resolvedUserCtx)` — fully typed, no cast.\n- traceContext.ts: replace `(value as Record<symbol, unknown>)[MARKER]` in the\n  isTraceContext brand guard with `Reflect.get(value, TRACE_CONTEXT_MARKER)`, which\n  takes a PropertyKey and needs no cast.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(lmao): remove Record casts in tracer/traceContext",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "b166104f97c1c3ef1a681c8ee92783165204966c",
          "body": "The hand-written guards (isRecord, isString, isNumber, isBoolean, isPrimitive,\nisPlainObject, isRecordOfPrimitives, isFeatureFlagDefinition, isEvaluationContext,\nisUsageContext) were unused anywhere in src and only blanket-exposed via\n`export *`. They duplicated @smoothbricks/validation's isRecord a\n[…]\nlly uses.\n\nBREAKING CHANGE: these guards are no longer exported from @smoothbricks/lmao.\nUse typia.is<T>() or @smoothbricks/validation instead.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "refactor(lmao)!: drop unused hand-written type guards from typeGuards.ts",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "875eb5e4af5aefb394c06e46fad4426eedc9bf9d",
          "body": "Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao-docs): set home page title to \"Home | LMAO\"",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c658c04a910384e6c06eae0868caab6c1182bbdc",
          "body": "Add a real public/favicon.ico (32x32, derived from the SVG mark) so the\nbrowser's automatic /favicon.ico request resolves instead of falling\nthrough to Starlight's dynamic route and warning in dev.\n\nDrop `// @ts-check` from astro.config.mjs: Starlight 0.34 ships raw .ts\nfor its `.` export, which trips an internal type error (utils/i18n.ts)\nunder this repo's TypeScript 6. The config is still typed via\ndefineConfig/starlight().\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix(lmao-docs): serve favicon.ico and quiet config type-check",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7b272cc03404c27c5f8fe6dcb83f4689c9fadeb6",
          "body": "Add the starlight-llms-txt plugin, emitting /llms.txt (curated index),\n/llms-full.txt, /llms-small.txt, and two context-scoped subsets\n(reference-only, start-here + tutorials). Surface them from a \"For LLMs\nand AI tools\" section on the homepage, and exclude the generated routes\nfrom the links valida\n[…]\nrlight 0.40 scaffold could not compile any MDX\n(options.components is not iterable). Revert the sidebar to the 0.34\nautogenerate form to match.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): generate downloadable llms.txt",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "7fd34b577a9ab28ad03599b1e31f2240b80f952a",
          "body": "Add custom-tracer, batch/fan-out, archive, structured-payload,\nop-performance, HTTP-framework, and custom-flag-evaluator guides; new\nfacts, archive, feature-flag-types, and advanced-internals reference\npages; lmao-vs-opentelemetry and tracer-lifecycle concepts. Expand\nexisting tracers, schema, errors, entry-types, and trace-testing pages.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs(lmao): expand guides and reference coverage",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "38fb90a0d62595351372df1c79c31e1b1d008ee7",
          "body": "Add the docs application shell wiring the existing LMAO MDX content\ninto an Astro Starlight site: sidebar groups via autogenerate, terminal-\namber accent theme, logo/favicon, custom 404, and the links validator.\nRegisters the docs workspace and the lmao-docs Nx project (astro-html).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(lmao-docs): scaffold Astro Starlight documentation site",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6ba3602f7c371fb2176837acb1a974358c7cf83e",
          "body": "…r LMAO\n\n- Introduced new documentation files covering errors and retry mechanisms, package exports, schema DSL, span context, tracers, and trace-testing.\n- Created tutorials for testing by tracing and tracing HTTP requests end-to-end.\n- Added core concepts overview and installation instructions to guide new users.\n- Enhanced the roadmap section to outline future directions and ecosystem components.",
          "is_bot": false,
          "headline": "feat(docs): Add comprehensive reference and tutorial documentation fo…",
          "author_name": "GeorgeShani",
          "author_login": "GeorgeShani",
          "committed_at": "2026-07-22T10:55:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52e412f9e4b9bcbc57a1f97838ae59e84e9a3c01",
          "body": "- project: nx-plugin 0.3.5-next.0\n\n- project: cli 0.10.6-next.0",
          "is_bot": true,
          "headline": "chore(release): prepare next prerelease",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-20T22:47:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bdc36af52d7b70ed044484e8e3ad82e4060dcc50",
          "body": "- project: nx-plugin 0.3.4\n\n- project: cli 0.10.5",
          "is_bot": true,
          "headline": "chore(release): publish",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-20T22:36:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d5e380541b211ede754d116881b1129b4cfe765",
          "body": "Root cause of the packed-manifest flip-flop:\n\n1. prepare-next bumps package.json to 0.x.y-next.0\n2. version-actions always ran publish-mode lock rewrite → bun.lock stayed\n   at last stable 0.x.y\n3. monorepo validate (install mode) expected lock ≡ package.json → fail\n4. bun pm pack embedded lock stab\n[…]\nnly around bun pm pack in release publish, then\n  restore install mode\n- default sync-bun-lockfile-versions / syncBunLockfileVersions mode = install\n- heal current bun.lock to -next workspace versions",
          "is_bot": false,
          "headline": "fix(cli): stop prepare-next from rewriting bun.lock to stable",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T22:34:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "61ba8c1dc39a3424f9c4041426bdde3d40db3d62",
          "body": "ttsc is pinned exact 0.19.3 because Bun patchedDependencies keys are\nversion-locked. Ship patches/ttsc@0.19.3.patch as a managed raw file and\nrequire package.json.patchedDependencies.ttsc@0.19.3 on monorepo update.",
          "is_bot": false,
          "headline": "fix(cli): manage ttsc 0.19.3 patch for consumer monorepos",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T21:16:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed385baf3af90ac954af8d7733f8a21d1e5d47c5",
          "body": "nx-plugin runs ttsc commands but does not declare the binary. Root tool\npolicy installs it; floor was still 0.18.4 and same-minor resolve left\nmissing installs on ^0.18.4. Align with published 0.19.3 / codebase pin.",
          "is_bot": false,
          "headline": "fix(cli): require ttsc ^0.19.3 for monorepo tool policy",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T21:14:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fbf4552be3ba14cf7a1fb4dceb0461538b9c8c9",
          "body": "Policy floor was still 5.9 while the dual-package setup needs the\nTS6 compiler API. Bump minimum/fallback to 6.0 and align the test\nregistry mock.",
          "is_bot": false,
          "headline": "fix(cli): require typescript ^6 for monorepo tool policy",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T21:11:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65f51676de8746266a07ace8520af0021d50457f",
          "body": "Consumer tooling/package.json kept an old ^range when the running CLI\nwas a linked -next build: the prerelease guard froze the configured\npin, and never consulted the registry.\n\nResolve cliDependencyRange from npm dist-tags.latest (stable only). Do\nnot write unpublished -next versions into consumer manifests. monorepo\nupdate already applies tool defaults + bun install, so the pin is\ninstalled.",
          "is_bot": false,
          "headline": "fix(cli): monorepo update pins @smoothbricks/cli to npm latest",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T21:08:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ee05f3c5a2efafe4efa50fabc6e14abcdb92abef",
          "body": "setup-environment requires the TS7 native compiler bin when package.json\ndeclares @typescript/native. monorepo update only rewrote managed\ntemplates and never applied tool dependency defaults, so consumers\ngot the new assert without the dep.\n\n- require root devDependency @typescript/native = npm:typescript@^7.0.2\n- monorepo update now applies tool defaults and runs bun install\n- only assert native bin when the package is declared\n- update .envrc to load .envrc-local reliably",
          "is_bot": false,
          "headline": "fix(cli): monorepo update installs @typescript/native for ttsc",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T21:05:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4b50d9aec70e92853dad6e52718d4a16d3dd0fc",
          "body": "- project: opencode-entangled 0.1.5-next.0\n\n- project: lmao-inspector 0.1.9-next.0\n\n- project: arrow-builder 0.1.6-next.0\n\n- project: validation 0.1.5-next.0\n\n- project: lmao-ttsc 0.1.9-next.0\n\n- project: nx-plugin 0.3.4-next.0\n\n- project: columine 0.1.6-next.0\n\n- project: duration 0.1.5-next.0\n\n- project: money 0.1.7-next.0\n\n- project: lmao 0.2.4-next.0\n\n- project: time 0.1.5-next.0\n\n- project: cli 0.10.5-next.0",
          "is_bot": true,
          "headline": "chore(release): prepare next prerelease",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-20T18:30:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10e591331abca8204ea0dcf624ae91afc9d85c9d",
          "body": "- project: opencode-entangled 0.1.4\n\n- project: lmao-inspector 0.1.8\n\n- project: arrow-builder 0.1.5\n\n- project: validation 0.1.4\n\n- project: lmao-ttsc 0.1.8\n\n- project: nx-plugin 0.3.3\n\n- project: columine 0.1.5\n\n- project: duration 0.1.4\n\n- project: money 0.1.6\n\n- project: lmao 0.2.3\n\n- project: time 0.1.4\n\n- project: cli 0.10.4",
          "is_bot": true,
          "headline": "chore(release): publish",
          "author_name": "github-actions[bot]",
          "author_login": "github-actions[bot]",
          "committed_at": "2026-07-20T18:09:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "576d6559b8a42286ca0d962454013cda528d84cc",
          "body": "What was broken: @typescript/native is also named\n\"typescript\" (TS7).  Bun isolated linking often sets\nnode_modules/.bun/node_modules/typescript → typescript@7. Nx\nlives under .bun, so require(\"typescript\") gets version.cjs without\nreadConfigFile.  Root node_modules/typescript can still be 6.0.3,\nso\n[…]\nove\nthe file: shim. Keep node-v2 nm cache prefix.\n\nVerified: install leaves nx on TS7, setup pins API 6; smoo monorepo\nvalidate green; nx test cli 308 pass; hoist regression with fresh\nnode processes.",
          "is_bot": false,
          "headline": "fix(cli): pin Bun .bun typescript hoist to API 6 after install",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T18:06:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "970b49f89331b8ac14d627a7344b80febc8c2bc8",
          "body": "Allow root devDependencies.typescript = file:tooling/typescript-api\nin tool validation (Bun-safe TS6 shim). Drop nested\npackage.json exports from the shim so publint no longer flags\nNESTED_PACKAGE_JSON_FIELD_IGNORED when managed raw is packed inside\n@smoothbricks/cli.",
          "is_bot": false,
          "headline": "fix(cli): accept file:typescript-api in monorepo validate",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T17:07:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28a20d2313d501d1d9a21709dce3c1d9435df4e5",
          "body": "CI macOS failed when bare require(\"typescript\") hit\n~/.bun/install/cache/typescript@7.../version.cjs after a no-op install.\nAssert via node_modules/typescript only (never Bun's global cache\nfallback), and re-run bun install if that workspace link is missing\nor not the 6.0.3 API shim.\n\nBump GHA node_\n[…]\n** so restore-keys cannot revive pre-shim\nDarwin trees.\n\nLocally verified: cache fallback, missing-link fail-closed, install API\n6.0.3, setup-environment repair, missing shim package.json fail-closed.",
          "is_bot": false,
          "headline": "fix(cli): load TS API only from node_modules, bust stale nm cache",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T16:32:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1bc62cd19c83743d0aef4b47cfb0fb47127f64d4",
          "body": "Ship tooling/typescript-api through smoo managed/raw so dogfood and\nconsumer monorepos get the Bun-safe TS6 API package via monorepo update.\n\nSkip packages/**/managed/raw|templates package.json in nx-plugin\ncreateNodes so the managed source copy is not a second Nx project.\nInclude tsserverlibrary subpath re-exports for typescript-eslint.",
          "is_bot": false,
          "headline": "feat(cli): manage typescript-api shim as monorepo raw files",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T13:20:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67723b132c73da608e0b0ab1cb17a355b5ca02cc",
          "body": "Bare require(\"typescript\") must expose the TS6 compiler\nAPI for Nx.  Microsoft's dual-package install (typescript →\n@typescript/typescript6 → @typescript/old = npm:typescript@^6) is\nbroken on Bun (oven-sh/bun#33834): the nested npm: alias collapses\nonto the wrapper and yields an empty module.\n\nInsta\n[…]\nl typescript@6.0.3 under the non-colliding dependency\nname ts-compiler-api. Keep @typescript/native as TS7 for ttsc. Drop\nthe post-install node_modules relink; setup only asserts the API +\nnative bin.",
          "is_bot": false,
          "headline": "fix(cli): Bun-safe TypeScript 6 API via tooling/typescript-api",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T13:02:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ee980feaaeecfc706bf016c545ac6754f8ed19d2",
          "body": "package.json napi.targets listed x86_64-unknown-linux-gnu but Nx only\nhad napi-arm64-linux. Publish's *-linux supplemental job would miss\nthe linux-x64 .node artifact.",
          "is_bot": false,
          "headline": "fix(cowshed): add napi-x64-linux platform target",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T11:35:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "001ef3aab473ac6d7022bfaff2b08985f17af1e2",
          "body": "Cold macOS publish shells have no Nx graph cache. enter-shell used\n`nx run nx-plugin:tsc-js`, which loads the project graph (and this\nplugin) before the plugin exists, failing with tsModule.readConfigFile\nis not a function when the graph is cold.\n\nBuild the plugin with ttsc directly and clear Nx cache dirs without\nconstructing the graph. Also assert after bun install that the unscoped\ntypescript package still exports the TS 6 API.",
          "is_bot": false,
          "headline": "fix(cli): rebuild nx-plugin without nx during shell enter",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T11:35:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "78b4d893690cfc64edd91c26d31201fb00338404",
          "body": "Thread the tested Rust Coordinator\nsurface (adopt/create/fork/grant/revoke/\nrebase/land/push/restore/detach/destroy/gc) and job control (worker\n-> exec/ shell/listJobs/job -> readLogs/attach/wait/kill) through\ncowshed-napi and the typed TS surface. connectCoordinator retains\nthe CoordinatorToken (Ar\n[…]\ned green (bun TS suite 3/3 with typia\npreloads).  Known gap: no JS-reachable real-daemon e2e harness exists\n(production fds are gateway-inherited); protocol-level coverage lives\nin cowshed-core tests.",
          "is_bot": false,
          "headline": "feat(cowshed): expose Coordinator mutation verbs through NAPI",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:44:50Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a7a8ec5309ed7ae266b704aa4f6e6a5137876214",
          "body": "makeFixtureRepo commits an empty init without user.name/email, which\nfails on CI runners with no global git identity.",
          "is_bot": false,
          "headline": "fix(cli): set git identity in lockfile test fixtures",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20b909ec653961b124f51e6fd0e7da457f85dad3",
          "body": "Prettier was rewriting *.cts after biome (match-all + no exclude),\nso the empty style(nx-plugin) commit fixed nothing and nx-plugin:lint\nkept failing on the trailing-comma biome wants. Route the full JS/TS\nextension set through biome and exclude those globs from prettier.",
          "is_bot": false,
          "headline": "fix(cli): let biome format cts/cjs/mjs/mts in git-format-staged",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cafe97c0c782858f346e4faf9665e9ce141f1c8c",
          "body": "Checked-in actions are generated from packages/cli/managed templates.\nUpdate the templates and register cache-ttsc-plugins so monorepo\ncheck and managed-files tests stay aligned.",
          "is_bot": false,
          "headline": "fix(cli): sync managed GHA templates for ttsc plugin cache",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6cb9d3b858c432a97ee21dbacd2930d174799041",
          "body": "npm trust list requires auth; E401 was not treated as access-denied\n(only E403 was), so smoo threw a useless exit-code wrapper. Treat\nlogin-required 401s like access-denied (whoami/owners + browser login)\nand include npm's error lines in remaining failure messages.\n\nAlso drop the hand-written bun/preload.d.ts stub now that ttsc emits\ndist types.",
          "is_bot": false,
          "headline": "fix(cli): surface npm trust E401 and real error text",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64a47cdf1de6d114c400d7b57e88411f82dcd250",
          "body": "Plugin cache location is a shell concern. Export it in enterShell\n(and persist via bootstrap GITHUB_ENV for post-setup CI steps) like\nTTSC_TSGO_BINARY. setup-devenv only restores the Actions cache.",
          "is_bot": false,
          "headline": "fix(cli): set TTSC_CACHE_DIR from devenv, not a GHA step",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad55c8de170a01b368577696724a555d9f5a79aa",
          "body": "lmao:rust-wasm depends on lmao-rs:cargo-wasm, but that target was never\ndeclared (nx-plugin does not infer wasm from crate metadata). Local\nbuilds passed on a stale packages/lmao-rs/dist/lmao_wasm.wasm; CI\nhad no artifact.\n\nAdd package-local cargo-wasm (just wasm) and copy the release\nwasm into dist/lmao_wasm.wasm for the downstream copy into\nlmao/dist/allocator.wasm.",
          "is_bot": false,
          "headline": "fix(lmao-rs): declare cargo-wasm so lmao:rust-wasm can build",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "982fb46c329dcbc96471df735ee3f3e722c97131",
          "body": "The typia native plugin is built on first ttsc invoke (~minutes on a\ncold Go cache). CI only cached Nix/devenv, node_modules, and Nx —\nnot the ttsc plugin cache.\n\nPoint TTSC_CACHE_DIR at $GITHUB_WORKSPACE/.cache/ttsc and cache only\nthe content-keyed plugin binaries (~30MB). Leave go-build uncached\n(multi-GB) and keep it out of the node_modules cache path.",
          "is_bot": false,
          "headline": "ci: cache compiled ttsc plugins outside node_modules",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fb0ddfddf602a5b704cbb310f5b5c30e4765fbe",
          "body": "Root cause: EmitWithPluginTransformers ran JS plugin transforms\nbefore declaration emit. Typia mutates program nodes during JS emit,\nso the later dts pass saw synthetic validator bodies (_io0, etc.) and\nnoEmitOnError dropped all .d.ts while still writing JS.\n\nWe already had this fix as patches/ttsc@\n[…]\nstall\nis ttsc@0.19.3 so bun never applied it. Move the patch to ttsc@0.19.3.\n\nAlso lock typia to 13.1.19 workspace-wide (override + root dep)\nso node resolution cannot fall back to typia 12 (TS5-era).",
          "is_bot": false,
          "headline": "fix(cli,lmao): reapply ttsc d.ts-before-transform patch on 0.19.3",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0a7a0f3cdb52e0893a09a2de3f134c48ce390524",
          "body": "Drop base noEmitOnError. Typia transform can leave checker noise that\nblocked declaration emit while still writing JS. AxE's base has no\nnoEmitOnError; matching that restores one-shot `ttsc --emit` for cli,\nlmao, and other typia packages without a separate tsc pass.",
          "is_bot": false,
          "headline": "fix(cli,lmao): emit .d.ts via single ttsc",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "482b64293c27c83904be06dadda21a171048c9a3",
          "body": "Validate/frozen CI: lockfile must match package.json (including -next).\nPre-publish (versionActions / --mode publish): rewrite unpublished -next\nworkspace entries to the last stable tag so bun pm pack does not embed\nunpublishable dependency versions for untouched prepare-next packages.\n\nDay-to-day packed-package checks use install expectations; release\npack assert uses publish expectations.",
          "is_bot": false,
          "headline": "fix(cli): split install vs publish bun.lock policies",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d42e856dbeff5f262d0816056ee8e4bbede97ea",
          "body": "The lockfile check exists because Bun packs workspace:* from lockfile\nversions, not package.json. Keep that invariant, but stop rewriting\nprereleases to older stable tags — that fought bun install forever.",
          "is_bot": false,
          "headline": "fix(cli): validate bun.lock against package.json versions",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b295c3347fb26ec28645915db4d6e6a3404e7d8",
          "body": "External repos and tooling only depend on @smoothbricks/cli. Re-export\nthe Typia/ttsc Bun preload from the CLI package so source self-hosting\ndoes not require a direct @smoothbricks/validation dependency.",
          "is_bot": false,
          "headline": "fix(cli): export bun/preload for self-hosted and external smoo",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fa5ef65b668ba97e3342374e7c8c535cfdf16cd",
          "body": "Bootstrap only installs deps and wires git hooks/config. Runtime pin\nsync needs the package graph and belongs to explicit monorepo tooling,\nnot the installer that creates node_modules.",
          "is_bot": false,
          "headline": "fix(cli): keep direnv setup free of workspace package imports",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b230940e836a35a39501b7c709258f68ae9eba3f",
          "body": "Leave lockfile sync to release/Nx versionActions and explicit monorepo\ninit/validate packs. Pre-commit was fighting bun install on -next\nworkspace versions and churning bun.lock every commit.",
          "is_bot": false,
          "headline": "fix(cli): stop rewriting bun.lock on every pre-commit",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d8cb158cc534c73d3ce94a4d7a2c2ebdae92fce",
          "body": "setup-environment.ts loads @smoothbricks/cli monorepo entrypoints after\nbun install. Those package exports resolve to TypeScript source under\nBun, so register the validation ttsc preload before importing them.",
          "is_bot": false,
          "headline": "fix(cli): preload Typia before direnv setup imports CLI source",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2038505020d4cc6543b9ca063271f5543ea03e9",
          "body": "…acts\n\nIntroduce PackageJson/NxProjectJson Typia parsers and concrete mutation\nhelpers, cut github-ci/nx/pr/package-policy/runtime/wrangler/tests off\nhand-rolled record walks, and preload Typia transforms in tooling/smoo\nso self-hosted source execution works under pre-commit.",
          "is_bot": false,
          "headline": "refactor(cli): replace isRecord walks with typed PackageJson/Nx contr…",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1f75a30672d938ef755fae344b07de2a9e62f0d",
          "body": "Replace hand-rolled isRecord/recordValue/stringProperty walks in managed-files,\npacked-manifest, runtime, cli-package, and github-ci outputs with PackageJson /\nNxProjectJson parsers and typed property access.",
          "is_bot": false,
          "headline": "refactor(cli): cut monorepo helpers over to typed JSON contracts",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5db02c9520e5510381760e580f1a661567cbcaf9",
          "body": "Cut release/packed-package/prepare-env off hand-rolled isRecord walks onto\nPackageJson/NxProjectJson/NxJson contracts and Typia parsers for attw and\nwrangler env shapes.",
          "is_bot": false,
          "headline": "refactor(cli): type packed-package, release, prepare-env JSON paths",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1e44b0d5b66bd646bd0068ce8492cb5263aa2375",
          "body": "Replace isRecord/recordProperty walks with PackageJson/NxTargetConfig\ncontracts and ensureObjectField/ensureStringMap helpers across package\npolicy, tool validation, and wrangler scaffolding. Restore relative\nPackageInfo.path and the readPackageJsonObject alias so listing callers\nkeep their prior contract.",
          "is_bot": false,
          "headline": "refactor(cli): type package-policy and wrangler JSON cutover",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "413edb03f81a0ee8b62a9a7882cedecb0cddbbeb",
          "body": "Replace the unsafe JSON.parse assertion in eventDefaultBranch with\ntypia.json.createIsParse so the boundary is type-checked without casts.",
          "is_bot": false,
          "headline": "fix(cli): parse GitHub event payload with Typia",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7dde665b67a063bfc388f99214868ad40a3df46",
          "body": "Managed-file drift is derived state (template x pinned CLI version), so\nit no longer blocks releases or validation:\n\n- 'smoo monorepo check --warn' reports drift as GitHub warning\n  annotations and exits 0; the publish workflow template uses it, so\n  publishing only blocks on actual package issues.\n\n[…]\nersistent chore/managed-files review branch + PR. Never auto-merged;\n  template changes get human review. Workflow-file pushes need a\n  MANAGED_FILES_TOKEN app/PAT (documented in the template header).",
          "is_bot": false,
          "headline": "feat(cli): non-blocking managed-file drift + CI-dispatched healing PR",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2ed7c332c29cb9e6a0fa9027907f474ef2574f7c",
          "body": "…lt-base PRs\n\nnx-smart's auto mode hardcoded 'main', so repos with another default\nbranch never got full push validation, and PRs into integration\nbranches (e.g. mirror-sync review branches based on public-mirror)\nran affected-scoped tasks that under-selected — a broken task passed\nPR CI and only failed after merge. auto now reads the repository\ndefault branch from the Actions event payload: default-branch pushes\nand PRs whose base is not the default branch run the full task set.",
          "is_bot": false,
          "headline": "feat(cli): full nx validation for default-branch pushes and non-defau…",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30c235cfae66c668411bc89e25939a84ce3df1fb",
          "body": "…ate pins against PATH\n\nTwo template-isms replaced by runtime truth:\n\n- runtimeTypesRangeForPublishedVersions returned the ~major.0.0 floor,\n  which tilde-locks the first patch line and stranded consumers on\n  @types/node 24.0.x (URLPattern/DOM TS2403, fixed upstream in 24.13).\n  It now returns ~<ne\n[…]\nnager,\n  and @types/node against the live PATH runtimes (devenv shell), gated\n  by the same syncRuntime flag as the init-time sync — offline,\n  structural, with the ~major.0.0 floor rejected outright.",
          "is_bot": false,
          "headline": "fix(cli): pin @types/node to newest minor in the runtime major; valid…",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "033d8173024f5f9ec32a1aec0d571139355ec83d",
          "body": "The SpanBuffer ColumnBufferExtension now carries\nclosureInit/closureMethods — exact no-eval re-expressions of its\nconstructorPreamble and methods code strings — so arrow-builder's\nclosure-composed materializer can build the class on runtimes that\nforbid string codegen (production workerd). Identical\n[…]\nthis, the full traced path (defineOpContext -> defineOp ->\ntrace -> fluent span/log writes -> Arrow conversion) runs with\nglobalThis.Function denied, selecting the closure materializers\nautomatically.",
          "is_bot": false,
          "headline": "feat(lmao): closure-composed SpanBuffer extension for no-eval runtimes",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8f6248dead7d3d0dff40b8df68439a8dc745b817",
          "body": "createSpanLoggerClass selects via arrow-builder's\nactiveMaterializerMode(): the compiled path renders the same state-bound\nclass source as before (byte-identical over a 21-snapshot corpus\nspanning all messageLayoutFamily x messagePhysicalLayout combinations)\nand the new closure materializer assemble\n[…]\ndy order on one\nshared prototype per schema/config. Cache keys are mode-prefixed. Parity\nsuite byte-compares buffers across 12 scenarios including preallocated\neager columns and thrown-message parity.",
          "is_bot": false,
          "headline": "feat(lmao): no-eval closure materializer for SpanLogger",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bf66b809e0f46c59a07a5da5dd51d757ba816ef5",
          "body": "getResultWriterClass selects via arrow-builder's\nactiveMaterializerMode(): compiled renders the same class source as\nbefore (byte-identical over a 55-file corpus) and evaluates it with new\nFunction; the closure path builds the writer from per-field closures\nover enumLookup/helpers installed with Obj\n[…]\ned\nclass-member shape. Result-writer cache keys are mode-prefixed.\nParity suite drives identical write scripts through both materializers\nover all message layout families and byte-compares every lane.",
          "is_bot": false,
          "headline": "feat(lmao): no-eval closure materializer for fixed-position writers",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7fe4d0a4f7dab0c401d90e8afbb1c6cb4fa586a8",
          "body": "ColumnBufferExtension gains no-eval counterparts of its code-string\nfields for the closure-composed materializer: closureInit runs like\nconstructorPreamble (start of constructor, receiving the instance,\nrequestedCapacity, and the constructorParams-ordered arguments) and\nclosureMethods installs proto\n[…]\niled class body). The compiled\nmaterializer ignores both, and like `dependencies` they are excluded\nfrom the cache key. constructorCode still has no counterpart and\nkeeps throwing on the closure path.",
          "is_bot": false,
          "headline": "feat(arrow-builder): closureInit/closureMethods no-eval extension hooks",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "854ee6c7ba0d09f2564a11fdd9097a00652ad134",
          "body": "Rust output targets (cargo-wasm, cargo-napi, ...) are never derived\nfrom crate-type any more: a native N-API cdylib is not a wasm\nbuild. Packages declare output targets in package.json nx.targets,\nand their *-wasm / *-napi / *-native output-family names feed the\naggregate build and clean.  Generic cargo-test, cargo-lint, mutation,\nand bench inference from a workspace-root Cargo.toml is unchanged.",
          "is_bot": false,
          "headline": "fix(nx-plugin): stop inferring cargo-wasm from cdylib crate metadata",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5486800576cdbd3ccb1b8bd462318310c2475eda",
          "body": "Production workerd forbids code generation from strings, so building\nColumnBuffer/ColumnWriter classes with new Function at import blocks\nevery traced AxE runtime there. Split each generator into schema ->\naccessor plan (pure data: fields, storage kinds, byte layout, validity\nmode) consumed by two m\n[…]\nver the schema\ncorpus (all types x lazy/eager, preallocated columns, wide enums,\nsparse/null writes, writer overflow chaining, enum error messages,\nbinary freezing) and asserts byte-identical buffers.",
          "is_bot": false,
          "headline": "feat(arrow-builder): no-eval closure-composed column-buffer materializer",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "61fdb40090894403c3f5271e8567341e00460565",
          "body": "Upgrade smoothbricks rather than downgrade consumers: AxE pins\n@types/node ~24.13.0 because 24.0's URLPattern declaration TS2403-\nconflicts with lib.dom in strict declaration consumers; moving this\nrepo forward to ~26.1.1 (URLPattern DOM-compatible) ends the split.\nAlso @swc-node/register 1.12.0, @s\n[…]\n @swc/helpers 0.5.23,\nverdaccio 6.8.0; ttsc ^0.19.1 now resolves 0.19.2.\nGates: nx run-many lint (17 projects), test (17 projects incl.\ncargo/go lanes), tsc-js (15 projects) — all green, zero fallout.",
          "is_bot": false,
          "headline": "chore(tooling): upgrade dev toolchain pins — @types/node to ~26.1.1",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6bef1863d9e84b0a72a39da2f3fa37438350a50f",
          "body": "evictExpired narrowed the raw vm_evict_all_expired return with 'status\nas ErrorCode', manufacturing a bogus enum member if the WASM binary\never returns a status the TS mirror does not know. Map it through an\nexhaustive switch (the compactStatusCode pattern from parse-backend):\nknown operational failures still return { ok: false, error }, and an\nout-of-enum status now throws a teaching contract-violation error\ninstead of leaking a fake ErrorCode. EvictionResult's public shape\nis unchanged.",
          "is_bot": false,
          "headline": "fix(columine): map evict status to ErrorCode without cast",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d361e2c546b19835d331a7fa5587a74d35ec6101",
          "body": "scratchColPtrs/scratchColPtrsWidth were module-level singletons\nshared by every createColumineWasmBackend() instance in the process\n— inconsistent with the removal of the global backend DI singleton\n(127836fed), and a latent cross-instance corruption if prepareExecution\never interleaves.  Move them into the factory closure so each backend\nowns its scratch state; the per-batch allocation-avoidance on the\nhot reduce path is unchanged.",
          "is_bot": false,
          "headline": "fix(columine): scope executeBatch scratch buffer per backend instance",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73884cc036e838b877d079b215640f516a91df0d",
          "body": "ColumnStorage::new_int32 built a cap*8 Int64 fixed buffer via new()\nand immediately replaced it with the cap*4 buffer it actually wanted,\nthrowing the first allocation away. Thread the fixed width through a\nprivate with_fixed_width constructor so the buffer is allocated once\nat the right size.",
          "is_bot": false,
          "headline": "fix(columine): allocate int32 column storage once",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b92e35481f279a740e9bea25e593f4d80d8ca50b",
          "body": null,
          "is_bot": false,
          "headline": "fix(columine): populate event value presence columns",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9285d0cdf5878dfa011f99c500f9145f44b95aa4",
          "body": null,
          "is_bot": false,
          "headline": "fix(nx-plugin): exclude iOS targets from aggregate builds",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95b25e3f7e6f3cf1aae60061173d743c9dbf1dd3",
          "body": null,
          "is_bot": false,
          "headline": "feat(columine): route Compact through native EP WASM",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e27d5d19a848c8e82958ffeb3628528bf92d4520",
          "body": null,
          "is_bot": false,
          "headline": "test(columine): terminate wasm smoke init programs",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "615f6887e3e5ebfc539ed67654a1a8dd6a8c56c7",
          "body": null,
          "is_bot": false,
          "headline": "test(columine): terminate struct-map max programs",
          "author_name": "Danny Wilson",
          "author_login": "vizanto",
          "committed_at": "2026-07-20T09:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 100,
      "commits_last_year": 1389,
      "latest_release_at": "2026-07-20T22:47:15Z",
      "latest_release_tag": "nx-plugin@0.3.4",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 29,
      "days_since_latest_release": 6,
      "mean_days_between_releases": 0
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 25,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@smoothbricks/cli",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/cli",
          "is_deprecated": false,
          "latest_version": "0.10.5",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 23,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 2015,
          "first_published_at": "2026-04-28T01:53:11.185000Z",
          "latest_published_at": "2026-07-20T22:47:00.422000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/lmao",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/lmao",
          "is_deprecated": false,
          "latest_version": "0.2.3",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 9,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 874,
          "first_published_at": "2026-04-28T01:53:28.621000Z",
          "latest_published_at": "2026-07-20T18:29:13.004000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/time",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/time",
          "is_deprecated": false,
          "latest_version": "0.1.4",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 5,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 472,
          "first_published_at": "2026-04-28T01:54:04.696000Z",
          "latest_published_at": "2026-07-20T18:29:46.841000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/money",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/money",
          "is_deprecated": false,
          "latest_version": "0.1.6",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 7,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 825,
          "first_published_at": "2026-04-28T01:53:44.049000Z",
          "latest_published_at": "2026-07-20T18:29:29.362000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/columine",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/columine",
          "is_deprecated": false,
          "latest_version": "0.1.5",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 6,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 647,
          "first_published_at": "2026-04-28T01:53:16.644000Z",
          "latest_published_at": "2026-07-20T18:28:58.080000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/duration",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/duration",
          "is_deprecated": false,
          "latest_version": "0.1.4",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 5,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 481,
          "first_published_at": "2026-04-28T01:53:22.060000Z",
          "latest_published_at": "2026-07-20T18:29:03.633000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/lmao-ttsc",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/lmao-ttsc",
          "is_deprecated": false,
          "latest_version": "0.1.8",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 4,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 549,
          "first_published_at": "2026-07-16T13:53:42.071000Z",
          "latest_published_at": "2026-07-20T18:29:24.060000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        },
        {
          "name": "@smoothbricks/nx-plugin",
          "exists": true,
          "license": "MIT",
          "keywords": [],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@smoothbricks/nx-plugin",
          "is_deprecated": false,
          "latest_version": "0.3.4",
          "repository_url": "https://github.com/smoothbricks/codebase",
          "versions_count": 13,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 3,
          "monthly_downloads": 1036,
          "first_published_at": "2026-04-29T19:31:37.614000Z",
          "latest_published_at": "2026-07-20T22:47:08.856000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 2
    },
    "ai_readiness": {
      "has_nix": true,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "packages/columine/justfile",
        "packages/lmao-rs/justfile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/arrow-builder/tsconfig.json",
        "packages/cli/tsconfig.json",
        "packages/columine/src/tsconfig.json",
        "packages/columine/tsconfig.json",
        "packages/cowshed/tsconfig.json",
        "packages/duration/tsconfig.json",
        "packages/lmao-expo-benchmark/tsconfig.json",
        "packages/lmao-inspector/tsconfig.json",
        "packages/lmao-ttsc/examples/tsconfig.json",
        "packages/lmao-ttsc/tsconfig.json",
        "packages/lmao/tsconfig.json",
        "packages/money/tsconfig.json",
        "packages/nx-plugin/tsconfig.json",
        "packages/opencode-entangled/tsconfig.json",
        "packages/statebus-core/tsconfig.json",
        "packages/statebus-react/tsconfig.json",
        "packages/time/tsconfig.json",
        "packages/validation/tsconfig.json",
        "targets/lmao-docs/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [
        "packages/columine/Cargo.toml",
        "packages/columine/crates/columine-arrow/Cargo.toml",
        "packages/columine/crates/columine-ep-wasm/Cargo.toml",
        "packages/columine/crates/columine-event-processor/Cargo.toml",
        "packages/columine/crates/columine-parsing/Cargo.toml",
        "packages/columine/crates/columine-types/Cargo.toml",
        "packages/columine/crates/columine-vm/Cargo.toml",
        "packages/columine/crates/columine-wasm/Cargo.toml",
        "packages/cowshed/Cargo.toml",
        "packages/cowshed/crates/cowshed-cli/Cargo.toml",
        "packages/cowshed/crates/cowshed-core/Cargo.toml",
        "packages/cowshed/crates/cowshed-escape-tests/Cargo.toml",
        "packages/cowshed/crates/cowshed-gateway/Cargo.toml",
        "packages/cowshed/crates/cowshed-napi/Cargo.toml",
        "packages/lmao-rs/Cargo.toml",
        "packages/lmao-rs/crates/lmao-arena/Cargo.toml",
        "packages/lmao-rs/crates/lmao-arrow/Cargo.toml",
        "packages/lmao-rs/crates/lmao-core/Cargo.toml",
        "packages/lmao-rs/crates/lmao-macros/Cargo.toml",
        "packages/lmao-rs/crates/lmao-query/Cargo.toml",
        "packages/lmao-rs/crates/lmao-timestamp-proof/Cargo.toml",
        "packages/lmao-rs/crates/lmao-wasm/Cargo.toml",
        "packages/lmao-ttsc/plugin/go.mod"
      ],
      "largest_source_bytes": 196566,
      "source_files_sampled": 734,
      "oversized_source_files": 22,
      "agent_instruction_files": [
        "AGENTS.md",
        "CLAUDE.md",
        "packages/CLAUDE.md",
        "packages/cowshed/docs/agents.md"
      ],
      "agent_instruction_max_bytes": 51885
    },
    "dependencies": {
      "manifests": [
        "package.json",
        "tooling/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [
          {
            "name": "axios",
            "direct": false,
            "version": "1.16.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.2,
            "advisory_ids": [
              "GHSA-42h9-826w-cgv3",
              "GHSA-7q8q-rj6j-mhjq",
              "GHSA-f4gw-2p7v-4548",
              "GHSA-gcfj-64vw-6mp9",
              "GHSA-hcpx-6fm6-wx23",
              "GHSA-jqh4-m9w3-8hp9",
              "GHSA-mmx7-hfxf-jppx",
              "GHSA-mwf2-3pr3-8698",
              "GHSA-pmv8-rq9r-6j72",
              "GHSA-xj6q-8x83-jv6g"
            ],
            "fixed_version": "1.18.0",
            "advisory_count": 10,
            "oldest_advisory_days": 6
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "5.0.6",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-mh99-v99m-4gvg"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 2,
            "oldest_advisory_days": 6
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2
        },
        "advisory_count": 12,
        "affected_count": 2,
        "assessed_count": 348,
        "malicious_count": 0,
        "assessed_package": "npm:@smoothbricks/cli@0.10.5",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@smoothbricks/cli",
          "manifest": "tooling/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@uwdata/flechette",
          "manifest": "packages/arrow-builder/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "tslib",
          "manifest": "packages/arrow-builder/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "@arethetypeswrong/core",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.18.2"
        },
        {
          "name": "@prettier/sync",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.6.1"
        },
        {
          "name": "@smoothbricks/nx-plugin",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@smoothbricks/validation",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "commander",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^14.0.3"
        },
        {
          "name": "prettier",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.6.1"
        },
        {
          "name": "publint",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.3.18"
        },
        {
          "name": "semver",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^7.7.4"
        },
        {
          "name": "sherif",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.11.1"
        },
        {
          "name": "toml-eslint-parser",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.0.3"
        },
        {
          "name": "tslib",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "typia",
          "manifest": "packages/cli/package.json",
          "ecosystem": "npm",
          "version_constraint": "13.1.19"
        },
        {
          "name": "typia",
          "manifest": "packages/cowshed/package.json",
          "ecosystem": "npm",
          "version_constraint": "13.1.19"
        },
        {
          "name": "tslib",
          "manifest": "packages/duration/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "eslint-friendly-formatter",
          "manifest": "packages/eslint-stdout/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.1"
        },
        {
          "name": "@expo/metro-runtime",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "57.0.3"
        },
        {
          "name": "@smoothbricks/lmao",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "expo",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "57.0.4"
        },
        {
          "name": "fast-text-encoding",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.6"
        },
        {
          "name": "react",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.3"
        },
        {
          "name": "react-dom",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.3"
        },
        {
          "name": "react-native",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.86.0"
        },
        {
          "name": "react-native-get-random-values",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.0.0"
        },
        {
          "name": "react-native-web",
          "manifest": "packages/lmao-expo-benchmark/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.21.2"
        },
        {
          "name": "@duckdb/duckdb-wasm",
          "manifest": "packages/lmao-inspector/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.33.1-dev20.0"
        },
        {
          "name": "@uwdata/flechette",
          "manifest": "packages/lmao-inspector/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "@ttsc/unplugin",
          "manifest": "packages/lmao-ttsc/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.19.3"
        },
        {
          "name": "ttsc",
          "manifest": "packages/lmao-ttsc/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.19.3"
        },
        {
          "name": "typescript",
          "manifest": "packages/lmao-ttsc/package.json",
          "ecosystem": "npm",
          "version_constraint": "^6.0.3"
        },
        {
          "name": "@msgpack/msgpack",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.1.3"
        },
        {
          "name": "@neophi/sieve-cache",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.0"
        },
        {
          "name": "@smoothbricks/arrow-builder",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@smoothbricks/validation",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@uwdata/flechette",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.3.0"
        },
        {
          "name": "tslib",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "typia",
          "manifest": "packages/lmao/package.json",
          "ecosystem": "npm",
          "version_constraint": "13.1.19"
        },
        {
          "name": "tslib",
          "manifest": "packages/money/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "@nx/js",
          "manifest": "packages/nx-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "23.1.0"
        },
        {
          "name": "nx",
          "manifest": "packages/nx-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "23.1.0"
        },
        {
          "name": "tslib",
          "manifest": "packages/nx-plugin/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "@opencode-ai/plugin",
          "manifest": "packages/opencode-entangled/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.3.5"
        },
        {
          "name": "fenceparser",
          "manifest": "packages/opencode-entangled/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.2.0"
        },
        {
          "name": "typia",
          "manifest": "packages/opencode-entangled/package.json",
          "ecosystem": "npm",
          "version_constraint": "13.1.19"
        },
        {
          "name": "@tldraw/state",
          "manifest": "packages/statebus-core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.15.5"
        },
        {
          "name": "tslib",
          "manifest": "packages/statebus-core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "@smoothbricks/statebus-core",
          "manifest": "packages/statebus-react/package.json",
          "ecosystem": "npm",
          "version_constraint": "workspace:*"
        },
        {
          "name": "@tldraw/state",
          "manifest": "packages/statebus-react/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.15.5"
        },
        {
          "name": "@tldraw/state-react",
          "manifest": "packages/statebus-react/package.json",
          "ecosystem": "npm",
          "version_constraint": "^3.15.5"
        },
        {
          "name": "tslib",
          "manifest": "packages/statebus-react/package.json",
          "ecosystem": "npm",
          "version_constraint": "^2.8.1"
        },
        {
          "name": "tslib",
          "manifest": "packages/time/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": 2,
        "merged_prs": 6,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "vizanto",
          "commits": 1286,
          "avatar_url": "https://avatars.githubusercontent.com/u/326263?v=4"
        },
        {
          "type": "User",
          "login": "GeorgeShani",
          "commits": 71,
          "avatar_url": "https://avatars.githubusercontent.com/u/121453590?v=4"
        },
        {
          "type": "User",
          "login": "BlueXiphoid",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/924615?v=4"
        },
        {
          "type": "User",
          "login": "NikoT2",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/108948335?v=4"
        }
      ],
      "contributors_sampled": 4,
      "top_contributor_share": 0.946
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml",
        "managed-files.yml",
        "publish.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        "biome.json"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/1 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 6,
            "reason": "project has 2 contributing companies or organizations -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 0,
            "reason": "license file not 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": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "23 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "79b7d844136790d41e25e78b365d55310109327a",
        "ran_at": "2026-07-27T16:54:48Z",
        "aggregate_score": 3.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T11:12:43Z",
      "oldest_open_prs": [
        {
          "number": 1,
          "created_at": "2025-11-20T08:57:51Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 8,
          "created_at": "2026-07-22T11:06:52Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-22T10:55:10Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/smoothbricks/codebase",
    "host": "github.com",
    "name": "codebase",
    "owner": "smoothbricks"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 56,
      "inputs": {
        "security": 46,
        "vitality": 90,
        "community": 17,
        "governance": 56,
        "engineering": 62
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 90,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "commits_last_year": 1389,
              "human_commit_share": 0.96,
              "days_since_last_push": 5,
              "active_weeks_last_year": 29
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "29/52 weeks with commits",
                "points": 20.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 29
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "1389 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 1389
                    }
                  }
                ],
                "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": "nx-plugin@0.3.4",
              "releases_from_tags": false,
              "days_since_latest_release": 6,
              "mean_days_between_releases": 0
            },
            "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 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~0 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 0
                    }
                  }
                ],
                "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": "critical",
        "name": "Community & Adoption",
        "value": 17,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "critical",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "has_readme": false,
              "has_license": false,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 64,
            "inputs": {
              "packages": [
                "@smoothbricks/cli",
                "@smoothbricks/lmao",
                "@smoothbricks/time",
                "@smoothbricks/money",
                "@smoothbricks/columine",
                "@smoothbricks/duration",
                "@smoothbricks/lmao-ttsc",
                "@smoothbricks/nx-plugin"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 6899
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "6,899 downloads/month across npm",
                "points": 51.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 6899,
                      "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": 56,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 4,
              "top_contributor_share": 0.946
            },
            "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 95% of commits",
                "points": 1.2,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 95
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "4 contributors",
                "points": 5.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "merged_prs": 6,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "6/6 decided PRs merged",
                "points": 38.2,
                "status": "met",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 6,
                      "decided": 6
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/1 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 46,
            "inputs": {
              "followers": 2,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "smoothbricks",
              "public_repos": 7,
              "account_age_days": 1056
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "2 followers of smoothbricks",
                "points": 3.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2,
                      "login": "smoothbricks"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "7 public repos, account ~2 yr old",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 7
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 2
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@smoothbricks/cli",
                "@smoothbricks/lmao",
                "@smoothbricks/time",
                "@smoothbricks/money",
                "@smoothbricks/columine",
                "@smoothbricks/duration",
                "@smoothbricks/lmao-ttsc",
                "@smoothbricks/nx-plugin"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "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 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "23 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 23
                    }
                  }
                ],
                "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": "moderate",
        "name": "Engineering Quality",
        "value": 62,
        "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": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": "biome.json",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.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": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "critical",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 20,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": false,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": null,
                "points": 0,
                "status": "missed",
                "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": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "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": 37,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "1 out of 1 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/1 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 2 contributing companies or organizations -- score normalized to 6",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file not detected",
                "points": 0,
                "status": "missed",
                "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 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "23 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "good",
            "name": "Dependency advisories",
            "note": "Matched the npm:@smoothbricks/cli@0.10.5 runtime dependency closure — what installing the published package pulls in — 348 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:@smoothbricks/cli@0.10.5",
                  "assessed": 348
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 82,
            "inputs": {
              "source": "osv",
              "advisories": 12,
              "affected_packages": 2,
              "assessed_packages": 348,
              "unassessed_packages": 0,
              "affected_by_severity": "high 2",
              "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": "2 affected: axios 1.16.1 (high 8.2), brace-expansion 5.0.6 (high 7.5)",
                "points": 7.2,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "axios 1.16.1 (high 8.2), brace-expansion 5.0.6 (high 7.5)"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory has been public longer than 90 days",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "advisories_none_stale",
                    "params": {
                      "days": 90
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 348,
              "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": 3
            },
            "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": 79,
        "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",
                "packages/CLAUDE.md",
                "packages/cowshed/docs/agents.md"
              ],
              "agent_instruction_max_bytes": 51885
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md, CLAUDE.md, packages/CLAUDE.md, packages/cowshed/docs/agents.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md, CLAUDE.md, packages/CLAUDE.md, packages/cowshed/docs/agents.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": "96 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 96,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_nix": true,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "packages/columine/justfile",
                "packages/lmao-rs/justfile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "packages/arrow-builder/tsconfig.json",
                "packages/cli/tsconfig.json",
                "packages/columine/src/tsconfig.json",
                "packages/columine/tsconfig.json",
                "packages/cowshed/tsconfig.json",
                "packages/duration/tsconfig.json",
                "packages/lmao-expo-benchmark/tsconfig.json",
                "packages/lmao-inspector/tsconfig.json",
                "packages/lmao-ttsc/examples/tsconfig.json",
                "packages/lmao-ttsc/tsconfig.json",
                "packages/lmao/tsconfig.json",
                "packages/money/tsconfig.json",
                "packages/nx-plugin/tsconfig.json",
                "packages/opencode-entangled/tsconfig.json",
                "packages/statebus-core/tsconfig.json",
                "packages/statebus-react/tsconfig.json",
                "packages/time/tsconfig.json",
                "packages/validation/tsconfig.json",
                "targets/lmao-docs/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0.4,
              "toolchain_manifests": [
                "packages/columine/Cargo.toml",
                "packages/columine/crates/columine-arrow/Cargo.toml",
                "packages/columine/crates/columine-ep-wasm/Cargo.toml",
                "packages/columine/crates/columine-event-processor/Cargo.toml",
                "packages/columine/crates/columine-parsing/Cargo.toml",
                "packages/columine/crates/columine-types/Cargo.toml",
                "packages/columine/crates/columine-vm/Cargo.toml",
                "packages/columine/crates/columine-wasm/Cargo.toml",
                "packages/cowshed/Cargo.toml",
                "packages/cowshed/crates/cowshed-cli/Cargo.toml",
                "packages/cowshed/crates/cowshed-core/Cargo.toml",
                "packages/cowshed/crates/cowshed-escape-tests/Cargo.toml",
                "packages/cowshed/crates/cowshed-gateway/Cargo.toml",
                "packages/cowshed/crates/cowshed-napi/Cargo.toml",
                "packages/lmao-rs/Cargo.toml",
                "packages/lmao-rs/crates/lmao-arena/Cargo.toml",
                "packages/lmao-rs/crates/lmao-arrow/Cargo.toml",
                "packages/lmao-rs/crates/lmao-core/Cargo.toml",
                "packages/lmao-rs/crates/lmao-macros/Cargo.toml",
                "packages/lmao-rs/crates/lmao-query/Cargo.toml",
                "packages/lmao-rs/crates/lmao-timestamp-proof/Cargo.toml",
                "packages/lmao-rs/crates/lmao-wasm/Cargo.toml",
                "packages/lmao-ttsc/plugin/go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "packages/columine/justfile, packages/lmao-rs/justfile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/columine/justfile, packages/lmao-rs/justfile"
                    }
                  }
                ],
                "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": "biome.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "biome.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "packages/arrow-builder/tsconfig.json, packages/cli/tsconfig.json, packages/columine/src/tsconfig.json, packages/columine/tsconfig.json, packages/cowshed/tsconfig.json, packages/duration/tsconfig.json, packages/lmao-expo-benchmark/tsconfig.json, packages/lmao-inspector/tsconfig.json, packages/lmao-ttsc/examples/tsconfig.json, packages/lmao-ttsc/tsconfig.json, packages/lmao/tsconfig.json, packages/money/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/opencode-entangled/tsconfig.json, packages/statebus-core/tsconfig.json, packages/statebus-react/tsconfig.json, packages/time/tsconfig.json, packages/validation/tsconfig.json, targets/lmao-docs/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/arrow-builder/tsconfig.json, packages/cli/tsconfig.json, packages/columine/src/tsconfig.json, packages/columine/tsconfig.json, packages/cowshed/tsconfig.json, packages/duration/tsconfig.json, packages/lmao-expo-benchmark/tsconfig.json, packages/lmao-inspector/tsconfig.json, packages/lmao-ttsc/examples/tsconfig.json, packages/lmao-ttsc/tsconfig.json, packages/lmao/tsconfig.json, packages/money/tsconfig.json, packages/nx-plugin/tsconfig.json, packages/opencode-entangled/tsconfig.json, packages/statebus-core/tsconfig.json, packages/statebus-react/tsconfig.json, packages/time/tsconfig.json, packages/validation/tsconfig.json, targets/lmao-docs/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Nix, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Nix, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "40 of the last 100 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 40,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 196566,
              "source_files_sampled": 734,
              "oversized_source_files": 22
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "22/734 source files over 60KB",
                "points": 53.4,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 734,
                      "oversized": 22
                    }
                  }
                ],
                "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": [
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T16:55:05.071643Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/s/smoothbricks/codebase.svg",
  "full_name": "smoothbricks/codebase",
  "license_state": "absent",
  "license_spdx": null
}

评分是信号,而非担保。 评分反映的是 GitHub 上公开可见的实践——不是代码审计,也不是安全保证。

缺失数据将被剔除并重新归一化权重,绝不按零分计。方法论已版本化并公开:指标 v1.13.0、模式 v0.27.0—— 完整方法论 · 指标知识库.

单项结果在整体记录中的位置: 汇总统计npm.