Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-26 23:27 UTC

kompassdev / kompass

Navigate your way - manual steering, steered autonomy, or autonomously. Kompass keeps AI coding agents on course with token-efficient, composable workflows.

TypeScript · Astro · MDXMIT★ 9 stars⑂ 2 forkssince Mar 2026View on GitHub ↗

kompassdev/kompass holds a health index of 58 out of 100, placing it in the Moderate band. It scores highest on Vitality (84/100) and lowest on Security (38/100). It was last updated today. A single contributor accounts for most of its recent work.

58
overall / 100
Moderate

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

58
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe 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.

Ownership

kompassdevOrganization
0 followers1 public reposince Mar 2026

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

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publishTags
npm@kompassdev/opencode0.16.13,152446 days agoopencodecoding-agentai-agentdeveloper-toolsworkflowcode-reviewpull-requestticketingautomationkompass

Metrics by category

Vitality

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

84Good · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
10.4/36Commit cadence — 15/52 weeks with commits
18/18Commit volume — 320 commits in the last year
10/10OpenSSF Scorecard: Maintained — 26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year320
human_commit_share1
days_since_last_push0
active_weeks_last_year15

Release discipline

100Excellent
How it's scored
27/27Ships releases — 32 releases published
36/36Release recency — latest release 6 days ago
27/27Release cadence — a release every ~10.6 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count32
latest_release_tagv0.16.1
releases_from_tagsno
days_since_latest_release6
mean_days_between_releases10.6
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

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

40At risk · 18% of overall
How it's scored
14.6/60Stars — 9 stars
0/25Forks — 2 forks
0/15Watchers — 2 watchers
Inputs used
forks2
stars9
watchers2
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (MIT)
0/18CONTRIBUTING guide
0/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingno
has_issue_templateno
has_code_of_conductno
has_pull_request_templateyes
How it's scored
46.6/80Monthly downloads — 3,152 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packages@kompassdev/opencode
dependents
ecosystemsnpm
total_downloads
monthly_downloads3,152
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

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

55Moderate · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
0.3/22.5Commit distribution — top contributor authored 99% of commits
2.7/13.5Contributor breadth — 2 contributors
10/10OpenSSF Scorecard: Contributors — project has 5 contributing companies or organizations
Inputs used
bus_factor1
contributors_sampled2
top_contributor_share0.988
How it's scored
46.8/46.8Issue resolution — 100% of issues closed
28.1/38.3PR acceptance — 64/87 decided PRs merged
6/15OpenSSF Scorecard: Code-Review — Found 8/17 approved changesets -- score normalized to 4
Inputs used
merged_prs64
open_issues0
closed_issues23
issue_closed_ratio1
closed_unmerged_prs23
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
0/25Owner reach — 0 followers of kompassdev
3/25Track record — 1 public repos, account ~0 yr old
Inputs used
followers0
owner_typeOrganization
is_verified
owner_loginkompassdev
public_repos1
account_age_days139
How it's scored
25/25Published & resolvable — 1 package(s) on npm
35/35Publish recency — latest publish 6 days ago
20/20Version history — 44 published versions
20/20Not deprecated — active, not deprecated or yanked
Inputs used
packages@kompassdev/opencode
ecosystemsnpm
any_deprecatedno
min_days_since_publish6

Engineering Quality

Are baseline engineering and documentation practices in place?

64Moderate · 20% of overall
How it's scored
24/24CI workflows — 3 workflow(s)
24/24Tests present
0/16Linter config
0/9.6Pre-commit hooks
0/6.4.editorconfig
16/20OpenSSF Scorecard: CI-Tests — 8 out of 9 merged PRs checked by a CI test -- score normalized to 8
Inputs used
has_ciyes
has_testsyes
has_editorconfigno
has_linter_configno
has_precommit_configno

Documentation

65Moderate
How it's scored
30/30README
0/25Documentation directory
15/15Documentation / homepage site — https://kompassdev.ai/
10/10Repository description
10/10Topics — 12 topics
0/10Wiki
Inputs used
topicsai, automation, code-review, coding-agent, developer-tools, github, workflow, autonomous-coding, kompass, token-efficiency, agent-navigation, steered-autonomy
has_wikino
homepagehttps://kompassdev.ai/
has_readmeyes
has_docs_dirno
has_descriptionyes

Security

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

38At risk · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
2/2.5CI-Tests — 8 out of 9 merged PRs checked by a CI test -- score normalized to 8
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3/7.5Code-Review — Found 8/17 approved changesets -- score normalized to 4
2.5/2.5Contributors — project has 5 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 30 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate3.8
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.

AI Readiness

How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score.

63Moderate · 0% of overall
How it's scored
45/45Agent instructions — AGENTS.md
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 92 of 100 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.92
agent_instruction_filesAGENTS.md
agent_instruction_max_bytes8,452
How it's scored
0/18One-command bootstrap
22/22Automated tests
0/11Lint / format config
11/11Static type checking — packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json
0/10Reproducible environment
0/10Demonstrated agent practice — no agent-authored commits among the last 100
0/8Automated maintenance — no automated dependency updates observed
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfiles
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configspackages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/41 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes26,278
source_files_sampled41
oversized_source_files0

Key facts

9GitHub stars
2contributors
320commits, last 12 months
0days since last push
32releases
1bus factor
0open issues
npmpackage ecosystems

Data collection warnings

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

More detail

Star and fork history 0 ★ / 2 ⇿
0Stars
2Forks
19Releases

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.

111222212026-032026-052026-07
Major 0Minor 9Patch 10
OpenSSF Scorecard 3.8 / 10
3.8aggregate

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-26 23:26 UTC

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
8CI-Tests8 out of 9 merged PRs checked by a CI test -- score normalized to 8
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
4Code-ReviewFound 8/17 approved changesets -- score normalized to 4
10Contributorsproject has 5 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities30 existing vulnerabilities detected
Direct dependencies 3
RegistryPackageVersion constraintManifest
npmeta^4.5.1packages/core/package.json
npm@astrojs/starlight^0.30.6packages/web/package.json
npmastro^5.2.0packages/web/package.json
All dependencies not collected

The resolved dependency set could not be collected for this report: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "ai",
        "automation",
        "code-review",
        "coding-agent",
        "developer-tools",
        "github",
        "workflow",
        "autonomous-coding",
        "kompass",
        "token-efficiency",
        "agent-navigation",
        "steered-autonomy"
      ],
      "is_fork": false,
      "size_kb": 10861,
      "has_wiki": false,
      "homepage": "https://kompassdev.ai/",
      "languages": {
        "CSS": 16037,
        "MDX": 53068,
        "Astro": 62580,
        "Shell": 7348,
        "JavaScript": 1343,
        "TypeScript": 223317
      },
      "pushed_at": "2026-07-26T21:25:08Z",
      "created_at": "2026-03-09T16:33:19Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-20T14:18:06Z",
      "description": "Navigate your way - manual steering, steered autonomy, or autonomously. Kompass keeps AI coding agents on course with token-efficient, composable workflows.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript",
        "Astro",
        "MDX"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "kompassdev",
      "company": null,
      "location": null,
      "followers": 0,
      "avatar_url": "https://avatars.githubusercontent.com/u/266789430?v=4",
      "created_at": "2026-03-09T15:57:57Z",
      "is_verified": null,
      "public_repos": 1,
      "account_age_days": 139
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.16.1",
          "kind": "patch",
          "published_at": "2026-07-20T14:17:51Z"
        },
        {
          "tag": "v0.16.0",
          "kind": "minor",
          "published_at": "2026-07-17T16:44:34Z"
        },
        {
          "tag": "v0.15.0",
          "kind": "minor",
          "published_at": "2026-06-26T17:30:32Z"
        },
        {
          "tag": "v0.14.2",
          "kind": "patch",
          "published_at": "2026-06-25T19:21:11Z"
        },
        {
          "tag": "v0.14.1",
          "kind": "patch",
          "published_at": "2026-06-24T20:52:12Z"
        },
        {
          "tag": "v0.14.0",
          "kind": "minor",
          "published_at": "2026-06-08T21:09:35Z"
        },
        {
          "tag": "v0.13.2",
          "kind": "patch",
          "published_at": "2026-04-27T13:22:43Z"
        },
        {
          "tag": "v0.13.1",
          "kind": "patch",
          "published_at": "2026-04-17T16:56:14Z"
        },
        {
          "tag": "v0.13.0",
          "kind": "minor",
          "published_at": "2026-04-17T16:28:42Z"
        },
        {
          "tag": "v0.12.1",
          "kind": "patch",
          "published_at": "2026-04-16T14:41:52Z"
        },
        {
          "tag": "v0.12.0",
          "kind": "minor",
          "published_at": "2026-04-09T17:33:19Z"
        },
        {
          "tag": "v0.11.0",
          "kind": "minor",
          "published_at": "2026-04-02T17:11:28Z"
        },
        {
          "tag": "v0.10.2",
          "kind": "patch",
          "published_at": "2026-04-01T17:17:18Z"
        },
        {
          "tag": "v0.9.1",
          "kind": "patch",
          "published_at": "2026-03-27T23:14:16Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-03-27T22:44:24Z"
        },
        {
          "tag": "v0.8.1",
          "kind": "patch",
          "published_at": "2026-03-27T20:12:50Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-03-27T16:14:12Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-03-26T20:44:05Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-03-25T19:06:10Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-03-25T02:22:53Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-03-20T22:24:08Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2026-03-19T17:40:19Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2026-03-17T16:52:03Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-03-17T16:09:53Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2026-03-17T04:01:07Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2026-03-17T03:35:20Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2026-03-13T21:11:38Z"
        },
        {
          "tag": "v0.2.7",
          "kind": "patch",
          "published_at": "2026-03-13T20:25:38Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2026-03-12T18:26:46Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2026-03-11T20:00:50Z"
        },
        {
          "tag": "v0.0.5",
          "kind": "patch",
          "published_at": "2026-03-09T21:57:03Z"
        },
        {
          "tag": "v0.0.3",
          "kind": "patch",
          "published_at": "2026-03-09T21:04:27Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "a49320c405f70c3f3d0e24558ce1aba02a6f1f14",
          "body": null,
          "is_bot": false,
          "headline": "0.16.1",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T14:16:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db67f941c4cdf5d301abd197e446b0a9b9f7ad86",
          "body": "Improve PR feedback assessment and loop confirmation",
          "is_bot": false,
          "headline": "Merge pull request #110 from kompassdev/feat/review-feedback-assessment",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T14:16:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e115e7cb0e866488ae0f513581de8dfef626be68",
          "body": "- independently assess review comments before applying fixes\n- weight project-member intent using GitHub author metadata\n- confirm clean PR state after CI with a final full load",
          "is_bot": false,
          "headline": "feat: improve PR feedback handling",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-20T13:39:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2e271139b740daef92a9cbb229d0fe1bf3540632",
          "body": null,
          "is_bot": false,
          "headline": "0.16.0",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-17T16:44:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8a1e32a304eead5b2edc08a3074b0a71c120c9ae",
          "body": "…kflows\n\nRefactor command workflows and add inline variants",
          "is_bot": false,
          "headline": "Merge pull request #109 from kompassdev/refactor/simplify-command-wor…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-17T16:42:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fe224f68e922c4c507586647c92bf54f93e60f8",
          "body": "- mark oversized diff results as incomplete and required\\n- clarify that every deferred file diff must be inspected\\n- cover deferred result metadata and guidance in e2e tests",
          "is_bot": false,
          "headline": "fix: require inspection of deferred diffs",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T17:17:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "901e537c01b547220c31225f4a6f8c8cad32cf64",
          "body": "- consolidate change analysis and ticket planning into reusable components\n- infer inline rendering and reuse shared push behavior\n- defer oversized changes_load diffs while preserving file manifests\n- sync configs, docs, tests, and generated OpenCode artifacts",
          "is_bot": false,
          "headline": "refactor: simplify command workflow composition",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T17:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9e3f31648d89e256321f1cecd7753dc77950311",
          "body": "- add inline branch, commit-and-push, and PR creation commands\n- synchronize command defaults, schema, and generated OpenCode artifacts\n- cover current-session behavior in core and adapter tests\n- document and showcase the expanded inline workflow surface",
          "is_bot": false,
          "headline": "feat: add inline completion command variants",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T16:41:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0f5f2eb2c7cc2751ed5a1c8d748c6602572d686",
          "body": "- replace navigator dispatch with reusable workflow components\n- add incremental PR review loading and streamlined PR commands\n- align bundled config, generated artifacts, tests, and documentation",
          "is_bot": false,
          "headline": "refactor: simplify command workflows",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-07-16T16:24:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25082e66deaf5ffda5b033796425bde565fc09d5",
          "body": null,
          "is_bot": false,
          "headline": "v0.15.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:29:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29938479ba05e9a9e1c2c755876e96f8a6fb3149",
          "body": "Add loop PR fix command",
          "is_bot": false,
          "headline": "Merge pull request #107 from kompassdev/feature/loop-pr-fix-command",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:27:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3bc3ea32e883f8d4bf472df19726043297d98898",
          "body": "- add /loop/pr/fix navigator command for CI and review feedback loops\n- register the command across default config, schema, and OpenCode output\n- update /pr/fix to treat CI failures as actionable feedback\n- document and showcase the new orchestration flow",
          "is_bot": false,
          "headline": "feat: add loop pr fix command",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-26T17:16:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "337abc5c882035ebd14b015b7e04ad9d61050836",
          "body": null,
          "is_bot": false,
          "headline": "v0.14.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:20:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3e15bf647378b48c8ca8b5cd93f7fb3cb70fc780",
          "body": "Remove PR branch alignment component",
          "is_bot": false,
          "headline": "Merge pull request #106 from kompassdev/refactor/remove-align-pr-branch",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:18:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "37a9ff6b88453ff01dc84afe5f9c0b3407f7e23b",
          "body": "- remove the bundled align-pr-branch component from config and schema\n- inline required PR checkout guidance for pr/fix\n- load pr/review changes directly from the PR head ref without checkout\n- update tests, generated OpenCode output, and component docs",
          "is_bot": false,
          "headline": "refactor: remove PR branch alignment component",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-25T19:07:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf4359294fcd534012f771b3578ceeaf150a77a7",
          "body": null,
          "is_bot": false,
          "headline": "chore: release opencode 0.14.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T20:52:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25b9928eb30d0ef481235c2c72a0e3544f0db273",
          "body": "Skip redundant PR checkout at head commit",
          "is_bot": false,
          "headline": "Merge pull request #104 from kompassdev/fix/skip-pr-checkout-at-head",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T20:47:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df876ae93afbb15e71991c913a8bec76d2880299",
          "body": null,
          "is_bot": false,
          "headline": "fix: refine PR branch alignment",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T19:44:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd345fe489885aaff35557e9087ef2f8d5375783",
          "body": "- detect the current HEAD while loading PR context\n- avoid gh pr checkout when already on the PR branch or head commit\n- document checkout failure behavior without automatic retries\n- cover the rendered pr/review workflow with a command template test",
          "is_bot": false,
          "headline": "fix: skip redundant PR checkout",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-24T19:27:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1434d28ee26f5226b53fe5c2ec752c568b17450",
          "body": null,
          "is_bot": false,
          "headline": "0.14.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T21:09:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8887bbc5dcf0270287eaf505b2f38f5ba9ee664c",
          "body": "…ools\n\nRun OpenCode tools with an internal shell",
          "is_bot": false,
          "headline": "Merge pull request #103 from kompassdev/chore/update-opencode-shell-t…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T21:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b865bc1b3e8dc706035a16cc5487bc2d8da78c1",
          "body": "- add a Node-backed shell runner for Kompass OpenCode tools\n\n- register shell-backed tools without depending on plugin input shell state\n\n- cover shell execution through tool registration and plugin tests\n\n- update OpenCode SDK and plugin dependencies",
          "is_bot": false,
          "headline": "fix: run opencode tools with internal shell",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-06-08T14:42:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "afb6bd553af85065499e0f6d4fcb60091c31444e",
          "body": "…read-only\n\ndocs: clarify ticket/ask command is read-only",
          "is_bot": false,
          "headline": "Merge pull request #102 from danielsuguimoto/docs/clarify-ticket-ask-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-27T19:05:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b76b2e3ded21731625b39d7cd1ba49b4dc356fe9",
          "body": "- Add explicit \"do NOT write, edit, or commit any code\" instruction to the Goal section\n- Add \"do NOT run git commit or push\" restriction to the Answer Question step\n- Update both source and generated command docs for consistency",
          "is_bot": false,
          "headline": "docs: clarify ticket/ask command is read-only",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-05-26T20:34:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61f2c4e8bc931a63f1a7edbc60aac4d648f8dc32",
          "body": "…names\n\nSupport configurable adapter names",
          "is_bot": false,
          "headline": "Merge pull request #101 from kompassdev/feature/configurable-adapter-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-21T16:44:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7375b13743df9f2e97475c485134a6f9491e98d",
          "body": "- add command, agent, and tool name resolution to core config rendering\n- propagate resolved names through command expansion and agent prompts\n- update OpenCode adapter compilation to register configured aliases\n- document configurable names and cover aliases with adapter tests",
          "is_bot": false,
          "headline": "feat: support configurable adapter names",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-05-21T13:24:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "09693ad8f491c90a6dde07cdc203469741c3b839",
          "body": null,
          "is_bot": false,
          "headline": "0.13.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-27T13:22:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cec6b9c33b157eca0b82259b33b9a0f9db73cf5b",
          "body": "docs: clarify commit-based scope for branch comparisons",
          "is_bot": false,
          "headline": "Merge pull request #100 from danielsuguimoto/branch-compare-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-27T13:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "706ede0d29a6acb0bae6f808b5dc7d16a25678b7",
          "body": null,
          "is_bot": false,
          "headline": "docs: clarify commit-based scope for branch comparisons",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-04-24T19:43:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7039647933669dd004977d2934be14c8be474378",
          "body": "- update @kompassdev/opencode to 0.13.1",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:55:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11d4d3e15751f58ba494c54c0269207dd7d1ea95",
          "body": "Refactor OpenCode config loading with shared caches",
          "is_bot": false,
          "headline": "Merge pull request #99 from kompassdev/refactor/cache-opencode-loaders",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:54:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd98e0a1e2603e743a5593f5d99441644cd8b2ba",
          "body": "- centralize merged config, tool name, agent, and command loading in a shared cache module\n- reuse cached loader helpers across OpenCode config and tool setup paths to avoid repeated resolution work\n- defer delegated command tool-name rewriting to execution time and bump the package version to 0.13.0",
          "is_bot": false,
          "headline": "refactor: cache opencode config loaders",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:46:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb9c53b2d2dca50ec8d661b3e1d6828e58ce428a",
          "body": "Update OpenCode adapter for plugin API 1.4",
          "is_bot": false,
          "headline": "Merge pull request #98 from kompassdev/chore/update-opencode-plugin-api",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:26:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c245238514fd1f1b4c0e8d2d54de2f782a9cad44",
          "body": "- upgrade the OpenCode plugin and SDK dependencies to the current supported versions\n- align Kompass config typing with the plugin package\n- make plugin logging fire-and-forget so hook execution no longer waits on log writes",
          "is_bot": false,
          "headline": "fix: update opencode plugin integration",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-17T16:18:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "031644ddbe2c60cc7294e9f1fb0c3cba9591fc6e",
          "body": "- update @kompassdev/opencode from 0.12.0 to 0.12.1\n- record the adapter package release version change",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:41:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7f485a05ee89326f2ffa637a687674cbb0bba8f",
          "body": "fix: load PR change context from the active branch",
          "is_bot": false,
          "headline": "Merge pull request #97 from kompassdev/chore/pr-change-load",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:39:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d16a6206bebf07d5b1596806fba31580901319b4",
          "body": "- update pr review and fix commands to diff against the checked out branch\n- use the current branch change set during feedback analysis before planning edits\n- sync the generated opencode command docs with the source command changes",
          "is_bot": false,
          "headline": "fix: load PR changes from the active branch",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-16T14:29:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a947d918a7bbc79733211ea74d9cf92ff6383a1d",
          "body": "Respect author decisions during PR review",
          "is_bot": false,
          "headline": "Merge pull request #92 from danielsuguimoto/pr-review-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:49:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "057cbde3b366842cc2df1c5f6eda3f279efba972",
          "body": "ci: trigger PR reviews from review label",
          "is_bot": false,
          "headline": "Merge pull request #96 from kompassdev/ci/pr-review-label-trigger",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:44:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fad306c360b6d826b914177f6e3e7ac0b92ca26b",
          "body": "- add a labeled pull_request_target trigger so review runs can be requested from the PR itself\n- remove the separate issue_comment workflow now that label-based review requests are supported\n- keep the existing automatic review behavior for non-draft same-repo pull requests",
          "is_bot": false,
          "headline": "ci: trigger PR reviews from labeled events",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:28:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "65da069dc47104e974a4dbcba9b6e3b1338a6fb4",
          "body": "fix: tighten PR review branch handling",
          "is_bot": false,
          "headline": "Merge pull request #95 from kompassdev/fix/pr-review-branch-handling",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:10:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "501b2c26185886867f5e4fdcea29583db8892476",
          "body": "- add align-pr-branch to the bundled component config in the root, core, and opencode manifests\n- document align-pr-branch in the component index and add a dedicated reference page\n- keep the new shared component aligned across runtime, config, and docs surfaces",
          "is_bot": false,
          "headline": "fix: sync align-pr-branch component surfaces",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T19:05:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55dcbae93dea489ff07c2177c5768d40c3a78f32",
          "body": "- remove the temporary debug gate job from the PR review workflow\n- allow automated reviews for same-repo branches without author association checks\n- keep draft and forked pull requests excluded from the review run",
          "is_bot": false,
          "headline": "fix: relax PR review workflow gate",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:58:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "62d2704771b67883cb1c18ff81252e81ba7c1efb",
          "body": "- add a debug gate job to surface PR review trigger inputs\n- replace the JSON contains check with explicit OWNER or MEMBER conditions\n- make review workflow behavior easier to diagnose when automation does not start",
          "is_bot": false,
          "headline": "fix: tighten PR review gate checks",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:56:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c3354f1ae98d75092ed57014819f9d647694173",
          "body": "- reuse a shared align-pr-branch component in PR fix and review commands\n- register the new component in config and schema so it is available consistently\n- restrict review workflows to trusted same-repo PRs and add comment-triggered review support",
          "is_bot": false,
          "headline": "fix: tighten PR review branch handling",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-14T18:39:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "140db8b788b687153a5f4ab2131b22619a96b136",
          "body": "- treat explicit author declines or scope narrowing as review context\n- exclude already-decided concerns from eligible findings\n- keep the generated opencode review command in sync",
          "is_bot": false,
          "headline": "fix: honor author decisions in pr review",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-04-10T13:11:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b3520e5b33eb9a7bbe95cc20f6517163bb2b97d",
          "body": "- document the new bundled skill commands in the OpenCode README\n- add the GitHub CLI prerequisite for GitHub-backed workflows\n- bump @kompassdev/opencode to version 0.12.0",
          "is_bot": false,
          "headline": "docs: update opencode release notes",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T17:32:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f016e459db2219129bd35f7b53706601230c0f3b",
          "body": "Add skill authoring commands",
          "is_bot": false,
          "headline": "Merge pull request #91 from kompassdev/feature/skill-commands",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:59:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "450ebf4bf3f16832882df85772cfe1202ec23792",
          "body": null,
          "is_bot": false,
          "headline": "docs: split command reference groups",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:49:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fd30b251682351dd69cf614e3ea05d1295b8ef33",
          "body": null,
          "is_bot": false,
          "headline": "docs: sync command reference groups",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:38:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b79ca194203236dde98ded58975e2fe133da4cb3",
          "body": "- simplify skill command docs and generated output around generic validation steps\n- reorganize the command showcase into workflow and guidelines groups\n- tighten skill optimize wording to focus on targeted improvements",
          "is_bot": false,
          "headline": "docs: simplify skill validation guidance",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:28:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b49c519d30997797f3c600be1bab4a7aa1bf2792",
          "body": "- add bundled `skill/create` and `skill/optimize` command definitions across core, schema, and adapter configs\n- add the shared skill authoring component and generated OpenCode templates for the new workflows\n- document the new skill workflows in the README and web docs, including command showcase examples",
          "is_bot": false,
          "headline": "feat: add skill authoring commands",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-09T14:03:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70d14b13a873aafe814c35601e9057d88b9bf67d",
          "body": "Fix docs site title contrast",
          "is_bot": false,
          "headline": "Merge pull request #90 from kompassdev/fix/site-title-color",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:25:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d3ba789e5dcb4e8187b24d45012df56802d8850",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove debug text from docs overview",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:10:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3f203ef883a6b0e5735ad11f0c069d7341d63147",
          "body": null,
          "is_bot": false,
          "headline": "wip",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:06:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ea960dc7bbde8420ec30591287dbd0140106489",
          "body": null,
          "is_bot": false,
          "headline": "wip",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:02:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2440e65c8b144e84c57b5f1c87641437482aec34",
          "body": null,
          "is_bot": false,
          "headline": "fix: keep site title text white",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T15:01:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bbcb5f7e30b845c58e71f073c3d9c9a9302c7893",
          "body": "…ereqs\n\nConsolidate setup docs into getting started",
          "is_bot": false,
          "headline": "Merge pull request #86 from kompassdev/docs/update-getting-started-pr…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T14:18:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "72b5ec87a1b46236eda25a9169ae7b08f09f2e44",
          "body": "- add GitHub CLI prerequisites and adapter support notes\n- merge installation and override guidance into getting started\n- update docs navigation and site branding to match the new structure",
          "is_bot": false,
          "headline": "docs: consolidate getting started setup",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-03T14:13:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ce0489f3ed15aafe0278fda055cb5f2bde4d7e2",
          "body": "fix: align pr commands with head branch",
          "is_bot": false,
          "headline": "Merge pull request #73 from danielsuguimoto/pr-tweaks",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:36:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41766ce007f244b1ab73c9bd0c688958ae8579f5",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version to 0.11.0",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:10:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6203a3cb9b695467b615b8a92b118fd54434d0c",
          "body": "Fix empty review handling during PR creation",
          "is_bot": false,
          "headline": "Merge pull request #77 from kompassdev/fix/pr-sync-create-review-input",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:08:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6f7c058960b948845538334ee6feeaa0c3c4d6b",
          "body": "- treat empty review input as absent so pr_sync can create PRs\n- clarify create-only guidance to skip review-specific fields\n- cover the create path and pr/fix subtask behavior in tests",
          "is_bot": false,
          "headline": "fix: omit empty review payloads during PR creation",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T17:02:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "136e81f5394f36a29f198acd3af915ab7307a34e",
          "body": "…pansion\n\nrefactor: rename session_command to command_expansion",
          "is_bot": false,
          "headline": "Merge pull request #76 from kompassdev/refactor/session-command-to-ex…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T16:51:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e594416f021da1a188d835b43f96b073ba2d0345",
          "body": "- Replace <session_command> tags with <delegate> tags in command docs\n- Rename session_command tool to command_expansion across core and opencode\n- Update agent documentation (navigator) to reflect new terminology\n- Update TypeScript types and implementations in dispatch tool\n- Update all test files to use new tool name\n- Rename session-command.mdx docs to command-expansion.mdx\n- Sync generated opencode artifacts with source changes\n- Update AGENTS.md workflow guidelines with new terminology",
          "is_bot": false,
          "headline": "refactor: rename session_command to command_expansion",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-02T16:41:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b78d463db4a7ab1dfdc8b630b08aac7506fc57b",
          "body": "- describe session-command acknowledgements as scheduling-only responses\n- update ship and branch command wording for skipped branch handling\n- align OpenCode tool output and tests with async delegated execution",
          "is_bot": false,
          "headline": "fix: clarify async session command dispatch",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T18:42:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a2b7c13d6b26ab1d38b8c0b785af04501fab5bd",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode adapter to 0.10.2",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T17:17:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb0ba44b5e713ad7283806b4df6e5a206518d878",
          "body": "…flag\n\nfix: mark delegated session commands as synthetic",
          "is_bot": false,
          "headline": "Merge pull request #75 from kompassdev/fix/session-command-synthetic-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T17:16:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f846f8e4aeff66778d936e7a689a8dc96c32e4d5",
          "body": "- Add synthetic: true to session command parts to prevent them from surfacing as user messages\n- Update executeSessionCommand to mark delegated turns as synthetic\n- Update test to expect synthetic flag in parts",
          "is_bot": false,
          "headline": "fix: mark delegated session commands as synthetic",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T16:13:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e900adb2885a89b8cf833bd81208dc42dde3e2e",
          "body": "- Update @kompassdev/opencode package version from 0.10.0 to 0.10.1",
          "is_bot": false,
          "headline": "chore: bump version to 0.10.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:32:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02ca9340752901a52d3f789cc757d4c212dd9691",
          "body": "…gent\n\nrefactor: change ticket/dev agent to navigator",
          "is_bot": false,
          "headline": "Merge pull request #74 from kompassdev/feature/ticket-dev-navigator-a…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:30:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4fc24d5076e4566441dfd8ec053102e1660da642",
          "body": "- Fix /commit scenario agentName back to 'Worker' (incorrectly changed)\n- Fix /ticket-dev scenario agentName to 'Navigator' (was still 'Worker')\n- Remove accidentally committed OpenCode session file",
          "is_bot": false,
          "headline": "fix: address PR review feedback on CommandShowcase agents",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:22:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80bcd2ec10ac358c7af888fc41da4e5fad46d9b8",
          "body": "- Change ticket/dev command agent from worker to navigator\n- Update navigator agent descriptions for clarity and brevity\n- Expand AGENTS.md docs on linked surface areas\n- Update web docs to reflect navigator-led orchestration\n- Add test assertion for ticket/dev agent assignment",
          "is_bot": false,
          "headline": "refactor: change ticket/dev agent to navigator",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-04-01T15:09:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6e85f35e82409b1b70981eda70401dc6f23357f",
          "body": "- require switching to the PR head branch before local inspection\n- store the active branch for review and fix workflows\n- sync generated opencode command docs with the source templates",
          "is_bot": false,
          "headline": "fix: align pr commands with head branch",
          "author_name": "Daniel Jun Suguimoto",
          "author_login": "danielsuguimoto",
          "committed_at": "2026-03-31T13:12:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a9de25b9a0512a3c1390cd0f6d68834c13a3794",
          "body": "- Document /merge command in README bundled surface section\n- Bump version to 0.10.0 for release",
          "is_bot": false,
          "headline": "feat: add /merge command to bundled surface",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:43:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "692ab44f1d8c1e956d90d9674733ce8ba3331a4b",
          "body": "…dispatch\n\nfeat: Update command docs to use session_command tags - Add /merge command",
          "is_bot": false,
          "headline": "Merge pull request #72 from kompassdev/feature/merge-command-session-…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:41:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecdb6f5660b56667819fb74369bda87b17b74577",
          "body": "…ody/agent format\n\n- Replace slash command parsing with explicit command/body/agent structure\n- Update session_command tool to require command parameter\n- Add command attribute to all session_command tags in command docs\n- Update navigator agent docs for new session command format\n- Update all tests\n[…]\nI signatures\n- Update OpenCode adapter tool registration and execution\n- Update web documentation for session command changes\n- Add merge command documentation\n- Add session-command tool documentation",
          "is_bot": false,
          "headline": "refactor: update session command dispatch to use structured command/b…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-31T12:28:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1beaf86a68809427770053576763e9f2f1b0be0e",
          "body": "- add the merge command and session_command tool across core and OpenCode surfaces\n- switch navigator-driven workflows from dispatch tags to literal session_command tags\n- sync docs, config, schema, generated output, and tests for the new command flow",
          "is_bot": false,
          "headline": "feat: add session command dispatch support",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-30T21:58:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c6e59fe827bc7004f9bf5192f1df20a27b89ef9",
          "body": "refactor: simplify landing page layout and add install guide",
          "is_bot": false,
          "headline": "Merge pull request #68 from kompassdev/refactor/simplify-landing-page",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:22:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10f1a6aed9b1aa7adff1bb2348508fc4c51e4404",
          "body": "…sibility",
          "is_bot": false,
          "headline": "fix: add focus-visible styles to InstallBlock tabs for keyboard acces…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:19:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6e0086f585fc1b2b82ce2c3c3a3fd22a3c50dc60",
          "body": "Remove unused .section--features, .feature-grid, .feature-card,\n.section--architecture, .architecture-simple, .arch-item, and\n.arch-number styles that are no longer used in the landing page.",
          "is_bot": false,
          "headline": "fix: remove dead CSS styles from site.css",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caa4e31f32e6c75414717fea379f9821196c7a3c",
          "body": "…amlining layout",
          "is_bot": false,
          "headline": "refactor: simplify landing page by removing verbose sections and stre…",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-28T14:06:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cb7d1c870f617d30cbf2d0d0295da6486dde94a5",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:13:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04a51da9d1487055eabc776f6a01e0833bb42822",
          "body": "Fix OpenCode package plugin entry export",
          "is_bot": false,
          "headline": "Merge pull request #67 from kompassdev/fix/opencode-plugin-entry",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:11:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9c72cf211fd6a688f4368ccc5c546e93def2805",
          "body": "- publish  as the package entry so consumers load the plugin-only surface\n- update the build to emit  instead of bundling from\n- add a regression test that verifies the plugin entry only exports the plugin factories",
          "is_bot": false,
          "headline": "fix: point opencode package to plugin entry",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T23:05:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68e70fc5f472589d3669ad930d8cb1dd7ab5768d",
          "body": "- document the bundled command, agent, and tool surface in the adapter README\n- bump @kompassdev/opencode to version 0.9.0",
          "is_bot": false,
          "headline": "chore: prepare opencode 0.9.0 release",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:43:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0ed2f51a969c2cde192bca13e9ffb7eb1a356820",
          "body": "Refresh bundled surface docs and showcase",
          "is_bot": false,
          "headline": "Merge pull request #66 from kompassdev/chore/refresh-bundled-surface",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:42:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "02d8d2d12ed1a49a3ac11d6118a1a2a86dc90c0d",
          "body": "- document commands, agents, tools, and reusable components across the\n  README, adapter docs, and reference pages\n- switch command ownership from build to worker and align default\n  agent permissions and config tests\n- add explicit head branch support to pr_sync for PR creation flows\n- refresh the docs site landing page and command showcase to present the\n  bundled workflow surface more clearly",
          "is_bot": false,
          "headline": "feat: refresh bundled workflow surface docs",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:36:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7679204d11d4eba1f3619162ce938df7cd9ba9f4",
          "body": "Remove Kompass skill support from core and OpenCode",
          "is_bot": false,
          "headline": "Merge pull request #65 from kompassdev/refactor/remove-skill-support",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:05:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b22be17ea63643bc85bb9d032716c97add266a57",
          "body": null,
          "is_bot": false,
          "headline": "fix: remove stale skill exclude from opencode tsconfig",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T22:03:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d32e42499129cb21393edd42dfa2c48e1d1e31b7",
          "body": "- drop skill config, schema, and runtime registration from core and OpenCode\n- remove skill-specific tests and packaged skill artifacts\n- update docs and site copy to reflect the reduced Kompass surface area",
          "is_bot": false,
          "headline": "refactor: remove Kompass skill support",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T21:57:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2bb6b44a2a2c6ee930910e4d042ac823d867f4e7",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:59:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ecfc1fe83df44004835850c75d73e647ff7925d4",
          "body": "fix: preserve configured skill paths when bundled skills are unavailable",
          "is_bot": false,
          "headline": "Merge pull request #64 from kompassdev/fix/preserve-skill-paths",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:58:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "30f4d30d7cf7171ad0650997ae118a2aee67eed3",
          "body": "- keep normalized custom skill paths when bundled skills are unavailable\n- only register bundled skills when a valid bundled root exists\n- cover missing bundled root behavior in skills config tests",
          "is_bot": false,
          "headline": "fix: preserve configured skill paths",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:40:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f193a71954998e96da4b54794b49a57732719b6",
          "body": null,
          "is_bot": false,
          "headline": "chore: bump opencode package version to 0.8.1",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:12:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8808ce17deed28b9d5a2a718046831db21ccac21",
          "body": "Clarify dispatch ownership and review stability guidance",
          "is_bot": false,
          "headline": "Merge pull request #63 from kompassdev/docs/review-stability-guidance",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:10:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4beddf0a7d49c48691433d45ff0515af1a9ea846",
          "body": "- tighten navigator guidance around local orchestration and explicit dispatch bodies\n- simplify PR review template rendering for conditional approval guidance\n- update ship command argument handling and delegation-first instructions\n- regenerate OpenCode artifacts to keep compiled docs in sync",
          "is_bot": false,
          "headline": "docs: clarify navigator dispatch rules",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T20:05:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "edfe3324599e4242eccc9cf3620900b004924908",
          "body": null,
          "is_bot": false,
          "headline": "docs: stabilize review guidance across reruns",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T19:55:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4367dc8e7155b900e12f42b7851c02ec9d98e066",
          "body": "- update @kompassdev/opencode from 0.7.1 to 0.8.0\n- prepare the package metadata for the next release",
          "is_bot": false,
          "headline": "chore: bump opencode package version",
          "author_name": "dbpolito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T16:12:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "83c18e0aafa4dc638a17de0b665ad3051ce5e692",
          "body": "…t-sections\n\ndocs: standardize command docs around workflow output",
          "is_bot": false,
          "headline": "Merge pull request #61 from kompassdev/docs/restructure-command-outpu…",
          "author_name": "Daniel Polito",
          "author_login": "dbpolito",
          "committed_at": "2026-03-27T16:11:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 32,
      "commits_last_year": 320,
      "latest_release_at": "2026-07-20T14:17:51Z",
      "latest_release_tag": "v0.16.1",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 15,
      "days_since_latest_release": 6,
      "mean_days_between_releases": 10.6
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": false,
      "health_percentage": 50,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": [
        {
          "name": "@kompassdev/opencode",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "opencode",
            "coding-agent",
            "ai-agent",
            "developer-tools",
            "workflow",
            "code-review",
            "pull-request",
            "ticketing",
            "automation",
            "kompass"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/@kompassdev/opencode",
          "is_deprecated": false,
          "latest_version": "0.16.1",
          "repository_url": "https://github.com/kompassdev/kompass",
          "versions_count": 44,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3152,
          "first_published_at": "2026-03-09T20:36:49.787000Z",
          "latest_published_at": "2026-07-20T14:17:35.908000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 2,
      "stars": 9,
      "watchers": 2,
      "fork_history": {
        "days": [
          {
            "date": "2026-03-20",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 2,
        "total_forks": 2
      },
      "star_history": null,
      "open_issues_and_prs": 1
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "packages/core/tsconfig.json",
        "packages/opencode/tsconfig.json",
        "packages/web/tsconfig.json",
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 26278,
      "source_files_sampled": 41,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "AGENTS.md"
      ],
      "agent_instruction_max_bytes": 8452
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "eta",
          "manifest": "packages/core/package.json",
          "ecosystem": "npm",
          "version_constraint": "^4.5.1"
        },
        {
          "name": "@astrojs/starlight",
          "manifest": "packages/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^0.30.6"
        },
        {
          "name": "astro",
          "manifest": "packages/web/package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.2.0"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 1,
        "merged_prs": 64,
        "open_issues": 0,
        "closed_ratio": 1,
        "closed_issues": 23,
        "closed_unmerged_prs": 23
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "dbpolito",
          "commits": 316,
          "avatar_url": "https://avatars.githubusercontent.com/u/347400?v=4"
        },
        {
          "type": "User",
          "login": "danielsuguimoto",
          "commits": 4,
          "avatar_url": "https://avatars.githubusercontent.com/u/25229545?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.988
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "kompass-pr-review.yml",
        "kompass-ticket-dev.yml",
        "kompass-ticket-plan.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 8,
            "reason": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
            "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": 4,
            "reason": "Found 8/17 approved changesets -- score normalized to 4",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 5 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": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 0,
            "reason": "dependency not pinned by hash detected -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "30 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "a49320c405f70c3f3d0e24558ce1aba02a6f1f14",
        "ran_at": "2026-07-26T23:26:59Z",
        "aggregate_score": 3.8,
        "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": null,
      "oldest_open_prs": [
        {
          "number": 111,
          "created_at": "2026-07-25T22:33:54Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-20T14:16:18Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/kompassdev/kompass",
    "host": "github.com",
    "name": "kompass",
    "owner": "kompassdev"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 58,
      "inputs": {
        "security": 38,
        "vitality": 84,
        "community": 40,
        "governance": 55,
        "engineering": 64
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 84,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 74,
            "inputs": {
              "commits_last_year": 320,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 15
            },
            "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": "15/52 weeks with commits",
                "points": 10.4,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 15
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "320 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 320
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "releases_count": 32,
              "latest_release_tag": "v0.16.1",
              "releases_from_tags": false,
              "days_since_latest_release": 6,
              "mean_days_between_releases": 10.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "32 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 32
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~10.6 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 10.6
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 40,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 15,
            "inputs": {
              "forks": 2,
              "stars": 9,
              "watchers": 2,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "9 stars",
                "points": 14.6,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "2 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "2 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 57,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": false,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 58,
            "inputs": {
              "packages": [
                "@kompassdev/opencode"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3152
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,152 downloads/month across npm",
                "points": 46.6,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3152,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 22,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.988
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 99% of commits",
                "points": 0.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 99
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "2 contributors",
                "points": 2.7,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 5 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 81,
            "inputs": {
              "merged_prs": 64,
              "open_issues": 0,
              "closed_issues": 23,
              "issue_closed_ratio": 1,
              "closed_unmerged_prs": 23
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "100% of issues closed",
                "points": 46.8,
                "status": "met",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "64/87 decided PRs merged",
                "points": 28.1,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 64,
                      "decided": 87
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 8/17 approved changesets -- score normalized to 4",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "followers": 0,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "kompassdev",
              "public_repos": 1,
              "account_age_days": 139
            },
            "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": "0 followers of kompassdev",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 0,
                      "login": "kompassdev"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "1 public repos, account ~0 yr old",
                "points": 3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 1
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "@kompassdev/opencode"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "44 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 44
                    }
                  }
                ],
                "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": 64,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 64,
            "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": "3 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 3
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": 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": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
                "points": 16,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "moderate",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "topics": [
                "ai",
                "automation",
                "code-review",
                "coding-agent",
                "developer-tools",
                "github",
                "workflow",
                "autonomous-coding",
                "kompass",
                "token-efficiency",
                "agent-navigation",
                "steered-autonomy"
              ],
              "has_wiki": false,
              "homepage": "https://kompassdev.ai/",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://kompassdev.ai/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "12 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 38,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 38,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 3.8
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "8 out of 9 merged PRs checked by a CI test -- score normalized to 8",
                "points": 2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 8/17 approved changesets -- score normalized to 4",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 5 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": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "26 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "30 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 6
            },
            "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": 63,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.92,
              "agent_instruction_files": [
                "AGENTS.md"
              ],
              "agent_instruction_max_bytes": 8452
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "AGENTS.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "AGENTS.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "92 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 92,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "at_risk",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 33,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "packages/core/tsconfig.json",
                "packages/opencode/tsconfig.json",
                "packages/web/tsconfig.json",
                "tsconfig.json"
              ],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "packages/core/tsconfig.json, packages/opencode/tsconfig.json, packages/web/tsconfig.json, tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "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": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 26278,
              "source_files_sampled": 41,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/41 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 41,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T23:27:11.651182Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/k/kompassdev/kompass.svg",
  "full_name": "kompassdev/kompass",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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 v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

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