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

tx7do / go-wind-plugins

Multi-engine plugin ecosystem for the Go Wind microservice framework, providing unified interfaces and plug-and-play adapters for mainstream tech stacks.

GoMIT★ 4 зірки⑂ 1 форкз черв. 2026 р.Переглянути на GitHub ↗

tx7do/go-wind-plugins має індекс здоров’я 36 зі 100, що відповідає смузі «У зоні ризику». Найвищий показник — AI Readiness (67/100), найнижчий — Security (21/100). Останнє оновлення було 6 днів тому. Більшість нещодавньої роботи виконує один учасник.

36
загалом / 100
У зоні ризику

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

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

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

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

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

Власність

BoboОсобистий обліковий запис
215 підписників212 публічних репозиторіївз лист. 2015 р.

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

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікація
Gogithub.com/tx7do/go-wind-plugins/logv0.0.1-144 дні тому
Gogithub.com/tx7do/go-wind-plugins/cachev0.0.1-142 дні тому
Gogithub.com/tx7do/go-wind-plugins/pprofv0.0.1-142 дні тому
Gogithub.com/tx7do/go-wind-plugins/retryv0.0.1-142 дні тому
Gogithub.com/tx7do/go-wind-plugins/brokerv0.0.1-142 дні тому
Gogithub.com/tx7do/go-wind-plugins/configv0.0.1-144 дні тому
Gogithub.com/tx7do/go-wind-plugins/errorsv0.0.1-143 дні тому
Gogithub.com/tx7do/go-wind-plugins/healthv0.0.1-142 дні тому

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

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

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

35У зоні ризику · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 6 дн. тому
3.5/36Ритм комітів — 5/52 тижнів із комітами
17.6/18Обсяг комітів — 91 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Використані вхідні дані
commits_last_year91
human_commit_share1
days_since_last_push6
active_weeks_last_year5
Як обчислюється оцінка
0/27Випускає релізи — релізів не опубліковано
0/36Свіжість релізів — релізів немає
0/27Ритм релізів — релізів немає
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count0
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

28Критичний · 18% загального індексу
Як обчислюється оцінка
7.7/60Зірки — 4 зірок
0/25Форки — 1 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks1
stars4
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
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ні

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

36У зоні ризику · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0/22.5Розподіл комітів — головний контриб’ютор — автор 100% комітів
1.4/13.5Широта контриб’юторів — 1 контриб’юторів
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Використані вхідні дані
bus_factor1
contributors_sampled1
top_contributor_share1
Як обчислюється оцінка
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Верифікований домен — не застосовно до користувацьких облікових записів
16.8/25Охоплення власника — 215 підписників у tx7do
25/25Послужний список — 212 публічних репозиторіїв, вік облікового запису ~10 р.
Використані вхідні дані
followers215
owner_typeUser
is_verified
owner_logintx7do
public_repos212
account_age_days3 900
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.
Як обчислюється оцінка
25/25Опубліковано й доступно — 8 пакет(ів) у go
35/35Свіжість публікацій — остання публікація 42 дн. тому
4/20Історія версій — 1 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesgithub.com/tx7do/go-wind-plugins/log, github.com/tx7do/go-wind-plugins/cache, github.com/tx7do/go-wind-plugins/pprof, github.com/tx7do/go-wind-plugins/retry, github.com/tx7do/go-wind-plugins/broker, github.com/tx7do/go-wind-plugins/config, github.com/tx7do/go-wind-plugins/errors, github.com/tx7do/go-wind-plugins/health
ecosystemsgo
any_deprecatedні
min_days_since_publish42

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

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

58Помірний · 20% загального індексу

Інженерні практики

30У зоні ризику
Як обчислюється оцінка
0/24Процеси CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciні
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

Документація

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://www.gowind.cloud/
10/10Опис репозиторію
10/10Теми — 10 тем
10/10Wiki
Використані вхідні дані
topicsadapter, broker, configuration, go, grpc, http, microservice, opentelemetry, plugins, service-discovery
has_wikiтак
homepagehttps://www.gowind.cloud/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

21Критичний · 16% загального індексу

Стан безпеки

21Критичний
Як обчислюється оцінка
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
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
0/10Dangerous-Workflow — немає даних
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — немає даних
5/5Pinned-Dependencies — all dependencies are pinned
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — немає даних
0/7.5Vulnerabilities — 44 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated13
scorecard_versionv5.5.0
checks_inconclusive5
scorecard_aggregate2,1
Виключено з оцінювання (немає даних або не застосовно): ci_tests, dangerous_workflow, packaging, signed_releases, token_permissions. Залишкові ваги перенормовано.

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

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

67Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 90 з 91 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,989
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — security/authz/opa/policy/Makefile
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Go (статично типізована)
10/10Відтворюване середовище — lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 91 комітів немає створених агентом
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
10/10OpenSSF Scorecard: Pinned-Dependencies — all dependencies are pinned
Використані вхідні дані
has_nixні
has_testsтак
lockfilesgo.sum
has_dockerfileні
typed_languageтак
bootstrap_filessecurity/authz/opa/policy/Makefile
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifests_examples/go.mod, ai/eino/go.mod, ai/langchaingo/go.mod, ai/openai/go.mod, broker/azuresb/go.mod, broker/gcpubsub/go.mod, broker/go.mod, broker/kafka/go.mod, broker/mqtt/go.mod, broker/nats/go.mod, broker/nsq/go.mod, broker/pulsar/go.mod, broker/rabbitmq/go.mod, broker/redis/go.mod, broker/rocketmq/go.mod, broker/sqs/go.mod, broker/stomp/go.mod, cache/go.mod, cache/local/go.mod, cache/redis/go.mod, circuitbreaker/go.mod, circuitbreaker/hystrix/go.mod, circuitbreaker/sentinel/go.mod, circuitbreaker/sres/go.mod, circuitbreaker/vegas/go.mod, config/apollo/go.mod, config/consul/go.mod, config/env/go.mod, config/etcd/go.mod, config/file/go.mod, config/fs/go.mod, config/go.mod, config/http/go.mod, config/kubernetes/go.mod, config/nacos/go.mod, config/oss/go.mod, config/polaris/go.mod, config/redis/go.mod, config/vault/go.mod, config/zookeeper/go.mod, encoding/avro/go.mod, encoding/bson/go.mod, encoding/cbor/go.mod, encoding/flatbuffers/go.mod, encoding/go.mod, encoding/gob/go.mod, encoding/json/go.mod, encoding/msgpack/go.mod, encoding/proto/go.mod, encoding/thrift/go.mod, encoding/toml/go.mod, encoding/xml/go.mod, encoding/yaml/go.mod, errors/go.mod, health/go.mod, log/aliyun/go.mod, log/charm/go.mod, log/cloudwatch/go.mod, log/fluent/go.mod, log/glog/go.mod, log/go.mod, log/hclog/go.mod, log/logrus/go.mod, log/loki/go.mod, log/phuslu/go.mod, log/sentry/go.mod, log/tencent/go.mod, log/zap/go.mod, log/zerolog/go.mod, metrics/datadog/go.mod, metrics/go.mod, metrics/otel/go.mod, metrics/prometheus/go.mod, oss/minio/go.mod, oss/s3/go.mod, pprof/go.mod, ratelimit/bbr/go.mod, ratelimit/go.mod, ratelimit/sentinel/go.mod, ratelimit/tokenbucket/go.mod, registry/consul/go.mod, registry/etcd/go.mod, registry/eureka/go.mod, registry/go.mod, registry/kubernetes/go.mod, registry/nacos/go.mod, registry/polaris/go.mod, registry/servicecomb/go.mod, registry/zookeeper/go.mod, retry/go.mod, security/authn/apikey/go.mod, security/authn/basicauth/go.mod, security/authn/go.mod, security/authn/hmac/go.mod, security/authn/jwt/go.mod, security/authn/mtls/go.mod, security/authn/oauth2/go.mod, security/authn/oidc/go.mod, security/authn/presharedkey/go.mod, security/authn/session/go.mod, security/authz/acl/go.mod, security/authz/awsiam/go.mod, security/authz/casbin/go.mod, security/authz/cedar/go.mod, security/authz/cerbos/go.mod, security/authz/go.mod, security/authz/opa/go.mod, security/authz/rbac/go.mod, security/authz/zanzibar/go.mod, security/crypto/go.mod, testing/go.mod, tracer/otlp/go.mod, transaction/dtm/go.mod, transaction/go.mod, transport/activemq/go.mod, transport/asynq/go.mod, transport/azuresb/go.mod, transport/cron/go.mod, transport/gcpubsub/go.mod, transport/go.mod, transport/graphql/go.mod, transport/grpc/client/go.mod, transport/grpc/middleware/authn/go.mod, transport/grpc/middleware/authz/go.mod, transport/grpc/middleware/circuitbreaker/go.mod, transport/grpc/middleware/codec/go.mod, transport/grpc/middleware/crypto/go.mod, transport/grpc/middleware/errors/go.mod, transport/grpc/middleware/logging/go.mod, transport/grpc/middleware/metadata/go.mod, transport/grpc/middleware/metrics/go.mod, transport/grpc/middleware/ratelimit/go.mod, transport/grpc/middleware/recovery/go.mod, transport/grpc/middleware/requestid/go.mod, transport/grpc/middleware/retry/go.mod, transport/grpc/middleware/timeout/go.mod, transport/grpc/middleware/tracing/go.mod, transport/grpc/middleware/validate/go.mod, transport/grpc/server/go.mod, transport/hptimer/go.mod, transport/http/benchmark/go.mod, transport/http/binding/go.mod, transport/http/driver/chi/go.mod, transport/http/driver/fiber/go.mod, transport/http/driver/gin/go.mod, transport/http/driver/std/go.mod, transport/http/go.mod, transport/http/middleware/authn/go.mod, transport/http/middleware/authz/go.mod, transport/http/middleware/circuitbreaker/go.mod, transport/http/middleware/codec/go.mod, transport/http/middleware/cors/go.mod, transport/http/middleware/crypto/go.mod, transport/http/middleware/errors/go.mod, transport/http/middleware/logging/go.mod, transport/http/middleware/metadata/go.mod, transport/http/middleware/metrics/go.mod, transport/http/middleware/ratelimit/go.mod, transport/http/middleware/recovery/go.mod, transport/http/middleware/requestid/go.mod, transport/http/middleware/retry/go.mod, transport/http/middleware/timeout/go.mod, transport/http/middleware/tracing/go.mod, transport/http/middleware/validate/go.mod, transport/http/redoc/go.mod, transport/http/swagger/go.mod, transport/http3/go.mod, transport/kafka/go.mod, transport/kcp/go.mod, transport/machinery/go.mod, transport/mcp/go.mod, transport/mqtt/go.mod, transport/nats/go.mod, transport/nsq/go.mod, transport/pulsar/go.mod, transport/rabbitmq/go.mod, transport/redis/go.mod, transport/rocketmq/go.mod, transport/signalr/go.mod, transport/socketio/go.mod, transport/sqs/go.mod, transport/sse/go.mod, transport/tcp/go.mod, transport/thrift/go.mod, transport/trpc/go.mod, transport/webrtc/go.mod, transport/websocket/go.mod, transport/webtransport/go.mod, workflow/argo/go.mod, workflow/conductor/go.mod, workflow/go.mod, workflow/goworkflows/go.mod, workflow/temporal/go.mod
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Go (статично типізована)
54.9/55Керовані розміри файлів — 1/812 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageGo
largest_source_bytes85 305
source_files_sampled812
oversized_source_files1
Як обчислюється оцінка
40/40Схема API (OpenAPI/GraphQL/proto) — testing/api/graphql/schema.graphql, testing/api/protobuf/proto/hygrothermograph.proto, testing/api/protobuf/proto/i_hygrothermograph.proto
0/20Сервер MCP
40/40Придатні до запуску приклади — example
Використані вхідні дані
example_dirsexample
has_mcp_signalні
api_schema_filestesting/api/graphql/schema.graphql, testing/api/protobuf/proto/hygrothermograph.proto, testing/api/protobuf/proto/i_hygrothermograph.proto

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

4зірок GitHub
1контриб'юторів
91комітів за останні 12 місяців
6днів від останнього пушу
0релізів
1бас-фактор
0відкритих issue
Goпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Докладніше

