Public record
Software health reportschema 0.27.0 · metrics 2.5.0 · 2026-07-31 23:11 UTC

open-telemetry / opentelemetry-injector

ZigApache-2.0★ 139 stars⑂ 35 forkssince May 2025View on GitHub ↗

open-telemetry/opentelemetry-injector holds a health index of 87 out of 100, placing it in the Excellent band. It scores highest on Vitality (94/100) and lowest on AI Readiness (54/100). It was last updated today. 2 contributors account for most of its recent work.

87
overall / 100
Excellent

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean, calibrated against the distribution of the public record so bands carry percentile meaning; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At Risk ceiling of 34.

87
Exceptional93-100The record's top tier (≈ top 5%); essentially all checked criteria met
Excellent80-92Strong across the board; minor gaps
Good65-79Healthy; gaps are limited and manageable
Moderate50-64Acceptable with notable gaps; review recommended
Weak35-49Material weaknesses across several areas
At Risk20-34Significant weaknesses; adoption warrants caution
Critical1-19Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

The weighted overall 73 is calibrated to 87 on the published index scale (record calibration 2026-08-02).

Ownership

7,633 followers106 public repossince Apr 2019

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
Gogithub.com/open-telemetry/opentelemetry-injectorv0.10.1-161 day ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

94Exceptional · 21% of overall
How it's scored
36/36Push recency — last push 0 days ago
31.8/36Commit cadence — 46/52 weeks with commits
18/18Commit volume — 271 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year271
human_commit_share0.41
days_since_last_push0
active_weeks_last_year46
How it's scored
27/27Ships releases — 16 releases published
36/36Release recency — latest release 1 days ago
27/27Release cadence — a release every ~14.9 days
0/10OpenSSF Scorecard: Signed-Releases — Project has not signed or included provenance with any releases.
Inputs used
releases_count16
latest_release_tagv0.10.1
releases_from_tagsno
days_since_latest_release1
mean_days_between_releases14.9

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

66Good · 17% of overall
How it's scored
34.7/60Stars — 139 stars
12.8/25Forks — 35 forks
2.7/15Watchers — 4 watchers
Inputs used
forks35
stars139
watchers4
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Community health

85Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
0/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
readme_badges
has_contributingyes
has_issue_templateno
has_code_of_conductyes
readme_badge_services
has_pull_request_templateno

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

79Good · 23% of overall
How it's scored
25.2/54Bus factor — 2 contributor(s) cover half of all commits
12.4/22.5Commit distribution — top contributor authored 45% of commits
13.5/13.5Contributor breadth — 17 contributors
10/10OpenSSF Scorecard: Contributors — project has 15 contributing companies or organizations
Inputs used
bus_factor2
contributors_sampled17
top_contributor_share0.451
How it's scored
29/42Issue resolution — 69% of issues closed
27.5/30PR acceptance — 313/341 decided PRs merged
0/13Newcomer PR acceptance — no first-time contributor's PR decided in 30d
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs313
open_issues22
closed_issues49
prs_merged_7d
prs_decided_7d
prs_merged_30d
prs_decided_30d
issue_closed_ratio0.69
closed_unmerged_prs28
first_time_authors_30d
first_time_prs_merged_30d
first_time_prs_decided_30d
Excluded from scoring (no data or not applicable): newcomer_pr_acceptance. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
25/25Owner reach — 7,633 followers of open-telemetry
25/25Track record — 106 public repos, account ~7 yr old
Inputs used
followers7,633
owner_typeOrganization
is_verified
owner_loginopen-telemetry
public_repos106
account_age_days2,654

Package maintenance

100Exceptional
How it's scored
25/25Published & resolvable — 1 package(s) on go
35/35Publish recency — latest publish 1 days ago
20/20Version history — 16 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packagesgithub.com/open-telemetry/opentelemetry-injector
ecosystemsgo
any_deprecatedno
min_days_since_publish1

Engineering Quality

Are baseline engineering and documentation practices in place?

57Moderate · 19% of overall
How it's scored
24/24CI workflows — 7 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno
How it's scored
30/30README
0/25Documentation directory
0/15Documentation / homepage site
0/10Repository description
0/10Topics
10/10Wiki
Inputs used
topics
has_wikiyes
homepage
has_readmeyes
has_docs_dirno
has_descriptionno

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

70Good · 16% of overall
How it's scored
4.5/7.5Binary-Artifacts — binaries present in source code
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 15 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
3/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 6
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — Project has not signed or included provenance with any releases.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated17
scorecard_versionv5.5.0
checks_inconclusive1
scorecard_aggregate6.3
Excluded from scoring (no data or not applicable): packaging. Remaining weights renormalized.

Dependency advisories

100Exceptional
How it's scored
35/35Direct dependencies free of known advisories — no direct dependency carries a known advisory
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
0/40No advisories left outstanding — no advisory carries a publication date
Inputs used
sourceosv
advisories0
affected_packages0
assessed_packages2
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 2 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight (4%): agent tooling is a real maintenance signal, but a repository with none can still reach 100/100.

54Moderate · 4% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 41 of 41 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
How it's scored
18/18One-command bootstrap — Makefile
22/22Automated tests
0/11Lint / format config
0/11Static type checking
10/10Reproducible environment — Dockerfile, lockfile
0/10Demonstrated agent practice — no agent-authored commits among the last 100
8/8Automated maintenance — 49 of the last 100 commits are automated dependency updates
6/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 6
Inputs used
has_nixno
has_testsyes
lockfilesgo.sum
has_dockerfileyes
typed_languageno
bootstrap_filesMakefile
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0
toolchain_manifestsinjector-integration-tests/apps/dotnet/app/dotnetapp.csproj, injector-integration-tests/apps/dotnet/no-op-startup-hook/dotnetapp.csproj, injector-integration-tests/apps/jvm/app/pom.xml, injector-integration-tests/apps/jvm/no-op-agent/pom.xml, injector-integration-tests/apps/jvm/pom.xml, injector-integration-tests/apps/no-getenv-symbol/go.mod, tooling/nextversion/go.mod
dependency_bot_commit_share0.49
How it's scored
0/45Type-checkable code — Zig without a type-check config
55/55Manageable file sizes — 0/23 source files over 60KB
Inputs used
primary_languageZig
largest_source_bytes8,735
source_files_sampled23
oversized_source_files0

Key facts

139GitHub stars
17contributors
271commits, last 12 months
0days since last push
16releases
2bus factor
22open issues
package ecosystems

Data collection warnings

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token

More detail

Star and fork history 0 ★ / 35 ⇿
0Stars
35Forks
15Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

01325383532025-052025-122026-07
Major 0Minor 10Patch 3

Each point covers 2 days.

OpenSSF Scorecard 6.3 / 10
6.3aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-31 23:11 UTC

6Binary-Artifactsbinaries present in source code
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 15 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
6Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 6
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
0Signed-ReleasesProject has not signed or included provenance with any releases.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direct dependencies 1
RegistryPackageVersion constraintManifest
Gogopkg.in/yaml.v3v3.0.1tooling/nextversion/go.mod
All dependencies 2

Full resolved dependency set from the GitHub dependency graph: 1 direct and 1 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
Gogopkg.in/yaml.v3v3.0.1direct
Mavenorg.apache.maven.plugins:maven-jar-plugin3.5.1indirect
Dependency advisories 0

This repository publishes no package the index resolves, so its own dependency graph was assessed — 2 packages, which also include development and test pins that never ship: 0 carry known advisories, of which 0 are direct.

No known advisories affect the assessed dependencies.

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 883,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "C": 2898,
        "C#": 1966,
        "Go": 25129,
        "Zig": 386415,
        "Java": 2731,
        "Ruby": 1443,
        "Shell": 37858,
        "Python": 6079,
        "Makefile": 6584,
        "Dockerfile": 17018,
        "JavaScript": 3722,
        "Go Template": 1133
      },
      "pushed_at": "2026-07-31T20:32:03Z",
      "created_at": "2025-05-29T20:07:21Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-31T20:32:14Z",
      "description": null,
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "main",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Zig",
      "significant_languages": [
        "Zig"
      ]
    },
    "owner": {
      "blog": "https://opentelemetry.io",
      "name": "OpenTelemetry - CNCF",
      "type": "Organization",
      "login": "open-telemetry",
      "company": null,
      "location": null,
      "followers": 7633,
      "avatar_url": "https://avatars.githubusercontent.com/u/49998002?v=4",
      "created_at": "2019-04-25T20:20:57Z",
      "is_verified": null,
      "public_repos": 106,
      "account_age_days": 2654
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.10.1",
          "kind": "patch",
          "published_at": "2026-07-30T17:31:13Z"
        },
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2026-07-25T17:45:08Z"
        },
        {
          "tag": "v0.9.2",
          "kind": "patch",
          "published_at": "2026-07-06T10:03:30Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-07-06T07:17:46Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-05-27T17:21:36Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-05-05T19:51:28Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-04-16T10:30:55Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-04-16T06:41:48Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-04-07T16:06:13Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2026-03-18T21:45:19Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2026-03-03T15:52:21Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2026-03-02T18:21:29Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2026-02-03T22:37:06Z"
        },
        {
          "tag": "v0.0.3",
          "kind": "patch",
          "published_at": "2026-01-10T16:25:31Z"
        },
        {
          "tag": "v0.0.2-20251216",
          "kind": "prerelease",
          "published_at": "2025-12-16T11:38:35Z"
        },
        {
          "tag": "v0.0.1-20251030",
          "kind": "prerelease",
          "published_at": "2025-10-31T00:55:43Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "5bbe839acc75c2dba9b5a291a99349da9f1da97f",
          "body": "…ion configurable (#409)\n\nThe injector inspects the *.runtimeconfig.json file of the target application\nand skips the injection of the .NET auto-instrumentation if the application\ndoes not target a supported .NET version. The minimum supported .NET major\nversion was hardcoded to 8, matching the .NET\n[…]\nhe configuration file key\ndotnet_auto_instrumentation_minimum_dotnet_major_version or the environment variable DOTNET_AUTO_INSTRUMENTATION_MINIMUM_DOTNET_MAJOR_VERSION, with an\nunchanged default of 8.",
          "is_bot": false,
          "headline": "feat(dotnet): make the minimum .NET major version required for inject…",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-31T20:32:03Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ce4425dba216834528417c179923ff0ff85ff8cc",
          "body": "The injector previously hard-blocked .NET injection on any architecture\nother than x86_64 and aarch64, returning UnsupportedCpuArchitecture and\nrefusing to even construct the SDK paths.\n\nPer the SIG decision (issue #411), the injector should not hold opinions\nabout which architectures a downstream S\n[…]\nx86_64→x64, aarch64→arm64) and\nfalls through to Zig's tag name for everything else, producing paths\nlike linux-s390x or linux-musl-powerpc64le that a downstream adopter\ncan populate if they choose to.",
          "is_bot": false,
          "headline": "feat: remove architecture gate from .NET injection (#413)",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-31T20:30:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fd3e1b0313386ea04eb30f475dcd38df0aedd207",
          "body": null,
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.10.1 (#410)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-07-30T17:25:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a567166432f8f9bb3802eec4de09de57d8eeec1",
          "body": "…flow panic (#408)\n\nOn glibc < 2.34 systems (e.g. RHEL 8 / glibc 2.28, Debian Bullseye /\nglibc 2.31), the injector's second pass over /proc/self/maps calls\nElfDynLib.lookupAddress on every mapped shared object. If the GNU hash\nbloom filter false-positives for a looked-up symbol (e.g. \"setenv\") and\nt\n[…]\n(empty-gnu-hash-bucket integration test set)\nthat reproduces the crash on Debian Bullseye (glibc 2.31) using a crafted\nshared library with the exact GNU hash layout that triggers the bug.\n\nFixes #399.",
          "is_bot": false,
          "headline": "fix(elf): guard against empty GNU hash bucket to prevent integer over…",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-30T17:15:35Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "30f5f46177bfbb5497577d31c1dea74d1b565129",
          "body": "…gin to v3.5.1 (#403)",
          "is_bot": true,
          "headline": "chore(deps): update dependency org.apache.maven.plugins:maven-jar-plu…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-27T04:58:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c69787bab0b0fd3e16b1d5cd7086614f6c8f37c",
          "body": null,
          "is_bot": true,
          "headline": "chore(deps): update github actions (#404)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-27T04:55:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea01227110e23e4c12f08c2293a82a8dc0023d7d",
          "body": null,
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.10.0 (#402)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-07-25T17:40:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b1a87710ed2770ba2792ff8b896ee8344fb3c91",
          "body": "…entation (#400)\n\nCo-authored-by: Michele <michele.mancioppi@dash0.com>",
          "is_bot": false,
          "headline": "feat(ruby): add support for injecting Ruby OpenTelemetry auto-instrum…",
          "author_name": "Matthew Wear",
          "author_login": "mwear",
          "committed_at": "2026-07-25T17:27:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3538ff0488a14decad02f9b2cc74655416d276b4",
          "body": null,
          "is_bot": false,
          "headline": "fix(ci): fix lychee.toml for lychee v0.24.2 (#401)",
          "author_name": "Matthew Wear",
          "author_login": "mwear",
          "committed_at": "2026-07-24T16:40:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "398a2e9c638b510b5c712892cfc9589cdc02c295",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update debian docker tag to trixie-20260713 (#391)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-22T09:13:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3fe3cacbd23669f8da07b6b1d8266c97c85537f9",
          "body": "…#397)\n\nThe DEB/RPM system packages that bundle libotelinject.so together with the Java, Node.js, and .NET auto-instrumentation agents have moved to open-telemetry/opentelemetry-packaging.\nThis repo now builds and releases only the raw libotelinject.so shared library, which the packaging repo consumes as a build input.\n\nRefs open-telemetry/opentelemetry-packaging#5.\nFixes #395.",
          "is_bot": false,
          "headline": "chore: remove packaging machinery, moved to opentelemetry-packaging (…",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-21T16:02:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58454ecaedd35e2b6e9ebe74fa3c0be2f0a145fb",
          "body": "Replaces the free-form version input on the `Automation - Prepare Release` workflow with an `override` choice input that defaults to `auto`. A small Go tool under `tooling/nextversion` computes the next release version by combining the highest existing stable git tag with either the change types fou\n[…]\nm is on 0.y.z, a `breaking` change is bumped as minor per the semver 0.x convention.\n\nThe opt-in `pre-release` flag will add `-rc.<index>` to the tag, and result in a GitHub draft release.\n\nFixes #380",
          "is_bot": false,
          "headline": "chore(build): derive release bump from chloggen entries (#394)",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-20T13:31:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0e211ab2dafd3eef8072f669d8602e81728b3b86",
          "body": null,
          "is_bot": true,
          "headline": "chore(deps): update actions/setup-go action to v7 (#393)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-20T05:32:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ff696637ff923094061fb2ebb26ac11e00c6049",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#392)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-20T05:11:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5b6f290fe17994b905b5c7773f0d876fb7413eb",
          "body": null,
          "is_bot": false,
          "headline": "Update otelbot token workflows to use client IDs (#390)",
          "author_name": "Trask Stalnaker",
          "author_login": "trask",
          "committed_at": "2026-07-15T06:48:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecd7747b9bce35f207a12d313cd8d5f7a4ce6939",
          "body": "…strumentation to v1.16.0 (#388)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency open-telemetry/opentelemetry-dotnet-in…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-13T04:40:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02696c3496e5c2dfd236818837438f506949b2ab",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#389)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-13T04:39:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "525b34757d0db8b72c649df33f3f5268338195a3",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update node.js to 392e1e2 (#386)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-13T04:29:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad7130884a76dda0f24776104c5f5bd896a3f60a",
          "body": "…ode to v0.78.0 (#387)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency @opentelemetry/auto-instrumentations-n…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-13T04:29:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f6aaf18344b2b5553e9db6889b0c105a46c400f",
          "body": "Removed 'separateMultipleMajor' from Dockerfile manager settings.",
          "is_bot": false,
          "headline": "Update renovate.json to modify Dockerfile settings (#383)",
          "author_name": "James Thompson",
          "author_login": "thompson-tomo",
          "committed_at": "2026-07-06T11:39:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f8a1515f2b9c682ae74998cc08d53e2148c39552",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.9.2 (#379)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-07-06T09:53:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9ade4355e72f070a4061abb73117b5969650fbb",
          "body": "Adjusted update types for Dockerfile and added new configuration for major updates.",
          "is_bot": false,
          "headline": "Modify Dockerfile update types and add major update config (#381)",
          "author_name": "James Thompson",
          "author_login": "thompson-tomo",
          "committed_at": "2026-07-06T09:52:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef1faaba7654c45c4e57c842c3c5188e99abd262",
          "body": "… is unreadable (#361) (#378)\n\nWhen the host process drops privileges before the injector runs\n(e.g. a package postinst script that switches to a service user before\nstarting a daemon), opening /proc/self/environ fails with AccessDenied.\nThis previously bubbled up as an error-level log entry in the host\nprocess's own log stream. AccessDenied is now handled the same as\nReadFailed: silent fallback to the default log level and disabled state.",
          "is_bot": false,
          "headline": "fix(injector): silently fall back to defaults when /proc/self/environ…",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-06T09:02:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8f752adbac6a158279a5e82161fb4a499dd05c3",
          "body": "Co-authored-by: Michele Mancioppi <michele.mancioppi@dash0.com>",
          "is_bot": false,
          "headline": "chore: increase docker pin verbosity (#368)",
          "author_name": "James Thompson",
          "author_login": "thompson-tomo",
          "committed_at": "2026-07-06T08:31:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31d3c50235b067e1fc336b5165a43ddec29dc523",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github/codeql-action action to v4.36.3 (#375)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-06T08:20:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdbd7dfd21938439dc004c00572effd3ce043c05",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update fossas/fossa-action action to v2 (#376)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-06T08:20:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dade25ce3fe9d9ad19e72549713d4738ef752e97",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.9.1 (#377)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-07-06T07:07:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ff6b4fd74af904be130a20e8c47936e2f3a688a",
          "body": "…mantics (#374)",
          "is_bot": false,
          "headline": "fix(injector): parse quoted values in config files with bash-style se…",
          "author_name": "Michele Mancioppi",
          "author_login": "mmanciop",
          "committed_at": "2026-07-05T12:12:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fb86db0ac6f5306b02869877b7a1caee5df2af1",
          "body": "Co-authored-by: Michele Mancioppi <michele.mancioppi@dash0.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#370)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-02T08:27:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31e596c7c3960cd9adea76692ce889d2f9e9b391",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#369)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-02T08:17:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dbc3665e85d7aa9f6e0c48cf7cc2fe072a031975",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update actions/cache action to v6 (#371)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-07-02T08:16:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "059a748eed1bb9019291310c194f0efa2c3b18ee",
          "body": null,
          "is_bot": false,
          "headline": "Add a build time option to configured allowed env var prefixes (#372)",
          "author_name": "Paulo Janotti",
          "author_login": "pjanotti",
          "committed_at": "2026-07-02T08:14:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a53735f284f21bf7b956a630e30bab6e7a4a2ab0",
          "body": "…rumentation to v2.29.0 (#365)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency open-telemetry/opentelemetry-java-inst…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-22T07:25:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1cba966d262bcf435152980ffe7461be4dadde4d",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#362)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-22T07:24:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "adfc042484f91b2161c5b9cc97525f13af182512",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions to v3.0.1 (#364)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-22T07:23:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "03f90234857b2911358330c73d7b053f77b6eede",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions to v7 (#366)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-22T07:22:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "505f4371ace50f8ec32472f92bb9ebba7c754bfd",
          "body": "…ode to v0.77.0 (#363)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency @opentelemetry/auto-instrumentations-n…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-15T06:30:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04b21b1c7b282c62ce79766d2289022f97c86eb3",
          "body": null,
          "is_bot": false,
          "headline": "feat(dotnet): skip injection for unsupported runtime versions (#360)",
          "author_name": "Matthew Hensley",
          "author_login": "matt-hensley",
          "committed_at": "2026-06-12T13:30:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b70fa09855e0b3919aa143f97c10c3e9ce6b0df",
          "body": null,
          "is_bot": true,
          "headline": "chore(deps): update github actions (#359)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-06-09T17:07:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f99a770b0a6edec7d250abba2f74946852ac9678",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.9.0 (#357)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-05-27T17:10:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac9b2861018dd7481a059b5f418cfeec747a289d",
          "body": "* Use getenv instead of __environ\n\n* chore: add failing test (reproducer) for COPY-relocation bug\n\n* changelog\n\n* Fix build\n\n* Fix build\n\n* PR feedback\n\n* Fix build\n\n---------\n\nCo-authored-by: Bastian Krol <bastian.krol@dash0.com>",
          "is_bot": false,
          "headline": "Use getenv instead of __environ (#352)",
          "author_name": "Jack Berg",
          "author_login": "jack-berg",
          "committed_at": "2026-05-27T13:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5f845035b3ceae0b946826a3757f4fec50feb15",
          "body": "…rumentation to v2.28.1 (#355)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency open-telemetry/opentelemetry-java-inst…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-27T07:30:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e3fe728ce6376d4b9c4cb57772a9357f48c2522",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github/codeql-action action to v4.36.0 (#356)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-27T07:30:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fbdf7b860cec0df590e3c0ce48ec12856e47a23f",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#354)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-27T07:29:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4577805d6e6f6dfa8ad5f9aab356f3a180b12bf4",
          "body": null,
          "is_bot": false,
          "headline": "ci: skip changelog check also for ci and test commits (#343)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-19T15:11:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eaa54ced98262f50972149550a2bb2b056b08196",
          "body": "- remove modified config files at the start of each test case\n- restore default config file layout\n- rename \"runtimes\" to \"apps\"\n\nfixes #341",
          "is_bot": false,
          "headline": "test(integration): isolate test cases properly (#342)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-19T14:52:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63be9d5c558fa0a6298799109470c664fca9d2fb",
          "body": "This is a follow-up to e70f7877edb448ab55ae5a54a4f2e60a0b13ee5c.",
          "is_bot": false,
          "headline": "docs(readme): fix reference to default_env.conf (#349)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-19T14:51:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7323581e4903cb032a6686fb3f44efe4b535e10d",
          "body": "… 087fc98 (#344)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update mcr.microsoft.com/dotnet/sdk:9.0 docker digest to…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-18T08:47:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eace0121b0e487122c60bf2886acb16e2dda8369",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#346)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-18T08:46:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d0f1f95f520cca66b51ed0c5ff6df38a42fe8b6",
          "body": "…ode to v0.76.0 (#345)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency @opentelemetry/auto-instrumentations-n…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-18T08:46:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "683a5daae329f6eba5b45ddcb8917ae0a42a7624",
          "body": "…al (#340)\n\n* chore(deps): update dependency open-telemetry/opentelemetry-dotnet-instrumentation to v1.15.0\n* fix(dotnet): make additional deps and shared store optional\n\nThe following four directories are no longer part of the latest\nopentelemetry-dotnet-instrumentation release (1.15):\n/usr/lib/ope\n[…]\ns not yet recommended, as re-implementation of this\n> workaround may be necessary for future configurations.\n\n---------\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": false,
          "headline": "chore(dotnet): update to v1.15.0, additional deps/shared store option…",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-15T08:08:36Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "835195833d81df8e1fba120bd143baadd159154a",
          "body": "…rumentation to v2.27.0 (#339)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency open-telemetry/opentelemetry-java-inst…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-11T06:08:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "378285e4640c4dee48a69fbdc0d725ceb01eb6d3",
          "body": "Also update Go version used in tests (manually).\n\n---------\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>\nCo-authored-by: Bastian Krol <bastian.krol@dash0.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#336)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-11T06:08:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1d85081b0bc855bd64e0c7c1ec39796818ab388",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#335)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-11T06:00:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ee6b132d402b8518dc98f66cc1026572d9d2b52",
          "body": "…ode to v0.75.0 (#337)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dependency @opentelemetry/auto-instrumentations-n…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-11T05:58:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "788fefb990921c0a999402df6697d7db7dc188cc",
          "body": null,
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.8.0 (#334)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-05-05T19:38:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91c3e7429cc0cd53a80806f8216b656c5232da82",
          "body": null,
          "is_bot": false,
          "headline": "chore(docs): minor clarification in release process (#333)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-05T19:04:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ede5f1ec3f0138480bf800c06e8eec4c4109306c",
          "body": "…(#330)",
          "is_bot": false,
          "headline": "ci(renovate): split auto-instrumentation updates into individual PRs …",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-04T13:34:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c52b23b231088db85f165b87aacf1661170eb335",
          "body": "With e70f7877edb448ab55ae5a54a4f2e60a0b13ee5c the file\ninjector-integration-tests/runtimes/python/otelinject-enable-python.conf\nhas become unused.",
          "is_bot": false,
          "headline": "test(integration): remove unused file (#331)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-05-04T13:33:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8efc9ff27c16c603b3f361f83f3a601b1c648a0b",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#325)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-04T07:08:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22752a2c3aa81245d403f2ad59aad4aab078d700",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github/codeql-action action to v4.35.3 (#329)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-05-04T07:01:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bf68f565d13da0ffd419c06025af24c4babe8be9",
          "body": null,
          "is_bot": false,
          "headline": "feat(dotnet): skip injection when profiler env vars already exist (#328)",
          "author_name": "Matthew Hensley",
          "author_login": "matt-hensley",
          "committed_at": "2026-04-30T10:23:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c1c03a9b7ac69cb731bb4fe9337833889da4957",
          "body": "Makes .NET injection more conservative by skipping auto-instrumentation when the target app already references OpenTelemetry packages.\n\nThe injector inspects the *.deps.json file of the target application when it is available. If the dependency graph already includes OpenTelemetry*, the injector skips adding .NET auto-instrumentation environment.",
          "is_bot": false,
          "headline": ":skip injection if .NET OTel packages installed (#324)",
          "author_name": "Matthew Hensley",
          "author_login": "matt-hensley",
          "committed_at": "2026-04-27T19:41:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8251a6a875797dd6ba57bad73290dc56a957c6e",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update dockerfile (#316)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-22T09:01:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0dc7f9f9e548c104714df0f14b3d393655d5aada",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update github actions (#317)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-21T06:48:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4531098c4dac397009ec7db9c7c6f2dfa24494b3",
          "body": "…binaries that do not link libdl.so (#322)\n\n* Add failing integration test\n\n* Implement glibc < 2.34 fallback\n\n* add changelog entry\n\n* Cleanup\n\n* PR feedback",
          "is_bot": false,
          "headline": "Fix libc detection failure on glibc < 2.34 systems (e.g. RHEL 8) for …",
          "author_name": "Jack Berg",
          "author_login": "jack-berg",
          "committed_at": "2026-04-20T16:34:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90ddf19765fe5816d06faae64b58f21f1f315778",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.7.0 (#321)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-04-16T10:21:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e70f7877edb448ab55ae5a54a4f2e60a0b13ee5c",
          "body": "BREAKING CHANGE: To facilitate the composability of configuration needed in system packages, the configuration now moves under /etc/opentelemetry/injector/, with the main configuration file a /etc/opentelemetry/injector/injector.conf, merging with drop-in files under /etc/opentelemetry/injector/conf\n[…]\nontainer images must now explicitly configure the agent paths via conf.d files, the main configuration file, or environment variables.\n\n---------\n\nCo-authored-by: Michele <michele.mancioppi@dash0.com>",
          "is_bot": false,
          "headline": "change config file to manage composition (#291)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-04-16T09:27:59Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "de6db3ec0d1bc1a55a7046689f28c41470e6c64c",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.6.0 (#320)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-04-16T06:32:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad91f02241db8577aa46a76f5fded312e24bccf4",
          "body": "* Add failing test\n\n* Apply process filtering prior libc evaluation\n\n* Add changelog entry",
          "is_bot": false,
          "headline": "Filter processes before eval libc (#313)",
          "author_name": "Jack Berg",
          "author_login": "jack-berg",
          "committed_at": "2026-04-15T22:07:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e392107a5acdeaa276a61e7a5ac4578412160bb",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update softprops/action-gh-release action to v3 (#318)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-13T09:41:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b8a9e2161455db85daee2e7b7bf8db1ba0460dce",
          "body": "…(#312)\n\n* Include / exclude matches all, with conditions ANDed and entries ORd\n\n* zig fmt\n\n* Add changelog entry",
          "is_bot": false,
          "headline": "Include / exclude matches all, with conditions ANDed and entries ORd …",
          "author_name": "Jack Berg",
          "author_login": "jack-berg",
          "committed_at": "2026-04-10T14:29:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2355b6cb6ba5ac235302fb2b1815db7d2638868f",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): lock file maintenance (#308)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-09T16:02:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cc59bcc04e740785e68eac763986bbf514b1a550",
          "body": "* docs: update changelog to prepare release v0.5.0\n\n* docs: update CHANGELOG.md (#310)\n\n---------\n\nCo-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>\nCo-authored-by: Bastian Krol <bastian.krol@dash0.com>",
          "is_bot": true,
          "headline": "chore: prepare release v0.5.0 (#309)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-04-07T14:55:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c4a2f09b699a8f6567c7a7e8f9f187bfd73228e",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update all auto-instrumentation agents (#305)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-07T14:25:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eac126b4ec4d135516ea517f7856cc3178615950",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update fossas/fossa-action action to v1.9.0 (#306)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-04-06T21:35:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ab36a50b6e8aad638c4990d226f1bb91cfc3651",
          "body": null,
          "is_bot": false,
          "headline": "chore: separate Dockerfile and GH action updates (#304)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-31T15:50:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f799182a70ccb40a790244792885ca1f3f0c0b86",
          "body": "Extracted from\nhttps://github.com/open-telemetry/opentelemetry-injector/pull/226",
          "is_bot": false,
          "headline": "chore: update GH actions (#303)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-31T15:25:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4eff49183823ca5ac39299785a574c15351a4aa",
          "body": "Fixes #73 (maybe).",
          "is_bot": false,
          "headline": "chore: fix renovate update of auto-instrumentation agents (#302)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-31T06:58:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca8e1e222efff71b71162f6c4694130fce1b0f2d",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update all (#301)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-30T16:52:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "475d7aeede82d3ec7a60d93eca7a24684557c6ad",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update node.js to bb20cf7 (#300)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-30T08:01:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2cd563425a031f5844aa85d549ed6a5ce876967b",
          "body": "Signed-off-by: Nithin Puthenveettil <nithin.puthenveettil@ibm.com>",
          "is_bot": false,
          "headline": "docs: fix typos in the DESIGN.md (#299)",
          "author_name": "Nithin Puthenveettil",
          "author_login": "nithinputhenveettil",
          "committed_at": "2026-03-25T20:35:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42fa357f4dcdc27f1416a0ac0becb35f803b2dec",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update debian:12 docker digest to bc960ef (#294)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-23T10:35:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7113c31759f3ab84ea033de3816811bd1e4dfbdb",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update debian:13 docker digest to 55a15a1 (#295)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-23T10:35:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3e28abbb9b47f1199bb2f225c17f18a685b3b4f",
          "body": "… 13bd3b1 (#296)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update mcr.microsoft.com/dotnet/sdk:9.0 docker digest to…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-23T10:34:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d07fef4658decb6d0a6ceef7fa00f4b59cb4839d",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update node.js to 5a593d7 (#297)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-23T10:34:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "819e620c7e15207d24095ab0ebe3f50699ac8112",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update all (#298)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-23T10:33:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e2ee7acc7d7b5099134ea6470af1dc8c8dea04a",
          "body": null,
          "is_bot": false,
          "headline": "test: add unit tests for getauxval (#292)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-18T22:40:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "405c7e872835e1de9faa906d61d5897de18158f5",
          "body": null,
          "is_bot": false,
          "headline": "[chore] update java test sdk to java 25 (#290)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-03-18T22:09:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9444eb83db95c5d4f120e3d67c386f7beac26ce2",
          "body": "Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>",
          "is_bot": true,
          "headline": "docs: update changelog to prepare release v0.4.0 (#293)",
          "author_name": "otelbot[bot]",
          "author_login": "otelbot[bot]",
          "committed_at": "2026-03-18T21:33:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6add7da6440f5629e9c02fa84217632b16769926",
          "body": "* [chore] remove sudo from dependencies of fpm\n\n* remove sudo",
          "is_bot": false,
          "headline": "[chore] remove sudo from dependencies of fpm (#287)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-03-17T15:14:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d63cc1ae2627ca9607f1d52c888cd226b0e4e5f",
          "body": null,
          "is_bot": false,
          "headline": "[chore] add better output to deb script (#288)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-03-17T15:14:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3eb065b04811af6674548a04715e8a2fb3f61065",
          "body": null,
          "is_bot": false,
          "headline": "[chore] fix typo (#289)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-03-17T15:14:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d989c9f6bc69e96050a1a59969d9db990a544d0",
          "body": null,
          "is_bot": false,
          "headline": "[chore] use ARCH throughout the job (#286)",
          "author_name": "Antoine Toulme",
          "author_login": "atoulme",
          "committed_at": "2026-03-17T15:13:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "805814ecf9a3ecaef70e37230ba6ae7dab33393c",
          "body": "… 6416205 (#281)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update mcr.microsoft.com/dotnet/sdk:9.0 docker digest to…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-16T23:21:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85737f94e4e250a8a377ea23544a7950bffd31d9",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): lock file maintenance (#283)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-16T23:20:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e6b5eb70e20d4498edacfe4cd04320e62bf7e0aa",
          "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update all (#282)",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-16T23:20:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "535a964613a56f80f676bcf36116f2b97b986663",
          "body": "…284)\n\nRead the environment variable OTEL_INJECTOR_DISABLED earlier, before we\nattempt to detect the libc flavor in root.zig. The advantage is: If\nusers experience issues (e.g. crashes or other problems) with the\ninjector during libc.getLibCInfo or updateStdOsEnviron (both of which\nare called in roo\n[…]\ntch to avoid these\nissues.\n\nWith the previous approach of reading OTEL_INJECTOR_DISABLED in\nconfig.readConfiguration, this was not an option because we read it a\nlittle too late for that.\n\nFixes #268.",
          "is_bot": false,
          "headline": "feat: read OTEL_INJECTOR_DISABLED before detecting the libc flavor (#…",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-16T21:18:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "290cb61ccdad49ee9065363599e07668ec57ad22",
          "body": null,
          "is_bot": false,
          "headline": "ci: fix lychee.toml (#285)",
          "author_name": "Bastian Krol",
          "author_login": "basti1302",
          "committed_at": "2026-03-16T18:29:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9afcd128b1548cf7d69dd123fe2438eb941b1d32",
          "body": "… 7ba12a3 (#277)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "chore(deps): update mcr.microsoft.com/dotnet/sdk:9.0 docker digest to…",
          "author_name": "renovate[bot]",
          "author_login": "renovate[bot]",
          "committed_at": "2026-03-09T08:25:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 16,
      "commits_last_year": 271,
      "latest_release_at": "2026-07-30T17:31:13Z",
      "latest_release_tag": "v0.10.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 46,
      "days_since_latest_release": 1,
      "mean_days_between_releases": 14.9
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": false,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "github.com/open-telemetry/opentelemetry-injector",
          "exists": true,
          "license": null,
          "keywords": [],
          "ecosystem": "go",
          "matches_repo": true,
          "registry_url": "https://pkg.go.dev/github.com/open-telemetry/opentelemetry-injector",
          "is_deprecated": false,
          "latest_version": "v0.10.1",
          "repository_url": "https://github.com/open-telemetry/opentelemetry-injector",
          "versions_count": 16,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": null,
          "first_published_at": null,
          "latest_published_at": "2026-07-30T17:25:10Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 1
        }
      ]
    },
    "popularity": {
      "forks": 35,
      "stars": 139,
      "watchers": 4,
      "fork_history": {
        "days": [
          {
            "date": "2025-05-29",
            "count": 2
          },
          {
            "date": "2025-05-30",
            "count": 1
          },
          {
            "date": "2025-06-06",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-06-28",
            "count": 1
          },
          {
            "date": "2025-07-04",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 1
          },
          {
            "date": "2025-08-16",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-09-13",
            "count": 1
          },
          {
            "date": "2025-09-22",
            "count": 1
          },
          {
            "date": "2025-10-17",
            "count": 1
          },
          {
            "date": "2025-10-24",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2025-11-10",
            "count": 1
          },
          {
            "date": "2025-12-03",
            "count": 1
          },
          {
            "date": "2025-12-04",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2026-01-16",
            "count": 1
          },
          {
            "date": "2026-02-03",
            "count": 1
          },
          {
            "date": "2026-02-04",
            "count": 1
          },
          {
            "date": "2026-03-05",
            "count": 1
          },
          {
            "date": "2026-03-25",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-15",
            "count": 1
          },
          {
            "date": "2026-04-16",
            "count": 1
          },
          {
            "date": "2026-04-22",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-24",
            "count": 1
          },
          {
            "date": "2026-06-27",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-29",
            "count": 1
          },
          {
            "date": "2026-07-30",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 35,
        "total_forks": 35
      },
      "star_history": null,
      "open_issues_and_prs": 25
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "Makefile"
      ],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "injector-integration-tests/apps/dotnet/app/dotnetapp.csproj",
        "injector-integration-tests/apps/dotnet/no-op-startup-hook/dotnetapp.csproj",
        "injector-integration-tests/apps/jvm/app/pom.xml",
        "injector-integration-tests/apps/jvm/no-op-agent/pom.xml",
        "injector-integration-tests/apps/jvm/pom.xml",
        "injector-integration-tests/apps/no-getenv-symbol/go.mod",
        "tooling/nextversion/go.mod"
      ],
      "largest_source_bytes": 8735,
      "source_files_sampled": 23,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 2,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [],
      "dependencies": [
        {
          "name": "gopkg.in/yaml.v3",
          "manifest": "tooling/nextversion/go.mod",
          "ecosystem": "go",
          "version_constraint": "v3.0.1"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "gopkg.in/yaml.v3",
            "direct": true,
            "version": "v3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "org.apache.maven.plugins:maven-jar-plugin",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "maven"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 2,
        "direct_count": 1,
        "indirect_count": 1
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 3,
        "merged_prs": 313,
        "open_issues": 22,
        "closed_ratio": 0.69,
        "closed_issues": 49,
        "closed_unmerged_prs": 28
      },
      "bus_factor": 2,
      "bot_contributors": 2,
      "top_contributors": [
        {
          "type": "User",
          "login": "basti1302",
          "commits": 64,
          "avatar_url": "https://avatars.githubusercontent.com/u/73801?v=4"
        },
        {
          "type": "User",
          "login": "atoulme",
          "commits": 32,
          "avatar_url": "https://avatars.githubusercontent.com/u/16758?v=4"
        },
        {
          "type": "User",
          "login": "mmanciop",
          "commits": 9,
          "avatar_url": "https://avatars.githubusercontent.com/u/14020598?v=4"
        },
        {
          "type": "User",
          "login": "jack-berg",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/34418638?v=4"
        },
        {
          "type": "User",
          "login": "trask",
          "commits": 6,
          "avatar_url": "https://avatars.githubusercontent.com/u/218610?v=4"
        },
        {
          "type": "User",
          "login": "grcevski",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/6207777?v=4"
        },
        {
          "type": "User",
          "login": "inge4pres",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/4930991?v=4"
        },
        {
          "type": "User",
          "login": "thompson-tomo",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/19771933?v=4"
        },
        {
          "type": "User",
          "login": "matt-hensley",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/130569?v=4"
        },
        {
          "type": "User",
          "login": "mwear",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/2513372?v=4"
        }
      ],
      "contributors_sampled": 17,
      "top_contributor_share": 0.451
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml",
        "changelog.yml",
        "create-tag-for-release.yml",
        "fossa.yml",
        "ossf-scorecard.yml",
        "prepare-release.yml",
        "tooling.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 6,
            "reason": "binaries present in source code",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 4,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 15 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 6,
            "reason": "dependency not pinned by hash detected -- score normalized to 6",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 0,
            "reason": "Project has not signed or included provenance with any releases.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "5bbe839acc75c2dba9b5a291a99349da9f1da97f",
        "ran_at": "2026-07-31T23:11:05Z",
        "aggregate_score": 6.3,
        "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-31T20:50:54Z",
      "oldest_open_prs": [
        {
          "number": 315,
          "created_at": "2026-04-10T18:29:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 385,
          "created_at": "2026-07-09T05:53:13Z",
          "last_comment_at": "2026-07-22T16:20:38Z",
          "last_comment_author": "atoulme"
        },
        {
          "number": 405,
          "created_at": "2026-07-30T13:27:13Z",
          "last_comment_at": "2026-07-30T15:09:11Z",
          "last_comment_author": "linux-foundation-easycla"
        }
      ],
      "last_merged_pr_at": "2026-07-31T20:32:03Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 23,
          "created_at": "2025-06-23T04:24:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 70,
          "created_at": "2025-09-04T18:09:09Z",
          "last_comment_at": "2025-10-20T06:04:45Z",
          "last_comment_author": "atoulme"
        },
        {
          "number": 97,
          "created_at": "2025-10-20T20:37:39Z",
          "last_comment_at": "2026-01-14T17:34:10Z",
          "last_comment_author": "basti1302"
        },
        {
          "number": 139,
          "created_at": "2025-11-17T18:01:04Z",
          "last_comment_at": "2025-12-12T23:08:59Z",
          "last_comment_author": "atoulme"
        },
        {
          "number": 140,
          "created_at": "2025-11-17T18:04:13Z",
          "last_comment_at": "2025-11-17T18:04:19Z",
          "last_comment_author": "atoulme"
        },
        {
          "number": 146,
          "created_at": "2025-11-26T20:49:57Z",
          "last_comment_at": "2026-03-23T06:10:19Z",
          "last_comment_author": "naman47vyas"
        },
        {
          "number": 147,
          "created_at": "2025-11-26T20:56:55Z",
          "last_comment_at": "2026-01-09T18:22:03Z",
          "last_comment_author": "atoulme"
        },
        {
          "number": 199,
          "created_at": "2026-01-14T17:39:00Z",
          "last_comment_at": "2026-01-14T17:41:12Z",
          "last_comment_author": "basti1302"
        },
        {
          "number": 221,
          "created_at": "2026-01-28T11:40:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 222,
          "created_at": "2026-01-28T20:31:39Z",
          "last_comment_at": "2026-04-30T14:31:40Z",
          "last_comment_author": "basti1302"
        },
        {
          "number": 227,
          "created_at": "2026-02-02T12:44:53Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 280,
          "created_at": "2026-03-10T20:32:43Z",
          "last_comment_at": "2026-03-16T16:58:01Z",
          "last_comment_author": "jack-berg"
        },
        {
          "number": 319,
          "created_at": "2026-04-13T20:49:25Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 323,
          "created_at": "2026-04-17T07:33:06Z",
          "last_comment_at": "2026-04-27T17:04:16Z",
          "last_comment_author": "basti1302"
        },
        {
          "number": 327,
          "created_at": "2026-04-27T19:35:03Z",
          "last_comment_at": "2026-04-27T23:23:23Z",
          "last_comment_author": "matt-hensley"
        },
        {
          "number": 332,
          "created_at": "2026-05-05T06:15:33Z",
          "last_comment_at": "2026-05-09T11:40:38Z",
          "last_comment_author": "mmanciop"
        },
        {
          "number": 350,
          "created_at": "2026-05-21T15:40:12Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 353,
          "created_at": "2026-05-24T13:33:03Z",
          "last_comment_at": "2026-06-11T15:05:34Z",
          "last_comment_author": "jack-berg"
        },
        {
          "number": 384,
          "created_at": "2026-07-09T05:48:06Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 406,
          "created_at": "2026-07-30T15:59:42Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/open-telemetry/opentelemetry-injector",
    "host": "github.com",
    "name": "opentelemetry-injector",
    "owner": "open-telemetry"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "excellent",
      "name": "Overall health",
      "note": "The weighted overall 73 is calibrated to 87 on the published index scale (record calibration 2026-08-02).",
      "notes": [
        {
          "code": "overall_calibration",
          "params": {
            "raw": 73,
            "calibrated": 87,
            "calibration": "2026-08-02"
          }
        }
      ],
      "value": 87,
      "inputs": {
        "security": 70,
        "vitality": 94,
        "community": 66,
        "governance": 79,
        "calibration": "2026-08-02",
        "engineering": 57,
        "ai_readiness": 54,
        "weighted_overall_raw": 73
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "exceptional",
        "name": "Vitality",
        "value": 94,
        "weight": 0.21,
        "metrics": [
          {
            "key": "development_activity",
            "band": "exceptional",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "commits_last_year": 271,
              "human_commit_share": 0.41,
              "days_since_last_push": 0,
              "active_weeks_last_year": 46
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "46/52 weeks with commits",
                "points": 31.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 46
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "271 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 271
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "releases_count": 16,
              "latest_release_tag": "v0.10.1",
              "releases_from_tags": false,
              "days_since_latest_release": 1,
              "mean_days_between_releases": 14.9
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "16 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 1 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~14.9 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 14.9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "exceptional",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 3,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 3 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 3
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 66,
        "weight": 0.17,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "forks": 35,
              "stars": 139,
              "watchers": 4,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "139 stars",
                "points": 34.7,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 139
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "35 forks",
                "points": 12.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "4 watchers",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "readme_badges": null,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "readme_badge_services": [],
              "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 (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 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": "good",
        "name": "Sustainability & Governance",
        "value": 79,
        "weight": 0.23,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "moderate",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 61,
            "inputs": {
              "bus_factor": 2,
              "contributors_sampled": 17,
              "top_contributor_share": 0.451
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "2 contributor(s) cover half of all commits",
                "points": 25.2,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 45% of commits",
                "points": 12.4,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 45
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "17 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 17
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 15 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "excellent",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "newcomer_pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 82,
            "inputs": {
              "merged_prs": 313,
              "open_issues": 22,
              "closed_issues": 49,
              "prs_merged_7d": null,
              "prs_decided_7d": null,
              "prs_merged_30d": null,
              "prs_decided_30d": null,
              "issue_closed_ratio": 0.69,
              "closed_unmerged_prs": 28,
              "first_time_authors_30d": null,
              "first_time_prs_merged_30d": null,
              "first_time_prs_decided_30d": null
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "69% of issues closed",
                "points": 29,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 69
                    }
                  }
                ],
                "max_points": 42
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "313/341 decided PRs merged",
                "points": 27.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 313,
                      "decided": 341
                    }
                  }
                ],
                "max_points": 30
              },
              {
                "key": "newcomer_pr_acceptance",
                "name": "Newcomer PR acceptance",
                "detail": "no first-time contributor's PR decided in 30d",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_newcomer_prs",
                    "params": {
                      "days": 30
                    }
                  }
                ],
                "max_points": 13
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "excellent",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 7633,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "open-telemetry",
              "public_repos": 106,
              "account_age_days": 2654
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "7,633 followers of open-telemetry",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 7633,
                      "login": "open-telemetry"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "106 public repos, account ~7 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 106
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 7
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "exceptional",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "github.com/open-telemetry/opentelemetry-injector"
              ],
              "ecosystems": "go",
              "any_deprecated": false,
              "min_days_since_publish": 1
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on go",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "go"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 1 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 1
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "16 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "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": 57,
        "weight": 0.19,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "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": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "weak",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "good",
        "name": "Security",
        "value": 70,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 63,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 17,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 1,
              "scorecard_aggregate": 6.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "binaries present in source code",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 15 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 6",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "Project has not signed or included provenance with any releases.",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "exceptional",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 2 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 2
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 2,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "exceptional",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 2,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "exceptional",
            "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"
              ],
              "commit_weight_rule": {
                "min_commits": 50,
                "min_commit_share": 0.1
              },
              "review_only_matches": 0,
              "below_threshold_exposures": [],
              "assessed_self_published_locations": 12
            },
            "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": 54,
        "weight": 0.04,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "weak",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 1,
              "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": "41 of 41 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 41,
                      "sampled": 41
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": true,
              "typed_language": false,
              "bootstrap_files": [
                "Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "injector-integration-tests/apps/dotnet/app/dotnetapp.csproj",
                "injector-integration-tests/apps/dotnet/no-op-startup-hook/dotnetapp.csproj",
                "injector-integration-tests/apps/jvm/app/pom.xml",
                "injector-integration-tests/apps/jvm/no-op-agent/pom.xml",
                "injector-integration-tests/apps/jvm/pom.xml",
                "injector-integration-tests/apps/no-getenv-symbol/go.mod",
                "tooling/nextversion/go.mod"
              ],
              "dependency_bot_commit_share": 0.49
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "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": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "49 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 49,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 6",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "moderate",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 55,
            "inputs": {
              "primary_language": "Zig",
              "largest_source_bytes": 8735,
              "source_files_sampled": 23,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Zig without a type-check config",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_typecheck_config_language",
                    "params": {
                      "language": "Zig"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/23 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 23,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
      }
    ],
    "classification": {
      "top": [],
      "labels": [],
      "scores": {
        "library": 3
      },
      "primary": null,
      "evidence": [
        {
          "tier": "distribution",
          "label": "library",
          "source": "registry:go",
          "weight": 3
        }
      ],
      "artifacts": [],
      "confidence": "none",
      "host_extension": false,
      "runs_as_process": false,
      "consumed_by_code": false
    },
    "metrics_version": "2.5.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-31T23:11:28.579402Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/open-telemetry/opentelemetry-injector.svg",
  "full_name": "open-telemetry/opentelemetry-injector",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v2.5.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsGo.