公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-25 18:39 UTC

tiaden / coder-peerlane

Go · TypeScriptAGPL-3.0★ 0 星标⑂ 0 复刻始于 2026年7月复刻在 GitHub 上查看 ↗

tiaden/coder-peerlane 的健康指数为 100 分中的 56 分,处于「中等」区间。 其得分最高的类别是AI Readiness(92/100),最低的是Community & Adoption(12/100)。 最近一次更新在 6 天前。 近期的大部分工作由 9 位贡献者完成。

56
总分 / 100
中等

软件健康指数

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

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

评分画像

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

所有权

Edem Tiassou个人账户
7 关注者32 个公开仓库始于 2017年11月

该仓库由个人账户拥有。相较于组织支持的项目,单一所有者项目的延续性风险更高。

软件包生态系统

注册表软件包版本月下载量版本数最近发布
Gogithub.com/coder/coder/v2指向其他仓库——不计分v2.35.2-22511 天前

按类别列示的指标

活力

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

83良好 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 6 天前
36/36提交节奏 — 52 周中有 52 周有提交
18/18提交量 — 最近一年 4,863 次提交
0/10OpenSSF Scorecard:Maintained — project was created within the last 90 days. Please review its contents carefully
所用输入
commits_last_year4,863
human_commit_share0.92
days_since_last_push6
active_weeks_last_year52

发布纪律

72良好
评分方式
16.2/27有发布版本 — 1 个版本标签(无 GitHub 发布版本)
36/36发布时效 — 最近一次发布版本于 11 天前
12.6/27发布节奏 — 节奏未知(仅一次发布)
0/10OpenSSF Scorecard:Signed-Releases — 无数据
所用输入
releases_count1
latest_release_tagv2.35.2
releases_from_tags
days_since_latest_release11
mean_days_between_releases
已排除计分(无数据或不适用):OpenSSF Scorecard:Signed-Releases。 其余权重已重新归一化。

社区与采用

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

12危急 · 占总体的 18%
评分方式
0/60星标 — 0 个星标
0/25复刻 — 0 个复刻
0/15关注者 — 0 位关注者
所用输入
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

社区健康

25危急
评分方式
0/22.5README
22.5/22.5许可证 — 可识别的许可证(AGPL-3.0)
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

可持续性与治理

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

53中等 · 占总体的 24%
评分方式
54/54巴士系数 — 9 位贡献者贡献了半数提交
20.3/22.5提交分布 — 头号贡献者编写了 10% 的提交
13.5/13.5贡献者广度 — 97 位贡献者
10/10OpenSSF Scorecard:Contributors — project has 22 contributing companies or organizations
所用输入
bus_factor9
contributors_sampled97
top_contributor_share0.099
评分方式
0/46.8议题解决 — 没有议题或无数据
0/38.3PR 接受 — 没有已裁定的拉取请求或无数据
0/15OpenSSF Scorecard:Code-Review — Found 0/30 approved changesets -- score normalized to 0
所用输入
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
已排除计分(无数据或不适用):议题解决, PR 接受。 其余权重已重新归一化。
评分方式
10/30所有权背书 — 个人(用户)账户
0/20已验证域名 — 不适用于个人账户
6.5/25所有者影响力 — tiaden 有 7 位关注者
23.1/25既往记录 — 32 个公开仓库,账户约 8 年
所用输入
followers7
owner_typeUser
is_verified
owner_logintiaden
public_repos32
account_age_days3,164
已排除计分(无数据或不适用):已验证域名。 其余权重已重新归一化。

工程质量

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

69中等 · 占总体的 20%

工程实践

88优秀
评分方式
24/24CI 工作流 — 30 个工作流
24/24存在测试
16/16Linter 配置 — .eslintrc.json, .golangci.yaml
0/9.6Pre-commit 钩子
6.4/6.4.editorconfig
0/20OpenSSF Scorecard:CI-Tests — 无数据
所用输入
has_ci
has_tests
has_editorconfig
has_linter_config
has_precommit_config
已排除计分(无数据或不适用):OpenSSF Scorecard:CI-Tests。 其余权重已重新归一化。

文档

40存在风险
评分方式
0/30README
25/25文档目录
15/15文档 / 主页站点 — https://coder.com
0/10仓库描述
0/10主题标签
0/10Wiki
所用输入
topics
has_wiki
homepagehttps://coder.com
has_readme
has_docs_dir
has_description

安全

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

57中等 · 占总体的 16%

安全态势

57中等
评分方式
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — 无数据
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 22 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.5/2.5许可证 — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
4.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 9
5/5SAST — SAST tool detected: CodeQL
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — 无数据
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 69 existing vulnerabilities detected
所用输入
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate5.7
已排除计分(无数据或不适用):ci_tests, signed_releases。 其余权重已重新归一化。

AI 就绪度

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

92优秀 · 占总体的 0%
评分方式
45/45代理指令 — .cursorrules, AGENTS.md, CLAUDE.md, aibridge/AGENTS.md, docs/reference/api/agents.md, site/AGENTS.md, site/CLAUDE.md
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 92 次人类提交中有 92 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share1
agent_instruction_files.cursorrules, AGENTS.md, CLAUDE.md, aibridge/AGENTS.md, docs/reference/api/agents.md, site/AGENTS.md, site/CLAUDE.md
agent_instruction_max_bytes42,867
评分方式
18/18一条命令的引导启动 — Makefile, dogfood/coder/Makefile, helm/Makefile, mise.toml
22/22自动化测试
11/11Lint / 格式化配置 — .eslintrc.json, .golangci.yaml
11/11静态类型检查 — offlinedocs/tsconfig.json, site/tsconfig.json
10/10可复现环境 — devcontainer, Dockerfile, Nix, lockfile
2/10已体现的代理实践 — 最近 100 次提交中有 1 次由代理编写或署名代理
8/8自动化维护 — 最近 100 次提交中有 8 次为自动依赖更新
9/10OpenSSF Scorecard:Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 9
所用输入
has_nix
has_tests
lockfilesgo.sum, package-lock.json, pnpm-lock.yaml
has_dockerfile
typed_language
bootstrap_filesMakefile, dogfood/coder/Makefile, helm/Makefile, mise.toml
has_devcontainer
has_linter_config
typecheck_configsofflinedocs/tsconfig.json, site/tsconfig.json
agent_commit_share0.01
toolchain_manifestsgo.mod
dependency_bot_commit_share0.08
评分方式
45/45可类型检查的代码 — Go(静态类型)
53.8/55可控的文件大小 — 采样的 4,468 个源文件中有 94 个超过 60KB
所用输入
primary_languageGo
largest_source_bytes1,309,303
source_files_sampled4,468
oversized_source_files94
评分方式
40/40API 模式(OpenAPI/GraphQL/proto) — agent/agentsocket/proto/agentsocket.proto, agent/boundarylogproxy/codec/boundary.proto, agent/proto/agent.proto, coderd/aibridged/proto/aibridged.proto, coderd/apidoc/swagger.json, provisionerd/proto/provisionerd.proto, provisionersdk/proto/provisioner.proto, tailnet/proto/tailnet.proto, vpn/vpn.proto
20/20MCP 服务器
40/40可运行示例 — example, examples
所用输入
example_dirsexample, examples
has_mcp_signal
api_schema_filesagent/agentsocket/proto/agentsocket.proto, agent/boundarylogproxy/codec/boundary.proto, agent/proto/agent.proto, coderd/aibridged/proto/aibridged.proto, coderd/apidoc/swagger.json, provisionerd/proto/provisionerd.proto, provisionersdk/proto/provisioner.proto, tailnet/proto/tailnet.proto, vpn/vpn.proto

关键数据

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

数据采集警告

  • Community profile unavailable
  • go package 'github.com/coder/coder/v2' points at a different repository (https://github.com/coder/coder); excluded from ecosystem scoring
  • Could not fetch npm package '@coder/coder' from its registry
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

更多细节

OpenSSF Scorecard 5.7 / 10
5.7综合

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
不适用CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 22 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
9Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 9
10SASTSAST tool detected: CodeQL
10Security-Policysecurity policy file detected
不适用Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities69 existing vulnerabilities detected
直接依赖 290
注册表软件包版本约束清单文件
Gocdr.dev/slog/v3v3.1.0go.mod
Gocloud.google.com/go/compute/metadatav0.9.0go.mod
Gogithub.com/DATA-DOG/go-sqlmockv1.5.2go.mod
Gogithub.com/Microsoft/go-winiov0.6.2go.mod
Gogithub.com/acarl005/stripansiv0.0.0-20180116102854-5a71ef0e047dgo.mod
Gogithub.com/adrg/xdgv0.5.0go.mod
Gogithub.com/ammario/tlruv0.4.0go.mod
Gogithub.com/andybalholm/brotliv1.2.1go.mod
Gogithub.com/aquasecurity/trivy-iacv0.8.0go.mod
Gogithub.com/armon/circbufv0.0.0-20190214190532-5111143e8da2go.mod
Gogithub.com/awalterschulze/gographvizv2.0.3+incompatiblego.mod
Gogithub.com/aws/smithy-gov1.27.3go.mod
Gogithub.com/bramvdbogaerde/go-scpv1.6.0go.mod
Gogithub.com/briandowns/spinnerv1.23.0go.mod
Gogithub.com/cakturk/go-netstatv0.0.0-20200220111822-e5b49efee7a5go.mod
Gogithub.com/cenkalti/backoff/v4v4.3.0go.mod
Gogithub.com/cespare/xxhash/v2v2.3.0go.mod
Gogithub.com/charmbracelet/bubblesv1.0.0go.mod
Gogithub.com/charmbracelet/bubbleteav1.3.10go.mod
Gogithub.com/charmbracelet/glamourv1.0.0go.mod
Gogithub.com/charmbracelet/lipglossv1.1.1-0.20250404203927-76690c660834go.mod
Gogithub.com/chromedp/cdprotov0.0.0-20250724212937-08a3db8b4327go.mod
Gogithub.com/chromedp/chromedpv0.14.1go.mod
Gogithub.com/cli/safeexecv1.0.1go.mod
Gogithub.com/coder/flogv1.1.0go.mod
Gogithub.com/coder/gutsv1.7.0go.mod
Gogithub.com/coder/prettyv0.0.0-20230908205945-e89ba86370e0go.mod
Gogithub.com/coder/quartzv0.3.0go.mod
Gogithub.com/coder/retryv1.5.1go.mod
Gogithub.com/coder/serpentv0.15.0go.mod
Gogithub.com/coder/terraform-provider-coder/v2v2.18.0go.mod
Gogithub.com/coder/websocketv1.8.14go.mod
Gogithub.com/coder/wgtunnelv0.2.0go.mod
Gogithub.com/coreos/go-oidc/v3v3.20.0go.mod
Gogithub.com/coreos/go-systemdv0.0.0-20191104093116-d3cd4ed1dbcfgo.mod
Gogithub.com/creack/ptyv1.1.24go.mod
Gogithub.com/dave/dstv0.27.2go.mod
Gogithub.com/davecgh/go-spewv1.1.2-0.20180830191138-d8f796af33ccgo.mod
Gogithub.com/dblohm7/wingoesv0.0.0-20240820181039-f2b84150679ego.mod
Gogithub.com/elastic/go-sysinfov1.15.1go.mod
Gogithub.com/emersion/go-saslv0.0.0-20200509203442-7bfe0ed36a21go.mod
Gogithub.com/emersion/go-smtpv0.21.2go.mod
Gogithub.com/fatih/colorv1.19.0go.mod
Gogithub.com/fatih/structsv1.1.0go.mod
Gogithub.com/fatih/structtagv1.2.0go.mod
Gogithub.com/fergusstrange/embedded-postgresv1.34.0go.mod
Gogithub.com/gen2brain/beeepv0.11.1go.mod
Gogithub.com/gliderlabs/sshv0.3.8go.mod
Gogithub.com/go-chi/chi/v5v5.3.1go.mod
Gogithub.com/go-chi/corsv1.2.1go.mod
Gogithub.com/go-chi/httpratev0.16.0go.mod
Gogithub.com/go-jose/go-jose/v4v4.1.4go.mod
Gogithub.com/go-logr/logrv1.4.3go.mod
Gogithub.com/go-playground/validator/v10v10.30.0go.mod
Gogithub.com/gofrs/flockv0.13.0go.mod
Gogithub.com/gohugoio/hugov0.163.3go.mod
Gogithub.com/golang-jwt/jwt/v4v4.5.2go.mod
Gogithub.com/golang-migrate/migrate/v4v4.19.0go.mod
Gogithub.com/gomarkdown/markdownv0.0.0-20260411013819-759bbc3e3207go.mod
Gogithub.com/google/go-cmpv0.7.0go.mod
Gogithub.com/google/go-github/v43v43.0.1-0.20220414155304-00e42332e405go.mod
Gogithub.com/google/go-github/v61v61.0.0go.mod
Gogithub.com/google/uuidv1.6.0go.mod
Gogithub.com/hashicorp/go-multierrorv1.1.1go.mod
Gogithub.com/hashicorp/go-reapv0.0.0-20170704170343-bf58d8a43e7bgo.mod
Gogithub.com/hashicorp/go-versionv1.9.0go.mod
Gogithub.com/hashicorp/hc-installv0.9.4go.mod
Gogithub.com/hashicorp/terraform-config-inspectv0.0.0-20211115214459-90acf1ca460fgo.mod
Gogithub.com/hashicorp/terraform-jsonv0.28.0go.mod
Gogithub.com/hashicorp/yamuxv0.1.2go.mod
Gogithub.com/hinshun/vt10xv0.0.0-20220301184237-5011da428d02go.mod
Gogithub.com/imulab/go-scim/pkg/v2v2.2.0go.mod
Gogithub.com/jedib0t/go-pretty/v6v6.8.0go.mod
Gogithub.com/jmoiron/sqlxv1.4.0go.mod
Gogithub.com/justinas/nosurfv1.2.0go.mod
Gogithub.com/kballard/go-shellquotev0.0.0-20180428030007-95032a82bc51go.mod
Gogithub.com/kirsle/configdirv0.0.0-20170128060238-e45d2f54772fgo.mod
Gogithub.com/klauspost/compressv1.19.0go.mod
Gogithub.com/lib/pqv1.10.9go.mod
Gogithub.com/mattn/go-isattyv0.0.22go.mod
Gogithub.com/mitchellh/go-wordwrapv1.0.1go.mod
Gogithub.com/mitchellh/mapstructurev1.5.1-0.20231216201459-8508981c8b6cgo.mod
Gogithub.com/mocktools/go-smtp-mock/v2v2.5.0go.mod
Gogithub.com/muesli/termenvv0.16.0go.mod
Gogithub.com/natefinch/atomicv1.0.1go.mod
Gogithub.com/open-policy-agent/opav1.18.1go.mod
Gogithub.com/ory/dockertest/v3v3.12.0go.mod
Gogithub.com/pion/udpv0.1.4go.mod
Gogithub.com/pkg/browserv0.0.0-20240102092130-5ac0b6a4141cgo.mod
Gogithub.com/pkg/diffv0.0.0-20210226163009-20ebb0f2a09ego.mod
Gogithub.com/pkg/sftpv1.13.7go.mod
Gogithub.com/prometheus-community/pro-bingv0.9.0go.mod
Gogithub.com/prometheus/client_golangv1.23.2go.mod
Gogithub.com/prometheus/client_modelv0.6.2go.mod
Gogithub.com/prometheus/commonv0.70.0go.mod
Gogithub.com/quasilyte/go-ruleguard/dslv0.3.23go.mod
Gogithub.com/robfig/cron/v3v3.0.1go.mod
Gogithub.com/shirou/gopsutil/v4v4.26.2go.mod
Gogithub.com/skratchdot/open-golangv0.0.0-20200116055534-eef842397966go.mod
Gogithub.com/spf13/aferov1.15.0go.mod
Gogithub.com/spf13/pflagv1.0.10go.mod
Gogithub.com/sqlc-dev/pqtypev0.3.0go.mod
Gogithub.com/stretchr/testifyv1.11.1go.mod
Gogithub.com/swaggo/http-swagger/v2v2.0.1go.mod
Gogithub.com/swaggo/swagv1.16.6go.mod
Gogithub.com/tidwall/gjsonv1.18.0go.mod
Gogithub.com/u-root/u-rootv0.14.0go.mod
Gogithub.com/unrolled/securev1.17.0go.mod
Gogithub.com/valyala/fasthttpv1.72.0go.mod
Gogithub.com/wagslane/go-password-validatorv0.3.0go.mod
Gogithub.com/zclconf/go-cty-yamlv1.2.0go.mod
Gogo.nhat.io/otelsqlv0.16.0go.mod
Gogo.opentelemetry.io/otelv1.44.0go.mod
Gogo.opentelemetry.io/otel/exporters/otlp/otlptracev1.44.0go.mod
Gogo.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcv1.44.0go.mod
Gogo.opentelemetry.io/otel/sdkv1.44.0go.mod
Gogo.opentelemetry.io/otel/tracev1.44.0go.mod
Gogo.uber.org/atomicv1.11.0go.mod
Gogo.uber.org/goleakv1.3.1-0.20240429205332-517bace7cc29go.mod
Gogo.uber.org/mockv0.6.0go.mod
Gogo4.org/netipxv0.0.0-20230728180743-ad4cb58a6516go.mod
Gogolang.org/x/cryptov0.54.0go.mod
Gogolang.org/x/expv0.0.0-20260410095643-746e56fc9e2fgo.mod
Gogolang.org/x/modv0.38.0go.mod
Gogolang.org/x/netv0.57.0go.mod
Gogolang.org/x/oauth2v0.36.0go.mod
Gogolang.org/x/syncv0.22.0go.mod
Gogolang.org/x/sysv0.47.0go.mod
Gogolang.org/x/termv0.45.0go.mod
Gogolang.org/x/textv0.40.0go.mod
Gogolang.org/x/toolsv0.48.0go.mod
Gogolang.org/x/xerrorsv0.0.0-20240903120638-7835f813f4dago.mod
Gogoogle.golang.org/apiv0.288.0go.mod
Gogoogle.golang.org/grpcv1.82.0go.mod
Gogoogle.golang.org/protobufv1.36.11go.mod
Gogopkg.in/DataDog/dd-trace-go.v1v1.74.0go.mod
Gogopkg.in/natefinch/lumberjack.v2v2.2.1go.mod
Gogopkg.in/yaml.v3v3.0.1go.mod
Gogvisor.dev/gvisorv0.0.0-20240509041132-65b30f7869dcgo.mod
Gokernel.org/pub/linux/libs/security/libcap/capv1.2.73go.mod
Gostorj.io/drpcv0.0.34go.mod
Gotailscale.comv1.80.3go.mod
Gogithub.com/aws/aws-sdk-go-v2v1.42.1go.mod
Gogithub.com/aws/aws-sdk-go-v2/configv1.32.25go.mod
Gogithub.com/aws/aws-sdk-go-v2/credentialsv1.19.24go.mod
Gogithub.com/aws/aws-sdk-go-v2/feature/rds/authv1.6.14go.mod
Gogithub.com/aws/aws-sdk-go-v2/service/stsv1.44.0go.mod
Gogithub.com/bmatcuk/doublestar/v4v4.10.0go.mod
Gogithub.com/dustin/go-humanizev1.0.1go.mod
Gogithub.com/gabriel-vasile/mimetypev1.4.12go.mod
Gogithub.com/hashicorp/go-terraform-addressv0.0.0-20240523040243-ccea9d309e0cgo.mod
Gogithub.com/hashicorp/hcl/v2v2.24.0go.mod
Gogithub.com/microcosm-cc/bluemondayv1.0.27go.mod
Gogithub.com/tailscale/netlinkv1.1.1-0.20211101221916-cabfb018fe85go.mod
Gogithub.com/tailscale/wireguard-gov0.0.0-20231121184858-cc193a0b3272go.mod
Gogithub.com/tidwall/prettyv1.2.1go.mod
Gogithub.com/yuin/goldmarkv1.8.2go.mod
Gogithub.com/zclconf/go-ctyv1.19.0go.mod
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.69.0go.mod
Gogolang.zx2c4.com/wintunv0.0.0-20230126152724-0fa3db229ce2go.mod
Gogithub.com/coder/clistatv1.2.1go.mod
Gogithub.com/SherClockHolmes/webpush-gov1.4.0go.mod
Gocharm.land/fantasyv0.8.1go.mod
Gogithub.com/anthropics/anthropic-sdk-gov1.19.0go.mod
Gogithub.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamv1.7.13go.mod
Gogithub.com/aymanbagabas/go-udiffv0.4.1go.mod
Gogithub.com/brianvoe/gofakeit/v7v7.15.0go.mod
Gogithub.com/coder/agentapi-sdk-gov0.0.0-20250505131810-560d1d88d225go.mod
Gogithub.com/coder/aisdk-gov0.0.9go.mod
Gogithub.com/coder/boundaryv0.10.0go.mod
Gogithub.com/coder/previewv1.0.10-0.20260521153517-34deb0946c4fgo.mod
Gogithub.com/danieljoos/wincredv1.2.3go.mod
Gogithub.com/dgraph-io/ristretto/v2v2.4.0go.mod
Gogithub.com/elazarl/goproxyv1.8.0go.mod
Gogithub.com/elimity-com/scimv0.0.0-20260506142751-830e1caafcc3go.mod
Gogithub.com/fsnotify/fsnotifyv1.10.1go.mod
Gogithub.com/go-git/go-git/v5v5.19.1go.mod
Gogithub.com/invopop/jsonschemav0.14.0go.mod
Gogithub.com/mark3labs/mcp-gov0.38.0go.mod
Gogithub.com/nats-io/nats-server/v2v2.14.2go.mod
Gogithub.com/nats-io/nats.gov1.52.0go.mod
Gogithub.com/openai/openai-go/v3v3.28.0go.mod
Gogithub.com/scim2/filter-parser/v2v2.2.0go.mod
Gogithub.com/shopspring/decimalv1.4.0go.mod
Gogithub.com/smallstep/pkcs7v0.2.1go.mod
Gogithub.com/sony/gobreaker/v2v2.4.0go.mod
Gogithub.com/tidwall/sjsonv1.2.5go.mod
Gogitlab.com/gitlab-org/api/client-gov1.46.0go.mod
Gogonum.org/v1/gonumv0.17.0go.mod
Gogopkg.in/dnaeon/go-vcr.v4v4.0.6go.mod
Gomvdan.cc/sh/v3v3.13.1go.mod
Gogithub.com/joho/godotenvv1.5.1go.mod
npm@chakra-ui/react2.10.9offlinedocs/package.json
npm@emotion/react11.14.0offlinedocs/package.json
npm@emotion/styled11.14.1offlinedocs/package.json
npmarchiver8.0.0offlinedocs/package.json
npmframer-motion^10.18.0offlinedocs/package.json
npmfront-matter4.0.2offlinedocs/package.json
npmlodash4.18.1offlinedocs/package.json
npmnext15.5.18offlinedocs/package.json
npmreact18.3.1offlinedocs/package.json
npmreact-dom18.3.1offlinedocs/package.json
npmreact-icons5.7.0offlinedocs/package.json
npmreact-markdown10.1.0offlinedocs/package.json
npmrehype-raw7.0.0offlinedocs/package.json
npmremark-gfm4.0.1offlinedocs/package.json
npmsanitize-html2.17.5offlinedocs/package.json
npm@dnd-kit/core6.3.1site/package.json
npm@dnd-kit/sortable10.0.0site/package.json
npm@dnd-kit/utilities3.2.2site/package.json
npm@emoji-mart/data1.2.1site/package.json
npm@emoji-mart/react1.1.1site/package.json
npm@emotion/cache11.14.0site/package.json
npm@emotion/css11.13.5site/package.json
npm@emotion/react11.14.0site/package.json
npm@emotion/styled11.14.1site/package.json
npm@fontsource-variable/geist5.2.9site/package.json
npm@fontsource-variable/geist-mono5.2.7site/package.json
npm@fontsource/fira-code5.2.7site/package.json
npm@fontsource/ibm-plex-mono5.2.7site/package.json
npm@fontsource/jetbrains-mono5.2.8site/package.json
npm@fontsource/source-code-pro5.2.7site/package.json
npm@lexical/react0.44.0site/package.json
npm@lexical/utils0.44.0site/package.json
npm@monaco-editor/react4.7.0site/package.json
npm@mui/material5.18.0site/package.json
npm@mui/system5.18.0site/package.json
npm@novnc/novnc^1.5.0site/package.json
npm@pierre/diffs1.2.7site/package.json
npm@pierre/trees1.0.0-beta.4site/package.json
npm@tanstack/react-query-devtools5.77.0site/package.json
npm@xterm/addon-canvas0.7.0site/package.json
npm@xterm/addon-fit0.11.0site/package.json
npm@xterm/addon-unicode110.9.0site/package.json
npm@xterm/addon-web-links0.12.0site/package.json
npm@xterm/addon-webgl0.19.0site/package.json
npm@xterm/xterm5.5.0site/package.json
npmaxios1.16.1site/package.json
npmchroma-js2.6.0site/package.json
npmclass-variance-authority0.7.1site/package.json
npmclsx2.1.1site/package.json
npmcmdk1.1.1site/package.json
npmcolor-convert2.0.1site/package.json
npmcron-parser4.9.0site/package.json
npmcronstrue2.59.0site/package.json
npmdayjs1.11.20site/package.json
npmdiff8.0.4site/package.json
npmemoji-mart5.6.0site/package.json
npmfancy-ansi0.1.3site/package.json
npmfile-saver2.0.5site/package.json
npmformik2.4.9site/package.json
npmfront-matter4.0.2site/package.json
npmhumanize-duration3.33.1site/package.json
npmjszip3.10.1site/package.json
npmlexical0.44.0site/package.json
npmlodash4.18.1site/package.json
npmlucide-react0.555.0site/package.json
npmmonaco-editor0.55.1site/package.json
npmmotion12.40.0site/package.json
npmpretty-bytes6.1.1site/package.json
npmradix-ui1.4.3site/package.json
npmreact19.2.6site/package.json
npmreact-color2.19.3site/package.json
npmreact-confetti6.4.0site/package.json
npmreact-day-picker9.14.0site/package.json
npmreact-dom19.2.6site/package.json
npmreact-infinite-scroll-component7.1.0site/package.json
npmreact-markdown9.1.0site/package.json
npmreact-querynpm:@tanstack/react-query@5.77.0site/package.json
npmreact-resizable-panels3.0.6site/package.json
npmreact-router7.15.1site/package.json
npmreact-syntax-highlighter15.6.6site/package.json
npmreact-textarea-autosize8.5.9site/package.json
npmreact-virtualized-auto-sizer1.0.26site/package.json
npmreact-window1.8.11site/package.json
npmrecharts2.15.4site/package.json
npmremark-gfm4.0.1site/package.json
npmsemver7.7.3site/package.json
npmsonner2.0.7site/package.json
npmstreamdown2.5.0site/package.json
npmtailwind-merge2.6.1site/package.json
npmtailwindcss-animate1.0.7site/package.json
npmtzdata1.0.46site/package.json
npmua-parser-js1.0.41site/package.json
npmufuzzynpm:@leeoniya/ufuzzy@1.0.10site/package.json
npmunique-names-generator4.7.1site/package.json
npmuuid14.0.0site/package.json
npmwebsocket-ts2.3.0site/package.json
npmyup1.7.1site/package.json
npmwiddershins^4.0.1scripts/apidocgen/package.json
全部依赖 未采集

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

原始 JSON 报告 机器可读
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": true,
      "size_kb": 328025,
      "has_wiki": false,
      "homepage": "https://coder.com",
      "languages": {
        "Go": 29318200,
        "jq": 1611,
        "CSS": 14921,
        "HCL": 122761,
        "Nix": 14565,
        "HTML": 11952,
        "NSIS": 9366,
        "Shell": 294230,
        "Smarty": 323,
        "PLpgSQL": 128568,
        "Makefile": 68167,
        "Dockerfile": 8498,
        "JavaScript": 60879,
        "PowerShell": 2345,
        "TypeScript": 8878169,
        "Go Template": 83405,
        "Open Policy Agent": 14514
      },
      "pushed_at": "2026-07-19T03:17:51Z",
      "created_at": "2026-07-18T04:31:46Z",
      "owner_type": "User",
      "updated_at": "2026-07-19T03:18:12Z",
      "description": null,
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "AGPL-3.0",
      "default_branch": "main",
      "license_spdx_raw": "AGPL-3.0",
      "primary_language": "Go",
      "significant_languages": [
        "Go",
        "TypeScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": "Edem Tiassou",
      "type": "User",
      "login": "tiaden",
      "company": null,
      "location": null,
      "followers": 7,
      "avatar_url": "https://avatars.githubusercontent.com/u/33968665?v=4",
      "created_at": "2017-11-24T21:51:40Z",
      "is_verified": null,
      "public_repos": 32,
      "account_age_days": 3164
    },
    "license": {
      "state": "standard",
      "spdx_id": "AGPL-3.0",
      "raw_spdx": "AGPL-3.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.35.2",
          "kind": "patch",
          "published_at": "2026-07-14T07:10:48Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "5f5efa49da790a37ec9a646d680a47e753630e81",
          "body": "## Problem\n\nA chat model config with `reasoning_effort` set on a pre-4.6 Anthropic\nmodel (for example `claude-haiku-4-5`) fails every generation with HTTP\n400 `adaptive thinking is not supported on this model`, surfaced in chat\nas \"Anthropic returned an unexpected error.\" The fantasy Anthropic\nprovi\n[…]\nDAGT-812](https://linear.app/codercom/issue/CODAGT-812/reasoning-effort-on-pre-46-anthropic-models-fails-generations-with).\n\n> This PR was authored by Mux, an AI coding agent, acting on Mike's\nbehalf.",
          "is_bot": false,
          "headline": "fix: stop sending adaptive thinking to pre-4.6 Anthropic models (#27314)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-18T20:47:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1ea61b976b9048aedcb69f52ef023cd1197be11b",
          "body": "…losed (#27326)\n\nTyping `/` in the agent chat input opens the skills slash menu. Pressing\nBackspace to erase the `/` made the menu flash at the top-left corner of\nthe app for a split second before disappearing.\n\nRadix keeps the popover content mounted through its exit animation, but\nthe caret-positi\n[…]\n\nafter the fix it stays in place until unmount. Added a\n`BackspaceClosesMenuWithoutRepositioning` story that fails without the\nfix.\n\n> This PR was created by Mux, an AI coding agent, on Mike's behalf.",
          "is_bot": false,
          "headline": "fix(site): prevent slash menu from flashing at top-left corner when c…",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-18T20:43:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "46d1823c0a8015f7625c62b2ef9f62a65995b79c",
          "body": "> This Pull Request was updated by Mux working on behalf of Mike.\n\nAdds workspace skills to the agent chat slash menu, sourced entirely\nfrom the chat's pinned context resources (the single-chat GET response\nthe page already fetches), the same inventory `read_skill` resolves\nfrom. No new API endpoint\n[…]\nill mapping, collision qualification, and skills menu behavior.\n\nRefs\n[CODAGT-474](https://linear.app/codercom/issue/CODAGT-474/ux-improvements-for-coder-agents)\n(skills autocompleting in the editor).",
          "is_bot": false,
          "headline": "feat: add workspace skills to agent chat slash menu (#25600)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-18T19:52:02Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "997b5d08437bf7418c5962aee0efe023af254328",
          "body": "> Mux is working on behalf of Mike.\n\n## Summary\n\nAdd a per-user synthetic API key for chatd AI Gateway attribution. Chatd\nresolves the key from the chat owner, extends it before expiry, and\ndiscards the generated bearer token so the key is never a usable\ncredential.\n\nThere is no mapping table. The k\n[…]\ns at request time.\n\nThis is the first PR in a three-PR rollout and must be fully deployed\nbefore #27171.\n\nRefs\nhttps://linear.app/codercom/issue/CODAGT-561/maintain-synthetic-api-key-per-user-per-chat",
          "is_bot": false,
          "headline": "feat: add synthetic gateway keys (#27170)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-18T18:45:13Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4d4d2575e4b24f4509cc4d0708c68192a476fa23",
          "body": "## Problem\n\nThe repo-root `.vale.ini` lints all of `docs/**/*.md`, including the\nstyle guide under `docs/.style/style-guide/`. The guide deliberately\ncontains the constructs the Coder rules ban:\n\n- Don't examples in blockquotes and in the Don't column of Do/Don't\ntables.\n- Banned terms named in pros\n[…]\nni` is outside `docs/`, so this PR modifies repo-wide lint\nconfig; the clear is scoped to `docs/.style/style-guide/` only.\n- Linear: DOCS-543.\n\n---\nOpened via Coder Agents on behalf of @nickvigilante.",
          "is_bot": false,
          "headline": "fix: exempt docs/.style/ prose from Vale's own Coder rules (#27192)",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-18T17:41:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "36e36e204864b114e7524e26f0f9435f37849449",
          "body": "On mobile-width viewports the workspace page grew to ~1080px wide (390px\nviewport), pushing the schedule controls, status indicator, and action\nbuttons off-screen. Users had to zoom out or scroll horizontally to\nreach Stop/Restart/Favorite/Share.\n\nThe topbar header and the right-side controls group \n[…]\n `biome check`, `tsc --noEmit`, and `pnpm test:storybook` for\n`Workspace.stories.tsx` + `WorkspaceTopbar.stories.tsx` (36 passed).\n\n> This PR was prepared by Mux, an AI coding agent, on Mike's behalf.",
          "is_bot": false,
          "headline": "fix(site): wrap workspace topbar controls on narrow viewports (#27313)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-17T16:12:25Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1ac106255b562b3896dfe7bf1e3b1498fefd0fce",
          "body": "… (#27257)",
          "is_bot": false,
          "headline": "feat: add Anthropic 1M context window toggle for Agents model configs…",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-17T11:04:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ac2295b1eb02c978e4e75708a9b6bd2d596f154",
          "body": "In summary, we use the init message if we have no autofill params. If we\ndo, then we ignore the init message, send another message with the\nautofilled values, and then when we get *that* response, finally we\nrender the form since we know we have good state. This eliminates the\npossibility of tempora\n[…]\nor the\nfirst message, and it also fixes an issue where fields with blank values\nwere getting validation errors because they were not filled out, before\nthe user had a chance to actually fill them out.",
          "is_bot": false,
          "headline": "fix: do not send or use stale init dynamic parameter state (#27283)",
          "author_name": "Asher",
          "author_login": "code-asher",
          "committed_at": "2026-07-16T20:55:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1453b4b1fc9729eb4bfcec6cb60b3fb7757ebe8c",
          "body": "Implements:\nhttps://linear.app/codercom/issue/AIGOV-518/add-docs-for-bedrock-mantle\nFollow-up to: https://github.com/coder/coder/pull/26745",
          "is_bot": false,
          "headline": "docs: document Bedrock mantle protocol (#27296)",
          "author_name": "Yevhenii Shcherbina",
          "author_login": "evgeniy-scherbina",
          "committed_at": "2026-07-16T18:58:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3dd9265fa630248f3f6e60520cb1a14610f85b78",
          "body": "Closes\n[CODAGT-804](https://linear.app/codercom/issue/CODAGT-804/add-ui-option-to-revoke-oauth-mcp-credentials).\n\nUsers could authenticate with an OAuth2 MCP server from the chat input,\nbut there was no UI to disconnect those per-user credentials. The\nbackend endpoint (`DELETE\n/api/experimental/mcp/\n[…]\nc,\nbiome, the react-compiler check, and a manual dogfood run (seeded token,\ndisconnect/cancel/reconnect flows verified in the UI).\n\n> This PR was authored by Mux, an AI coding agent, on Mike's behalf.",
          "is_bot": false,
          "headline": "feat: add UI option to disconnect OAuth2 MCP credentials (#27299)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-16T16:26:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "101aee8ee03c39cc25e24d2511e767b935769acd",
          "body": "Refactor `aibridgedserver.NewServer` to take an `Options` struct instead\nof a long list of positional arguments. Follow-up to review feedback in\nhttps://github.com/coder/coder/pull/27117#discussion_r3571535760",
          "is_bot": false,
          "headline": "refactor: use Options struct in aibridgedserver.NewServer (#27200)",
          "author_name": "Susana Ferreira",
          "author_login": "ssncferreira",
          "committed_at": "2026-07-16T15:09:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "77582be805dc714ed9cbe3bdeb46c8975233a2bb",
          "body": "## What\n\nThe audit log resource table header in\n`docs/admin/security/audit-logs.md` was\nemitted as `<b>Resource<b>`: a second opening `<b>` instead of a closing\n`</b>`.\nBecause the bold element never closes, Markdown/HTML renderers can bold\ncontent\nwell beyond the header cell.\n\nThe page is generated\n[…]\nR was created using AI (Coder Agents) on behalf of @nickvigilante,\nwho is accountable for its contents. See the [AI Contribution\nguidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING).",
          "is_bot": false,
          "headline": "fix: close <b> tag in generated audit log table header (#27293)",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-16T14:56:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f7481c5d081f144b2f1daaf586bb3b0789a295e8",
          "body": "Closes CODAGT-721\nCloses CODAGT-722\nCloses CODAGT-723\nCloses CODAGT-724\nCloses CODAGT-725\n\nThis PR adds the database and API pieces necessary to support full-text\nchat message search.\n\n- Adds required chat schema for full-text search\n- Adds dbpurge job to populate search_tsv in the background\n- Adds `search` parameter to GetChats query\n- Adds `search` filter to `searchquery.Chats`\n- Wires chat search filter into chats API\n\n> Implemented by Coder Agents, reviewed and tested by a human.",
          "is_bot": false,
          "headline": "feat: Add full text search over chat messages (#27126)",
          "author_name": "Cian Johnston",
          "author_login": "johnstcn",
          "committed_at": "2026-07-16T14:21:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9862f10484807074927a966828bc3de9f0e91ece",
          "body": "…7156)\n\nImplements:\nhttps://linear.app/codercom/issue/AIGOV-517/add-ui-for-bedrock-mantle\n\nFollow-up to https://github.com/coder/coder/pull/26745, which added AWS\nBedrock **mantle** support to the backend and modeled it as a `protocol`\nfield on the Bedrock provider settings.\n## What changed\n\n- Adds \n[…]\n\n\n### Mantle\n\n<img width=\"1082\" height=\"357\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/e8caef26-83d1-4b7e-8f96-79079949e8f1\"\n/>\n\n---------\n\nCo-authored-by: Jake Howell <jake@hwll.me>",
          "is_bot": false,
          "headline": "feat(site): add Bedrock mantle protocol selector to provider form (#2…",
          "author_name": "Yevhenii Shcherbina",
          "author_login": "evgeniy-scherbina",
          "committed_at": "2026-07-16T13:37:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b3ff4baeb9cd1b18beb653d3020ee6bc14ce2670",
          "body": "## Summary\n\nDuring the template builder compose flow, the transition into the\ntemplate\nfiles page briefly flashed the wizard form again before the files page\nsettled.\n\nRoot cause: the loader was gated on `createMutation.isPending`. When the\ncompose\nPOST resolved, `isPending` flipped to `false` in th\n[…]\nld a template through the wizard and confirm the loader\nholds\n  straight through to the files page with no form flash.\n\n## Stack\n\nStacked on top of #27276 (DEVEX-593).\n\n---\n\nGenerated by Coder Agents.",
          "is_bot": false,
          "headline": "fix: smooth compose loader to files page transition (#27277)",
          "author_name": "Jeremy Ruppel",
          "author_login": "jeremyruppel",
          "committed_at": "2026-07-16T13:15:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3ddf7d3baa0c4c0affcbc7b40ec82e56223af65e",
          "body": "## Summary\n\nThe template builder's \"Building your template\" loader had a progress\nbar that\nanimated 0→100% every 5s with an infinite repeat, so it visibly\nrestarted over\nand over while a template built. It looked broken and was frustrating to\nwatch.\n\nThis replaces the looping fill with a single ease\n[…]\noral change to how the endpoint waits (it still blocks on\nthe job).\n- Streaming real job progress to the browser.\n- Changes to the floating-icon animation.\n\n</details>\n\n---\n\nGenerated by Coder Agents.",
          "is_bot": false,
          "headline": "fix: stop the template builder build progress bar from looping (#27276)",
          "author_name": "Jeremy Ruppel",
          "author_login": "jeremyruppel",
          "committed_at": "2026-07-16T13:14:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "529b2ead78e6104c7a1d7eee6fa235e5148c0b6b",
          "body": "…g when viewing archived chats (#26926)\n\nIn the agents sidebar, show \"Archived chats\" instead of \"Chats\" when the\narchive filter is set to `archived`. The heading reads the existing\n`sidebarFilters.archiveStatus` state, the same condition already used\nfor the archived empty-state message.\n\n---\n\n_This PR was opened by [Coder Agents](https://coder.com/) on behalf of\n@tracyjohnsonux._\n\n---------\n\nCo-authored-by: Coder Agents <noreply@coder.com>",
          "is_bot": false,
          "headline": "feat(site/src/pages/AgentsPage): show \"Archived chats\" sidebar headin…",
          "author_name": "TJ",
          "author_login": "tracyjohnsonux",
          "committed_at": "2026-07-16T13:04:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e48909215430b39b91ede707cf5240b27a21bb41",
          "body": "Closes\n[CODAGT-792](https://linear.app/codercom/issue/CODAGT-792/handle-revoked-oauth-grants-for-mcp-servers-gracefully).\n\nWhen a user revokes an upstream OAuth grant for an MCP server used by\nCoder Agents, Coder kept treating the cached token as valid:\n`invalid_grant` refresh failures were logged a\n[…]\nepeated IdP calls), chat with the revoked server selected completes\nwith the server's tools omitted, and re-auth restores the connected\nstate.\n\n> This PR was authored by Mux, working on Mike's behalf.",
          "is_bot": false,
          "headline": "feat: handle revoked OAuth grants for MCP servers gracefully (#27264)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-16T11:43:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "213f5ce606e25f785753781e2c672780293e0245",
          "body": null,
          "is_bot": false,
          "headline": "fix(site): redesign provider tri-state controls (#27288)",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-16T11:12:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "457fa5afa30b0b1932a313b50773f7fc7a8e08ba",
          "body": null,
          "is_bot": false,
          "headline": "fix(site): move thinking settings to provider configuration (#27287)",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-16T11:12:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9d1e88109398d6025cbf5d9f0de5a2b235560a69",
          "body": "…overrides (#27229)",
          "is_bot": false,
          "headline": "refactor(site/src/pages/AgentsPage): use model selector for personal …",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-16T10:22:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "35ade9e3d2e08036210860538b7d3a7c7a292938",
          "body": "Add workspace-side file collection to `coder support bundle` via\nrepeatable --workspace-file flags. The agent resolves the requested\npaths or globs inside the remote workspace and streams back a tar with\na manifest and the collected files; nothing is read from the machine\nrunning the command.\n\n- Add\n[…]\npredate the endpoint.\n- Bound collection: 64 KB request body, 10000 files, 10 MiB per file,\n  100 MiB total including archive overhead, 110 MiB client-side read\n  cap, 5 minute timeout.\n\nCloses #26020",
          "is_bot": false,
          "headline": "feat: collect workspace logs in support bundles (#26694)",
          "author_name": "Ehab Younes",
          "author_login": "EhabY",
          "committed_at": "2026-07-16T10:00:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f997afa220e544f19f27fc22e924b1169cf2de64",
          "body": "…summaries (#27230)\n\nCompaction summaries drop or soften user-stated constraints,\ncorrections, and prohibitions, so post-compaction assistants repeat\nbehavior the user already corrected. Add a summary prompt bullet that\ninstructs the summarizer to quote them, treat them as standing until\nrevoked, an\n[…]\n user.\n\nValidated offline on unseen human chats: holdout P1 delta +0.175\n(arbitrated), 13/18 cases improve. This improves per-compaction\nretention only; it does not address deep-chain correction loss.",
          "is_bot": false,
          "headline": "feat(coderd/x/chatd/chatloop): retain user constraints in compaction …",
          "author_name": "Mathias Fredriksson",
          "author_login": "mafredri",
          "committed_at": "2026-07-16T09:18:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa4c7c5700023ec0a13008cce0ec71ed89d92bf8",
          "body": "…ress is set (#27235)\n\n<!--\n\nIf you have used AI to produce some or all of this PR, please ensure you have read our [AI Contribution guidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING) before submitting.\n\n-->\n\nFixes `replicasync` so that it keeps peers even if they don't set a RelayAddress. This allows NATS to function even if you are not running a DERP relay on the primay Coderd instances.\n\nAlso renames some replicasync functions to make it clear they are for DERP.",
          "is_bot": false,
          "headline": "chore: fix replicasync to function for NATS even if no DERP relay add…",
          "author_name": "Spike Curtis",
          "author_login": "spikecurtis",
          "committed_at": "2026-07-16T07:42:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21d08241e9b08f19db5a7400f0aae2648982de52",
          "body": "Closes CODAGT-802\n\nCoder Agents only escalated failed workspace dials when the agent had\nconnected and later disconnected. An agent that never connected and had\nalready exceeded its `connection_timeout` stayed on the soft retry error\nindefinitely, so a chat could keep attempting tools against an unh\n[…]\ntachments/assets/d659a376-c8d4-4983-b7d7-d1a699770dfb\"\n/>\n\n\n## After\n\n<img width=\"848\" height=\"250\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/26b88f72-f67c-4d9e-87b1-51d701b7352f\"\n/>",
          "is_bot": false,
          "headline": "fix(coderd/x/chatd): recover timed out agents (#27254)",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-16T02:52:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "de716f89dca0174d2f8f4b8ecd998b25a0a3d755",
          "body": "Coder's rate limiter keyed its bucket on the raw, un-normalized request\npath (`httprate.KeyByEndpoint` reads `r.URL.Path` directly). The\nrouter's `singleSlashMW` already collapses redundant slashes so a\nrequest like `/api/v2/users//validate-password` reaches the same handler\nas the canonical path, b\n[…]\n and an\nintegration test (`TestRateLimitPathNormalization`) that reproduces the\nbypass against a real server.\n\nFixes CDM-02-003 (Cure53). Refs\nhttps://github.com/coder/security-disclosures/issues/166.",
          "is_bot": false,
          "headline": "fix: normalize path before rate-limit bucket keying (#27273)",
          "author_name": "Bobby Ho",
          "author_login": "BobbyHo",
          "committed_at": "2026-07-16T00:07:57Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0fab0fa0ae3ad4c693eea704a0f126815ed8fb20",
          "body": "…7282)\n\nBumps\n[github.com/DataDog/dd-trace-go/v2](https://github.com/DataDog/dd-trace-go)\nfrom 2.0.0 to 2.8.1.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/DataDog/dd-trace-go/releases\">github.com/DataDog/dd-trace-go/v2's\nreleases</a>.</em></p>\n<blockquo\n[…]\nge](https://github.com/coder/coder/network/alerts).\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump github.com/DataDog/dd-trace-go/v2 from 2.0.0 to 2.8.1 (#2…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-15T23:40:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "baf4dfae4d22aabf115510ad8eea738f3a24de9c",
          "body": "…s official badge inline (#27036)\n\ncloses DEVEX-575\n\nThere are some screen widths / base template names where the official\nbadge will break lines by itself as an orphan (see Google Compute Engine\n(Linux) in screenshot below). However, I personally prefer this over the\ncurrent flex layout (compare wi\n[…]\nt word + the official badge in a span\nwith `white-space: nowrap;`. But that feels a little overwrought to me;\nI like the clarity of continuing to just show `{name}` in the JSX. What\ndo you guys think?",
          "is_bot": false,
          "headline": "fix(site/src/pages/TemplateBuilder): display TemplateCard/ModuleCard'…",
          "author_name": "Andrew Aquino",
          "author_login": "aqandrew",
          "committed_at": "2026-07-15T22:27:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "15da504cf9ea7a431e4d5ed34366c3343c04748a",
          "body": "…late endpoints (#27248)",
          "is_bot": false,
          "headline": "fix: remove excess calls to `prepareSQLFilter` for workspace and temp…",
          "author_name": "Callum Styan",
          "author_login": "cstyan",
          "committed_at": "2026-07-15T21:23:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d4cbd07e6f3b48676919625c0e62572100158da",
          "body": "This can cause bad refresh token errors, since it can only be used once.\n\nLooks like there was an attempt to fix this by checking the database\nafter a failed refresh, but of course this depends on the first request\nhaving updated the database in time, so both that and this fix are \nrequired to fully solve.",
          "is_bot": false,
          "headline": "fix: prevent concurrent token refreshes (#26530)",
          "author_name": "Asher",
          "author_login": "code-asher",
          "committed_at": "2026-07-15T20:16:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c14b4a010ad4bbdd436e877ed034f9a5082cc9f5",
          "body": "## Summary\n\nUpdates the `offlinedocs` doc-preview app's dependencies that can move\nwithout code migration, and leaves the heavy framework upgrades for a\nseparate, deliberate PR.\n\n## Changes\n\n- `react-markdown` 9.1.0 → 10.1.0: used in source\n(`pages/[[...slug]].tsx`, the `ReactMarkdown` renderer). Th\n[…]\ns\n\n- `archiver` appears to be a dead dependency (nothing in source imports\nit) and could be pruned in a follow-up. It is bumped here only to keep\nthe lockfile current.\n\n---\n🤖 Built with AI assistance.",
          "is_bot": false,
          "headline": "chore(offlinedocs): update low-risk dependencies (#26876)",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-15T19:04:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0caaac5d27386ac9933678cc85c0c5e46f4ea4e2",
          "body": "The test-e2e job could flake while Playwright waited for its webServer\nto become ready. CI already built site/e2e/bin/coder, but that binary\nwas built before pnpm build and without the embed tag, so Playwright\nignored it and started coderd with go run -tags embed instead. That put\nGo compilation, in\n[…]\n\n\nIf you have used AI to produce some or all of this PR, please ensure you\nhave read our [AI Contribution\nguidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING)\nbefore submitting.\n\n-->",
          "is_bot": false,
          "headline": "fix: prebuild coderd before Playwright startup for e2e tests (#27136)",
          "author_name": "Faur Ioan-Aurel",
          "author_login": "fioan89",
          "committed_at": "2026-07-15T18:21:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c84aa564ba1fe81c0e15cfa8fc140abeeacd2370",
          "body": "Normalizes non-standard code-fence language tags across `docs/**` so a\nstrict highlighter (Shiki, used by Fumadocs) won't fail the build on an\nunrecognized language, and unifies redundant synonym tags onto one\ncanonical form per language. The current renderer (Speed-Highlight)\ndetects the language f\n[…]\nleted lists. A\nfollow-up pass caught the remaining occurrences at any indentation\nlevel.\n\n</details>\n\n\n---\n\n*This PR description and the underlying changes were prepared with Coder\nAgents assistance.*",
          "is_bot": false,
          "headline": "docs: normalize code-fence languages for Shiki compatibility (#27161)",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-15T18:07:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d0982e3cc7334d89b6fd81d4ae640d720f2dd071",
          "body": "…#27268)\n\n## Summary\n\nThe DigitalOcean template builder base declared Terraform `variable`\nblocks for `project_uuid` and `ssh_key_id` that the template builder\nnever filled. `project_uuid` was required with no default, so the build\nbroke with no way to supply a value from the wizard (DEVEX-591).\n\nTh\n[…]\ne injection map is built, so they\ncannot currently be injected. That is why the `sensitive` flags were\nremoved here.\n</details>\n\n---\n*This PR was generated by Coder Agents on behalf of @jeremyruppel.*",
          "is_bot": false,
          "headline": "fix(coderd/templatebuilder): prompt for DigitalOcean base variables (…",
          "author_name": "Jeremy Ruppel",
          "author_login": "jeremyruppel",
          "committed_at": "2026-07-15T18:05:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3b72a3e5ddd23a38332fff7c41b3bde968f79514",
          "body": "<!-- Authored with Coder Agents on behalf of @Emyrk -->\nAdds `BenchmarkRBACManyOrgs` to measure `Authorize`, `Prepare` (partial\nevaluation), and `Prepare`+`CompileToSQL` as a subject's org-membership\ncount grows (1, 5, 10, 50, 100 orgs).\n\n- Written to evaluate the org set-membership rewrite in #2724\n[…]\nember` roles, `ScopeAll`; authorizer has no\ncache so each iteration measures a real evaluation.\n\nResults comparing `main` vs #27244 are posted on that PR.\n\n<sub>Coder Agents on behalf of @Emyrk.</sub>",
          "is_bot": false,
          "headline": "test(coderd/rbac): add many-orgs authorization benchmark (#27270)",
          "author_name": "Steven Masley",
          "author_login": "Emyrk",
          "committed_at": "2026-07-15T18:04:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "511c3cddc08104bd2a97bd0168ce57b3afa5aeee",
          "body": "…#27204)\n\n## Summary\n\nPartial fix for the flake in\n[PLAT-251](https://linear.app/codercom/issue/PLAT-251/flake-test-go-pg-macos-job-timeoutcancelled)\n/ [coder/internal#1365](https://github.com/coder/internal/issues/1365)\n(`test-go-pg (macos-latest)` timing out and getting cancelled after 25\nminutes)\n[…]\neme synthetic contention on a shared dev\nmachine; watching several real CI runs is the next step before\nconsidering the flake fully resolved.\n\n---------\n\nCo-authored-by: Cian Johnston <cian@coder.com>",
          "is_bot": false,
          "headline": "fix(testutil/expecter): remove nested pipe from output logging path (…",
          "author_name": "Bobby Ho",
          "author_login": "BobbyHo",
          "committed_at": "2026-07-15T16:08:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f958727887f406cd0720b583b2913c00394cc4f6",
          "body": "`mise install` now adds more properties to `mise.lock` after running\n`mise install`:\n\n- Bare URLs get `checksum` and `url`\n- GitHub URLs get an `api_url` to the release asset",
          "is_bot": false,
          "headline": "chore: update mise.lock (#27258)",
          "author_name": "Cian Johnston",
          "author_login": "johnstcn",
          "committed_at": "2026-07-15T13:57:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac35e0d3d8e561d2ffb4e9819a0584e34d775ff7",
          "body": "<!--\n\nIf you have used AI to produce some or all of this PR, please ensure you have read our [AI Contribution guidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING) before submitting.\n\n-->\n\nfixes https://github.com/coder/internal/issues/1618\n\nsame underlying issue as https://github.com/coder/internal/issues/946\n\nTest flakes because main test ends before the server can connect to postrgres and this causes the CLI invocation to return an error we don't care about.",
          "is_bot": false,
          "headline": "test: fix flake in TestServer/Logging (#27263)",
          "author_name": "Spike Curtis",
          "author_login": "spikecurtis",
          "committed_at": "2026-07-15T12:39:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c57d6fcef05927222a77aa1bb1b9e66e6ff3acf2",
          "body": "Updates logo URL to the same referenced by our README.",
          "is_bot": false,
          "headline": "chore(helm): update logo URL (#27262)",
          "author_name": "Cian Johnston",
          "author_login": "johnstcn",
          "committed_at": "2026-07-15T11:05:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bea8fb3829982e79457ce6ec105979c40c4ae0b",
          "body": "…st release link (#27260)\n\n## Problem\n\nThe interactive releaser (`scripts/releaser`) renders the \"Latest\nRelease\"\ncell of the release calendar with a doubled version prefix, e.g.\n`[vv2.35.0](.../tag/v2.35.0)`.\n\n`version.String()` already returns a `v`-prefixed string (e.g.\n`v2.35.0`),\nbut `updateCal\n[…]\nation and is not affected (it strips the `v` before re-adding\none).\n- Companion PR for `release/2.35` (file `scripts/releaser/docs.go`):\n#27259.\n\n</details>\n\n---\nThis PR was generated by Coder Agents.",
          "is_bot": false,
          "headline": "fix(scripts/releaser/v1): remove doubled \"v\" in release calendar late…",
          "author_name": "Marcin Tojek",
          "author_login": "mtojek",
          "committed_at": "2026-07-15T10:51:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "304f127d34d6d710ab00559fe28dbbfdb19deec7",
          "body": "Closes https://github.com/coder/internal/issues/1619\nCloses ENG-3039\nCloses https://github.com/coder/internal/issues/1002\nCloses ENG-3018\n\nThe `test-go-pg` Go cache grew until the post-job save could no longer\ncomplete within the job timeout, cancelling the job on every `main` run.\n\nDepot runners al\n[…]\nany warm `actions/cache`\nrestore of the module cache was.\n\n`setup-go-paths` is kept, as it points `GOCACHE` and friends at the\nWindows RAM disk, but its now-unused caching-related outputs are\nremoved.",
          "is_bot": false,
          "headline": "ci(.github): remove the go-cache action (#27250)",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-15T08:35:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "cc11c8a536a18f0f8b7fc84d39fc3779d16a6ee7",
          "body": "…#27118)\n\nBlocked turns from a provider's content filter (Anthropic's `refusal`\nstop reason with empty content) previously ended silently on the\n\"Thinking\" spinner. They now end as a terminal `content_filter` error\nthat renders as a \"Response blocked\" message with the provider's\ncategory and explana\n[…]\n\"image\"\nsrc=\"https://github.com/user-attachments/assets/cef85a59-4091-4e62-9d45-1eb06748db48\"\n/>\n\n\nCloses CODAGT-611\n\nFollow-ups will involve implementing fallbacks, but this alone is pretty\nimportant",
          "is_bot": false,
          "headline": "feat: surface model content-filter refusals as a blocked chat error (…",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-15T06:36:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8eaf4f507b7d175f4c6dc21dee670e7d7018705b",
          "body": "- Regenerates `prices.json` from models.dev. The seeder only upserts, so\nexisting deployments keep delisted models.\n- Generate the frontend known-models catalog instead of hand-writing it.\n`make gen/aibridge-prices` fetches models.dev once\n- Moved patches to model definitions to separate `overrides.\n[…]\n, assuming it is present on models.dev.\n\n> This PR was authored by Coder Agents on Cian's behalf.\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "feat: generate the known-models catalog and aigateway prices (#27146)",
          "author_name": "Cian Johnston",
          "author_login": "johnstcn",
          "committed_at": "2026-07-14T19:36:27Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4d884c30e7e26b19db8854842c346d91815ac453",
          "body": "Follow-up PR to https://github.com/coder/coder/pull/26745",
          "is_bot": false,
          "headline": "fix: validate bedrock protocol at provider construction (#27234)",
          "author_name": "Yevhenii Shcherbina",
          "author_login": "evgeniy-scherbina",
          "committed_at": "2026-07-14T19:30:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0207a9824f3d760800549982f2c66fefb2a32193",
          "body": "The `/api/v2/csp/reports` endpoint is unauthenticated and CSRF-exempt,\nsince it's the browser's `report-uri` target, and decoded request bodies\nwith no size limit. This let an attacker post arbitrarily large JSON\nbodies to force unbounded heap allocation and OOM the server (Cure53\nCDM-02-007).\n\nWrap\n[…]\nding and\nreturns 413 when the limit is exceeded, matching the existing convention\nused by `files.go`, `aitasks.go`, and `exp_chats.go`.\n\nFixes: https://github.com/coder/security-disclosures/issues/171",
          "is_bot": false,
          "headline": "fix: enforce max body size on CSP violation report endpoint (#27243)",
          "author_name": "Bobby Ho",
          "author_login": "BobbyHo",
          "committed_at": "2026-07-14T19:29:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d99ed85db8f87193833f7347f4ebc6530732604d",
          "body": null,
          "is_bot": false,
          "headline": "fix: fix test flake in nats subscribe cleanup (#27238)",
          "author_name": "Jon Ayers",
          "author_login": "sreya",
          "committed_at": "2026-07-14T19:10:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b377bec5f4690d33706eb150dcd3939080e80e12",
          "body": null,
          "is_bot": false,
          "headline": "fix(site): replace ansi-to-html in the log viewer (#27206)",
          "author_name": "McKayla はな",
          "author_login": "aslilac",
          "committed_at": "2026-07-14T18:54:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61e52532c0e9128f967017aafef3925b915dd2f7",
          "body": "…notations (#27194)\n\n## Problem\n\nGenerated reference docs (`docs/reference/cli/*`,\n`docs/reference/api/*`) contained raw placeholder and JSON syntax that\ncame straight from Go CLI help strings and swagger annotations. HTML\nrenderers treat the angle-bracket tokens (`<team-slug>`, `<uuid>`,\n`<KEY>`, e\n[…]\n...>`): `<username/uuid/me>`, `<org-name/uuid>`,\n`<owner/repo>`, `<draft|open|merged|closed>`,\n`<created_by_me|shared_with_me>`. Backticks still improve their\nreadability, but they were never dropped.",
          "is_bot": false,
          "headline": "docs: wrap placeholder syntax in backticks in CLI help and swagger an…",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-14T17:39:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3126306598701f459989706a38340138e54bba86",
          "body": "Adds `--aigateway-proxy-target` option to\n`deploymentGroupAIGatewayProxy` that defines URL to which intercepted\nrequests should be forwarded to.\nForward URL used to be hardcoded to `coderAPI.AccessURL` pointing to\nembedded Gateway. With addition of standalone AI Gateway this needs to\nbe configurable.\n\nRenamed `aibridgeproxyd.Server.coderAccessURL` and `coderAccessPort` ->\n`gatewayURL` and `gatewayPort` + option to better reflect reality.",
          "is_bot": false,
          "headline": "feat: add --aigateway-proxy-target flag (#27122)",
          "author_name": "Paweł Banaszewski",
          "author_login": "pawbana",
          "committed_at": "2026-07-14T16:40:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a567f6a89f0293e7032db0e143a520e77c050243",
          "body": null,
          "is_bot": false,
          "headline": "feat: allow admins to override the chat compaction model (#27151)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-14T14:57:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf57da58e7ca17143c0dd7deb5900ed5a1c23069",
          "body": null,
          "is_bot": false,
          "headline": "chore(site): replace CircularProgress with Spinner component (#24276)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-14T14:26:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "57852112a626752346907814b05e3126bc799056",
          "body": "> 🤖 This PR was written by Coder Agents on behalf of Jake Howell.\n\n## Problem\n\n#27191 fixed the mobile menu missing the **AI** / **AI sessions** items,\nbut did so by duplicating the item list. The desktop\n`DeploymentDropdown` and mobile `MobileMenu` each hardcode the same\nAdmin settings links and pe\n[…]\nt as part of a refactor.\n\nValidated with `biome check` and `tsc --noEmit`; existing\n`MobileMenu.stories.tsx` args already cover the Admin / Auditor /\nOrgAdmin / Member permission matrices.\n\n</details>",
          "is_bot": false,
          "headline": "chore: unify admin settings menu items (#27209)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-14T13:33:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "bff7ec762420dc38f63a6f4555370728caf88ed9",
          "body": "> 🤖 This PR was written by Coder Agents on behalf of Jake Howell.\n\n## What\n\nRemoves the last `@emotion/react` usage from the DERP health page\n(`site/src/pages/HealthPage/DERPPage.tsx`).\n\n- Drops `useTheme` from `@emotion/react`; the page no longer reads the\nEmotion theme.\n- Replaces the region pin's\n[…]\ne can differ\nslightly in shade. I opted for consistency with the neighbouring health\ncomponents. Happy to swap to a dedicated `fill`-equivalent token if\nyou'd prefer an exact colour match.\n\n</details>",
          "is_bot": false,
          "headline": "refactor(site): de-emotion the DERP health page (#27208)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-14T13:29:22Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3060a40285f3ed557038952f4fcca820a878b10a",
          "body": "…geView (#27212)\n\n> 🤖 This PR was written by Coder Agents on behalf of Jake Howell.\n\nRemoves the remaining MUI/Emotion dependency from `TokensPageView.tsx`.\n\n## Changes\n\n- Removed `useTheme` from `@emotion/react` and the `const theme =\nuseTheme()` call.\n- Replaced all `style={{ color: theme.palette.\n[…]\nmponents (`Table.tsx`, other UserSettings pages).\n- Preserved `data-pixel=\"ignore\"` and all other attributes/behavior.\n\n## Validation\n\n- `tsc --noEmit`: no errors for the file.\n- `biome check`: clean.",
          "is_bot": false,
          "headline": "refactor(site/src/pages/UserSettingsPage/TokensPage): de-MUI TokensPa…",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-14T13:27:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "f2181572cc8d4de78d7fdac90167db0b3d0d391d",
          "body": "…d (#27104)\n\nBrowser back/forward controls did not work in the template builder\nwizard. Using browser navigation sent the user out of the wizard\nentirely instead of moving between steps.\n\nThe wizard's current step is now driven by a `?step=` search param. Step\ntransitions push history entries so bro\n[…]\n from the URL, then mounts the\nwizard starting on the first step after base selection.\n\nCloses https://linear.app/codercom/issue/DEVEX-594\n\n> Generated with [Coder](https://coder.com) by @jeremyruppel",
          "is_bot": false,
          "headline": "fix(site): support browser back and forward in template builder wizar…",
          "author_name": "Jeremy Ruppel",
          "author_login": "jeremyruppel",
          "committed_at": "2026-07-14T12:55:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f55c283f1f409bb3297136788f616c4d56f3a79",
          "body": null,
          "is_bot": false,
          "headline": "fix: use backend-selected chat agent for desktop, git, terminal (#26959)",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-14T12:50:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c1d8ff149b250ae9be33912cb77228269a5ccb2",
          "body": "…(#27228)\n\nBumps the github-actions group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [actions/checkout](https://github.com/actions/checkout) | `6.0.2` |\n`7.0.0` |\n|\n[step-security/harden-runner](https://github.com/step-security/harden-runner)\n| `2.17.0` | `2.2\n[…]\n/docker/login-action/commit/48351901f89581a7c12870c787d3f06d1f498438\"><code>4835190</code></a>\nskip empty registry-auth secret mask</li>\n<li><a\nhref=\"https://github.com/docker/login-action/commit/992…",
          "is_bot": true,
          "headline": "ci: bump the github-actions group across 1 directory with 26 updates …",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:31:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "295bce2611bac97cf7c71f75889b75a6f56db023",
          "body": "… (#27227)\n\nBumps\n[github.com/hashicorp/terraform-json](https://github.com/hashicorp/terraform-json)\nfrom 0.27.2 to 0.28.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/hashicorp/terraform-json/releases\">github.com/hashicorp/terraform-json's\nreleases</a>\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump github.com/hashicorp/terraform-json from 0.27.2 to 0.28.0…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:20:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "20435f9f43653ed60db991f240b08240db11ee6e",
          "body": "Bumps the x group with 8 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [golang.org/x/crypto](https://github.com/golang/crypto) | `0.53.0` |\n`0.54.0` |\n| [golang.org/x/mod](https://github.com/golang/mod) | `0.37.0` |\n`0.38.0` |\n| [golang.org/x/net](https://github.com/golang/net) | `0.56.0` \n[…]\n of the specified dependency and ignore\nconditions\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump the x group with 8 updates (#27223)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:20:11Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "26c8fc85a24e34ae4bdae7e1ec9e6272da511168",
          "body": "Bumps\n[github.com/prometheus/common](https://github.com/prometheus/common)\nfrom 0.69.0 to 0.70.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/prometheus/common/releases\">github.com/prometheus/common's\nreleases</a>.</em></p>\n<blockquote>\n<h2>v0.70.0</h2>\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump github.com/prometheus/common from 0.69.0 to 0.70.0 (#27225)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:20:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7470f072a2e73e4aeb299b88d930fdf18c0a61de",
          "body": "Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc)\nfrom 3.19.0 to 3.20.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/coreos/go-oidc/releases\">github.com/coreos/go-oidc/v3's\nreleases</a>.</em></p>\n<blockquote>\n<h2>v3.20.0</h2>\n<h2>W\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump github.com/coreos/go-oidc/v3 from 3.19.0 to 3.20.0 (#27224)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:19:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ce846fc401110ab95e2ef855905788fb1316835c",
          "body": "Bumps\n[google.golang.org/api](https://github.com/googleapis/google-api-go-client)\nfrom 0.287.0 to 0.288.0.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a\nhref=\"https://github.com/googleapis/google-api-go-client/releases\">google.golang.org/api's\nreleases</a>.</em></p>\n<blockquote>\n\n[…]\nnless you reopen the\nPR or upgrade to it yourself)\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump google.golang.org/api from 0.287.0 to 0.288.0 (#27226)",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T11:19:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "553c9ecbc8b72fb9b9f5c3ced4846787c03054b7",
          "body": "## Summary\n\nBump Go toolchain from 1.26.4 to 1.26.5.\n\nGo 1.26.5 ([released\n2026-07-07](https://go.dev/doc/devel/release#go1.26.5)) includes\nsecurity fixes addressing:\n\n- [CVE-2026-39822](https://nvd.nist.gov/vuln/detail/CVE-2026-39822) —\n`os` package\n- [CVE-2026-42505](https://nvd.nist.gov/vuln/deta\n[…]\npin 1.26.4 to 1.26.5 (this is\nwhat actually compiles the scanned artifact and clears the CVEs)\n\n## Related\n\n- #27159 — backport to `release/2.35`\n- #27158 — backport to `release/2.34`\n\nLinear: ENT-129",
          "is_bot": false,
          "headline": "fix: bump Go version from 1.26.4 to 1.26.5 (#27157)",
          "author_name": "Denis Afonso",
          "author_login": "denisra",
          "committed_at": "2026-07-14T10:49:05Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "55b06f14a38275bddf0ee80bd38257f92866cac0",
          "body": null,
          "is_bot": false,
          "headline": "feat: allow overriding advisor reasoning effort (#27196)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-14T09:01:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "162bd0e015b9745bbac337f562b0fae29fb36671",
          "body": "Automated docs update for v2.34.6 release.\n\nCreated by `releasetui`.",
          "is_bot": false,
          "headline": "chore(docs): update release docs for v2.34.6 (#27215)",
          "author_name": "Marcin Tojek",
          "author_login": "mtojek",
          "committed_at": "2026-07-14T08:50:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec52dd274c09944f35ca9438061c2a2dd4a4e589",
          "body": "Automated docs update for v2.35.2 release.\n\nCreated by `releasetui`.",
          "is_bot": false,
          "headline": "chore(docs): update release docs for v2.35.2 (#27214)",
          "author_name": "Marcin Tojek",
          "author_login": "mtojek",
          "committed_at": "2026-07-14T08:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2261f26ead6a1a43e6951f4efcf28e0a3e2c99a4",
          "body": "WakeResponse.success was always set to true regardless of whether a\nrebind actually happened (e.g. when debounced or the tunnel isn't\nrunning yet), so it carried no useful information. Remove it,\nmirroring the earlier removal of the unused error_message field from\nthe same message.",
          "is_bot": false,
          "headline": "fix(vpn): remove unused success field from WakeResponse (#27202)",
          "author_name": "Ehab Younes",
          "author_login": "EhabY",
          "committed_at": "2026-07-14T08:26:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0e67a74d54600f3e43b49bcbf3dc739fb47e9bc",
          "body": "Closes CODAGT-352\n\nThis adds the Coder Agents experiments (virtual desktop with computer\nuse, and the advisor) to telemetry, so they finally show up in each\ndeployment snapshot. Everything stays inside `coderd/telemetry/`.\n\n## Shape received by the telemetry server\n\nThe experiments are reported as a\n[…]\niments, '$.virtual_desktop.computer_use.provider_source') AS src,\n  COUNT(*) AS deployments\nFROM deployments\nWHERE JSON_VALUE(agents_experiments, '$.virtual_desktop.enabled') = 'true'\nGROUP BY src\n```",
          "is_bot": false,
          "headline": "chore: report Coder Agents experiments in telemetry (#27042)",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-14T04:18:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "535c775f2a7256d557a6b1baec9c3fb228b93d9c",
          "body": "…ry lock (#27114)\n\nCloses CODAGT-736\n\nConcurrent chat model config writes on a deployment with no default all\nelect themselves default: at READ COMMITTED neither transaction sees the\nother's uncommitted default, so both self-promote and\n`idx_chat_model_configs_single_default` rejects the loser as a \n[…]\ncond default unrepresentable), which\nwould remove the race outright, but it needs a migration, new queries,\ndbauthz rules, and handler/read-path rework. Not proportionate for an\nexperimental endpoint.",
          "is_bot": false,
          "headline": "fix(coderd): serialize chat model config default election with adviso…",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-14T03:51:47Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b0f0a54ab7fe7b008e010121517d050247348c84",
          "body": "…187)\n\nAdds `ChatModelCallConfig.UnmarshalStrict`: `UnmarshalJSON` except\nunknown fields and trailing data are errors instead of being silently\ndropped.\n\n`model_config` is free-form JSON at its edges (Terraform config, API\nbodies), so a typo'd setting is dropped with no signal;\ncoder/terraform-provi\n[…]\n it is on the read path for\nstored configs and older clients, where unknown keys mean version skew\nrather than user error.\n\n_Opened by Coder Agents on behalf of @ethanndickson._\n\nRelates to CODAGT-797",
          "is_bot": false,
          "headline": "feat(codersdk): add strict unmarshalling for ChatModelCallConfig (#27…",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-14T03:32:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0c3c65d85b650b034afccd241c23e2b25e301e24",
          "body": "> 🤖 This PR was written by Coder Agents on behalf of Jake Howell.\n\nCloses\n[DEVEX-381](https://linear.app/codercom/issue/DEVEX-381/flake-test-tasksendwaitsforworkingappstate).\nFollow-up to #25648 and #25858, which addressed a different symptom of\nthe same test.\n\n## Symptom\n\n```\ntask_send_test.go:348:\n[…]\nd hardens the query.\n\n### Rejected commit-message scopes\n\nChanges touch both `cli/` and `coderd/database/`, so per AGENTS.md the\nscope is omitted for the cross-cutting commit and PR title.\n\n</details>",
          "is_bot": false,
          "headline": "fix: stabilize latest workspace app status ordering (DEVEX-381) (#27041)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-14T01:48:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0862c82e1819f1a0e1b0b8f2e64c86c217a2cd87",
          "body": "…e (#27207)\n\nBumps the coder-modules group with 1 update in the /dogfood/coder\ndirectory: coder/code-server/coder.\nBumps the coder-modules group with 1 update in the\n/dogfood/coder-envbuilder directory: coder/code-server/coder.\nBumps the coder-modules group with 1 update in the /dogfood/vscode-coder\n[…]\n of the specified dependency and ignore\nconditions\n\n\n</details>\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore: bump the coder-modules group across 3 directories with 1 updat…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-07-14T00:27:21Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "63ec93a7ce606a59789fc83af7276be55a98bff6",
          "body": "Implements\nhttps://linear.app/codercom/issue/AIGOV-213/add-bedrock-provider\n\n# AWS Bedrock mantle support in AI Gateway\n\n## Summary\n\nAdd support for the AWS Bedrock **mantle** endpoint\n(`bedrock-mantle.{region}.api.aws/anthropic/v1/messages`) to AI Gateway.\nMantle serves Claude through the native An\n[…]\nt UI\n\n<img width=\"1100\" height=\"579\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/37bab46d-8958-4a96-9f47-1fef3493e1b6\"\n/>\n\n## Follow-up PRs:\n- https://github.com/coder/coder/pull/27156",
          "is_bot": false,
          "headline": "feat: add AWS Bedrock mantle endpoint to AI Gateway (#26745)",
          "author_name": "Yevhenii Shcherbina",
          "author_login": "evgeniy-scherbina",
          "committed_at": "2026-07-13T23:44:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "043d367cfe0891bce92247394659032e3674c15a",
          "body": "…191)\n\n## Problem\n\nThe desktop `DeploymentDropdown` surfaces **AI** and **AI sessions**\nitems under Admin settings (behind `canViewAISettings` /\n`canViewAIBridge`), but the mobile `MobileMenu` was never updated to\nmatch — its `AdminSettingsSub` only knows about Deployment,\nOrganizations, Audit logs,\n[…]\nhe AI items; Auditor / OrgAdmin / Member keep them hidden).\n\nNo backend, permission, or routing changes.\n\n> 🤖 This PR was drafted by Coder Agents on behalf of @tracyjohnsonux and\nneeds a human review.",
          "is_bot": false,
          "headline": "fix(site): show AI settings and AI Sessions in mobile admin menu (#27…",
          "author_name": "TJ",
          "author_login": "tracyjohnsonux",
          "committed_at": "2026-07-13T22:24:31Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5334cc80b669284c7a76bfed83749b2d90b04705",
          "body": "…tion to MultiSelectCombobox defaultOptions (#27145)\n\nfixes DEVEX-463\n\nPreviously, a dynamic parameter of `form_type = \"multi-select\"` with\ndefault options selected would only pass in these 3 properties for each\noption fed into `MultiSelectCombobox`'s `defaultOptions`:\n\n- `value`\n- `label`\n- `disabl\n[…]\nject (`{ value, label, disable }`).\n\n<img width=\"1840\" height=\"1191\" alt=\"Screenshot 2026-07-09 at 10 08\n54 PM\"\nsrc=\"https://github.com/user-attachments/assets/91be4aaf-9016-46d6-871b-344c8f2504cb\"\n/>",
          "is_bot": false,
          "headline": "fix(site): pass all properties of a multi-select dynamic parameter op…",
          "author_name": "Andrew Aquino",
          "author_login": "aqandrew",
          "committed_at": "2026-07-13T19:33:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "15fd7b746a8e3b8ad3428036890f630a08eff6fc",
          "body": "Fixes an issue where the debounce delay plus edit delay exceeds the wait timeout.\n\nAlso remove the mocked rich parameters call; it is not used.",
          "is_bot": false,
          "headline": "fix: use fake timers in edit workspace test (#27141)",
          "author_name": "Asher",
          "author_login": "code-asher",
          "committed_at": "2026-07-13T18:30:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f6d7539c88c6dd8cce89fd9878bd5f964198b23",
          "body": "…064)\n\nThe chatd state machine only recognizes `waiting`, `running`, `error`,\n`requires_action`, and `interrupting`. Remove the unused `pending`,\n`paused`, and `completed` values from the database enum, backend, SDK,\nfrontend, generated queries, and API docs.\n\nMigration `000543_chat_status_remove_un\n[…]\ntatus`. Chats are experimental, so this PR accepts\nthat limited rollout window instead of adding a two-release expand and\ncontract sequence.\n\n> This PR was authored by Mux (AI agent) on Mike's behalf.",
          "is_bot": false,
          "headline": "feat: remove unused chat statuses pending, paused, and completed (#27…",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-13T18:28:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e0b57f315431c2bea6144b3feab756021c517d8b",
          "body": "This pull-request removes the MUI specific components from `<IconPage\n/>`.",
          "is_bot": false,
          "headline": "chore: remove mui from `<IconsPage />` (#27201)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-13T18:12:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aee528e044f7c9c2a2cb827b11ae0fd7623738ee",
          "body": "This removes the manual `@emotion/react` we had from the theme being\ninjected in `<LastSeen />`. This now is relying on Tailwind 🙂",
          "is_bot": false,
          "headline": "fix: remove `@emotion/react` from `<LastSeen />` (#27199)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-13T18:05:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad29777cb27c2d3bba70efb91720b0b601d47f74",
          "body": null,
          "is_bot": false,
          "headline": "feat: NATS mTLS pubsub implementation (#26902)",
          "author_name": "Callum Styan",
          "author_login": "cstyan",
          "committed_at": "2026-07-13T18:00:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "010d96c3cd6e104e23330656667dcc1a281aca36",
          "body": "This wasn't used, removing 🙂",
          "is_bot": false,
          "headline": "chore: remove `useTheme` from `<OAuth2AppsSettingsPageView />` (#27198)",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-13T17:41:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6580cdcf7f6421b2a8ddae1cabc194021eedace3",
          "body": "## Description\r\n\r\nRead the AI budget period from the deployment config on both the RPC server and the `/users/{user}/ai/spend` endpoint, instead of hardcoding `month`. Drops the `period_start` RPC parameter that was incorrectly introduced in #26915: the period should have been derived from the deplo\n[…]\nrAISpendStatus` endpoint reads the period from `AIBridgeConfig.BudgetPeriod` instead of hardcoding month.\r\n\r\n> [!NOTE]\r\n> Initially generated by Claude Opus 4.7, modified and reviewed by @ssncferreira",
          "is_bot": false,
          "headline": "refactor: use AI budget period from deployment config (#27117)",
          "author_name": "Susana Ferreira",
          "author_login": "ssncferreira",
          "committed_at": "2026-07-13T16:52:45Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "199b5936c1fe98b6c7402f1740cdca6d403077be",
          "body": "…r URL (#27174)\n\n## Summary\n\nFixes two classes of invalid/broken HTML in hand-written docs. Both are\nvisible problems in today's rendered docs, independent of any\ndocs-engine work.\n\n1. **`</br>` is not a real HTML tag.** `br` is a void element with no\nclosing form; browsers error-correct `</br>`, bu\n[…]\np).\n\nTracking issue:\n[DOCS-550](https://linear.app/codercom/issue/DOCS-550/fix-invalid-br-tags-and-browser-swallowed-placeholder-url-in-hand)\n\n---\n\nCreated by Coder Agents on behalf of @nickvigilante.",
          "is_bot": false,
          "headline": "fix(docs): replace invalid </br> tags and format swallowed placeholde…",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-13T14:41:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d5e5b10ff19d2b951e984e25ea5140bb3b489fa7",
          "body": "Finishing touches for the AI cost control group members table.\n\n- Spend stays primary-colored until near the budget limit, via a new\n  AIBudgetAmount component\n- \"AI budget period\" label shows the current spend window in local\n  time, next to the members tab\n- Budget tooltip notes the reset date and\n[…]\nr group shows a note instead of a dash\n- \"Manage AI budget\" disabled only when another named group governs\n- Replaces UserAISpend with generated UserAISpendStatus, fixing\n  limit_source\n\nCloses #26401",
          "is_bot": false,
          "headline": "feat(site): polish AI budget members table (#26805)",
          "author_name": "Ehab Younes",
          "author_login": "EhabY",
          "committed_at": "2026-07-13T14:33:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8fee087952b7c153683730aa85697f133f80a40d",
          "body": "…#27167)\n\n## Summary\n\nPart of the docs front-matter title migration (Linear DOCS-482).\n\n`offlinedocs` now prefers a front-matter `title` for a page and falls\nback to the\nmanifest nav label when the page has no front matter. This keeps the\noffline docs\nrenderer aligned with the hosted docs renderer a\n[…]\n of\n@nickvigilante, who is\naccountable for its contents. Manual verification evidence is included\nabove per the\n[AI contribution\nguidelines](https://coder.com/docs/about/contributing/AI_CONTRIBUTING).",
          "is_bot": false,
          "headline": "feat(offlinedocs): prefer front-matter title, fall back to manifest (…",
          "author_name": "Nick Vigilante",
          "author_login": "nickvigilante",
          "committed_at": "2026-07-13T14:30:10Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "580ba19a0c16582b0b45d6f4258649047801f426",
          "body": "…ke (#27107)\n\nFixes flake reported in\n[DEVEX-538](https://linear.app/codercom/issue/DEVEX-538/flake-create-user-with-password).\n\n## Problem\n\nThe `login()` e2e helper had a race condition causing intermittent\nnavigation failures:\n\n```\npage.goto: Navigation to \"/deployment/users\" is interrupted by\nano\n[…]\nation.\n\nAlso adds `{ waitUntil: \"domcontentloaded\" }` to `page.goto(\"/login\")`\nfor consistency with every other navigation helper in the file.\n\n> 🤖 Generated by Coder Agents on behalf of @jeremyruppel",
          "is_bot": false,
          "headline": "fix(site/e2e): fix login helper race condition causing navigation fla…",
          "author_name": "Jeremy Ruppel",
          "author_login": "jeremyruppel",
          "committed_at": "2026-07-13T13:47:01Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e11147ec66ad82ff3387b2e9736699528148f603",
          "body": "Add a CoderVPN WakeRequest RPC so Coder Desktop can trigger the\nexisting link-change recovery path (Rebind + ReSTUN) immediately on\nOS wake, instead of waiting for magicsock's idle re-STUN timer. Wake\nevents are debounced to at most one rebind per 5s to avoid duplicate\nresets of peer path trust.\n\nCloses #26736",
          "is_bot": false,
          "headline": "fix: add VPN wake rebind hook (#26739)",
          "author_name": "Ehab Younes",
          "author_login": "EhabY",
          "committed_at": "2026-07-13T12:14:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1497ba14fe760c99c371a87056faa4642c6178ed",
          "body": "The deployment-wide computer use provider was passed around as a bare `string` on the `codersdk` wire structs, in `chattool`, and in the generated TypeScript, and its valid values (`anthropic`, `openai`) were never exposed as a `codersdk` enum. That's out of step with our other chat settings (`ChatD\n[…]\ned TypeScript through it. The DB layer and chattool's internal model-provider routing stay `string` on purpose, since they handle untrusted or fantasy-model values that just happen to share the names.",
          "is_bot": false,
          "headline": "refactor: type computer use provider as an enum (#27086)",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-13T08:37:48Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "27ed052d86b5c8a630ccaff45ca39632da2c419c",
          "body": null,
          "is_bot": false,
          "headline": "fix(site): remove invalid Autocomplete hooks (#27177)",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-13T08:06:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea4554025e0774646ebe37e7ba346248a152b6bd",
          "body": "…es (#27087)\n\nCoder Agents chats could get stuck showing \"Thinking\" forever when a\ntitle regenerate/propose request ran while a generation was in flight.\n\nManual title generation recorded token cost by inserting a hidden\nassistant message into `chat_messages` and immediately soft-deleting it.\nTrigge\n[…]\nory_version` stays untouched. Note\nthis intentionally drops title-generation cost from chatd's chat-level\ncost surfaces; it still counts against the user's AI budget via AI\nGateway.\n\nCloses CODAGT-595",
          "is_bot": false,
          "headline": "fix(coderd): stop manual title generation from writing to chat_messag…",
          "author_name": "Ethan",
          "author_login": "ethanndickson",
          "committed_at": "2026-07-13T06:50:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0f11673a74e36b5bbd0b3c89324403ac24cd2f41",
          "body": "…hide \"Session completed\" until every thread has loaded (#26955)\n\n> 🤖 This PR was written by Coder Agents on behalf of Jake Howell.\n\nThe \"Session completed\" marker at the bottom of an AI Gateway session\ntimeline was rendered unconditionally, so on long sessions it appeared\nbelow still-loading thread\n[…]\n to cover the\nbetween-fetches state.\n- No prop signature or public API change; `SessionTimelineSkeleton.tsx`\nis untouched because the skeleton is only shown before any threads have\nloaded.\n\n</details>",
          "is_bot": false,
          "headline": "fix(site/src/pages/AIBridgePage/SessionThreadsPage/SessionTimeline): …",
          "author_name": "Jake Howell",
          "author_login": "jakehwll",
          "committed_at": "2026-07-13T00:38:55Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9af3d31036bf07a00f827c9fd4e6a7126f806345",
          "body": null,
          "is_bot": false,
          "headline": "fix: relabel advisor max uses setting from per run to per turn (#27046)",
          "author_name": "Thomas Kosiewski",
          "author_login": "ThomasK33",
          "committed_at": "2026-07-10T07:36:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d8ffd34b3054ca192c471b6aa9546d4d910741f",
          "body": "…jects it (#27120)",
          "is_bot": false,
          "headline": "fix(coderd/x/chatd): retry quickgen without temperature when model re…",
          "author_name": "Thomas Kosiewski",
          "author_login": "ThomasK33",
          "committed_at": "2026-07-10T07:13:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e59a67d63fd522d1e95b42e57d4fbfe7d2bc5fef",
          "body": "…110)",
          "is_bot": false,
          "headline": "fix(site): use RBAC-filtered organizations for embedded metadata (#27…",
          "author_name": "McKayla はな",
          "author_login": "aslilac",
          "committed_at": "2026-07-09T23:56:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d66e4d794fef464cd7f8d1a971ce5a391ac734ae",
          "body": null,
          "is_bot": false,
          "headline": "feat: add configurable reasoning effort to Coder agents (#26974)",
          "author_name": "Danielle Maywood",
          "author_login": "DanielleMaywood",
          "committed_at": "2026-07-09T22:35:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fed583a46c20ab04f221931b1ea3eeabf7b4e0d",
          "body": "Tasks created through the API now enforce required external auth:\n`tasksCreate` rejects an owner who is missing a required (non-optional)\nprovider with a 403 before generating a task name or inserting any rows,\nmatching the gate `createWorkspace` already applies to workspaces. Adds\n`TestCreateTaskExternalAuth` covering the required and optional-provider\ncases.\n\nFixes PLAT-298.\n\n_Coder Agents generated._",
          "is_bot": false,
          "headline": "fix(coderd): enforce required external auth on task create (#26718)",
          "author_name": "dylanhuff-at-coder",
          "author_login": "dylanhuff-at-coder",
          "committed_at": "2026-07-09T20:59:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37558fcdc9acf2b9f39cbf6b77dcaecc3fefa6a6",
          "body": "…#24851)\n\nWithout this, Entra silently narrows scopes to the default set.",
          "is_bot": false,
          "headline": "fix(coderd/externalauth): preserve scopes on entra v1 token refresh (…",
          "author_name": "Dallin Stevens",
          "author_login": "dallinstevens",
          "committed_at": "2026-07-09T19:49:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f84801eecf0473b6d94ed1a235cbce5bc98a5354",
          "body": "gpt-5.6 models were unusable with agents: fantasy's Responses allowlist\ndid not include the new family, so `IsResponsesModel` returned false and\nchatd fell back to the Chat Completions path (no reasoning params, no\nencrypted reasoning continuity).\n\n## Changes\n\n- Bump the `charm.land/fantasy` replace\n[…]\nalse` completes for each.\n- `go build ./coderd/...` and `go test ./coderd/x/chatd/chatopenai/\n./coderd/x/chatd/chatprovider/` pass against the new pin.\n\n> This PR was authored by Mux on Mike's behalf.",
          "is_bot": false,
          "headline": "chore: bump coder/fantasy for gpt-5.6 Responses routing (#27132)",
          "author_name": "Michael Suchacz",
          "author_login": "ibetitsmike",
          "committed_at": "2026-07-09T18:25:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "3e608e791daef7395ab6cf1d93a291b47858905f",
          "body": "…ts (#27131)",
          "is_bot": false,
          "headline": "feat(site): add claude-fable-5 and claude-mythos-5 known model defaul…",
          "author_name": "Thomas Kosiewski",
          "author_login": "ThomasK33",
          "committed_at": "2026-07-09T18:02:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a095d3b381fdf647e1e13416faf5a9110fc9ef9",
          "body": "…n main content area instead of sidebar (#27113)\n\ncloses DEVEX-588\n\nPrototyped in #27077, broken off into a separate PR to make this work\neasier to track\n\n## changes\n\n- Reveals the previously hidden trash can icon within\n`ModuleConfiguration` (main content area)\n- Removes the \"x\" icons from `ModuleS\n[…]\no\nconfiguring that module (DEVEX-587, to be done in a separate PR)\n\n<img width=\"1840\" height=\"1191\" alt=\"image\"\nsrc=\"https://github.com/user-attachments/assets/4571ea2f-75cf-4cd7-b626-1826eea83bdf\"\n/>",
          "is_bot": false,
          "headline": "feat(site/src/pages/TemplateBuilder): deselect modules using button i…",
          "author_name": "Andrew Aquino",
          "author_login": "aqandrew",
          "committed_at": "2026-07-09T17:48:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        }
      ],
      "releases_count": 1,
      "commits_last_year": 4863,
      "latest_release_at": "2026-07-14T07:10:48Z",
      "latest_release_tag": "v2.35.2",
      "releases_from_tags": true,
      "days_since_last_push": 6,
      "active_weeks_last_year": 52,
      "days_since_latest_release": 11,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": false,
      "has_license": false,
      "has_description": false,
      "has_contributing": false,
      "health_percentage": null,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/coder/coder/v2",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": false,
          "registry_url": "https://pkg.go.dev/github.com/coder/coder/v2",
          "is_deprecated": false,
          "latest_version": "v2.35.2",
          "repository_url": "https://github.com/coder/coder",
          "versions_count": 225,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-14T07:10:48Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 11
        }
      ]
    },
    "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": 0
    },
    "ai_readiness": {
      "has_nix": true,
      "example_dirs": [
        "example",
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": true,
      "bootstrap_files": [
        "Makefile",
        "dogfood/coder/Makefile",
        "helm/Makefile",
        "mise.toml"
      ],
      "api_schema_files": [
        "agent/agentsocket/proto/agentsocket.proto",
        "agent/boundarylogproxy/codec/boundary.proto",
        "agent/proto/agent.proto",
        "coderd/aibridged/proto/aibridged.proto",
        "coderd/apidoc/swagger.json",
        "provisionerd/proto/provisionerd.proto",
        "provisionersdk/proto/provisioner.proto",
        "tailnet/proto/tailnet.proto",
        "vpn/vpn.proto"
      ],
      "has_devcontainer": true,
      "typecheck_configs": [
        "offlinedocs/tsconfig.json",
        "site/tsconfig.json"
      ],
      "toolchain_manifests": [
        "go.mod"
      ],
      "largest_source_bytes": 1309303,
      "source_files_sampled": 4468,
      "oversized_source_files": 94,
      "agent_instruction_files": [
        ".cursorrules",
        "AGENTS.md",
        "CLAUDE.md",
        "aibridge/AGENTS.md",
        "docs/reference/api/agents.md",
        "site/AGENTS.md",
        "site/CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 42867
    },
    "dependencies": {
      "manifests": [
        "go.mod",
        "offlinedocs/package.json",
        "package.json",
        "site/package.json"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "go",
        "npm"
      ],
      "dependencies": [
        {
          "name": "cdr.dev/slog/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.1.0"
        },
        {
          "name": "cloud.google.com/go/compute/metadata",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.9.0"
        },
        {
          "name": "github.com/DATA-DOG/go-sqlmock",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.2"
        },
        {
          "name": "github.com/Microsoft/go-winio",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.2"
        },
        {
          "name": "github.com/acarl005/stripansi",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20180116102854-5a71ef0e047d"
        },
        {
          "name": "github.com/adrg/xdg",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.5.0"
        },
        {
          "name": "github.com/ammario/tlru",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.4.0"
        },
        {
          "name": "github.com/andybalholm/brotli",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.1"
        },
        {
          "name": "github.com/aquasecurity/trivy-iac",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.8.0"
        },
        {
          "name": "github.com/armon/circbuf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20190214190532-5111143e8da2"
        },
        {
          "name": "github.com/awalterschulze/gographviz",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.3+incompatible"
        },
        {
          "name": "github.com/aws/smithy-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.27.3"
        },
        {
          "name": "github.com/bramvdbogaerde/go-scp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/briandowns/spinner",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.0"
        },
        {
          "name": "github.com/cakturk/go-netstat",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20200220111822-e5b49efee7a5"
        },
        {
          "name": "github.com/cenkalti/backoff/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.3.0"
        },
        {
          "name": "github.com/cespare/xxhash/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.3.0"
        },
        {
          "name": "github.com/charmbracelet/bubbles",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/charmbracelet/bubbletea",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.10"
        },
        {
          "name": "github.com/charmbracelet/glamour",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.0"
        },
        {
          "name": "github.com/charmbracelet/lipgloss",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1-0.20250404203927-76690c660834"
        },
        {
          "name": "github.com/chromedp/cdproto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20250724212937-08a3db8b4327"
        },
        {
          "name": "github.com/chromedp/chromedp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.14.1"
        },
        {
          "name": "github.com/cli/safeexec",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "github.com/coder/flog",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.0"
        },
        {
          "name": "github.com/coder/guts",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.7.0"
        },
        {
          "name": "github.com/coder/pretty",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20230908205945-e89ba86370e0"
        },
        {
          "name": "github.com/coder/quartz",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.0"
        },
        {
          "name": "github.com/coder/retry",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.1"
        },
        {
          "name": "github.com/coder/serpent",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.15.0"
        },
        {
          "name": "github.com/coder/terraform-provider-coder/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.18.0"
        },
        {
          "name": "github.com/coder/websocket",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.14"
        },
        {
          "name": "github.com/coder/wgtunnel",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.2.0"
        },
        {
          "name": "github.com/coreos/go-oidc/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.20.0"
        },
        {
          "name": "github.com/coreos/go-systemd",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20191104093116-d3cd4ed1dbcf"
        },
        {
          "name": "github.com/creack/pty",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.24"
        },
        {
          "name": "github.com/dave/dst",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.27.2"
        },
        {
          "name": "github.com/davecgh/go-spew",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.2-0.20180830191138-d8f796af33cc"
        },
        {
          "name": "github.com/dblohm7/wingoes",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240820181039-f2b84150679e"
        },
        {
          "name": "github.com/elastic/go-sysinfo",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.15.1"
        },
        {
          "name": "github.com/emersion/go-sasl",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20200509203442-7bfe0ed36a21"
        },
        {
          "name": "github.com/emersion/go-smtp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.21.2"
        },
        {
          "name": "github.com/fatih/color",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.0"
        },
        {
          "name": "github.com/fatih/structs",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.0"
        },
        {
          "name": "github.com/fatih/structtag",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/fergusstrange/embedded-postgres",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.34.0"
        },
        {
          "name": "github.com/gen2brain/beeep",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.11.1"
        },
        {
          "name": "github.com/gliderlabs/ssh",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.8"
        },
        {
          "name": "github.com/go-chi/chi/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.3.1"
        },
        {
          "name": "github.com/go-chi/cors",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.1"
        },
        {
          "name": "github.com/go-chi/httprate",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.16.0"
        },
        {
          "name": "github.com/go-jose/go-jose/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.1.4"
        },
        {
          "name": "github.com/go-logr/logr",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.3"
        },
        {
          "name": "github.com/go-playground/validator/v10",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v10.30.0"
        },
        {
          "name": "github.com/gofrs/flock",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.13.0"
        },
        {
          "name": "github.com/gohugoio/hugo",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.163.3"
        },
        {
          "name": "github.com/golang-jwt/jwt/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.5.2"
        },
        {
          "name": "github.com/golang-migrate/migrate/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.19.0"
        },
        {
          "name": "github.com/gomarkdown/markdown",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20260411013819-759bbc3e3207"
        },
        {
          "name": "github.com/google/go-cmp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.7.0"
        },
        {
          "name": "github.com/google/go-github/v43",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v43.0.1-0.20220414155304-00e42332e405"
        },
        {
          "name": "github.com/google/go-github/v61",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v61.0.0"
        },
        {
          "name": "github.com/google/uuid",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.0"
        },
        {
          "name": "github.com/hashicorp/go-multierror",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1"
        },
        {
          "name": "github.com/hashicorp/go-reap",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20170704170343-bf58d8a43e7b"
        },
        {
          "name": "github.com/hashicorp/go-version",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.9.0"
        },
        {
          "name": "github.com/hashicorp/hc-install",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.9.4"
        },
        {
          "name": "github.com/hashicorp/terraform-config-inspect",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20211115214459-90acf1ca460f"
        },
        {
          "name": "github.com/hashicorp/terraform-json",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.28.0"
        },
        {
          "name": "github.com/hashicorp/yamux",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.1.2"
        },
        {
          "name": "github.com/hinshun/vt10x",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20220301184237-5011da428d02"
        },
        {
          "name": "github.com/imulab/go-scim/pkg/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.0"
        },
        {
          "name": "github.com/jedib0t/go-pretty/v6",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v6.8.0"
        },
        {
          "name": "github.com/jmoiron/sqlx",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/justinas/nosurf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "github.com/kballard/go-shellquote",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20180428030007-95032a82bc51"
        },
        {
          "name": "github.com/kirsle/configdir",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20170128060238-e45d2f54772f"
        },
        {
          "name": "github.com/klauspost/compress",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.0"
        },
        {
          "name": "github.com/lib/pq",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.9"
        },
        {
          "name": "github.com/mattn/go-isatty",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.22"
        },
        {
          "name": "github.com/mitchellh/go-wordwrap",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "github.com/mitchellh/mapstructure",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.1-0.20231216201459-8508981c8b6c"
        },
        {
          "name": "github.com/mocktools/go-smtp-mock/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.5.0"
        },
        {
          "name": "github.com/muesli/termenv",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.16.0"
        },
        {
          "name": "github.com/natefinch/atomic",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "github.com/open-policy-agent/opa",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.18.1"
        },
        {
          "name": "github.com/ory/dockertest/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.12.0"
        },
        {
          "name": "github.com/pion/udp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.1.4"
        },
        {
          "name": "github.com/pkg/browser",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240102092130-5ac0b6a4141c"
        },
        {
          "name": "github.com/pkg/diff",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20210226163009-20ebb0f2a09e"
        },
        {
          "name": "github.com/pkg/sftp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.13.7"
        },
        {
          "name": "github.com/prometheus-community/pro-bing",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.9.0"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/prometheus/client_model",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.2"
        },
        {
          "name": "github.com/prometheus/common",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.70.0"
        },
        {
          "name": "github.com/quasilyte/go-ruleguard/dsl",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.23"
        },
        {
          "name": "github.com/robfig/cron/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.0.1"
        },
        {
          "name": "github.com/shirou/gopsutil/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.26.2"
        },
        {
          "name": "github.com/skratchdot/open-golang",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20200116055534-eef842397966"
        },
        {
          "name": "github.com/spf13/afero",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.15.0"
        },
        {
          "name": "github.com/spf13/pflag",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.10"
        },
        {
          "name": "github.com/sqlc-dev/pqtype",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.0"
        },
        {
          "name": "github.com/stretchr/testify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.1"
        },
        {
          "name": "github.com/swaggo/http-swagger/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.0.1"
        },
        {
          "name": "github.com/swaggo/swag",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.16.6"
        },
        {
          "name": "github.com/tidwall/gjson",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.18.0"
        },
        {
          "name": "github.com/u-root/u-root",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.14.0"
        },
        {
          "name": "github.com/unrolled/secure",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.17.0"
        },
        {
          "name": "github.com/valyala/fasthttp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.72.0"
        },
        {
          "name": "github.com/wagslane/go-password-validator",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.3.0"
        },
        {
          "name": "github.com/zclconf/go-cty-yaml",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.0"
        },
        {
          "name": "go.nhat.io/otelsql",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.16.0"
        },
        {
          "name": "go.opentelemetry.io/otel",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "go.opentelemetry.io/otel/sdk",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "go.opentelemetry.io/otel/trace",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "go.uber.org/atomic",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.11.0"
        },
        {
          "name": "go.uber.org/goleak",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.3.1-0.20240429205332-517bace7cc29"
        },
        {
          "name": "go.uber.org/mock",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.6.0"
        },
        {
          "name": "go4.org/netipx",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20230728180743-ad4cb58a6516"
        },
        {
          "name": "golang.org/x/crypto",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.54.0"
        },
        {
          "name": "golang.org/x/exp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20260410095643-746e56fc9e2f"
        },
        {
          "name": "golang.org/x/mod",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.38.0"
        },
        {
          "name": "golang.org/x/net",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.57.0"
        },
        {
          "name": "golang.org/x/oauth2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.36.0"
        },
        {
          "name": "golang.org/x/sync",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.22.0"
        },
        {
          "name": "golang.org/x/sys",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.47.0"
        },
        {
          "name": "golang.org/x/term",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.45.0"
        },
        {
          "name": "golang.org/x/text",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.40.0"
        },
        {
          "name": "golang.org/x/tools",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.48.0"
        },
        {
          "name": "golang.org/x/xerrors",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240903120638-7835f813f4da"
        },
        {
          "name": "google.golang.org/api",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.288.0"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.82.0"
        },
        {
          "name": "google.golang.org/protobuf",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.36.11"
        },
        {
          "name": "gopkg.in/DataDog/dd-trace-go.v1",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.74.0"
        },
        {
          "name": "gopkg.in/natefinch/lumberjack.v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.1"
        },
        {
          "name": "gopkg.in/yaml.v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.0.1"
        },
        {
          "name": "gvisor.dev/gvisor",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240509041132-65b30f7869dc"
        },
        {
          "name": "kernel.org/pub/linux/libs/security/libcap/cap",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.73"
        },
        {
          "name": "storj.io/drpc",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.34"
        },
        {
          "name": "tailscale.com",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.80.3"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.42.1"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2/config",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.32.25"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2/credentials",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.24"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2/feature/rds/auth",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.6.14"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2/service/sts",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.44.0"
        },
        {
          "name": "github.com/bmatcuk/doublestar/v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.10.0"
        },
        {
          "name": "github.com/dustin/go-humanize",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.1"
        },
        {
          "name": "github.com/gabriel-vasile/mimetype",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.12"
        },
        {
          "name": "github.com/hashicorp/go-terraform-address",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20240523040243-ccea9d309e0c"
        },
        {
          "name": "github.com/hashicorp/hcl/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.24.0"
        },
        {
          "name": "github.com/microcosm-cc/bluemonday",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.27"
        },
        {
          "name": "github.com/tailscale/netlink",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.1.1-0.20211101221916-cabfb018fe85"
        },
        {
          "name": "github.com/tailscale/wireguard-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20231121184858-cc193a0b3272"
        },
        {
          "name": "github.com/tidwall/pretty",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.1"
        },
        {
          "name": "github.com/yuin/goldmark",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.2"
        },
        {
          "name": "github.com/zclconf/go-cty",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.0"
        },
        {
          "name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.69.0"
        },
        {
          "name": "golang.zx2c4.com/wintun",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20230126152724-0fa3db229ce2"
        },
        {
          "name": "github.com/coder/clistat",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.1"
        },
        {
          "name": "github.com/SherClockHolmes/webpush-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "charm.land/fantasy",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.8.1"
        },
        {
          "name": "github.com/anthropics/anthropic-sdk-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.19.0"
        },
        {
          "name": "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.7.13"
        },
        {
          "name": "github.com/aymanbagabas/go-udiff",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.4.1"
        },
        {
          "name": "github.com/brianvoe/gofakeit/v7",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v7.15.0"
        },
        {
          "name": "github.com/coder/agentapi-sdk-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20250505131810-560d1d88d225"
        },
        {
          "name": "github.com/coder/aisdk-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.9"
        },
        {
          "name": "github.com/coder/boundary",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.10.0"
        },
        {
          "name": "github.com/coder/preview",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.0.10-0.20260521153517-34deb0946c4f"
        },
        {
          "name": "github.com/danieljoos/wincred",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.3"
        },
        {
          "name": "github.com/dgraph-io/ristretto/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.4.0"
        },
        {
          "name": "github.com/elazarl/goproxy",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.8.0"
        },
        {
          "name": "github.com/elimity-com/scim",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-20260506142751-830e1caafcc3"
        },
        {
          "name": "github.com/fsnotify/fsnotify",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.10.1"
        },
        {
          "name": "github.com/go-git/go-git/v5",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v5.19.1"
        },
        {
          "name": "github.com/invopop/jsonschema",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.14.0"
        },
        {
          "name": "github.com/mark3labs/mcp-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.38.0"
        },
        {
          "name": "github.com/nats-io/nats-server/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.14.2"
        },
        {
          "name": "github.com/nats-io/nats.go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.52.0"
        },
        {
          "name": "github.com/openai/openai-go/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.28.0"
        },
        {
          "name": "github.com/scim2/filter-parser/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.2.0"
        },
        {
          "name": "github.com/shopspring/decimal",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.4.0"
        },
        {
          "name": "github.com/smallstep/pkcs7",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.2.1"
        },
        {
          "name": "github.com/sony/gobreaker/v2",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.4.0"
        },
        {
          "name": "github.com/tidwall/sjson",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.2.5"
        },
        {
          "name": "gitlab.com/gitlab-org/api/client-go",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.46.0"
        },
        {
          "name": "gonum.org/v1/gonum",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.17.0"
        },
        {
          "name": "gopkg.in/dnaeon/go-vcr.v4",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v4.0.6"
        },
        {
          "name": "mvdan.cc/sh/v3",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.13.1"
        },
        {
          "name": "github.com/joho/godotenv",
          "manifest": "go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.5.1"
        },
        {
          "name": "@chakra-ui/react",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.10.9"
        },
        {
          "name": "@emotion/react",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.14.0"
        },
        {
          "name": "@emotion/styled",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.14.1"
        },
        {
          "name": "archiver",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "8.0.0"
        },
        {
          "name": "framer-motion",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "^10.18.0"
        },
        {
          "name": "front-matter",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.2"
        },
        {
          "name": "lodash",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.18.1"
        },
        {
          "name": "next",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "15.5.18"
        },
        {
          "name": "react",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "18.3.1"
        },
        {
          "name": "react-dom",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "18.3.1"
        },
        {
          "name": "react-icons",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.7.0"
        },
        {
          "name": "react-markdown",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "10.1.0"
        },
        {
          "name": "rehype-raw",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.0.0"
        },
        {
          "name": "remark-gfm",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.1"
        },
        {
          "name": "sanitize-html",
          "manifest": "offlinedocs/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.17.5"
        },
        {
          "name": "@dnd-kit/core",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "6.3.1"
        },
        {
          "name": "@dnd-kit/sortable",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "10.0.0"
        },
        {
          "name": "@dnd-kit/utilities",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.2.2"
        },
        {
          "name": "@emoji-mart/data",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.2.1"
        },
        {
          "name": "@emoji-mart/react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.1.1"
        },
        {
          "name": "@emotion/cache",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.14.0"
        },
        {
          "name": "@emotion/css",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.13.5"
        },
        {
          "name": "@emotion/react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.14.0"
        },
        {
          "name": "@emotion/styled",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "11.14.1"
        },
        {
          "name": "@fontsource-variable/geist",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.9"
        },
        {
          "name": "@fontsource-variable/geist-mono",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.7"
        },
        {
          "name": "@fontsource/fira-code",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.7"
        },
        {
          "name": "@fontsource/ibm-plex-mono",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.7"
        },
        {
          "name": "@fontsource/jetbrains-mono",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.8"
        },
        {
          "name": "@fontsource/source-code-pro",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.2.7"
        },
        {
          "name": "@lexical/react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.44.0"
        },
        {
          "name": "@lexical/utils",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.44.0"
        },
        {
          "name": "@monaco-editor/react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.7.0"
        },
        {
          "name": "@mui/material",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.18.0"
        },
        {
          "name": "@mui/system",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.18.0"
        },
        {
          "name": "@novnc/novnc",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.0"
        },
        {
          "name": "@pierre/diffs",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.2.7"
        },
        {
          "name": "@pierre/trees",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.0-beta.4"
        },
        {
          "name": "@tanstack/react-query-devtools",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.77.0"
        },
        {
          "name": "@xterm/addon-canvas",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.7.0"
        },
        {
          "name": "@xterm/addon-fit",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.11.0"
        },
        {
          "name": "@xterm/addon-unicode11",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.9.0"
        },
        {
          "name": "@xterm/addon-web-links",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.12.0"
        },
        {
          "name": "@xterm/addon-webgl",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.19.0"
        },
        {
          "name": "@xterm/xterm",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.5.0"
        },
        {
          "name": "axios",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.16.1"
        },
        {
          "name": "chroma-js",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.6.0"
        },
        {
          "name": "class-variance-authority",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.7.1"
        },
        {
          "name": "clsx",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.1.1"
        },
        {
          "name": "cmdk",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.1.1"
        },
        {
          "name": "color-convert",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.0.1"
        },
        {
          "name": "cron-parser",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.9.0"
        },
        {
          "name": "cronstrue",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.59.0"
        },
        {
          "name": "dayjs",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.11.20"
        },
        {
          "name": "diff",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "8.0.4"
        },
        {
          "name": "emoji-mart",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "5.6.0"
        },
        {
          "name": "fancy-ansi",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.1.3"
        },
        {
          "name": "file-saver",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.0.5"
        },
        {
          "name": "formik",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.4.9"
        },
        {
          "name": "front-matter",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.2"
        },
        {
          "name": "humanize-duration",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.33.1"
        },
        {
          "name": "jszip",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.10.1"
        },
        {
          "name": "lexical",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.44.0"
        },
        {
          "name": "lodash",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.18.1"
        },
        {
          "name": "lucide-react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.555.0"
        },
        {
          "name": "monaco-editor",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "0.55.1"
        },
        {
          "name": "motion",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "12.40.0"
        },
        {
          "name": "pretty-bytes",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "6.1.1"
        },
        {
          "name": "radix-ui",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.4.3"
        },
        {
          "name": "react",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.6"
        },
        {
          "name": "react-color",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.19.3"
        },
        {
          "name": "react-confetti",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "6.4.0"
        },
        {
          "name": "react-day-picker",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "9.14.0"
        },
        {
          "name": "react-dom",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "19.2.6"
        },
        {
          "name": "react-infinite-scroll-component",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.1.0"
        },
        {
          "name": "react-markdown",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "9.1.0"
        },
        {
          "name": "react-query",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "npm:@tanstack/react-query@5.77.0"
        },
        {
          "name": "react-resizable-panels",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "3.0.6"
        },
        {
          "name": "react-router",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.15.1"
        },
        {
          "name": "react-syntax-highlighter",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "15.6.6"
        },
        {
          "name": "react-textarea-autosize",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "8.5.9"
        },
        {
          "name": "react-virtualized-auto-sizer",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.26"
        },
        {
          "name": "react-window",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.8.11"
        },
        {
          "name": "recharts",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.15.4"
        },
        {
          "name": "remark-gfm",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.0.1"
        },
        {
          "name": "semver",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "7.7.3"
        },
        {
          "name": "sonner",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.0.7"
        },
        {
          "name": "streamdown",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.5.0"
        },
        {
          "name": "tailwind-merge",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.6.1"
        },
        {
          "name": "tailwindcss-animate",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.7"
        },
        {
          "name": "tzdata",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.46"
        },
        {
          "name": "ua-parser-js",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.0.41"
        },
        {
          "name": "ufuzzy",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "npm:@leeoniya/ufuzzy@1.0.10"
        },
        {
          "name": "unique-names-generator",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "4.7.1"
        },
        {
          "name": "uuid",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "14.0.0"
        },
        {
          "name": "websocket-ts",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "2.3.0"
        },
        {
          "name": "yup",
          "manifest": "site/package.json",
          "ecosystem": "npm",
          "version_constraint": "1.7.1"
        },
        {
          "name": "widdershins",
          "manifest": "scripts/apidocgen/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.0.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": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 9,
      "bot_contributors": 3,
      "top_contributors": [
        {
          "type": "User",
          "login": "kylecarbs",
          "commits": 1201,
          "avatar_url": "https://avatars.githubusercontent.com/u/7122116?v=4"
        },
        {
          "type": "User",
          "login": "mafredri",
          "commits": 941,
          "avatar_url": "https://avatars.githubusercontent.com/u/147409?v=4"
        },
        {
          "type": "User",
          "login": "johnstcn",
          "commits": 921,
          "avatar_url": "https://avatars.githubusercontent.com/u/4949514?v=4"
        },
        {
          "type": "User",
          "login": "Emyrk",
          "commits": 802,
          "avatar_url": "https://avatars.githubusercontent.com/u/5446298?v=4"
        },
        {
          "type": "User",
          "login": "spikecurtis",
          "commits": 579,
          "avatar_url": "https://avatars.githubusercontent.com/u/5375600?v=4"
        },
        {
          "type": "User",
          "login": "matifali",
          "commits": 510,
          "avatar_url": "https://avatars.githubusercontent.com/u/10648092?v=4"
        },
        {
          "type": "User",
          "login": "aslilac",
          "commits": 459,
          "avatar_url": "https://avatars.githubusercontent.com/u/418348?v=4"
        },
        {
          "type": "User",
          "login": "DanielleMaywood",
          "commits": 452,
          "avatar_url": "https://avatars.githubusercontent.com/u/40153966?v=4"
        },
        {
          "type": "User",
          "login": "mtojek",
          "commits": 420,
          "avatar_url": "https://avatars.githubusercontent.com/u/14044910?v=4"
        },
        {
          "type": "User",
          "login": "coadler",
          "commits": 418,
          "avatar_url": "https://avatars.githubusercontent.com/u/6332295?v=4"
        }
      ],
      "contributors_sampled": 97,
      "top_contributor_share": 0.099
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "backport.yaml",
        "cherry-pick.yaml",
        "ci.yaml",
        "classify-issue-severity.yml",
        "code-review.yaml",
        "contrib.yaml",
        "dependabot.yaml",
        "deploy-docs.yaml",
        "deploy.yaml",
        "doc-check.yaml",
        "docker-base.yaml",
        "docs-preview.yaml",
        "dogfood.yaml",
        "flake-go.yaml",
        "linear-release.yaml",
        "nightly-gauntlet.yaml",
        "pr-auto-assign.yaml",
        "pr-cherry-pick-check.yaml",
        "pr-cleanup.yaml",
        "pr-deploy.yaml",
        "publish-mcp-registry.yaml",
        "release-validation.yaml",
        "release.yaml",
        "scorecard.yml",
        "security.yaml",
        "stale.yaml",
        "tag-and-release.yaml",
        "traiage.yaml",
        "triage-via-chat-api.yaml",
        "weekly-docs.yaml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.json",
        ".golangci.yaml"
      ],
      "has_editorconfig": true,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum",
        "package-lock.json",
        "pnpm-lock.yaml"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 22 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 9,
            "reason": "dependency not pinned by hash detected -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 10,
            "reason": "SAST tool detected: CodeQL",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "69 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "5f5efa49da790a37ec9a646d680a47e753630e81",
        "ran_at": "2026-07-25T18:39:13Z",
        "aggregate_score": 5.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-19T03:44:09Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/tiaden/coder-peerlane",
    "host": "github.com",
    "name": "coder-peerlane",
    "owner": "tiaden"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 56,
      "inputs": {
        "security": 57,
        "vitality": 83,
        "community": 12,
        "governance": 53,
        "engineering": 69
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 83,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "commits_last_year": 4863,
              "human_commit_share": 0.92,
              "days_since_last_push": 6,
              "active_weeks_last_year": 52
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "52/52 weeks with commits",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 52
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "4863 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 4863
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "good",
            "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": 72,
            "inputs": {
              "releases_count": 1,
              "latest_release_tag": "v2.35.2",
              "releases_from_tags": true,
              "days_since_latest_release": 11,
              "mean_days_between_releases": null
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "1 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 11 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 11
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "cadence unknown (single release)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence_unknown",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "critical",
        "name": "Community & Adoption",
        "value": 12,
        "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": 25,
            "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": "recognized license (AGPL-3.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "AGPL-3.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 53,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 98,
            "inputs": {
              "bus_factor": 9,
              "contributors_sampled": 97,
              "top_contributor_share": 0.099
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "9 contributor(s) cover half of all commits",
                "points": 54,
                "status": "met",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 10% of commits",
                "points": 20.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 10
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "97 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 97
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 22 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "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": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 50,
            "inputs": {
              "followers": 7,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "tiaden",
              "public_repos": 32,
              "account_age_days": 3164
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "7 followers of tiaden",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 7,
                      "login": "tiaden"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "32 public repos, account ~8 yr old",
                "points": 23.1,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 32
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 8
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 69,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "excellent",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 88,
            "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": "30 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 30
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.json, .golangci.yaml",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json, .golangci.yaml"
                    }
                  }
                ],
                "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": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": false,
              "homepage": "https://coder.com",
              "has_readme": false,
              "has_docs_dir": true,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://coder.com",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 57,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 57,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 5.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": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 22 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 9",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool detected: CodeQL",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "69 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 7
            },
            "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": "excellent",
        "name": "AI Readiness",
        "value": 92,
        "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": [
                ".cursorrules",
                "AGENTS.md",
                "CLAUDE.md",
                "aibridge/AGENTS.md",
                "docs/reference/api/agents.md",
                "site/AGENTS.md",
                "site/CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 42867
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": ".cursorrules, AGENTS.md, CLAUDE.md, aibridge/AGENTS.md, docs/reference/api/agents.md, site/AGENTS.md, site/CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".cursorrules, AGENTS.md, CLAUDE.md, aibridge/AGENTS.md, docs/reference/api/agents.md, site/AGENTS.md, site/CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "92 of 92 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 92,
                      "sampled": 92
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "excellent",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 91,
            "inputs": {
              "has_nix": true,
              "has_tests": true,
              "lockfiles": [
                "go.sum",
                "package-lock.json",
                "pnpm-lock.yaml"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "Makefile",
                "dogfood/coder/Makefile",
                "helm/Makefile",
                "mise.toml"
              ],
              "has_devcontainer": true,
              "has_linter_config": true,
              "typecheck_configs": [
                "offlinedocs/tsconfig.json",
                "site/tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [
                "go.mod"
              ],
              "dependency_bot_commit_share": 0.08
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile, dogfood/coder/Makefile, helm/Makefile, mise.toml",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Makefile, dogfood/coder/Makefile, helm/Makefile, mise.toml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.json, .golangci.yaml",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.json, .golangci.yaml"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "offlinedocs/tsconfig.json, site/tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "offlinedocs/tsconfig.json, site/tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "devcontainer, Dockerfile, Nix, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "devcontainer, Dockerfile, Nix, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "8 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 8,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 9",
                "points": 9,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 1309303,
              "source_files_sampled": 4468,
              "oversized_source_files": 94
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Go (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "94/4468 source files over 60KB",
                "points": 53.8,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 4468,
                      "oversized": 94
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "excellent",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "example_dirs": [
                "example",
                "examples"
              ],
              "has_mcp_signal": true,
              "api_schema_files": [
                "agent/agentsocket/proto/agentsocket.proto",
                "agent/boundarylogproxy/codec/boundary.proto",
                "agent/proto/agent.proto",
                "coderd/aibridged/proto/aibridged.proto",
                "coderd/apidoc/swagger.json",
                "provisionerd/proto/provisionerd.proto",
                "provisionersdk/proto/provisioner.proto",
                "tailnet/proto/tailnet.proto",
                "vpn/vpn.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "agent/agentsocket/proto/agentsocket.proto, agent/boundarylogproxy/codec/boundary.proto, agent/proto/agent.proto, coderd/aibridged/proto/aibridged.proto, coderd/apidoc/swagger.json, provisionerd/proto/provisionerd.proto, provisionersdk/proto/provisioner.proto, tailnet/proto/tailnet.proto, vpn/vpn.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "agent/agentsocket/proto/agentsocket.proto, agent/boundarylogproxy/codec/boundary.proto, agent/proto/agent.proto, coderd/aibridged/proto/aibridged.proto, coderd/apidoc/swagger.json, provisionerd/proto/provisionerd.proto, provisionersdk/proto/provisioner.proto, tailnet/proto/tailnet.proto, vpn/vpn.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example, examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example, 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": [
    "Community profile unavailable",
    "go package 'github.com/coder/coder/v2' points at a different repository (https://github.com/coder/coder); excluded from ecosystem scoring",
    "Could not fetch npm package '@coder/coder' from its registry",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T18:39:42.600804Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/t/tiaden/coder-peerlane.svg",
  "full_name": "tiaden/coder-peerlane",
  "license_state": "standard",
  "license_spdx": "AGPL-3.0"
}

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

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

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