OpenSSF Scorecard 2.1 / 10
2.1сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-23 21:51 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
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
н/дDangerous-Workflowno workflows found
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
н/дPackagingpackaging workflow not detected
10Pinned-Dependenciesall dependencies are pinned
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
н/дToken-PermissionsNo tokens found
0Vulnerabilities44 existing vulnerabilities detected
Прямі залежності 66
РеєстрПакетОбмеження версіїМаніфест
Gogithub.com/99designs/gqlgenv0.17.89_examples/go.mod
Gogithub.com/apache/thriftv0.23.0_examples/go.mod
Gogithub.com/googollee/go-socket.iov1.7.0_examples/go.mod
Gogithub.com/hibiken/asynqv0.26.0_examples/go.mod
Gogithub.com/prometheus/client_golangv1.23.2_examples/go.mod
Gogithub.com/tx7do/go-utils/cryptov0.0.2_examples/go.mod
Gogithub.com/tx7do/go-windv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/brokerv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/cachev0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/cache/localv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/circuitbreakerv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/circuitbreaker/sresv0.0.0-00010101000000-000000000000_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/config/filev0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/encoding/jsonv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/encoding/xmlv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/healthv0.0.0-00010101000000-000000000000_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/metricsv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/metrics/prometheusv0.0.0-00010101000000-000000000000_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/ratelimitv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/ratelimit/tokenbucketv0.0.0-00010101000000-000000000000_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/registry/etcdv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/retryv0.0.0-00010101000000-000000000000_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/testingv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/tracer/otlpv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/asynqv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/cronv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/graphqlv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/grpc/middleware/loggingv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/grpc/middleware/recoveryv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/grpc/serverv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/httpv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/driver/stdv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/codecv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/cryptov0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/loggingv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/recoveryv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/requestidv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/middleware/tracingv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/swaggerv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/http/redocv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/kafkav0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/socketiov0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/ssev0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/tcpv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/thriftv0.0.1_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/transport/websocketv0.0.1_examples/go.mod
Gogo.etcd.io/etcd/client/v3v3.6.10_examples/go.mod
Gogo.opentelemetry.io/otelv1.43.0_examples/go.mod
Gogo.opentelemetry.io/otel/tracev1.43.0_examples/go.mod
Gogoogle.golang.org/grpcv1.80.0_examples/go.mod
Gogoogle.golang.org/protobufv1.36.11_examples/go.mod
Gogithub.com/tx7do/go-wind-plugins/encodingv0.0.1broker/go.mod
Gogithub.com/tx7do/go-wind-plugins/encoding/jsonv0.0.1broker/go.mod
Gogithub.com/tx7do/go-wind-plugins/encoding/protov0.0.1broker/go.mod
Gogo.opentelemetry.io/otelv1.43.0broker/go.mod
Gogo.opentelemetry.io/otel/tracev1.43.0broker/go.mod
Gogithub.com/tx7do/go-wind-plugins/tracer/otlpv0.0.1broker/go.mod
Gogithub.com/tx7do/go-windv0.0.1log/go.mod
Gogithub.com/tx7do/go-windv0.0.1registry/go.mod
Gogithub.com/99designs/gqlgenv0.17.89testing/go.mod
Gogithub.com/apache/thriftv0.23.0testing/go.mod
Gogithub.com/vektah/gqlparser/v2v2.5.32testing/go.mod
Gogoogle.golang.org/grpcv1.80.0testing/go.mod
Gogoogle.golang.org/protobufv1.36.11testing/go.mod
Gogithub.com/tx7do/go-wind-plugins/brokerv0.0.1transport/go.mod
Gogithub.com/tx7do/go-wind-plugins/metricsv0.0.1transport/go.mod
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "adapter",
        "broker",
        "configuration",
        "go",
        "grpc",
        "http",
        "microservice",
        "opentelemetry",
        "plugins",
        "service-discovery"
      ],
      "is_fork": false,
      "size_kb": 2590,
      "has_wiki": true,
      "homepage": "https://www.gowind.cloud/",
      "languages": {
        "Go": 2693492,
        "HTML": 28149,
        "Shell": 9660,
        "Thrift": 6971,
        "Makefile": 240,
        "PowerShell": 3015,
        "Open Policy Agent": 30065
      },
      "pushed_at": "2026-07-17T00:06:43Z",
      "created_at": "2026-06-09T07:46:46Z",
      "owner_type": "User",
      "updated_at": "2026-07-17T02:36:46Z",
      "description": "Multi-engine plugin ecosystem for the Go Wind microservice framework, providing unified interfaces and plug-and-play adapters for mainstream tech stacks.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "Go",
      "significant_languages": [
        "Go"
      ]
    },
    "owner": {
      "blog": "https://tx7do.github.io/",
      "name": "Bobo",
      "type": "User",
      "login": "tx7do",
      "company": null,
      "location": "China",
      "followers": 215,
      "avatar_url": "https://avatars.githubusercontent.com/u/15902756?v=4",
      "created_at": "2015-11-18T06:08:45Z",
      "is_verified": null,
      "public_repos": 212,
      "account_age_days": 3900
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [],
      "recent_commits": [
        {
          "oid": "d8a493a75f72939eca7f812efa486406db4a4454",
          "body": "- transport/http/redoc: 新建独立子模块,基于 go-redoc v0.1.5\n  支持远程 URL 和本地文件两种文档源,ReDoc JS 内嵌在二进制中\n- _examples/redoc-basic: 演示基于 std driver 挂载 ReDoc(远程 URL 模式)\n- README: 追加 ReDoc 用法小节\n- go.work: 加入 ./transport/http/redoc",
          "is_bot": false,
          "headline": "feat(http/redoc): 集成嵌入式 ReDoc 文档子模块",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-17T00:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8141e5735f881905c373e6a9175aeb3744f0dc15",
          "body": "- transport/http: Driver 接口新增 HandlePrefix 方法,Server 增加同名方法\n  (std/gin/fiber 三驱动均实现,纯增量不破坏现有路由)\n- transport/http/swagger: 新建独立子模块,移植 kratos-swagger-ui 核心逻辑\n  支持远程 URL / 本地文件 / 内存数据三种 openapi 文档源\n- _examples/swagger-basic: 演示基于 std driver 挂载 Swagger UI\n- README: 追加 Swagger UI 用法小节\n- go.work: 加入 ./transport/http/swagger",
          "is_bot": false,
          "headline": "feat(http/swagger): 集成嵌入式 Swagger UI 子模块",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-16T23:32:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "36b35e03d0ca891a064eaf6622d219e858842b95",
          "body": "给 4 个 logging interceptor(UnaryServer/StreamServer/UnaryClient/\nStreamClient)在构造 args 前增加 logger.Enabled(level) 检查。当日志\n级别被过滤时直接返回,跳过 []any slice 构造与 interface{} 装箱。\n\n与 transport/http/middleware/logging 的优化对称(log.Logger 接口提供\nEnabled,专为此设计)。benchmark 验证:日志禁用时从 4 allocs/224B\n降到 0 allocs/0B,约快 9×。\n\n补 2 个测试验证 Enabled=false 时 handler 仍正常执行、不写日志;\n新增 bench_test.go 量化启用/禁用两条路径的开销。",
          "is_bot": false,
          "headline": "perf(grpc/middleware/logging): 日志级别过滤时跳过 args 装箱,禁用时 0 alloc",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T04:57:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f98f14208006601d6c728eaa3d4fdc9b7fbb04ff",
          "body": "为 gin 与 fiber driver 增加三档框架接入能力,覆盖从标准接口到完全框架\n能力的谱系,让存量 gin/fiber 业务代码可复用:\n\ngin driver:\n- 导出类型 Driver,新增 New(opts...) 返回具体类型(NewDriver 保持返回\n  接口,向后兼容)\n- HandleGin(method, path, gin.HandlerFunc) 注册原生 handler\n- Engine() 暴露底层 *gin.Engine,用于路由组/gin 中间件/websocket\n- WithRoute/WithMiddleware 作为 driver 选项,纯 \n[…]\nc)。\n\n关键权衡(已在源码与 STATUS.md 说明):原生路由不经 Server.Use 的标准\n中间件链,两套中间件体系并行;adapter 无法全通用(前置类可转,读响应\n类静默失效),故不提供自动适配,改用文档明确边界。\n\nSTATUS.md 选型文档:三档接入方式对比、driver 选型、中间件体系说明、\n已知限制汇总、快速决策树。gin/fiber 各 8/7 个测试验证原生能力。",
          "is_bot": false,
          "headline": "feat(http): gin/fiber driver 增加框架原生能力与 options 注入",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T01:52:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5f072e18452f4d44e4795f3987c4f86072b32965",
          "body": "BindQuery 原实现经 map[string]interface{} → json.Marshal → json.Unmarshal\n三段式,39 allocs/op,且对 int/bool 字段会报错(JSON 路径无法把带引号\nstring 转数字)。重构为反射直填,与 BindPath 同源:\n\n- 复用 findField(json tag → camelCase → 大小写不敏感三段匹配)\n- 复用 setScalar(int/uint/float/bool/string 标量转换)\n- 新增 setSliceField 支持 []string / []T,单值自动包成单元素 \n[…]\n3100 降到 ~320,快约 10×。\n\nBindPath/BindQuery/BindBodyField 共用 findField,字段缓存对全部路径\n绑定均有收益。新增 11 个测试锁定行为契约,1 个 benchmark 量化收益。\n\n行为变更(修复):现支持 int/bool/float/uint 标量字段、单值→slice、\nsnake_case 回退,与 BindPath 行为一致。",
          "is_bot": false,
          "headline": "refactor(http/binding): BindQuery 改为反射直填,allocs 39→3 快约 10×",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T01:52:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e24ba1fc7e024946cc72b2e50cd5adeba7ed5199",
          "body": "metrics(8→5 allocs, B/op -33%):\n- labelFunc 调用从 3 次降到 2 次(in-flight gauge 进出复用 label)\n- sync.Pool 池化 statusRecorder\n- 不池化 label map(metrics 后端可能异步持有,避免 data race)\n\nlogging(禁用日志 0 alloc,启用 -1 alloc):\n- logger.Enabled(level) 提前判断,日志级别被过滤时跳过 7 个 kv 的\n  ...any 装箱(log.Logger 接口提供 Enabled,专为此设计)\n- sync.Pool 池化 responseWriter\n\nrequestid:实测后发现编译器已对小 buffer 做栈分配优化,人工池化反而\n负收益(ns/op 略增),故保留原实现,仅添加 benchmark 证明此结论。\n\n每个中间件配套 bench_test.go,量化优化收益。",
          "is_bot": false,
          "headline": "perf(http/middleware): 优化 metrics 与 logging 中间件,附 benchmark",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T01:52:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6f6dc30240f1f271717aa78f2ddcbe5837699da",
          "body": "重写 fiber driver 的 net/http↔fasthttp 适配层热路径:\n- sync.Pool 复用 http.Header(map)、bytes.Buffer(响应体)、bodyCloser\n- bodyCloser 实现 io.WriterTo 透传 bytes.Reader.WriteTo,\n  避免 io.copyBuffer 每次分配 32KB 中间 buffer\n- 响应头用 Response.Header.SetCanonical 减少 string→[]byte 查找\n- scheme 默认 http 用常量,仅 HTTPS 才转换\n\n实测各场景 B/op 降 13~20%、allocs/op 减 7~9。响应体仍用 SetBody\n(拷贝),因 fasthttp 在 handler 返回后才序列化,SetBodyRaw 交付池化\nbuffer 会数据错乱,故响应体拷贝不可避免但 buffer 已池化。",
          "is_bot": false,
          "headline": "perf(http/fiber): 优化 fiber 适配层,内存分配减 13~20%",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T01:51:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2002a92d8f2784b8f2f6a7317f4c6f1fd1f2147",
          "body": "新增 transport/http/benchmark 模块,对 std/chi/gin/fiber 四个 driver\n做端到端 loopback 黑盒基准测试,覆盖 6 个场景。\n\n附带修复 go.work 中 transport/http/binding 重复出现导致 workspace 加载失败的既有 bug。\n\nREADME 含完整横向对比表、pprof 归因分析、优化历程。",
          "is_bot": false,
          "headline": "test(http): 添加 4 个 driver 端到端性能基准测试",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-07-08T01:50:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c0b771184efd992d9a771cb7f10fd285612cee6",
          "body": "- 删除了原有的 Windows 和 Unix 平台特定的 proto 生成脚本\n- 新增了温湿度计 HTTP 服务接口定义文件\n- 定义了 HygrothermographHTTPService 服务\n- 实现了获取温湿度计数据的 RPC 方法\n- 配置了 HTTP GET 路由映射到 /hygrothermograph 端点",
          "is_bot": false,
          "headline": "feat(proto): 添加温湿度计服务接口定义",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-19T05:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5e43212b3edaedf51a8a7b194f988c40fc7d605",
          "body": "- 介绍 GraphQL 基础概念和 Go-Wind 插件库特性\n- 详细讲解 Schema 定义、代码生成和 Resolver 实现\n- 说明 Handle 与 HandleFunc 路由注册方法的区别\n- 深入解析中间件机制和内置中间件使用方法\n- 演示自定义中间件编写和 Playground 配置\n- 提供 HTTPS/TLS 配置和生产级完整示例\n- 整理常见问题解答和最佳实践指南",
          "is_bot": false,
          "headline": "docs(graphql): 添加 Go-Wind GraphQL 服务器完整教程",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-19T05:02:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "699cf0d2324e941cce6240aa35d2daada5679bf5",
          "body": "- 新增 gRPC 服务器从入门到精通完整教程文档\n- 新增 HTTP 服务器从入门到精通完整教程文档\n- 包含基础概念、快速开始、拦截器/中间件详解\n- 提供生产级完整示例和常见问题解答\n- 覆盖服务注册、认证授权、限流熔断等核心功能\n- 包含错误处理、日志记录、请求追踪等最佳实践",
          "is_bot": false,
          "headline": "docs(guide): 添加 gRPC 和 HTTP 服务器详细教程",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-18T08:18:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80ed74d1fa699bb6ba306c0636122cd7dceb6e87",
          "body": "- 移除keyFunc选项,改用signingKey直接签名\n- 添加对RS256、ES256、PS256、EdDSA算法的支持\n- 新增PEM格式密钥解析功能\n- 添加WithSigningKey和WithVerificationKey选项\n- 实现RSA、ECDSA、Ed25519密钥的PEM解析\n- 为不同算法添加相应的单元测试\n- 更新文档说明支持的密钥类型和用法",
          "is_bot": false,
          "headline": "feat(security): 支持非对称算法的JWT认证",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-15T03:36:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7995686287095e38205167e516bd3675e40bd011",
          "body": "- 新增断路器基本示例,演示Execute方法和手动Allow/MarkSuccess/MarkFailure使用\n- 新增健康检查基本示例,展示Kubernetes就绪和存活探针配置\n- 新增指标基本示例,演示Prometheus计数器、直方图和仪表盘记录\n- 新增限流基本示例,展示令牌桶限流器的非阻塞和阻塞模式\n- 新增重试基本示例,演示不同退避策略、抖动和错误分类功能",
          "is_bot": false,
          "headline": "feat(examples): 添加基础示例代码",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T02:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fedf175d8420cd3b027003e7d672d4193856d28d",
          "body": "- 新增断路器基本示例,演示Execute方法和手动Allow/MarkSuccess/MarkFailure使用\n- 新增健康检查基本示例,展示Kubernetes就绪和存活探针配置\n- 新增指标基本示例,演示Prometheus计数器、直方图和仪表盘记录\n- 新增限流基本示例,展示令牌桶限流器的非阻塞和阻塞模式\n- 新增重试基本示例,演示不同退避策略、抖动和错误分类功能",
          "is_bot": false,
          "headline": "feat(examples): 添加基础示例代码",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T02:08:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1838e78db9fe16d498c5fd0565fa7a21fd84560b",
          "body": "- 集成 github.com/hibiken/asynq 作为异步任务队列库\n- 添加 go-wind-plugins/transport/asynq 传输层支持\n- 添加 go-wind-plugins/transport/kafka 传输层支持\n- 添加 go-wind-plugins/broker/kafka 消息代理支持\n- 新增 asynq-basic 示例展示任务队列功能\n- 新增 kafka-basic 示例展示消息队列功能\n- 添加相关依赖包如 redis、kafka-go、pbkdf2 等\n- 配置 go.mod 中的模块替换规则",
          "is_bot": false,
          "headline": "feat(examples): 添加 Asynq 和 Kafka 异步任务队列示例",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T01:46:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "06306b9757230ae00f35e39beb550cee31572517",
          "body": "- 在 Socket.IO 示例中集成 recovery、request-id 和 logging 中间件\n- 在 WebSocket 示例中集成 recovery、request-id 和 logging 中间件\n- 更新 Socket.IO 示例文档注释以说明中间件重用功能\n- 更新 WebSocket 示例文档注释以说明中间件重用功能\n- 修正 Socket.IO 示例中的运行命令路径\n- 修正 WebSocket 示例中的运行命令路径\n- 移除示例中重复的导入包注释",
          "is_bot": false,
          "headline": "feat(examples): 为 Socket.IO 和 WebSocket 示例添加 HTTP 中间件支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T01:41:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "075718847939ff73721b1e1d3171c6d70b720387",
          "body": "- 添加 recovery、requestid 和 logging 中间件导入\n- 在 SSE 服务器中启用 HTTP 中间件复用\n- 更新注释说明 SSE 可以直接使用 HTTP 中间件\n- 修正示例运行命令路径",
          "is_bot": false,
          "headline": "feat(sse): 集成 HTTP 中间件支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T01:37:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ad0f7365fcb2eed833f9a6bffd6959882c2a78b",
          "body": "- 移除手动定义的 Echo 服务和相关结构体\n- 添加对 Hygrothermograph 服务的支持\n- 使用生成的 protobuf API 替代手动实现的服务描述符\n- 更新导入路径以使用测试 API 包\n- 修改服务注册方式使用生成的注册辅助函数\n- 更新文档说明和命令行示例",
          "is_bot": false,
          "headline": "feat(examples): 更新 gRPC 基础示例使用测试 API",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T01:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fc85aa9ab721964b9064568754fbf56c98745cc",
          "body": "- 引入 ProcessorWrapper 接口用于跨领域关注点处理\n- 添加 WithProcessorWrappers 选项用于应用多个包装器\n- 实现 WithLogging、WithRecovery 和 WithMetrics 选项\n- 将链路追踪功能转换为 TracingWrapper 包装器\n- 移除旧的 tracer 字段,改用包装器模式\n- 更新文档说明新的使用方式和包装器顺序\n- 添加对新依赖包的引用(gqlgen、thrift、metrics 等)\n- 更新 go.mod 和 go.sum 文件以包含新依赖项",
          "is_bot": false,
          "headline": "feat(thrift): 重构 Thrift 服务器实现以支持处理器包装器",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-12T01:29:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db97dda8b91bb13faccb8b0cadc1b5a867217b59",
          "body": "- 为 transport/http 组件添加 v0.0.1 标签\n- 确保 HTTP 传输层版本标记的一致性",
          "is_bot": false,
          "headline": "feat(tag): 添加 HTTP 传输层标签支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T09:48:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "877fa5c566fce60f60d43303d7d5b0c53d552c18",
          "body": "- 在 KCP、TCP、WebRTC 和 WebTransport 客户端中集成指标收集\n- 添加消息发送计数器、错误计数器和发送耗时直方图统计\n- 实现 metrics 依赖注入选项配置\n- 更新 go.mod 和 go.sum 文件以包含新的依赖项",
          "is_bot": false,
          "headline": "feat(transport): 添加客户端指标监控功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T06:05:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec42c5000e395715b52e3ebc05e55b77b1ca5b20",
          "body": "- 实现客户端过滤器支持,添加 Use 方法注册过滤器\n- 添加客户端 Invoke 方法,支持上下文超时控制\n- 新增大量客户端选项配置,包括目标地址、服务名、TLS等\n- 实现服务端过滤器支持,添加 Use 方法注册过滤器\n- 增强服务端启动停止逻辑,添加生命周期状态管理\n- 实现服务端服务注册功能,支持服务描述和实现绑定\n- 添加服务端多种配置选项,包括网络协议、超时、TLS等\n- 引入原子操作和读写锁保障并发安全\n- 统一错误处理和日志记录机制",
          "is_bot": false,
          "headline": "feat(trpc): 增强 tRPC 客户端和服务端功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T05:36:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "738797fa9b83ca5b1e60851122faf6337d36212a",
          "body": "- 在 go.mod 中添加 metrics 模块依赖和替换规则\n- 为 ActiveMQ、Azure Service Bus、GCP Pub/Sub、Kafka、MQTT、NATS、NSQ、Pulsar、RabbitMQ、Redis 和 SQS 服务器选项添加 WithMetrics 配置选项\n- 在所有传输服务器结构体中添加 Metrics 字段用于注入指标监控实例\n- 实现 wrapHandler 方法包装消息处理器以收集接收的消息数量、处理耗时和错误计数指标\n- 在消息处理前后记录指标数据包括 broker 名称、主题名称和错误状态",
          "is_bot": false,
          "headline": "feat(transport): 集成指标监控功能到所有消息传输组件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T05:28:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "110004809754ec19d631d2b3b6f4138176f53cb4",
          "body": "- 在KCP和TCP传输中集成OpenTelemetry追踪功能\n- 为KCP、TCP、SignalR、SocketIO、WebRTC和WebTransport添加指标收集\n- 统一HTTP中间件类型定义并在多个传输协议中实现Use方法\n- 更新HTTP3中间件处理逻辑并重命名相关字段\n- 在Thrift服务器中添加链路追踪处理器包装\n- 修改KCP和TCP消息处理以记录性能指标和错误状态",
          "is_bot": false,
          "headline": "feat(transport): 添加OpenTelemetry支持并改进中间件系统",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T05:19:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "93f40c6f94013b0d22888d11c6d05374c8e4e089",
          "body": "- 集成DTM客户端SDK支持Saga、TCC、2阶段消息和XA模式\n- 实现分布式事务客户端接口封装\n- 添加事务配置管理和服务器地址设置功能\n- 提供Saga事务构建器和TCC全局事务处理\n- 支持2阶段消息事务和XA事务模式\n- 添加分支屏障查询和URL参数解析功能\n- 配置默认DTM服务器地址为本地开发环境\n- 更新go工作区添加transaction模块依赖\n- 更新依赖包版本包括gax-go和scram等库",
          "is_bot": false,
          "headline": "feat(transaction): 添加DTM分布式事务管理插件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T04:41:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d19d6984739b9174bba758bf75626009041184cf",
          "body": "- 将 Go 版本从 1.25.0 更新到 1.26.3\n- 添加 go-wind-plugins/broker 和 go-wind-plugins/encoding 依赖\n- 移除 go-playground/form/v4 间接依赖\n- 添加 go-wind-plugins/encoding/json、proto 和 tracer/otlp 间接依赖\n- 移除 otel stdout trace 导出器依赖\n- 清理 yaml.v3 间接依赖\n- 更新 testing 模块版本到 v0.0.1",
          "is_bot": false,
          "headline": "chore(deps): 更新依赖版本并清理不必要的包",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T03:08:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75dbe9282dd7489928c68333ab4786b6eb138ce0",
          "body": "- 将 go-wind-plugins/cache/local 从 v0.0.0 更新到 v0.1\n- 将 go-wind-plugins/config/file 从 v0.0 更新到 v0.0.1\n- 将 go-wind-plugins/encoding/xml 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/registry/etcd 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/tracer/otlp 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/transport/cron 从 v0.0\n[…]\n1\n- 将 go-wind-plugins/circuitbreaker 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/ratelimit 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/retry 从 v0.0.0 更新到 v0.0.1\n- 将 go-wind-plugins/metrics 从 v0.0.0 更新到 v0.0.1",
          "is_bot": false,
          "headline": "chore(deps): 更新项目依赖模块版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T03:00:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4f47cad51b6eba15f6096d54d07775c4d543cca0",
          "body": "- 将所有 broker 模块中的 go-wind-plugins/broker 依赖从 v1.3.3 降级到 v0.0.1\n- 修复 transport/webtransport 模块中 go-wind-plugins/broker 的零版本引用\n- 统一所有模块中 go-wind-plugins/broker 的版本为 v0.0.1\n- 移除不一致的依赖版本配置",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins/broker 依赖版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T02:52:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6da30323d4e28d84750eb3d20073a8f74ed7c5e3",
          "body": "- 将 go-wind-plugins/config 从占位版本更新为 v0.0.1 版本\n- 将 go-wind-plugins/registry 从占位版本更新为 v0.0.1 版本\n- 在所有配置模块中统一更新依赖版本\n- 在所有注册中心模块中统一更新依赖版本\n- 新增 fallback.go 文件实现 FallbackReader 功能\n- 添加回退读取器支持多源配置读取和值监控合并\n- 实现优先级顺序的配置源级联回退机制",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins 依赖版本并添加回退读取器功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T02:12:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dcba6954ce166edd1f66b1dac89cd13db5597134",
          "body": "- 将 go-wind-plugins/config 从占位版本更新为 v0.0.1 版本\n- 将 go-wind-plugins/registry 从占位版本更新为 v0.0.1 版本\n- 在所有配置模块中统一更新依赖版本\n- 在所有注册中心模块中统一更新依赖版本\n- 新增 fallback.go 文件实现 FallbackReader 功能\n- 添加回退读取器支持多源配置读取和值监控合并\n- 实现优先级顺序的配置源级联回退机制",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins 依赖版本并添加回退读取器功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T02:10:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "46938522cf1312bcd7a8723132f725bff29167b1",
          "body": "- 将 go-wind-plugins/config 从占位版本更新为 v0.0.1 版本\n- 将 go-wind-plugins/registry 从占位版本更新为 v0.0.1 版本\n- 在所有配置模块中统一更新依赖版本\n- 在所有注册中心模块中统一更新依赖版本\n- 新增 fallback.go 文件实现 FallbackReader 功能\n- 添加回退读取器支持多源配置读取和值监控合并\n- 实现优先级顺序的配置源级联回退机制",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins 依赖版本并添加回退读取器功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T02:05:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa445b88bea8af791f53e1f924ae29f88e114197",
          "body": "- 将 github.com/tx7do/go-wind-plugins/tracer/otlp 从 v0.0.0-20260610233343-575e56488c1f 更新到 v0.0.1\n- 同步更新 go.mod 和 go.sum 中的依赖版本信息\n- 更新依赖的哈希校验值以匹配新版本",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins/tracer/otlp 依赖版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-11T00:01:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7a9b65c76ce1dec497427389ce9127a4277ca43d",
          "body": "- 移除了 http middleware recovery 模块中的间接依赖标记\n- 更新了 machinery 模块中 aws sdk imds 组件版本至 v1.18.23\n- 升级 pulsar 模块中 kubernetes client-go 版本至 v0.36.1\n- 更新 webtransport 模块中 otlp 追踪器依赖版本\n- 在 argo、conductor 和 temporal 工作流模块中添加核心 wind 框架依赖\n- 从标签脚本中移除了重复的 tracer 标签定义\n- 删除了 demo 配置文件以避免敏感信息暴露",
          "is_bot": false,
          "headline": "chore(deps): 更新项目依赖并移除重复标签",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T23:39:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "575e56488c1f2af38b3e2615961c76c1ca8464fb",
          "body": "- 在 _examples 中添加了 cache、config 和 tracing 相关依赖\n- 升级 Azure Service Bus 的 go-amqp 依赖版本至 v1.7.0\n- 为 gcpubsub 添加 otlp 追踪插件依赖\n- 升级 Pulsar broker 的 k8s.io/client-go 版本至 v0.36.1\n- 在 Redis broker 中引入 go-wind 框架依赖\n- 为多个配置模块添加 go-wind 依赖\n- 升级阿里云日志 SDK 至 v0.1.117 并更新相关间接依赖\n- 更新 phuslu 日志库至 v1.0.126\n- 为多个传输层中间件添加 log 插件依赖\n- 在 Go modules 锁定文件中同步所有依赖版本更新",
          "is_bot": false,
          "headline": "feat(deps): 更新项目依赖并集成缓存和追踪功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T23:33:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ffd3ec3d2db53f5854bd5b2aa239c521f0782781",
          "body": "- 移除 createTracerProvider 函数中的 exporterName 参数\n- 统一使用 otlp.New 的新参数结构创建追踪器提供者\n- 更新所有调用 createTracerProvider 的地方以匹配新函数签名\n- 在 http 恢复中间件测试中更新日志记录器使用方式的注释",
          "is_bot": false,
          "headline": "refactor(broker): 简化测试中的追踪器提供者创建函数",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T23:11:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef170c8d17b99e3deff5401829286018fd5f9cf6",
          "body": "- 将 aliyunmq_test.go 中的 slog 替换为 github.com/tx7do/go-wind/log\n- 将 minio/client.go 中的 slog 替换为 github.com/tx7do/go-wind/log\n- 将 s3/client.go 中的 slog 替换为 github.com/tx7do/go-wind/log\n- 将 grpc/middleware/logging/client.go 中的 slog 替换为 github.com/tx7do/go-wind/log\n- 将 config/file/file.go 中的 slog 替换为 gith\n[…]\n/log\n- 更新日志调用方式从 slog.Log 到 log.GetLogger().Info/Debug/Error\n- 调整 grpc 中间件日志参数格式以适配新日志库\n- 移除多个文件中的 slog 导入声明\n- 更新 aliyun 日志依赖版本从 v0.117 到 v0.1.100\n- 简化 aliyun 日志模块的间接依赖列表\n- 在 workflow 模块中添加 go-wind 依赖",
          "is_bot": false,
          "headline": "refactor(log): 替换标准库slog为自定义日志实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T22:54:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6b381e1881365202fd1e9069312efc0685d33069",
          "body": "- 实现了 WebTransport 客户端及其连接管理功能\n- 实现了 WebRTC 客户端支持数据通道和媒体轨道管理\n- 添加了 trpc 客户端基础结构\n- 添加了 CA 证书用于 TLS 配置验证\n- 实现了 HTTP3 上下文包装器提供请求响应处理\n- 添加了相应的客户端选项配置功能\n- 实现了消息处理器注册和注销机制\n- 添加了单元测试验证客户端功能",
          "is_bot": false,
          "headline": "feat(transport): 添加 WebTransport 和 WebRTC 客户端实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T15:28:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0f0a8ee1a9d4761094fc25e5f7f2d555860c91c",
          "body": "- 为ActiveMQ、Azure Service Bus、Google Cloud Pub/Sub、Kafka、MQTT、NATS、NSQ、Pulsar、RabbitMQ、Redis、RocketMQ和SQS添加单元测试文件\n- 每个测试文件包含TestKind、TestNewServer、TestEndpoint和TestStopBeforeStart四个测试用例\n- 验证各个消息队列服务器的名称、创建、端点和停止功能\n- 修复RabbitMQ和RocketMQ测试中的日志调用语法错误",
          "is_bot": false,
          "headline": "test(transport): 添加多种消息队列服务器单元测试",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T14:15:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e3280eaa157ee2b3efd7d44631c2cc69936490f0",
          "body": "- 添加 ActiveMQ 模块的 go.mod 配置文件\n- 添加 Azure Service Bus 模块的 go.mod 配置文件\n- 添加 Google Cloud Pub/Sub 模块的 go.mod 配置文件\n- 添加 Kafka 模块的 go.mod 配置文件\n- 添加 MQTT 模块的 go.mod 配置文件\n- 添加 NATS 模块的 go.mod 配置文件\n- 添加 NSQ 模块的 go.mod 配置文件\n- 添加 Pulsar 模块的 go.mod 配置文件\n- 添加 RabbitMQ 模块的 go.mod 配置文件\n- 添加 Redis 模块的 go.mod 配置文件\n- 添加 RocketMQ 模块的 go.mod 配置文件\n- 配置各个模块的依赖关系和替换规则",
          "is_bot": false,
          "headline": "feat(transport): 添加多种消息队列传输模块的依赖配置",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T14:06:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dae0fc7582242f313effa94ea738c78441b373fb",
          "body": "- 添加 github.com/tx7do/go-wind-plugins/encoding/json v0.0.1 依赖\n- 添加 github.com/tx7do/go-wind-plugins/encoding/proto v0.0.1 依赖\n- 移除 go.opentelemetry.io/otel/exporters/stdout/stdouttrace 调试依赖\n- 更新各 broker 模块的依赖配置文件\n- 清理无用的依赖包引用",
          "is_bot": false,
          "headline": "chore(broker): 更新依赖包版本并移除调试输出",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T13:24:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7042f1bc41a443de9e0299104788e58f072cc335",
          "body": "- 在 Azure Service Bus 文档中添加核心概念、队列vs主题对比表格及注意事项\n- 在 GCP Pub/Sub 文档中补充核心概念、投递模式对比表格及注意事项\n- 在 Kafka 文档中增加 Go 语言导入代码示例\n- 在 RabbitMQ 文档中补充官方参考资料链接\n- 在 AWS SQS 文档中添加队列类型对比表格、基本概念说明及注意事项\n- 在 STOMP 文档中补充协议规范和参考资料链接",
          "is_bot": false,
          "headline": "docs(broker): 更新各消息队列中间件的文档内容",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T12:57:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "86c4c16464219ba4d96244cf9412f8f81c2fa44b",
          "body": "…ent engines\n\n- Add new broker interface definitions for Publish/Subscribe/Request patterns\n- Implement 12 message broker plugins including Kafka, RabbitMQ, NATS, MQTT,\n  Pulsar, Redis, RocketMQ, NSQ, SQS, GCP PubSub, Azure Service Bus and STOMP\n- Update documentation with new broker architecture an\n[…]\nverview to reflect expanded multi-engine support\n- Add dependency github.com/tx7do/go-wind v0.0.1 across all broker modules\n- Refactor README files with updated import paths and default configurations",
          "is_bot": false,
          "headline": "feat(broker): add comprehensive message broker support with 12 differ…",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T12:34:38Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fe57e31e9e752a0d213aceaaff74f96df37fc08e",
          "body": "…ent engines\n\n- Add new broker interface definitions for Publish/Subscribe/Request patterns\n- Implement 12 message broker plugins including Kafka, RabbitMQ, NATS, MQTT,\n  Pulsar, Redis, RocketMQ, NSQ, SQS, GCP PubSub, Azure Service Bus and STOMP\n- Update documentation with new broker architecture an\n[…]\nverview to reflect expanded multi-engine support\n- Add dependency github.com/tx7do/go-wind v0.0.1 across all broker modules\n- Refactor README files with updated import paths and default configurations",
          "is_bot": false,
          "headline": "feat(broker): add comprehensive message broker support with 12 differ…",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T12:18:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "a955b4e2c580cfef596ead2fbd49d85996268d7e",
          "body": "- 实现阿里云RocketMQ HTTP客户端,支持发布订阅功能\n- 添加阿里云RocketMQ追踪集成,支持OpenTelemetry\n- 实现Azure Service Bus客户端,支持队列和主题订阅\n- 添加Azure Service Bus管理功能,支持队列主题创建\n- 扩展RabbitMQ认证选项,新增外部认证支持\n- 完善RabbitMQ通道管理功能,优化连接池实现\n- 新增通用Broker接口定义和类型化订阅助手函数\n- 添加全面的单元测试覆盖新功能模块",
          "is_bot": false,
          "headline": "feat(broker): 新增阿里云RocketMQ和Azure Service Bus支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T11:53:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85be3c34863c0adce4d6494e098f1209f5f19695",
          "body": "- 将 github.com/tx7do/go-wind-plugins/errors 从 v0.0.0 升级到 v0.0.1\n- 在 authn 模块中更新依赖版本\n- 在 authz 模块中更新依赖版本\n- 在 grpc 中间件错误处理模块中更新依赖版本\n- 在 http 中间件错误处理模块中更新依赖版本",
          "is_bot": false,
          "headline": "chore(deps): 更新 errors 模块版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T11:04:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec6744dfa4c30419445ee06148bdc5a1028e9393",
          "body": "- 将 github.com/tx7do/go-wind-plugins/errors 从 v0.0.0 升级到 v0.0.1\n- 在 authn 模块中更新依赖版本\n- 在 authz 模块中更新依赖版本\n- 在 grpc 中间件错误处理模块中更新依赖版本\n- 在 http 中间件错误处理模块中更新依赖版本",
          "is_bot": false,
          "headline": "chore(deps): 更新 errors 模块版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T10:37:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bd50e07b0efd8ac30613f8f409c3495af046fc3",
          "body": "- 将 github.com/cloudwego/eino 从 v0.9.0-alpha.13 升级到 v0.9.5\n- 将 golang.org/x/net 从 v0.52.0 升级到 v0.53.0\n- 从 go.work 文件中移除 ./tracer 模块路径\n- 重构 tag.sh 脚本,按模块类别重新组织标签并添加详细的子模块标签\n- 新增 tracer/otlp/tracer.go 文件,实现 OpenTelemetry OTLP 追踪器功能",
          "is_bot": false,
          "headline": "chore(deps): 更新依赖版本并重新组织标签结构",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T10:36:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e3008867d491796f2f392604e7e4ac8a64f551b",
          "body": "- 移除了tracer模块的go.mod文件\n- 从go.work中删除了tracer路径的引用\n- 删除了tracer/tracer.go文件中的所有代码\n- 清理了分布式跟踪初始化助手的相关实现",
          "is_bot": false,
          "headline": "remove(tracer): 删除tracer模块及其相关配置",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T10:18:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "304040bc100ff62a5acc19c3c09cab3baa397cb8",
          "body": "- 更新Asynq README文档,详细介绍核心特性和使用方法\n- 新增Encoding模块文档,说明统一编解码抽象层的设计和用法\n- 新增Errors模块文档,介绍协议无关错误类型定义和使用方式\n- 更新tag.sh脚本,移除OSS相关注释标签\n- 升级phuslu/log依赖版本从v1.0.124到v1.0.125",
          "is_bot": false,
          "headline": "docs(asynq): 更新Asynq传输层文档并完善编码和错误处理说明",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T10:16:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90977f3af7c348c9cf9ae041a7205881cb9897a1",
          "body": "- 实现了 KCP 协议客户端,支持字节序配置、消息处理器注册、数据加密等功能\n- 实现了 TCP 协议客户端,提供连接管理、消息收发、协议编解码等基础功能\n- 添加了客户端选项配置,支持端点设置、编解码器选择、原始数据处理器等\n- 集成了字节序处理模块,支持大端和小端模式切换\n- 新增了客户端测试用例,验证连接、消息发送接收等核心功能\n- 更新了 go.mod 文件,添加相关依赖包和模块替换规则",
          "is_bot": false,
          "headline": "feat(transport): 添加 KCP 和 TCP 传输协议客户端实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T09:57:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b37c83de0741a4edcf3ff9a3d0989aaf5f0cc5f1",
          "body": "- 将examples目录重命名为_examples以排除在go build之外\n- 更新go.work文件中的目录引用路径\n- 移除原examples目录下的所有示例代码文件\n- 保留_examples目录下的go.mod文件作为模块定义",
          "is_bot": false,
          "headline": "refactor(examples): 将examples目录重命名为_examples并更新工作区配置",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T06:59:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5606371ff448b34e2f34809d2fa272ea162a724e",
          "body": "- 在 go.mod 中添加 etcd 相关依赖和插件\n- 新增 app-registry 示例程序演示服务注册功能\n- 实现服务启动时向 etcd 注册实例信息\n- 实现服务关闭时从 etcd 注销实例信息\n- 添加健康检查端点用于服务状态监控\n- 配置服务发现的命名空间和 TTL 设置",
          "is_bot": false,
          "headline": "feat(examples): 添加 etcd 服务注册示例",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T06:56:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba4f7a64fd9e5af277c2df163957eeeb2891a479",
          "body": "- 添加app-multi-server示例展示HTTP和gRPC服务器同时运行\n- 添加sse-basic示例演示服务器发送事件功能\n- 添加websocket-basic示例展示WebSocket消息处理\n- 更新依赖包版本并添加新的传输协议插件\n- 配置WebSocket和SSE协议的本地模块映射",
          "is_bot": false,
          "headline": "feat(examples): 添加多服务器应用、SSE和WebSocket示例",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T06:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "300ec582da513c0249cd9a68ea70c5bbd967852d",
          "body": "- 新增 transport/sse 包,实现 Server-Sent Events 协议\n- 新增 transport/websocket 包,实现 WebSocket 客户端功能\n- 添加 WebSocket 消息处理器和编解码功能\n- 实现 SSE 认证和事件流处理机制\n- 添加 Thrift 传输协议模块\n- 在 go.work 中注册新的传输协议模块",
          "is_bot": false,
          "headline": "feat(transport): 添加 SSE 和 WebSocket 传输协议支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T06:33:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "783dba99e5077d641261c5f4c16a87990af10594",
          "body": "- 更新 log/cloudwatch 中 aws-sdk-go-v2/feature/ec2/imds 从 v1.18.22 到 v1.18.23\n- 新增 transport/graphql 模块及其相关依赖\n- 更新多个 grpc middleware 模块中的 google.golang.org/genproto/googleapis/rpc 版本\n- 更新 transport/http/driver/fiber 中多个依赖包版本\n- 更新 transport/http/driver/gin 中 bytedance 相关包及其他依赖版本",
          "is_bot": false,
          "headline": "chore(deps): 更新多个模块的依赖版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T05:34:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5c319f72849cb92d4b967fea5996e567144b43f8",
          "body": "- 移除原有的默认驱动实现文件\n- 新增driver目录结构,将不同框架驱动分别存放\n- 添加chi、fiber、gin、std四个驱动子包\n- 修改Server逻辑,移除默认驱动依赖\n- 更新示例代码使用新的驱动配置方式\n- 调整go.mod和go.work文件结构\n- 更新工作区依赖管理配置",
          "is_bot": false,
          "headline": "refactor(http): 重构HTTP服务器驱动实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T05:26:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a93f80c58370158c99a223713fa5a97d58a53cd9",
          "body": "- 在 go.work 文件中添加 examples 模块路径\n- 创建 examples 模块的 go.mod 配置文件\n- 添加 encoding-crypto 示例展示编解码和加密中间件\n- 添加 grpc-basic 示例展示基础 gRPC 服务功能\n- 添加 http-basic 示例展示基础 HTTP 服务功能\n- 添加 http-middleware 示例展示中间件链使用\n- 创建 examples 模块的 go.sum 依赖锁定文件",
          "is_bot": false,
          "headline": "feat(examples): 添加多个示例项目并更新工作区配置",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T04:45:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ff0da095aa2f2b730b8142326be1bff82fd67df",
          "body": "- 新增gRPC编解码中间件,支持非protobuf格式如JSON、XML等\n- 新增HTTP编解码中间件,实现自动内容协商和编解码\n- 添加gRPC加密中间件,提供透明载荷加密功能\n- 添加HTTP加密中间件,支持请求响应体加密解密\n- 在go.work中注册新增的中间件模块\n- 提供完整的单元测试覆盖编解码和加密功能",
          "is_bot": false,
          "headline": "feat(transport): 添加gRPC和HTTP传输层编解码及加密中间件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T04:17:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8e455fe3ef8a8686530fbef06be1ff0559cac551",
          "body": "- 添加 security/crypto 模块提供加密抽象接口\n- 实现全局注册表支持运行时查找加密实现\n- 添加 AES、RSA、SM2、SM4 等多种加密算法支持\n- 提供哈希、签名、密钥交换等功能接口\n- 添加完整的单元测试覆盖加密功能\n- 更新 go.work 和 go.mod 文件引入新依赖\n- 移除无用的 STS 服务依赖项",
          "is_bot": false,
          "headline": "feat(security): 添加加密模块并更新依赖",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T04:05:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe7d096d456426fc27d03dcced09d66d6934d37e",
          "body": "- 使用自定义错误包替换 gRPC 状态错误\n- 定义标准化的错误代码和消息格式\n- 更新认证和授权模块的错误处理方式\n- 移除对 gRPC 相关依赖的直接引用\n- 统一错误码命名规范并改进错误分类",
          "is_bot": false,
          "headline": "refactor(security): 将错误处理重构为统一的错误系统",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:55:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fddac07ba2687bd4f77e1b2e9c79892bb029e521",
          "body": "- 定义了协议无关的错误类型,使用HTTP状态码作为语义锚点\n- 实现了错误的元数据支持和错误提取功能\n- 添加了gRPC传输层的错误转换中间件\n- 添加了HTTP传输层的错误响应中间件\n- 更新go.work文件以包含新的错误处理模块\n- 提供了完整的单元测试覆盖错误处理的各种场景",
          "is_bot": false,
          "headline": "feat(errors): 添加协议无关的错误类型定义和传输层错误处理中间件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:47:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc914d6ed7b25cdb9b7eb88bc32bf16b9e011e46",
          "body": "- 升级 github.com/aws/aws-sdk-go-v2/config 从 v1.32.14 到 v1.32.16\n- 升级 github.com/aws/aws-sdk-go-v2/credentials 从 v1.19.14 到 v1.19.15\n- 升级 github.com/aws/aws-sdk-go-v2/service/sts 从 v1.41.10 到 v1.42.0\n- 将 github.com/aws/aws-sdk-go-v2/internal/ini 替换为 github.com/aws/aws-sdk-go-v2/internal/v4a\n- 更新 transport/http/fiber 和 gin 模块中的 go-wind-plugins 版本\n- 同步更新所有相关的 go.sum 文件以反映依赖变更",
          "is_bot": false,
          "headline": "chore(deps): 更新依赖包版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:47:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37f9912759ab60fb4599aea7e485b7de724bffe5",
          "body": "- 在go.work中注册新的中间件模块路径\n- 新增transport/grpc/middleware/metadata包实现gRPC元数据传播功能\n- 新增transport/http/middleware/metadata包实现HTTP元数据传播功能\n- 新增transport/grpc/middleware/validate包实现请求消息验证功能\n- 提供客户端和服务端拦截器支持元数据提取和注入\n- 支持常量元数据配置和上下文传递\n- 实现验证接口用于protobuf消息校验\n- 添加完整的单元测试覆盖各种使用场景",
          "is_bot": false,
          "headline": "feat(middleware): 添加gRPC和HTTP元数据传播及验证中间件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:29:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f5993e14e707c2f8d51a4553a2639e5e6ae093f",
          "body": "- 在 go.work 文件中注册 pprof 模块\n- 创建 pprof 模块的基础结构和配置文件\n- 实现 pprof HTTP 处理器,支持 CPU、堆栈、协程等运行时分析\n- 提供自定义路径前缀配置选项\n- 集成标准库 net/http/pprof 包的所有分析端点\n- 添加完整的单元测试覆盖各种分析场景\n- 实现路由列表功能用于文档或自动化注册",
          "is_bot": false,
          "headline": "feat(pprof): 添加性能分析插件功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:22:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "69d2c43aef6373984dec9c2b24bddaf367d80c07",
          "body": "- 在 go.work 文件中添加了 metrics、requestid 和 timeout 中间件的模块引用\n- 新增 transport/http/middleware/cors 包,提供 CORS 中间件功能\n- 添加 CORS 中间件的单元测试文件 cors_test.go\n- 为 GRPC 的 metrics、requestid 和 timeout 中间件创建独立的 go.mod 文件\n- 为 HTTP 的 metrics、requestid 和 timeout 中间件创建独立的 go.mod 文件\n- 更新所有新增中间件的依赖管理文件 go.sum\n- 实现完整的 CORS 处理逻辑,包括预检请求和响应头设置功能",
          "is_bot": false,
          "headline": "feat(middleware): 添加多个中间件支持并更新工作区配置",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:19:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c885623cfa419e341a5e012ece7ea2755f23e8d1",
          "body": "- 添加tokenProvider字段用于提供传出RPC的令牌\n- 添加scheme字段用于指定授权方案,默认为\"Bearer\"\n- 在authz中间件中添加clientActionResolver和clientResourceResolver字段\n- 更新多个模块中的依赖版本,包括go-isatty、AWS SDK内部组件等\n- 在gRPC中间件模块中添加testify测试库依赖\n- 更新x/net、x/text等Go工具库到最新版本",
          "is_bot": false,
          "headline": "feat(authn): 扩展gRPC认证中间件支持客户端选项",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "974f0b02495aef2e7b9a9db8592952c5c99f6d20",
          "body": "- 实现 gRPC 和 HTTP 的熔断器中间件,支持自定义失败状态码和跳过方法\n- 添加限流和重试中间件模块的 go.mod 配置文件\n- 在 go.work 文件中注册新的中间件模块路径\n- 提供完整的单元测试覆盖熔断器的各种使用场景",
          "is_bot": false,
          "headline": "feat(middleware): 添加熔断器、限流和重试中间件支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T03:01:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8118ff4a2503e37b80e144da6b8f09b9735bd2f4",
          "body": "- 在 go.work 文件中注册新的 gRPC 中间件模块路径\n- 创建 logging 中间件实现 gRPC 请求的日志记录功能\n- 创建 recovery 中间件实现 gRPC 请求的 panic 恢复功能\n- 创建 tracing 中间件集成 OpenTelemetry 追踪功能\n- 为所有中间件添加完整的单元测试覆盖\n- 配置各中间件的依赖管理文件和校验和文件",
          "is_bot": false,
          "headline": "feat(transport): 添加 gRPC 中间件支持日志记录、恢复和追踪功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T02:47:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dbd707cb32ffa7a64329b116f71a038ba462052",
          "body": "- 实现了 gRPC 认证中间件 (authn),支持一元和流式拦截器\n- 实现了 gRPC 授权中间件 (authz),支持基于引擎的权限控制\n- 添加了认证和授权中间件的单元测试\n- 配置了中间件的模块依赖和替换规则\n- 更新 go.work 文件以包含新的中间件模块路径",
          "is_bot": false,
          "headline": "feat(transport): 添加 gRPC 认证和授权中间件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T02:40:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7099339f3e13d20ef2e88a9250a52d1cdb13759",
          "body": "- 实现了基于引擎的HTTP请求授权功能\n- 提供可配置的动作、资源和主体解析器\n- 支持自定义错误处理和跳过函数\n- 集成测试覆盖基本授权、拒绝和自定义解析场景\n- 添加Go模块配置文件\n- 更新依赖版本引用",
          "is_bot": false,
          "headline": "feat(authz): 添加HTTP授权中间件实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T02:31:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e60a936694b16edfb1edacc29b4597a63a713bb",
          "body": "- 新增 ACL 授权引擎支持访问控制列表\n- 新增 AWS IAM 授权引擎支持 JSON 策略\n- 新增 Cedar 授权引擎集成 AWS 验证权限服务\n- 在常量定义中注册新的授权引擎类型\n- 更新工作区配置以包含新授权模块\n- 提供完整的单元测试覆盖新功能",
          "is_bot": false,
          "headline": "feat(authz): 添加多种授权引擎实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T02:25:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50035e91a0e24c23bd1ebd1b5e44f0ee81031114",
          "body": "- 在常量文件中新增 Basic 和 Digest 认证类型定义\n- 将新的认证模块添加到 go.work 工作区配置中\n- 新增 API Key 认证实现,支持静态密钥和自定义验证器\n- 新增 Basic Auth 认证实现,支持静态用户密码和自定义验证器\n- 为新增的认证模块创建独立的 go.mod 配置文件\n- 添加完整的单元测试覆盖新功能的各个场景",
          "is_bot": false,
          "headline": "feat(security): 添加多种认证方式支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T02:17:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4958dd2e0193a2f1f8d920c50e8b6b1121c4d65f",
          "body": "- 实现Casbin适配器和配置模型文件(ABAC、ACL、RBAC等)\n- 集成Casbin授权引擎并提供完整的权限检查接口\n- 添加OPA策略定义和测试用例支持复杂授权逻辑\n- 提供项目级别的授权过滤和权限匹配功能\n- 实现动态策略加载和角色映射管理机制\n- 支持细粒度的资源访问控制和项目范围授权",
          "is_bot": false,
          "headline": "feat(security): 添加Casbin和OPA授权引擎实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T01:56:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d311e9c9feb3eb90eb1e6a51e58ee19afc2c4d07",
          "body": "- 实现了基于engine.Authenticator的HTTP请求认证功能\n- 提供Middleware函数用于创建认证中间件\n- 支持自定义HTTP头名称和错误处理函数\n- 将认证结果注入到请求上下文中供下游处理器使用\n- 包含完整的单元测试覆盖各种认证场景\n- 提供详细的使用文档和示例代码",
          "is_bot": false,
          "headline": "feat(authn): 添加HTTP认证中间件功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T01:55:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "143b4330b5d4e080dec17d052e88c2ce7ca6adbb",
          "body": "- 实现AuthClaims结构体和相关方法用于处理JWT声明\n- 添加OIDC标准声明支持包括iss、sub、aud、exp、nbf、iat、jti等字段\n- 实现多类型数据解析功能支持string、[]string、各种数值类型\n- 添加认证上下文管理功能用于存储和提取认证声明\n- 实现Authenticator接口定义统一的身份验证方法\n- 添加完整的错误码定义和错误处理机制\n- 实现Bearer Token解析和验证功能\n- 提供预共享密钥和OIDC等多种认证方式的基础架构\n- 添加单元测试确保核心功能的正确性",
          "is_bot": false,
          "headline": "feat(security): 添加JWT认证模块实现完整的身份验证功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T01:44:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "172caa743c5bf8cb78aa33a9cbcc37405e48c721",
          "body": "- 实现了可配置的重试机制,支持指数退避和抖动策略\n- 添加了安全认证模块包括认证和授权功能\n- 配置了新的依赖模块到工作空间文件\n- 实现了多种退避策略:固定、线性、指数退避\n- 提供了完整的单元测试覆盖各种重试场景\n- 集成了上下文感知的取消机制和超时控制",
          "is_bot": false,
          "headline": "feat(core): 添加重试机制和安全认证模块",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-10T00:03:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d61b574ede507aa64f65a141822f8a4b635c7d65",
          "body": "- 新增 charm 日志适配器,基于 Charmbracelet log 库提供彩色终端输出\n- 新增 glog 日志适配器,集成 Google glog 库用于基础设施项目\n- 新增 loki 日志适配器,支持将日志推送至 Grafana Loki 服务\n- 新增 sentry 日志适配器,用于错误监控和上报功能\n- 更新 go.work 文件,添加新模块依赖关系\n- 更新 go.work.sum 文件,同步依赖项校验和信息",
          "is_bot": false,
          "headline": "feat(log): 添加多个日志适配器实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T23:52:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e406ce2b2c8cbbac3b03c4da5cab376be128415",
          "body": "- 新增 charm 日志适配器,基于 Charmbracelet log 库提供彩色终端输出\n- 新增 glog 日志适配器,集成 Google glog 库用于基础设施项目\n- 新增 loki 日志适配器,支持将日志推送至 Grafana Loki 服务\n- 新增 sentry 日志适配器,用于错误监控和上报功能\n- 更新 go.work 文件,添加新模块依赖关系\n- 更新 go.work.sum 文件,同步依赖项校验和信息",
          "is_bot": false,
          "headline": "feat(log): 添加多个日志适配器实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T15:26:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52685993d0a79375a99e8a77477c36cd97e02db0",
          "body": "- 新增 CloudWatch 日志适配器,支持将日志发送到 AWS CloudWatch Logs\n- 添加 hclog 日志库适配器\n- 添加 phuslu/log 日志库适配器\n- 更新 go.work 文件以包含新的日志模块\n- 更新依赖项版本并添加必要的 AWS SDK 依赖\n- 修复 http 中间件 recovery 模块的依赖引用",
          "is_bot": false,
          "headline": "feat(log): 添加 AWS CloudWatch 和多个日志适配器支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T15:20:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73001c5d218e7cf433d626c54e376280b26464b4",
          "body": "- 新增 health 模块,包含 TCP、HTTP 和组合检查器\n- 实现 Health 聚合器和 Handler HTTP 端点\n- 添加 HTTP 中间件:logging、recovery、tracing、validate\n- 在 go.work 中注册新的模块路径\n- 集成 OpenTelemetry 追踪和结构化日志记录\n- 实现请求验证和 panic 恢复功能",
          "is_bot": false,
          "headline": "feat(health): 添加健康检查模块和HTTP中间件",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T15:12:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f6c458e36bfad2d9522bae9b38ceb15815baa7b",
          "body": "- 实现了环境变量配置源,支持前缀和默认键设置\n- 集成了HashiCorp Vault作为配置源,支持轮询监控变更\n- 添加了Zookeeper作为配置源,使用监听器监控节点变化\n- 更新依赖模块版本,包括snappy和prometheus组件\n- 在工作区文件中注册新的配置源模块",
          "is_bot": false,
          "headline": "feat(config): 新增环境变量、Vault和Zookeeper配置源实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T14:59:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fa91c1013ecd82d50f49dac316a5f1df7004981c",
          "body": "- 新增 Avro 编码实现,基于 github.com/linkedin/goavro/v2\n- 新增 BSON 编码实现,基于 go.mongodb.org/mongo-driver/bson\n- 新增 CBOR 编码实现,基于 github.com/fxamacker/cbor/v2\n- 新增 FlatBuffers 编码实现,基于 github.com/google/flatbuffers\n- 新增 Thrift 编码实现,基于 github.com/apache/thrift\n- 更新 go.work 文件以包含新的编码模块\n- 更新相关依赖版本至最新稳定版\n- 为新编码格式添加相应的 go.mod 和 go.sum 配置文件",
          "is_bot": false,
          "headline": "feat(encoding): 添加多种编码格式支持并更新依赖",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T14:47:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "649228a026cb38b273c45a934a2ff25f0ef704c4",
          "body": "- 实现了 MinIO 客户端封装,支持对象上传和下载功能\n- 实现了 S3 客户端封装,支持 AWS S3 兼容的对象存储操作\n- 添加了完整的单元测试覆盖存储客户端的核心功能\n- 统一了错误处理机制,包括空值验证和连接错误处理\n- 实现了对象体准备和大小计算功能,支持不同类型的读取器\n- 添加了配置标准化处理,支持 SSL 和路径风格配置选项\n- 创建了基础编码接口定义,用于消息体编解码处理",
          "is_bot": false,
          "headline": "feat(oss): 添加 MinIO 和 S3 存储客户端实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T14:25:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "914d5f284314b81711c7e3e6b2203d0340d1a623",
          "body": "- 实现了 MinIO 客户端封装,支持对象上传和下载功能\n- 实现了 S3 客户端封装,支持 AWS S3 兼容的对象存储操作\n- 添加了完整的单元测试覆盖存储客户端的核心功能\n- 统一了错误处理机制,包括空值验证和连接错误处理\n- 实现了对象体准备和大小计算功能,支持不同类型的读取器\n- 添加了配置标准化处理,支持 SSL 和路径风格配置选项\n- 创建了基础编码接口定义,用于消息体编解码处理",
          "is_bot": false,
          "headline": "feat(oss): 添加 MinIO 和 S3 存储客户端实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T14:13:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9d011af2442ab1ed3ae3ed32097f354ab8b958c",
          "body": "- 新增 langchaingo 包,提供 Agent、Chain 和客户端封装\n- 新增 eino 包,提供 Chain、Graph 和模型客户端实现\n- 添加 argo 工作流客户端,支持工作流 CRUD 和生命周期操作\n- 添加 conductor 工作流客户端,支持工作流执行和状态管理\n- 添加 goworkflows 客户端,提供工作流实例管理功能\n- 实现测试用例验证各客户端功能正确性",
          "is_bot": false,
          "headline": "feat(ai): 添加 AI 框架和工作流客户端实现",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T13:17:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f5fbbd4d67c91543931bae666c384c095b66c9e",
          "body": "- 更新 github.com/tx7do/go-wind-plugins/transport/http 到最新版本\n- 升级 github.com/mattn/go-isatty 从 v0.0.21 到 v0.0.22\n- 同步更新 go.sum 中的相关依赖哈希值\n- 保持项目依赖的一致性和安全性",
          "is_bot": false,
          "headline": "chore(deps): 更新 go-wind-plugins 和 go-isatty 依赖版本",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T11:48:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11d950d8c8b3c75e816cc9f3c2cb11c98cb8f2c2",
          "body": "- 重写 README.md 文件,增加项目介绍、功能特点、架构设计等内容\n- 新增英文版 README_en.md 文档\n- 新增日文版 README_ja.md 文档\n- 添加项目徽章和多语言链接导航\n- 补充详细的插件矩阵表格和使用示例\n- 更新项目结构说明和快速开始指南",
          "is_bot": false,
          "headline": "docs(readme): 完善项目文档并添加多语言支持",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T11:03:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "501565790eb05221a2216cea75e725561b9d3df0",
          "body": "- 将 github.com/tx7do/go-wind 从 v0.0.0-20260609092115-0a5df91d8c74 更新到 v0.0.1\n- 在多个模块中添加 google.golang.org/genproto 的 replace 指令以解决导入冲突\n- 将 github.com/golang/mock 从 v1.6.0 更新到 v1.7.0-rc.1\n- 将 golang.org/x/time 从 v0.1.0 更新到 v0.15.0\n- 更新 polaris 相关依赖包版本\n- 移除 exclude 指令改为使用 replace 指令处理 genproto 冲突",
          "is_bot": false,
          "headline": "chore(deps): 更新依赖版本并修复模块冲突",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T10:55:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25483f3d73c48896f81a5da9d9031f35774cdaa7",
          "body": "- 实现了阿里云SLS日志记录器,支持DEBUG、INFO、WARN、ERROR级别日志\n- 集成了阿里云日志服务SDK,实现日志推送功能\n- 添加了日志格式化和类型转换功能,支持多种数据类型\n- 实现了配置选项和连接池管理\n- 编写了完整的单元测试用例\n\nfeat(config): 新增Apollo配置中心集成\n\n- 实现了Apollo配置源,支持远程配置获取和监听\n- 集成了Apollo客户端,支持命名空间和集群配置\n- 实现了配置缓存和变更监听机制\n- 添加了配置格式解析和键值映射功能\n- 编写了配置解析相关的测试用例\n\nfeat(registry): 新增Consul和Eureka注册中心支持\n\n- 实现了Consul客户端,支持服务注册、发现和健康检查\n- 实现了Eureka客户端,支持服务注册、心跳和实例管理\n- 添加了多数据中心支持和负载均衡策略\n- 实现了服务实例状态管理和故障转移机制\n- 提供了完整的服务注册与发现接口实现",
          "is_bot": false,
          "headline": "feat(log): 新增阿里云SLS日志记录功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T10:31:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "978e7462fe256ab3f5a12ded21bbb5679afb06f9",
          "body": "- 实现配置管理模块,提供Reader、Closer、Watcher等接口\n- 添加服务发现模块,包含Registrar和Discovery接口定义\n- 实现HTTP传输层,支持gin、fiber等不同驱动\n- 添加日志组件,包含LevelFilter和MultiLogger功能\n- 更新.gitignore文件,优化忽略规则配置\n- 添加GRPC传输模块基础结构\n- 实现配置和注册中心的单元测试",
          "is_bot": false,
          "headline": "feat(plugin): 添加配置管理和服务发现插件功能",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T09:25:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c22d9f99ef903bbc9821c7bdcd65f2555105169",
          "body": null,
          "is_bot": false,
          "headline": "Initial commit",
          "author_name": "Bobo",
          "author_login": "tx7do",
          "committed_at": "2026-06-09T07:46:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 0,
      "commits_last_year": 91,
      "latest_release_at": null,
      "latest_release_tag": null,
      "releases_from_tags": false,
      "days_since_last_push": 6,
      "active_weeks_last_year": 5,
      "days_since_latest_release": null,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/tx7do/go-wind-plugins/log",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/log",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-09T10:55:39Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 44
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/cache",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/cache",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T23:33:43Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 42
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/pprof",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/pprof",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T23:33:43Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 42
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/retry",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/retry",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T23:33:43Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 42
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/broker",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/broker",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T23:33:43Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 42
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/config",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/config",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-09T10:55:39Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 44
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/errors",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/errors",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T10:36:44Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 43
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/health",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/tx7do/go-wind-plugins/health",
          "is_deprecated": false,
          "latest_version": "v0.0.1",
          "repository_url": "https://github.com/tx7do/go-wind-plugins",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-06-10T23:33:43Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 42
        }
      ]
    },
    "popularity": {
      "forks": 1,
      "stars": 4,
      "watchers": 0,
      "fork_history": {
        "days": [
          {
            "date": "2026-06-18",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 1,
        "total_forks": 1
      },
      "star_history": null,
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "example"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "security/authz/opa/policy/Makefile"
      ],
      "api_schema_files": [
        "testing/api/graphql/schema.graphql",
        "testing/api/protobuf/proto/hygrothermograph.proto",
        "testing/api/protobuf/proto/i_hygrothermograph.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "_examples/go.mod",
        "ai/eino/go.mod",
        "ai/langchaingo/go.mod",
        "ai/openai/go.mod",
        "broker/azuresb/go.mod",
        "broker/gcpubsub/go.mod",
        "broker/go.mod",
        "broker/kafka/go.mod",
        "broker/mqtt/go.mod",
        "broker/nats/go.mod",
        "broker/nsq/go.mod",
        "broker/pulsar/go.mod",
        "broker/rabbitmq/go.mod",
        "broker/redis/go.mod",
        "broker/rocketmq/go.mod",
        "broker/sqs/go.mod",
        "broker/stomp/go.mod",
        "cache/go.mod",
        "cache/local/go.mod",
        "cache/redis/go.mod",
        "circuitbreaker/go.mod",
        "circuitbreaker/hystrix/go.mod",
        "circuitbreaker/sentinel/go.mod",
        "circuitbreaker/sres/go.mod",
        "circuitbreaker/vegas/go.mod",
        "config/apollo/go.mod",
        "config/consul/go.mod",
        "config/env/go.mod",
        "config/etcd/go.mod",
        "config/file/go.mod",
        "config/fs/go.mod",
        "config/go.mod",
        "config/http/go.mod",
        "config/kubernetes/go.mod",
        "config/nacos/go.mod",
        "config/oss/go.mod",
        "config/polaris/go.mod",
        "config/redis/go.mod",
        "config/vault/go.mod",
        "config/zookeeper/go.mod",
        "encoding/avro/go.mod",
        "encoding/bson/go.mod",
        "encoding/cbor/go.mod",
        "encoding/flatbuffers/go.mod",
        "encoding/go.mod",
        "encoding/gob/go.mod",
        "encoding/json/go.mod",
        "encoding/msgpack/go.mod",
        "encoding/proto/go.mod",
        "encoding/thrift/go.mod",
        "encoding/toml/go.mod",
        "encoding/xml/go.mod",
        "encoding/yaml/go.mod",
        "errors/go.mod",
        "health/go.mod",
        "log/aliyun/go.mod",
        "log/charm/go.mod",
        "log/cloudwatch/go.mod",
        "log/fluent/go.mod",
        "log/glog/go.mod",
        "log/go.mod",
        "log/hclog/go.mod",
        "log/logrus/go.mod",
        "log/loki/go.mod",
        "log/phuslu/go.mod",
        "log/sentry/go.mod",
        "log/tencent/go.mod",
        "log/zap/go.mod",
        "log/zerolog/go.mod",
        "metrics/datadog/go.mod",
        "metrics/go.mod",
        "metrics/otel/go.mod",
        "metrics/prometheus/go.mod",
        "oss/minio/go.mod",
        "oss/s3/go.mod",
        "pprof/go.mod",
        "ratelimit/bbr/go.mod",
        "ratelimit/go.mod",
        "ratelimit/sentinel/go.mod",
        "ratelimit/tokenbucket/go.mod",
        "registry/consul/go.mod",
        "registry/etcd/go.mod",
        "registry/eureka/go.mod",
        "registry/go.mod",
        "registry/kubernetes/go.mod",
        "registry/nacos/go.mod",
        "registry/polaris/go.mod",
        "registry/servicecomb/go.mod",
        "registry/zookeeper/go.mod",
        "retry/go.mod",
        "security/authn/apikey/go.mod",
        "security/authn/basicauth/go.mod",
        "security/authn/go.mod",
        "security/authn/hmac/go.mod",
        "security/authn/jwt/go.mod",
        "security/authn/mtls/go.mod",
        "security/authn/oauth2/go.mod",
        "security/authn/oidc/go.mod",
        "security/authn/presharedkey/go.mod",
        "security/authn/session/go.mod",
        "security/authz/acl/go.mod",
        "security/authz/awsiam/go.mod",
        "security/authz/casbin/go.mod",
        "security/authz/cedar/go.mod",
        "security/authz/cerbos/go.mod",
        "security/authz/go.mod",
        "security/authz/opa/go.mod",
        "security/authz/rbac/go.mod",
        "security/authz/zanzibar/go.mod",
        "security/crypto/go.mod",
        "testing/go.mod",
        "tracer/otlp/go.mod",
        "transaction/dtm/go.mod",
        "transaction/go.mod",
        "transport/activemq/go.mod",
        "transport/asynq/go.mod",
        "transport/azuresb/go.mod",
        "transport/cron/go.mod",
        "transport/gcpubsub/go.mod",
        "transport/go.mod",
        "transport/graphql/go.mod",
        "transport/grpc/client/go.mod",
        "transport/grpc/middleware/authn/go.mod",
        "transport/grpc/middleware/authz/go.mod",
        "transport/grpc/middleware/circuitbreaker/go.mod",
        "transport/grpc/middleware/codec/go.mod",
        "transport/grpc/middleware/crypto/go.mod",
        "transport/grpc/middleware/errors/go.mod",
        "transport/grpc/middleware/logging/go.mod",
        "transport/grpc/middleware/metadata/go.mod",
        "transport/grpc/middleware/metrics/go.mod",
        "transport/grpc/middleware/ratelimit/go.mod",
        "transport/grpc/middleware/recovery/go.mod",
        "transport/grpc/middleware/requestid/go.mod",
        "transport/grpc/middleware/retry/go.mod",
        "transport/grpc/middleware/timeout/go.mod",
        "transport/grpc/middleware/tracing/go.mod",
        "transport/grpc/middleware/validate/go.mod",
        "transport/grpc/server/go.mod",
        "transport/hptimer/go.mod",
        "transport/http/benchmark/go.mod",
        "transport/http/binding/go.mod",
        "transport/http/driver/chi/go.mod",
        "transport/http/driver/fiber/go.mod",
        "transport/http/driver/gin/go.mod",
        "transport/http/driver/std/go.mod",
        "transport/http/go.mod",
        "transport/http/middleware/authn/go.mod",
        "transport/http/middleware/authz/go.mod",
        "transport/http/middleware/circuitbreaker/go.mod",
        "transport/http/middleware/codec/go.mod",
        "transport/http/middleware/cors/go.mod",
        "transport/http/middleware/crypto/go.mod",
        "transport/http/middleware/errors/go.mod",
        "transport/http/middleware/logging/go.mod",
        "transport/http/middleware/metadata/go.mod",
        "transport/http/middleware/metrics/go.mod",
        "transport/http/middleware/ratelimit/go.mod",
        "transport/http/middleware/recovery/go.mod",
        "transport/http/middleware/requestid/go.mod",
        "transport/http/middleware/retry/go.mod",
        "transport/http/middleware/timeout/go.mod",
        "transport/http/middleware/tracing/go.mod",
        "transport/http/middleware/validate/go.mod",
        "transport/http/redoc/go.mod",
        "transport/http/swagger/go.mod",
        "transport/http3/go.mod",
        "transport/kafka/go.mod",
        "transport/kcp/go.mod",
        "transport/machinery/go.mod",
        "transport/mcp/go.mod",
        "transport/mqtt/go.mod",
        "transport/nats/go.mod",
        "transport/nsq/go.mod",
        "transport/pulsar/go.mod",
        "transport/rabbitmq/go.mod",
        "transport/redis/go.mod",
        "transport/rocketmq/go.mod",
        "transport/signalr/go.mod",
        "transport/socketio/go.mod",
        "transport/sqs/go.mod",
        "transport/sse/go.mod",
        "transport/tcp/go.mod",
        "transport/thrift/go.mod",
        "transport/trpc/go.mod",
        "transport/webrtc/go.mod",
        "transport/websocket/go.mod",
        "transport/webtransport/go.mod",
        "workflow/argo/go.mod",
        "workflow/conductor/go.mod",
        "workflow/go.mod",
        "workflow/goworkflows/go.mod",
        "workflow/temporal/go.mod"
      ],
      "largest_source_bytes": 85305,
      "source_files_sampled": 812,
      "oversized_source_files": 1,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "_examples/go.mod",
        "broker/go.mod",
        "cache/go.mod",
        "circuitbreaker/go.mod",
        "config/go.mod",
        "encoding/go.mod",
        "errors/go.mod",
        "health/go.mod",
        "log/go.mod",
        "metrics/go.mod",
        "pprof/go.mod",
        "ratelimit/go.mod",
        "registry/go.mod",
        "retry/go.mod",
        "testing/go.mod",
        "transaction/go.mod",
        "transport/go.mod",
        "workflow/go.mod"
      ],
      "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"
      ],
      "dependencies": [
        {
          "name": "github.com/99designs/gqlgen",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.17.89"
        },
        {
          "name": "github.com/apache/thrift",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.23.0"
        },
        {
          "name": "github.com/googollee/go-socket.io",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.7.0"
        },
        {
          "name": "github.com/hibiken/asynq",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.26.0"
        },
        {
          "name": "github.com/prometheus/client_golang",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.23.2"
        },
        {
          "name": "github.com/tx7do/go-utils/crypto",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.2"
        },
        {
          "name": "github.com/tx7do/go-wind",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/broker",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/cache",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/cache/local",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/circuitbreaker",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/circuitbreaker/sres",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/config/file",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/encoding/json",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/encoding/xml",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/health",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/metrics",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/metrics/prometheus",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/ratelimit",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/ratelimit/tokenbucket",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/registry/etcd",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/retry",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.0-00010101000000-000000000000"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/testing",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/tracer/otlp",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/asynq",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/cron",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/graphql",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/grpc/middleware/logging",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/grpc/middleware/recovery",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/grpc/server",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/driver/std",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/codec",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/crypto",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/logging",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/recovery",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/requestid",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/middleware/tracing",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/swagger",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/http/redoc",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/kafka",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/socketio",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/sse",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/tcp",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/thrift",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/transport/websocket",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "go.etcd.io/etcd/client/v3",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.6.10"
        },
        {
          "name": "go.opentelemetry.io/otel",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.43.0"
        },
        {
          "name": "go.opentelemetry.io/otel/trace",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.43.0"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.80.0"
        },
        {
          "name": "google.golang.org/protobuf",
          "manifest": "_examples/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.36.11"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/encoding",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/encoding/json",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/encoding/proto",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "go.opentelemetry.io/otel",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.43.0"
        },
        {
          "name": "go.opentelemetry.io/otel/trace",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.43.0"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/tracer/otlp",
          "manifest": "broker/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind",
          "manifest": "log/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind",
          "manifest": "registry/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/99designs/gqlgen",
          "manifest": "testing/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.17.89"
        },
        {
          "name": "github.com/apache/thrift",
          "manifest": "testing/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.23.0"
        },
        {
          "name": "github.com/vektah/gqlparser/v2",
          "manifest": "testing/go.mod",
          "ecosystem": "go",
          "version_constraint": "v2.5.32"
        },
        {
          "name": "google.golang.org/grpc",
          "manifest": "testing/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.80.0"
        },
        {
          "name": "google.golang.org/protobuf",
          "manifest": "testing/go.mod",
          "ecosystem": "go",
          "version_constraint": "v1.36.11"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/broker",
          "manifest": "transport/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.0.1"
        },
        {
          "name": "github.com/tx7do/go-wind-plugins/metrics",
          "manifest": "transport/go.mod",
          "ecosystem": "go",
          "version_constraint": "v0.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": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "tx7do",
          "commits": 91,
          "avatar_url": "https://avatars.githubusercontent.com/u/15902756?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": false,
      "has_tests": true,
      "ci_workflows": [],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "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": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": null,
            "reason": "no workflows found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 10,
            "reason": "all dependencies are pinned",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": null,
            "reason": "No tokens found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "44 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d8a493a75f72939eca7f812efa486406db4a4454",
        "ran_at": "2026-07-23T21:51:51Z",
        "aggregate_score": 2.1,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-17T00:06:44Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/tx7do/go-wind-plugins",
    "host": "github.com",
    "name": "go-wind-plugins",
    "owner": "tx7do"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 36,
      "inputs": {
        "security": 21,
        "vitality": 35,
        "community": 28,
        "governance": 36,
        "engineering": 58
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 35,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "commits_last_year": 91,
              "human_commit_share": 1,
              "days_since_last_push": 6,
              "active_weeks_last_year": 5
            },
            "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": "5/52 weeks with commits",
                "points": 3.5,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "91 commits in the last year",
                "points": 17.6,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 91
                    }
                  }
                ],
                "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": "critical",
            "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": 1,
            "inputs": {
              "releases_count": 0
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "no releases published",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases_published",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "params": {}
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "no releases",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_releases",
                    "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": 28,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 8,
            "inputs": {
              "forks": 1,
              "stars": 4,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "4 stars",
                "points": 7.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "1 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 36,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "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": 65,
            "inputs": {
              "followers": 215,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "tx7do",
              "public_repos": 212,
              "account_age_days": 3900
            },
            "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": "215 followers of tx7do",
                "points": 16.8,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 215,
                      "login": "tx7do"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "212 public repos, account ~10 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 212
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 10
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "good",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "packages": [
                "github.com/tx7do/go-wind-plugins/log",
                "github.com/tx7do/go-wind-plugins/cache",
                "github.com/tx7do/go-wind-plugins/pprof",
                "github.com/tx7do/go-wind-plugins/retry",
                "github.com/tx7do/go-wind-plugins/broker",
                "github.com/tx7do/go-wind-plugins/config",
                "github.com/tx7do/go-wind-plugins/errors",
                "github.com/tx7do/go-wind-plugins/health"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 42
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "8 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 8,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 42 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 42
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "1 published versions",
                "points": 4,
                "status": "partial",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 58,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "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": 30,
            "inputs": {
              "has_ci": false,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "adapter",
                "broker",
                "configuration",
                "go",
                "grpc",
                "http",
                "microservice",
                "opentelemetry",
                "plugins",
                "service-discovery"
              ],
              "has_wiki": true,
              "homepage": "https://www.gowind.cloud/",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://www.gowind.cloud/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "10 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "critical",
        "name": "Security",
        "value": 21,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "dangerous_workflow",
                    "packaging",
                    "signed_releases",
                    "token_permissions"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 21,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 13,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 5,
              "scorecard_aggregate": 2.1
            },
            "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 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no workflows found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "No tokens found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "44 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": 2
            },
            "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": "moderate",
        "name": "AI Readiness",
        "value": 67,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.989,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "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": "90 of 91 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 90,
                      "sampled": 91
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [
                "security/authz/opa/policy/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "_examples/go.mod",
                "ai/eino/go.mod",
                "ai/langchaingo/go.mod",
                "ai/openai/go.mod",
                "broker/azuresb/go.mod",
                "broker/gcpubsub/go.mod",
                "broker/go.mod",
                "broker/kafka/go.mod",
                "broker/mqtt/go.mod",
                "broker/nats/go.mod",
                "broker/nsq/go.mod",
                "broker/pulsar/go.mod",
                "broker/rabbitmq/go.mod",
                "broker/redis/go.mod",
                "broker/rocketmq/go.mod",
                "broker/sqs/go.mod",
                "broker/stomp/go.mod",
                "cache/go.mod",
                "cache/local/go.mod",
                "cache/redis/go.mod",
                "circuitbreaker/go.mod",
                "circuitbreaker/hystrix/go.mod",
                "circuitbreaker/sentinel/go.mod",
                "circuitbreaker/sres/go.mod",
                "circuitbreaker/vegas/go.mod",
                "config/apollo/go.mod",
                "config/consul/go.mod",
                "config/env/go.mod",
                "config/etcd/go.mod",
                "config/file/go.mod",
                "config/fs/go.mod",
                "config/go.mod",
                "config/http/go.mod",
                "config/kubernetes/go.mod",
                "config/nacos/go.mod",
                "config/oss/go.mod",
                "config/polaris/go.mod",
                "config/redis/go.mod",
                "config/vault/go.mod",
                "config/zookeeper/go.mod",
                "encoding/avro/go.mod",
                "encoding/bson/go.mod",
                "encoding/cbor/go.mod",
                "encoding/flatbuffers/go.mod",
                "encoding/go.mod",
                "encoding/gob/go.mod",
                "encoding/json/go.mod",
                "encoding/msgpack/go.mod",
                "encoding/proto/go.mod",
                "encoding/thrift/go.mod",
                "encoding/toml/go.mod",
                "encoding/xml/go.mod",
                "encoding/yaml/go.mod",
                "errors/go.mod",
                "health/go.mod",
                "log/aliyun/go.mod",
                "log/charm/go.mod",
                "log/cloudwatch/go.mod",
                "log/fluent/go.mod",
                "log/glog/go.mod",
                "log/go.mod",
                "log/hclog/go.mod",
                "log/logrus/go.mod",
                "log/loki/go.mod",
                "log/phuslu/go.mod",
                "log/sentry/go.mod",
                "log/tencent/go.mod",
                "log/zap/go.mod",
                "log/zerolog/go.mod",
                "metrics/datadog/go.mod",
                "metrics/go.mod",
                "metrics/otel/go.mod",
                "metrics/prometheus/go.mod",
                "oss/minio/go.mod",
                "oss/s3/go.mod",
                "pprof/go.mod",
                "ratelimit/bbr/go.mod",
                "ratelimit/go.mod",
                "ratelimit/sentinel/go.mod",
                "ratelimit/tokenbucket/go.mod",
                "registry/consul/go.mod",
                "registry/etcd/go.mod",
                "registry/eureka/go.mod",
                "registry/go.mod",
                "registry/kubernetes/go.mod",
                "registry/nacos/go.mod",
                "registry/polaris/go.mod",
                "registry/servicecomb/go.mod",
                "registry/zookeeper/go.mod",
                "retry/go.mod",
                "security/authn/apikey/go.mod",
                "security/authn/basicauth/go.mod",
                "security/authn/go.mod",
                "security/authn/hmac/go.mod",
                "security/authn/jwt/go.mod",
                "security/authn/mtls/go.mod",
                "security/authn/oauth2/go.mod",
                "security/authn/oidc/go.mod",
                "security/authn/presharedkey/go.mod",
                "security/authn/session/go.mod",
                "security/authz/acl/go.mod",
                "security/authz/awsiam/go.mod",
                "security/authz/casbin/go.mod",
                "security/authz/cedar/go.mod",
                "security/authz/cerbos/go.mod",
                "security/authz/go.mod",
                "security/authz/opa/go.mod",
                "security/authz/rbac/go.mod",
                "security/authz/zanzibar/go.mod",
                "security/crypto/go.mod",
                "testing/go.mod",
                "tracer/otlp/go.mod",
                "transaction/dtm/go.mod",
                "transaction/go.mod",
                "transport/activemq/go.mod",
                "transport/asynq/go.mod",
                "transport/azuresb/go.mod",
                "transport/cron/go.mod",
                "transport/gcpubsub/go.mod",
                "transport/go.mod",
                "transport/graphql/go.mod",
                "transport/grpc/client/go.mod",
                "transport/grpc/middleware/authn/go.mod",
                "transport/grpc/middleware/authz/go.mod",
                "transport/grpc/middleware/circuitbreaker/go.mod",
                "transport/grpc/middleware/codec/go.mod",
                "transport/grpc/middleware/crypto/go.mod",
                "transport/grpc/middleware/errors/go.mod",
                "transport/grpc/middleware/logging/go.mod",
                "transport/grpc/middleware/metadata/go.mod",
                "transport/grpc/middleware/metrics/go.mod",
                "transport/grpc/middleware/ratelimit/go.mod",
                "transport/grpc/middleware/recovery/go.mod",
                "transport/grpc/middleware/requestid/go.mod",
                "transport/grpc/middleware/retry/go.mod",
                "transport/grpc/middleware/timeout/go.mod",
                "transport/grpc/middleware/tracing/go.mod",
                "transport/grpc/middleware/validate/go.mod",
                "transport/grpc/server/go.mod",
                "transport/hptimer/go.mod",
                "transport/http/benchmark/go.mod",
                "transport/http/binding/go.mod",
                "transport/http/driver/chi/go.mod",
                "transport/http/driver/fiber/go.mod",
                "transport/http/driver/gin/go.mod",
                "transport/http/driver/std/go.mod",
                "transport/http/go.mod",
                "transport/http/middleware/authn/go.mod",
                "transport/http/middleware/authz/go.mod",
                "transport/http/middleware/circuitbreaker/go.mod",
                "transport/http/middleware/codec/go.mod",
                "transport/http/middleware/cors/go.mod",
                "transport/http/middleware/crypto/go.mod",
                "transport/http/middleware/errors/go.mod",
                "transport/http/middleware/logging/go.mod",
                "transport/http/middleware/metadata/go.mod",
                "transport/http/middleware/metrics/go.mod",
                "transport/http/middleware/ratelimit/go.mod",
                "transport/http/middleware/recovery/go.mod",
                "transport/http/middleware/requestid/go.mod",
                "transport/http/middleware/retry/go.mod",
                "transport/http/middleware/timeout/go.mod",
                "transport/http/middleware/tracing/go.mod",
                "transport/http/middleware/validate/go.mod",
                "transport/http/redoc/go.mod",
                "transport/http/swagger/go.mod",
                "transport/http3/go.mod",
                "transport/kafka/go.mod",
                "transport/kcp/go.mod",
                "transport/machinery/go.mod",
                "transport/mcp/go.mod",
                "transport/mqtt/go.mod",
                "transport/nats/go.mod",
                "transport/nsq/go.mod",
                "transport/pulsar/go.mod",
                "transport/rabbitmq/go.mod",
                "transport/redis/go.mod",
                "transport/rocketmq/go.mod",
                "transport/signalr/go.mod",
                "transport/socketio/go.mod",
                "transport/sqs/go.mod",
                "transport/sse/go.mod",
                "transport/tcp/go.mod",
                "transport/thrift/go.mod",
                "transport/trpc/go.mod",
                "transport/webrtc/go.mod",
                "transport/websocket/go.mod",
                "transport/webtransport/go.mod",
                "workflow/argo/go.mod",
                "workflow/conductor/go.mod",
                "workflow/go.mod",
                "workflow/goworkflows/go.mod",
                "workflow/temporal/go.mod"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "security/authz/opa/policy/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "security/authz/opa/policy/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "Go (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Go"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 91",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 91
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Go",
              "largest_source_bytes": 85305,
              "source_files_sampled": 812,
              "oversized_source_files": 1
            },
            "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": "1/812 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 812,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "example"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "testing/api/graphql/schema.graphql",
                "testing/api/protobuf/proto/hygrothermograph.proto",
                "testing/api/protobuf/proto/i_hygrothermograph.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "testing/api/graphql/schema.graphql, testing/api/protobuf/proto/hygrothermograph.proto, testing/api/protobuf/proto/i_hygrothermograph.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "testing/api/graphql/schema.graphql, testing/api/protobuf/proto/hygrothermograph.proto, testing/api/protobuf/proto/i_hygrothermograph.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "example",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "example"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T21:51:59.657616Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/t/tx7do/go-wind-plugins.svg",
  "full_name": "tx7do/go-wind-plugins",
  "license_state": "standard",
  "license_spdx": "MIT"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаGo.