Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-25 18:39 UTC

tiaden / coder-peerlane

Go · TypeScriptAGPL-3.0★ 0 зірок⑂ 0 форківз лип. 2026 р.форкПереглянути на GitHub ↗

tiaden/coder-peerlane має індекс здоров’я 56 зі 100, що відповідає смузі «Помірний». Найвищий показник — AI Readiness (92/100), найнижчий — Community & Adoption (12/100). Останнє оновлення було 6 днів тому. Більшість нещодавньої роботи виконують 9 учасників.

56
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

56
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

Edem TiassouОсобистий обліковий запис
7 підписників32 публічні репозиторіїз лист. 2017 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Gogithub.com/coder/coder/v2вказує на інший репозиторій — не оцінюєтьсяv2.35.2-22511 днів тому

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

83Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 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
Як обчислюється оцінка
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
Як обчислюється оцінка
0/22.5README
22.5/22.5Ліцензія — визнана ліцензія (AGPL-3.0)
0/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
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Вирішення issue — немає issue або даних
0/38.3Прийняття PR — немає вирішених pull request-ів або даних
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
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue, Прийняття PR. Залишкові ваги перенормовано.
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
6.5/25Охоплення власника — 7 підписників у tiaden
23.1/25Послужний список — 32 публічних репозиторіїв, вік облікового запису ~8 р.
Використані вхідні дані
followers7
owner_typeUser
is_verified
owner_logintiaden
public_repos32
account_age_days3 164
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Інженерна якість

Чи наявні базові інженерні практики та документація?

69Помірний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 30 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — .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. Залишкові ваги перенормовано.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 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/11Конфігурація лінтера / форматера — .eslintrc.json, .golangci.yaml
11/11Статична перевірка типів — offlinedocs/tsconfig.json, site/tsconfig.json
10/10Відтворюване середовище — devcontainer, Dockerfile, Nix, lockfile
2/10Підтверджена практика роботи з агентами — 1 з останніх 100 комітів створено агентом або з його зазначенням
8/8Автоматизоване супроводження — 8 з останніх 100 комітів — автоматичні оновлення залежностей
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Керовані розміри файлів — 94/4 468 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageGo
largest_source_bytes1 309 303
source_files_sampled4 468
oversized_source_files94
Як обчислюється оцінка
40/40Схема API (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/20Сервер MCP
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

Ключові факти

0зірок GitHub
97контриб'юторів
4 863комітів за останні 12 місяців
6днів від останнього пушу
1релізів
9бас-фактор
0відкритих issue
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.