Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-25 13:00 UTC

fireflyframework / fireflyframework-parent

Parent POM for the Firefly Framework — dependency, plugin & build management for Spring Boot 3.x reactive microservices

No license detected★ 0 stars⑂ 0 forkssince Feb 2026View on GitHub ↗

fireflyframework/fireflyframework-parent holds a health index of 56 out of 100, placing it in the Moderate band. It scores highest on Vitality (86/100) and lowest on AI Readiness (30/100). It was last updated 4 days ago. A single contributor accounts for most of its recent work.

56
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.

56
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

Firefly FrameworkOrganization
2 followers75 public repossince Aug 2025

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

Metrics by category

Vitality

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

86Excellent · 22% of overall
How it's scored
36/36Push recency — last push 4 days ago
13.2/36Commit cadence — 19/52 weeks with commits
18/18Commit volume — 107 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year107
human_commit_share0.99
days_since_last_push4
active_weeks_last_year19

Release discipline

100Excellent
How it's scored
27/27Ships releases — 28 releases published
36/36Release recency — latest release 4 days ago
27/27Release cadence — a release every ~5.6 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count28
latest_release_tagv26.07.06
releases_from_tagsno
days_since_latest_release4
mean_days_between_releases5.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?

32At risk · 18% of overall
How it's scored
0/60Stars — 0 stars
0/25Forks — 0 forks
0/15Watchers — 0 watchers
Inputs used
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
How it's scored
22.5/22.5README
0/22.5License — no license file detected
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseno
has_contributingyes
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateyes

Sustainability & Governance

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

37At risk · 24% of overall
How it's scored
9/54Bus factor — 1 contributor(s) cover half of all commits
4.8/22.5Commit distribution — top contributor authored 78% of commits
2.7/13.5Contributor breadth — 2 contributors
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Inputs used
bus_factor1
contributors_sampled2
top_contributor_share0.785
How it's scored
0/46.8Issue resolution — no issues or no data
27.3/38.3PR acceptance — 20/28 decided PRs merged
0/15OpenSSF Scorecard: Code-Review — Found 1/25 approved changesets -- score normalized to 0
Inputs used
merged_prs20
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs8
Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
3.4/25Owner reach — 2 followers of fireflyframework
14.9/25Track record — 75 public repos, account ~0 yr old
Inputs used
followers2
owner_typeOrganization
is_verified
owner_loginfireflyframework
public_repos75
account_age_days355

Engineering Quality

Are baseline engineering and documentation practices in place?

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

Documentation

85Excellent
How it's scored
30/30README
25/25Documentation directory
0/15Documentation / homepage site
10/10Repository description
10/10Topics — 12 topics
10/10Wiki
Inputs used
topicsbom, build-tools, dependency-management, firefly-framework, graalvm, java, maven, microservices, parent-pom, reactive, spring-boot, webflux
has_wikiyes
homepage
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

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

67Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — no data
2.5/2.5CI-Tests — 5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 1/25 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
0/2.5License — license file not detected
7.5/7.5Maintained — 30 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
5/5SAST — SAST tool is run on all commits
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — no data
6/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate6.9
Excluded from scoring (no data or not applicable): branch_protection, packaging, signed_releases. Remaining weights renormalized.
How it's scored
11.3/35Direct dependencies free of known advisories — 2 affected: org.bouncycastle:bcprov-jdk18on 1.77 (high 7.7), org.postgresql:postgresql 42.7.9 (high 7.5)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
33.5/40No advisories left outstanding — 1 advisory-carrying package(s) unaddressed past 90 days; oldest published 812 days ago
Inputs used
sourceosv
advisories9
affected_packages2
assessed_packages76
unassessed_packages3
affected_by_severityhigh 2
direct_affected_packages2
Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 76 resolved dependencies against OSV. 3 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.

AI Readiness

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

30At risk · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 94 of 99 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.949
agent_instruction_files
agent_instruction_max_bytes
How it's scored
12.6/18One-command bootstrap — pom.xml (toolchain convention, no task runner)
0/22Automated tests
0/11Lint / format config
0/11Static type checking
0/10Reproducible environment
2/10Demonstrated agent practice — 1 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 1 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsno
lockfiles
has_dockerfileno
typed_languageno
bootstrap_files
has_devcontainerno
has_linter_configno
typecheck_configs
agent_commit_share0.01
toolchain_manifestspom.xml
dependency_bot_commit_share0.01

Key facts

0GitHub stars
2contributors
107commits, last 12 months
4days since last push
28releases
1bus factor
0open issues
Mavenpackage ecosystems

Data collection warnings

  • Language breakdown unavailable

More detail

OpenSSF Scorecard 6.9 / 10
6.9aggregate

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-25 13:00 UTC

10Binary-Artifactsno binaries found in the repo
n/aBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
10CI-Tests5 out of 5 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 1/25 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
0Licenselicense file not detected
10Maintained30 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
10SASTSAST tool is run on all commits
10Security-Policysecurity policy file detected
n/aSigned-Releasesno releases found
8Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Direct dependencies 62
RegistryPackageVersion constraintManifest
Mavenorg.springframework.boot:spring-boot-dependencies${spring-boot.version}pom.xml
Mavenorg.springframework.cloud:spring-cloud-dependencies${spring-cloud.version}pom.xml
Mavenorg.springframework.boot:spring-boot-starter-webflux${spring-boot.version}pom.xml
Mavenorg.springdoc:springdoc-openapi-starter-webflux-ui${springdoc-openapi.version}pom.xml
Mavenorg.postgresql:postgresql${postgresql.version}pom.xml
Mavenorg.postgresql:r2dbc-postgresql${r2dbc-postgresql.version}pom.xml
Mavenorg.flywaydb:flyway-core${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-postgresql${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-mysql${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-sqlserver${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-oracle${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-db2${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-hsqldb${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-derby${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-informix${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-cassandra${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-clickhouse${flyway.version}pom.xml
Mavenorg.flywaydb:flyway-database-tidb${flyway.version}pom.xml
Mavenio.swagger.core.v3:swagger-annotations${swagger-annotations.version}pom.xml
Mavenorg.mapstruct:mapstruct${mapstruct.version}pom.xml
Mavenorg.testcontainers:testcontainers-bom${testcontainers.version}pom.xml
Mavennet.logstash.logback:logstash-logback-encoder${logstash-logback-encoder.version}pom.xml
Mavenorg.reflections:reflections${reflections.version}pom.xml
Mavenio.github.resilience4j:resilience4j-bom${resilience4j.version}pom.xml
Mavenio.grpc:grpc-bom${grpc.version}pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}pom.xml
Mavencom.google.protobuf:protobuf-java-util${protobuf.version}pom.xml
Mavenorg.apache.avro:avro${avro.version}pom.xml
Mavenorg.codehaus.janino:janino${janino.version}pom.xml
Mavenio.opentelemetry:opentelemetry-bom${opentelemetry.version}pom.xml
Mavensoftware.amazon.awssdk:bom${aws-sdk.version}pom.xml
Mavensoftware.amazon.kinesis:amazon-kinesis-client${amazon-kinesis-client.version}pom.xml
Mavenio.awspring.cloud:spring-cloud-aws-dependencies${spring-cloud-aws.version}pom.xml
Mavencom.azure.spring:spring-cloud-azure-dependencies${spring-cloud-azure.version}pom.xml
Mavencom.google.cloud:spring-cloud-gcp-dependencies${spring-cloud-gcp.version}pom.xml
Mavencom.sun.xml.ws:jaxws-rt${jaxws-rt.version}pom.xml
Mavenorg.apache.cxf:cxf-spring-boot-starter-jaxws${cxf.version}pom.xml
Mavenorg.apache.cxf:cxf-rt-ws-security${cxf.version}pom.xml
Mavenorg.apache.wss4j:wss4j-ws-security-dom${wss4j.version}pom.xml
Mavenwsdl4j:wsdl4j${wsdl4j.version}pom.xml
Mavenorg.glassfish.jaxb:jaxb-xjc${jaxb-xjc.version}pom.xml
Mavenio.asyncer:r2dbc-mysql${r2dbc-mysql.version}pom.xml
Mavenorg.bouncycastle:bcprov-jdk18on${bouncycastle.version}pom.xml
Mavenorg.threeten:threeten-extra${threeten-extra.version}pom.xml
Mavenorg.apache.commons:commons-math3${commons-math3.version}pom.xml
Mavenorg.wiremock:wiremock-standalone${wiremock.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-observability${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-api${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-spi${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-core${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-webflux${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-resource-server${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-method-policy${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-oauth2-client${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-authorization-server${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-test${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-adapter-r2dbc${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-adapter-opa${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-adapter-openfga${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-adapter-vault${project.version}pom.xml
Mavenorg.fireflyframework:fireflyframework-security-adapter-cerbos${project.version}pom.xml
Mavenorg.springframework.security:spring-security-oauth2-authorization-server1.5.4pom.xml
All dependencies 79

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

RegistryPackageVersionRelation
Mavencom.azure.spring:spring-cloud-azure-dependencies5.24.1direct
Mavencom.google.cloud:spring-cloud-gcp-dependencies6.5.4direct
Mavencom.google.protobuf:protobuf-java4.33.5direct
Mavencom.google.protobuf:protobuf-java-util4.33.5direct
Mavencom.sun.xml.ws:jaxws-rt4.0.3direct
Mavenio.asyncer:r2dbc-mysql1.3.1direct
Mavenio.awspring.cloud:spring-cloud-aws-dependencies3.4.2direct
Mavenio.github.resilience4j:resilience4j-bom2.3.0direct
Mavenio.grpc:grpc-bom1.79.0direct
Mavenio.opentelemetry:opentelemetry-bom1.59.0direct
Mavenio.swagger.core.v3:swagger-annotations2.2.42direct
Mavennet.logstash.logback:logstash-logback-encoder8.1direct
Mavenorg.apache.avro:avro1.12.1direct
Mavenorg.apache.commons:commons-math33.6.1direct
Mavenorg.apache.cxf:cxf-rt-ws-security4.1.4direct
Mavenorg.apache.cxf:cxf-spring-boot-starter-jaxws4.1.4direct
Mavenorg.apache.wss4j:wss4j-ws-security-dom3.0.2direct
Mavenorg.bouncycastle:bcprov-jdk18on1.77direct
Mavenorg.codehaus.janino:janino3.1.12direct
Mavenorg.fireflyframework:fireflyframework-observability26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-adapter-cerbos26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-adapter-opa26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-adapter-openfga26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-adapter-r2dbc26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-adapter-vault26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-api26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-authorization-server26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-core26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-method-policy26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-oauth2-client26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-resource-server26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-spi26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-test26.07.02direct
Mavenorg.fireflyframework:fireflyframework-security-webflux26.07.02direct
Mavenorg.flywaydb:flyway-core11.20.3direct
Mavenorg.flywaydb:flyway-database-cassandra11.20.3direct
Mavenorg.flywaydb:flyway-database-clickhouse11.20.3direct
Mavenorg.flywaydb:flyway-database-db211.20.3direct
Mavenorg.flywaydb:flyway-database-derby11.20.3direct
Mavenorg.flywaydb:flyway-database-hsqldb11.20.3direct
Mavenorg.flywaydb:flyway-database-informix11.20.3direct
Mavenorg.flywaydb:flyway-database-oracle11.20.3direct
Mavenorg.flywaydb:flyway-database-postgresql11.20.3direct
Mavenorg.flywaydb:flyway-database-tidb11.20.3direct
Mavenorg.flywaydb:flyway-mysql11.20.3direct
Mavenorg.flywaydb:flyway-sqlserver11.20.3direct
Mavenorg.glassfish.jaxb:jaxb-xjc4.0.6direct
Mavenorg.mapstruct:mapstruct1.6.3direct
Mavenorg.postgresql:postgresql42.7.9direct
Mavenorg.postgresql:r2dbc-postgresql1.1.1.RELEASEdirect
Mavenorg.reflections:reflections0.10.2direct
Mavenorg.springdoc:springdoc-openapi-starter-webflux-ui2.8.15direct
Mavenorg.springframework.boot:spring-boot-dependencies3.5.10direct
Mavenorg.springframework.boot:spring-boot-starter-webflux3.5.10direct
Mavenorg.springframework.cloud:spring-cloud-dependencies2025.0.1direct
Mavenorg.springframework.security:spring-security-oauth2-authorization-server1.5.4direct
Mavenorg.testcontainers:testcontainers-bom1.21.4direct
Mavenorg.threeten:threeten-extra1.7.2direct
Mavenorg.wiremock:wiremock-standalone3.13.2direct
Mavensoftware.amazon.awssdk:bom2.41.24direct
Mavensoftware.amazon.kinesis:amazon-kinesis-client2.5.1direct
Mavenwsdl4j:wsdl4j1.6.3direct
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.15.0indirect
Mavenorg.apache.maven.plugins:maven-enforcer-plugin3.6.2indirect
Mavenorg.apache.maven.plugins:maven-failsafe-plugin3.5.4indirect
Mavenorg.apache.maven.plugins:maven-gpg-plugin3.2.8indirect
Mavenorg.apache.maven.plugins:maven-javadoc-pluginindirect
Mavenorg.apache.maven.plugins:maven-javadoc-plugin3.12.0indirect
Mavenorg.apache.maven.plugins:maven-resources-plugin3.3.1indirect
Mavenorg.apache.maven.plugins:maven-source-pluginindirect
Mavenorg.apache.maven.plugins:maven-source-plugin3.4.0indirect
Mavenorg.apache.maven.plugins:maven-surefire-plugin3.5.4indirect
Mavenorg.codehaus.mojo:flatten-maven-plugin1.6.0indirect
Mavenorg.cyclonedx:cyclonedx-maven-plugin2.9.1indirect
Mavenorg.graalvm.buildtools:native-maven-plugin0.11.4indirect
Mavenorg.openapitools:openapi-generator-maven-plugin7.19.0indirect
Mavenorg.sonatype.central:central-publishing-maven-plugin0.10.0indirect
Mavenorg.springframework.boot:spring-boot-maven-pluginindirect
Mavenorg.springframework.boot:spring-boot-maven-plugin3.5.10indirect
Dependency advisories 2

This repository publishes no package the index resolves, so its own dependency graph was assessed — 76 packages, which also include development and test pins that never ship: 2 carry known advisories, of which 2 are direct. 3 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
org.bouncycastle:bcprov-jdk18on1.77directhigh72.73.6
org.postgresql:postgresql42.7.9directhigh242.7.12

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

Raw JSON report machine-readable
{
  "data": {
    "repo": {
      "topics": [
        "bom",
        "build-tools",
        "dependency-management",
        "firefly-framework",
        "graalvm",
        "java",
        "maven",
        "microservices",
        "parent-pom",
        "reactive",
        "spring-boot",
        "webflux"
      ],
      "is_fork": false,
      "size_kb": 105,
      "has_wiki": true,
      "homepage": null,
      "languages": {},
      "pushed_at": "2026-07-21T11:01:28Z",
      "created_at": "2026-02-06T12:33:43Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-21T11:02:41Z",
      "description": "Parent POM for the Firefly Framework — dependency, plugin & build management for Spring Boot 3.x reactive microservices",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": null,
      "primary_language": null,
      "significant_languages": []
    },
    "owner": {
      "blog": "https://fireflyframework.com/",
      "name": "Firefly Framework",
      "type": "Organization",
      "login": "fireflyframework",
      "company": null,
      "location": null,
      "followers": 2,
      "avatar_url": "https://avatars.githubusercontent.com/u/224436244?v=4",
      "created_at": "2025-08-03T16:57:04Z",
      "is_verified": null,
      "public_repos": 75,
      "account_age_days": 355
    },
    "license": {
      "state": "absent",
      "spdx_id": null,
      "raw_spdx": null,
      "file_present": false,
      "scorecard_found": false,
      "profile_has_license": false
    },
    "activity": {
      "releases": [
        {
          "tag": "v26.07.06",
          "kind": "patch",
          "published_at": "2026-07-21T11:03:38Z"
        },
        {
          "tag": "v26.07.05",
          "kind": "patch",
          "published_at": "2026-07-16T12:39:50Z"
        },
        {
          "tag": "v26.07.04",
          "kind": "patch",
          "published_at": "2026-07-16T10:28:08Z"
        },
        {
          "tag": "v26.07.03",
          "kind": "patch",
          "published_at": "2026-07-15T16:07:07Z"
        },
        {
          "tag": "v26.07.02",
          "kind": "patch",
          "published_at": "2026-07-13T11:36:41Z"
        },
        {
          "tag": "v26.07.01",
          "kind": "patch",
          "published_at": "2026-07-02T07:13:22Z"
        },
        {
          "tag": "v26.06.03",
          "kind": "patch",
          "published_at": "2026-06-26T09:35:20Z"
        },
        {
          "tag": "v26.06.02",
          "kind": "patch",
          "published_at": "2026-06-26T08:11:58Z"
        },
        {
          "tag": "v26.06.01",
          "kind": "patch",
          "published_at": "2026-06-19T12:17:35Z"
        },
        {
          "tag": "v26.05.08",
          "kind": "patch",
          "published_at": "2026-05-31T17:35:36Z"
        },
        {
          "tag": "v26.05.07",
          "kind": "patch",
          "published_at": "2026-05-31T17:19:05Z"
        },
        {
          "tag": "v26.05.06",
          "kind": "patch",
          "published_at": "2026-05-19T16:40:50Z"
        },
        {
          "tag": "v26.05.05",
          "kind": "patch",
          "published_at": "2026-05-12T07:57:56Z"
        },
        {
          "tag": "v26.05.04",
          "kind": "patch",
          "published_at": "2026-05-11T16:40:00Z"
        },
        {
          "tag": "v26.05.03",
          "kind": "patch",
          "published_at": "2026-05-11T11:15:48Z"
        },
        {
          "tag": "v26.05.02",
          "kind": "patch",
          "published_at": "2026-05-08T08:34:23Z"
        },
        {
          "tag": "v26.05.01",
          "kind": "patch",
          "published_at": "2026-05-04T07:36:30Z"
        },
        {
          "tag": "v26.04.03",
          "kind": "patch",
          "published_at": "2026-04-27T15:53:50Z"
        },
        {
          "tag": "v26.04.02",
          "kind": "patch",
          "published_at": "2026-04-27T09:04:25Z"
        },
        {
          "tag": "v26.04.01",
          "kind": "patch",
          "published_at": "2026-04-13T11:44:47Z"
        },
        {
          "tag": "v26.02.07",
          "kind": "patch",
          "published_at": "2026-02-24T17:24:25Z"
        },
        {
          "tag": "v26.02.06",
          "kind": "patch",
          "published_at": "2026-02-18T11:17:45Z"
        },
        {
          "tag": "v26.02.05",
          "kind": "patch",
          "published_at": "2026-02-18T09:15:42Z"
        },
        {
          "tag": "v26.02.04",
          "kind": "patch",
          "published_at": "2026-02-12T15:02:08Z"
        },
        {
          "tag": "v26.02.03",
          "kind": "patch",
          "published_at": "2026-02-12T11:41:25Z"
        },
        {
          "tag": "v26.02.02",
          "kind": "patch",
          "published_at": "2026-02-12T09:20:12Z"
        },
        {
          "tag": "v26.02.01",
          "kind": "patch",
          "published_at": "2026-02-11T23:54:28Z"
        },
        {
          "tag": "v26.01.01",
          "kind": "patch",
          "published_at": "2026-02-11T15:39:07Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "2a5704f784bf588807f5e97de363877de98e3355",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.06",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-21T11:00:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "840eeb2387b3aa75e10694372b41345d844c992d",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.05",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-16T12:34:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca8dc5200c78ba62a8a5f53e6c2969197f0eb98b",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.04",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-16T10:24:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6a60827634842639a6464b20b341b0c0351127e",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.03",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-15T16:01:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5cdadcedf48ce1827acbce8882cc079d7763016c",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.02",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-13T11:34:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "da3d7f26925d65fcb04f7a802c32be91094737f8",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.07.01",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-07-02T07:09:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "60f7d53edcfff3381213929b3acc3d137b120bbc",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.06.03",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-06-26T09:27:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef7dabd8517c8a07ba389c4f41477e109980ad66",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.06.02",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-06-19T13:13:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a27d53894c85f9c6fd34b8eb56fbe3b7142edea7",
          "body": "…lity-and-security\n\nManage observability + security platform in the parent",
          "is_bot": false,
          "headline": "Merge pull request #30 from fireflyframework/feature/manage-observabi…",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-06-19T11:42:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a876d4dd903cef784de27beadc7038252654fecb",
          "body": "…parent",
          "is_bot": false,
          "headline": "build: manage fireflyframework-security-adapter-cerbos (ABAC) in the …",
          "author_name": "Andres Contreras",
          "author_login": null,
          "committed_at": "2026-06-18T20:41:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c66d7082e0a182a6942d8d723fee7fe335804597",
          "body": "…n the parent",
          "is_bot": false,
          "headline": "build: manage fireflyframework-security-adapter-vault (SecretsPort) i…",
          "author_name": "Andres Contreras",
          "author_login": null,
          "committed_at": "2026-06-18T20:38:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "846e66bbe43a5a71066c52fe918a8a6cfba40c51",
          "body": "…e parent",
          "is_bot": false,
          "headline": "build: manage fireflyframework-security-adapter-openfga (ReBAC) in th…",
          "author_name": "Andres Contreras",
          "author_login": null,
          "committed_at": "2026-06-18T20:26:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6f024f0911508b521886d74983a5023b7a421ea",
          "body": "…Management",
          "is_bot": false,
          "headline": "build: drop security-autoconfigure placeholder from parent dependency…",
          "author_name": "Andres Contreras",
          "author_login": null,
          "committed_at": "2026-06-18T20:09:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8014a4e7b83cc92b567cff68d6a1330f58e87434",
          "body": "…ependencyManagement",
          "is_bot": false,
          "headline": "build: manage observability and the security platform in the parent d…",
          "author_name": "Andres Contreras",
          "author_login": null,
          "committed_at": "2026-06-18T19:58:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f483e18534d445e3b30aa611b42c64c945c25fba",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.06.01",
          "author_name": "Jose Agustin Puente",
          "author_login": null,
          "committed_at": "2026-06-01T10:10:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45cff81e1e79a1ba00fb15c0b90f588081b32379",
          "body": "Reconcile 26.05.08 two-way divergence (EDA/cache extraction landed on main).",
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into develop",
          "author_name": "Jose Agustin Puente",
          "author_login": null,
          "committed_at": "2026-06-01T09:14:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11a47b9fcc8d4239b860f48ea2eb8915bc31b227",
          "body": null,
          "is_bot": false,
          "headline": "docs: comprehensive, polished README",
          "author_name": "Andrés Contreras Guillén",
          "author_login": null,
          "committed_at": "2026-05-31T19:15:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9cbe671fb828b20b7e9a563c44abf9402da7467f",
          "body": null,
          "is_bot": false,
          "headline": "docs: comprehensive, polished README",
          "author_name": "Andrés Contreras Guillén",
          "author_login": null,
          "committed_at": "2026-05-31T19:15:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ff2c3b0a515345af876983ebd4a2ae3f2804d152",
          "body": "Co-authored-by: Andrés Contreras Guillén <ancongui@Andress-MacBook-Pro.local>",
          "is_bot": false,
          "headline": "release: bump version to 26.05.08 (#29)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-05-31T17:05:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ea0b7b962b27b253104addf1941d93bda327d58",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.08",
          "author_name": "Jose Agustin Puente",
          "author_login": null,
          "committed_at": "2026-05-25T11:15:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb565023ac2c0acbfff75176faa26830011d926d",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into develop",
          "author_name": "Jose Agustin Puente",
          "author_login": null,
          "committed_at": "2026-05-25T10:01:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a63825f7deaf49e45300112e4f6de19d5f8839e3",
          "body": "Tag pushes (v*) now fire this workflow in parallel with the slimmed\njava-release.yml. Maven Central polling timeouts (Sonatype Portal\nvalidation can take 20-40min) no longer block GitHub Packages publish\nor Release-page creation. workflow_dispatch enables retry without\nre-tagging.\n\nCo-authored-by: Andrés Contreras Guillén <ancongui@Andress-MacBook-Pro.local>",
          "is_bot": false,
          "headline": "ci: add decoupled Maven Central publish workflow (#28)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-05-19T19:05:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0f8931899a0e8218dfe310f6305488ec23b36cc",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.07",
          "author_name": "Andrés Contreras Guillén",
          "author_login": null,
          "committed_at": "2026-05-19T18:00:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6226d2ef7b2cc174957ff364e57bdf15a65c352",
          "body": "Co-authored-by: Andrés Contreras Guillén <ancongui@Andress-MacBook-Pro.local>",
          "is_bot": false,
          "headline": "release: bump version to 26.05.06 (#27)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-05-19T16:27:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9136a4a621e2042b15172f99216ad42cec0fb86d",
          "body": "Co-authored-by: Andrés Contreras Guillén <ancongui@Andress-MacBook-Pro.local>",
          "is_bot": false,
          "headline": "release: bump version to 26.05.01 (#26)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-05-19T16:10:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "058192266c05d3d160d84903ab415d67fb12b77a",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.05",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-05-12T07:45:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e50afd3b288a2fe35bce467aabd652cd9b9030be",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.04",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-05-11T16:20:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4bb516fb0423ab2844c4cc15446d9f180a8d5f7b",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.03",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-05-11T09:11:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a283f64fc55584169f5b83a42f1f61868d545aab",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.02",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-05-08T08:18:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8265be3db17189be26be1e8f1384504ea4d72f48",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.05.01",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-05-04T07:25:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aa5cdaa794a5f1e384751503cca2f50102af4788",
          "body": "Update copyright notices, NOTICE/LICENSE references, and source\ncomments to reflect the project's release under the Firefly Software\nFoundation per the Apache License 2.0.",
          "is_bot": false,
          "headline": "chore: rebrand copyright to Firefly Software Foundation",
          "author_name": "Andrés Contreras Guillén",
          "author_login": null,
          "committed_at": "2026-05-03T11:05:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e83b31fbe107702def62fb7fe031306ade94b593",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.04.03",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-04-27T15:38:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7eab2a6dd5b86e147c7301e08aad9353e8a82412",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.04.02",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-04-27T08:51:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50b17e40a186c9ff99539bc4db300957aa0afe09",
          "body": null,
          "is_bot": false,
          "headline": "Merge remote-tracking branch 'origin/main' into develop",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-04-13T13:22:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d43f0653ff851444d4eff7315d0a189b648a64e5",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.04.01",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-04-13T11:33:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "45cb70af446cc09d58e5997c9554c3abe63164d5",
          "body": null,
          "is_bot": false,
          "headline": "Merge branch 'develop'",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-24T19:01:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "baf4918033b29747352bdac4241f30ff85a91f95",
          "body": null,
          "is_bot": false,
          "headline": "docs: bump version references to 26.02.07 in README",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-24T18:49:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d51e54e12d89c15737658ff27899479c2122c25",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.07",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-24T18:49:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c46b0f0fae1493a21d0fcc3bffcfa9b2693383c",
          "body": "…entation\n\nAdd a 'native' Maven profile with GraalVM native-maven-plugin and\nSpring Boot AOT processing, plus Paketo Buildpacks configuration for\ncontainerized native image builds. Add CycloneDX Maven plugin to\npluginManagement for application-level SBOM generation compatible with\nSpring Boot Actuator's /actuator/sbom endpoint. Update README with\ncomprehensive documentation of all managed dependencies, plugins,\nbuild profiles, native image builds, and SBOM generation.",
          "is_bot": false,
          "headline": "feat: add native image build profile, SBOM support, and updated docum…",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-24T18:49:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "95ccee29fa977e2385d34e75c8746ea32ea44e4b",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.07",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-24T16:41:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6bcf9deecb17b226554a662e8c732b903a7f1c84",
          "body": "Resolves the Maven warning \"'build.plugins.plugin.version' for\nmaven-resources-plugin is missing\" in child modules that declare the\nplugin without an explicit version.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: add maven-resources-plugin version to pluginManagement",
          "author_name": "Carlos Sánchez",
          "author_login": "casc84ab",
          "committed_at": "2026-02-23T15:00:56Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ffed77a53ad0d39eeb389b2c1ed47fa09b04082b",
          "body": "…entation\n\nAdd a 'native' Maven profile with GraalVM native-maven-plugin and\nSpring Boot AOT processing, plus Paketo Buildpacks configuration for\ncontainerized native image builds. Add CycloneDX Maven plugin to\npluginManagement for application-level SBOM generation compatible with\nSpring Boot Actuator's /actuator/sbom endpoint. Update README with\ncomprehensive documentation of all managed dependencies, plugins,\nbuild profiles, native image builds, and SBOM generation.",
          "is_bot": false,
          "headline": "feat: add native image build profile, SBOM support, and updated docum…",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-19T20:23:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33ec435ffbc7e8f78a7174a67e4162dcbf4d1bfb",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.06",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-18T11:06:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fedc2cfde06a39eae8f56e01196f7b42dd5a650",
          "body": null,
          "is_bot": false,
          "headline": "docs: update version references to 26.02.05 in documentation",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-18T08:34:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5b19232f46f395627421c0ccc81350d21f635d0c",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.05",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-18T08:04:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0655386c3671165e0e5485a7b64730076993ff4f",
          "body": null,
          "is_bot": false,
          "headline": "docs: update version references to 26.02.04 in README",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-12T16:51:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0595bff8d3583b3b87ca4e19ccaed0e3bf9ffaf1",
          "body": null,
          "is_bot": false,
          "headline": "release: merge develop for v26.02.04",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-12T14:51:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a97f649ff970741a3a40f587b99e5f8dfc7ef6bf",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.04",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-12T14:47:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "739ded1eb9adbe7a98882f9d351ce476a3cb2ca5",
          "body": "- Standardize CI workflows (secrets:inherit, permissions, main branch trigger)\n- Fix shared workflows (multi-module 409, Maven Central validation, concurrency)\n- Redesign DAG orchestrator for layer-aware sequential dispatch\n- Add Maven Central metadata (name/description) to pom.xml files\n- Fix waitUntil: uploaded → published for Maven Central\n- Bump version from 26.02.02 to 26.02.03",
          "is_bot": false,
          "headline": "release: v26.02.03 — CI/CD overhaul and version bump",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-12T11:32:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6c8a965b105fa60d092f81e0c0c24a0298e0746d",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.02",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-12T09:16:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "857bf335b2bea475869afa33911fb5d907afbee5",
          "body": "Change dev@fireflyframework.com to dev@fireflyframework.org\nChange https://fireflyframework.com to https://fireflyframework.org",
          "is_bot": false,
          "headline": "chore: update developer email and organization URL",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T22:16:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d60b9f1efd8c864d161fa4716d31309ac670020d",
          "body": null,
          "is_bot": false,
          "headline": "chore: remove dependabot configuration",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T21:19:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca17a3a7371b7f8d40c86e60eced08cd83fb6fd8",
          "body": null,
          "is_bot": false,
          "headline": "docs: update version references to 26.02.01",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T18:18:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef34142600eea22463e38ca09a97cb14a8023084",
          "body": null,
          "is_bot": false,
          "headline": "release: bump version to 26.02.01",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T17:35:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d4dfbb69f24a3978aa02f5ad2c8a669476615bc",
          "body": "Release: flatten-maven-plugin for Maven Central POM validation",
          "is_bot": false,
          "headline": "Merge pull request #22 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:48:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c71c27c3d09abbcc62d20c1d2fcdc6a5af3bb126",
          "body": "Add flatten-maven-plugin for Maven Central POM validation",
          "is_bot": false,
          "headline": "Merge pull request #21 from fireflyframework/fix/flatten-maven-plugin",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:46:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4adfec212dd014774f27275c652fa75a5638930",
          "body": "…lidation\n\nChild modules inherit metadata (url, licenses, scm, developers) from the parent\nPOM, but Maven Central validates the uploaded POM file directly. The flatten-maven-plugin\nwith ossrh mode creates a flattened POM that includes all inherited metadata and\nresolved dependency versions, satisfying Sonatype Central Portal validation requirements.",
          "is_bot": false,
          "headline": "Add flatten-maven-plugin to maven-central profile for Sonatype POM va…",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:46:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "084df8d6a82e75153c9218211236a48e3ae37e92",
          "body": "fix: revert spring-cloud + dependabot ignores",
          "is_bot": false,
          "headline": "Merge pull request #18 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:27:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7504265fb33ad5dbdbdc0dc53e5ebac25ca23852",
          "body": "…and-dependabot-ignores\n\nfix: revert spring-cloud to 2025.0.1 + add dependabot strategic ignores",
          "is_bot": false,
          "headline": "Merge pull request #17 from fireflyframework/fix/revert-spring-cloud-…",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:26:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9ed245466beff24d34bcf724187e6e3be2b98798",
          "body": "…ores\n\nSpring Cloud 2025.1.x targets Spring Boot 4.x — incompatible with 3.5.10.\nRevert to 2025.0.1 (Spring Boot 3.5.x train).\n\nAdd dependabot ignore rules for strategic dependencies that must only be\nupgraded manually: Spring Boot, Spring Cloud, gRPC, Protobuf, AWS SDK,\nSpring Cloud AWS/Azure/GCP.",
          "is_bot": false,
          "headline": "fix: revert spring-cloud to 2025.0.1 and add dependabot strategic ign…",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T12:26:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a915a8a4783f05116fd600bca4e58ca357d24005",
          "body": "fix: Maven Central waitUntil uploaded",
          "is_bot": false,
          "headline": "Merge pull request #16 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:42:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c593c6946efc90e794b2c2dce400e20ae76ceb29",
          "body": "…ntil\n\nfix: change Maven Central waitUntil to uploaded",
          "is_bot": false,
          "headline": "Merge pull request #15 from fireflyframework/fix/maven-central-wait-u…",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:42:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "040ab2e42abd78954a0bd75ad0f69c12c1e37483",
          "body": "Prevent CI from hanging indefinitely when Sonatype Central Portal\nvalidation is slow or pending. The upload completes immediately and\npublishing can be monitored asynchronously on the portal.",
          "is_bot": false,
          "headline": "fix: change Maven Central waitUntil from published to uploaded",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:42:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9b332f16409cf1e13807d6e0667b0ee99849dab",
          "body": "… updates (#14)\n\nBumps the minor-and-patch group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.springframework.cloud:spring-cloud-dependencies](https://github.com/spring-cloud/spring-cloud-release) | `2025.0.1` | `2025.1.1` |\n| [org.postgresql:postgresql](htt\n[…]\nion-update:semver-minor\n  dependency-group: minor-and-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
          "is_bot": true,
          "headline": "build(deps): bump the minor-and-patch group across 1 directory with 5…",
          "author_name": "dependabot[bot]",
          "author_login": "dependabot[bot]",
          "committed_at": "2026-02-11T11:27:00Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa713b5a417df5184878dba3b0e4d5eb31b2491f",
          "body": "release: sync develop to main — Maven Central publishing",
          "is_bot": false,
          "headline": "Merge pull request #13 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:25:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c9b0816c476e09ac755326dd012016b0c2ff9c81",
          "body": "…blishing\n\nfeat: add Maven Central publishing profile",
          "is_bot": false,
          "headline": "Merge pull request #12 from fireflyframework/feature/maven-central-pu…",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:24:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd1c1bd4afdc997122c54afaba59831e3ce769a0",
          "body": "Add maven-gpg-plugin (3.2.7) and central-publishing-maven-plugin (0.7.0)\nversion properties. Add maven-central profile that enables GPG artifact\nsigning and Sonatype Central Portal publishing when activated via -P maven-central.",
          "is_bot": false,
          "headline": "feat: add Maven Central publishing profile with GPG signing",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T11:24:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38a45ee3ab10d942d76bcfebf2d50825e013658c",
          "body": "Standardize README.md with a consistent template including CI badge,\nfeatures, installation, quick start, configuration, and documentation\nsections. Add paths-ignore to ci.yml to skip CI for docs-only changes.",
          "is_bot": false,
          "headline": "docs: add professional README with unified template (#10) (#11)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T09:25:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ac2165262f6bbbd74521e65f2fa3dbb9214ac622",
          "body": "Standardize README.md with a consistent template including CI badge,\nfeatures, installation, quick start, configuration, and documentation\nsections. Add paths-ignore to ci.yml to skip CI for docs-only changes.",
          "is_bot": false,
          "headline": "docs: add professional README with unified template (#10)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-11T08:26:51Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2588593a70937cf6840e84660f61ce50ce753122",
          "body": "chore: sync main into develop",
          "is_bot": false,
          "headline": "Merge pull request #9 from fireflyframework/main",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T22:12:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "34ce48b17dbc69156eba9598734d35d09173dd82",
          "body": "chore: sync develop into main",
          "is_bot": false,
          "headline": "Merge pull request #8 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T22:02:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0c3c72adedd68a1b280a86b1a7af2486494db941",
          "body": null,
          "is_bot": false,
          "headline": "docs: add CI badge to README",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T21:03:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6f70d66a26791768df097d9ff4af594d03869aba",
          "body": null,
          "is_bot": false,
          "headline": "docs: add CI badge to README",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T21:03:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "020e0c64cce151eb78d5c3e862160aee98ab936e",
          "body": null,
          "is_bot": false,
          "headline": "ci: add secrets inherit and actions write permission to release",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T20:52:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "828ef0bbc568915231734e7f4f12c967f755a4d1",
          "body": null,
          "is_bot": false,
          "headline": "ci: add secrets inherit and actions write permission",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T20:52:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2ca25372226560d2f450d494a53ba32b9d2bc911",
          "body": null,
          "is_bot": false,
          "headline": "ci: add secrets inherit and actions write permission to release",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T20:52:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6239297b1f0cbb64f078d0b358404c746b7ee1e5",
          "body": null,
          "is_bot": false,
          "headline": "ci: add secrets inherit and actions write permission",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T20:52:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3892a06cb10d505b7051c283be9397f122be651f",
          "body": "chore: sync main into develop",
          "is_bot": false,
          "headline": "Merge pull request #7 from fireflyframework/main",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:49:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e6efb56e6c2d79f7cb4e1af1134599a565ddd25",
          "body": "chore: sync develop into main",
          "is_bot": false,
          "headline": "Merge pull request #6 from fireflyframework/develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:44:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7c5034904b7c34beadbc2d504556b686a9d0be35",
          "body": null,
          "is_bot": false,
          "headline": "ci: grant actions:write permission in caller for DAG orchestrator",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:34:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "036c25d905b8501bc75b9adad919b92474967c77",
          "body": null,
          "is_bot": false,
          "headline": "ci: grant actions:write permission in caller for DAG orchestrator",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:34:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5edcd860ad59c141740498df09ccadf2d0ce12d6",
          "body": "…rted for Dependabot)",
          "is_bot": false,
          "headline": "ci: inline Dependabot CI build (cross-repo reusable workflows unsuppo…",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:00:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6039cc3112997590667dd7b8195029619149d05d",
          "body": "…rted for Dependabot)",
          "is_bot": false,
          "headline": "ci: inline Dependabot CI build (cross-repo reusable workflows unsuppo…",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T19:00:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0783ab2110ada66a2a4b911b810d5292d296aba6",
          "body": null,
          "is_bot": false,
          "headline": "ci: add separate Dependabot CI workflow using pull_request_target",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:54:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f485a6ad49a7ca252a962e5ea997cb730ee4ae2",
          "body": null,
          "is_bot": false,
          "headline": "ci: add separate Dependabot CI workflow using pull_request_target",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:53:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6767fd6bcbc3eb5bf1b038fcebc6b67ae00ad2df",
          "body": "…separate file)",
          "is_bot": false,
          "headline": "ci: revert ci.yml to original triggers (pull_request_target moved to …",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:51:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "471e81787b9ee54ff7d097011d8536fdd5baf275",
          "body": "…separate file)",
          "is_bot": false,
          "headline": "ci: revert ci.yml to original triggers (pull_request_target moved to …",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:51:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "44bcc1ec9846a1c6ff07fbbdd8a2b6c341fb703e",
          "body": null,
          "is_bot": false,
          "headline": "ci: add pull_request_target trigger for Dependabot CI compatibility",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:39:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b38bcbffdde6062b67e25d5cc3051966239dafc6",
          "body": null,
          "is_bot": false,
          "headline": "ci: add pull_request_target trigger for Dependabot CI compatibility",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:39:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b5d36a1744fecf530309b6c01d40df5235e2be9b",
          "body": null,
          "is_bot": false,
          "headline": "ci: configure Dependabot version updates targeting develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:26:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a921f5957677cfc09aa5a05d64c581d1c92ba1e1",
          "body": null,
          "is_bot": false,
          "headline": "ci: configure Dependabot version updates targeting develop",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:26:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "674c587bf9e547822b9638ad30b598a4a100929b",
          "body": null,
          "is_bot": false,
          "headline": "ci: add semver filtering to Dependabot auto-merge (patch/minor only)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:25:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "55bd7ee9ee2279d8e050f1819bbeff2e2f0a2abb",
          "body": null,
          "is_bot": false,
          "headline": "ci: add semver filtering to Dependabot auto-merge (patch/minor only)",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T18:22:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9dc89d54e3435c782de2bab336d18bf87cc2e51",
          "body": null,
          "is_bot": false,
          "headline": "ci: update Dependabot auto-merge workflow",
          "author_name": "Andres Contreras",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T17:53:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "aeeb23cf32ab47a480b15f935876c378c3a0dcc8",
          "body": null,
          "is_bot": false,
          "headline": "ci: add workflow_dispatch trigger for DAG orchestration",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T15:18:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c44c91568c2e14dedb5937e454ce59541654b71",
          "body": "- Migrate version from 1.0.0-SNAPSHOT to CalVer 26.01.01\n- Add GitHub Actions CI workflow (triggers on develop push and PRs)\n- Add GitHub Actions release workflow (triggers on v* tags, deploys to GitHub Packages)",
          "is_bot": false,
          "headline": "release: bump version to 26.01.01 and add CI/release workflows",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T14:25:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "58f82f4024ac8c51d5bd4d45a2f491b6b29be121",
          "body": "Updated the spring-boot.version property in the parent POM and\nthe corresponding version reference in the README.",
          "is_bot": false,
          "headline": "Upgrade Spring Boot from 3.5.9 to 3.5.10",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-10T12:58:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d48f1a0a1a047baaa81b2c0ba5df67d25f1eaa2",
          "body": "Add managed versions for flyway-mysql, flyway-sqlserver, flyway-database-oracle,\nflyway-database-db2, flyway-database-hsqldb, flyway-database-derby,\nflyway-database-informix, flyway-database-cassandra, flyway-database-clickhouse,\nand flyway-database-tidb to support Flyway 10+ modular database architecture.",
          "is_bot": false,
          "headline": "Add all commonly used flyway-database-* modules to dependencyManagement",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-07T09:28:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54f14904f89371150e96c8708742a286fa93f9e9",
          "body": null,
          "is_bot": false,
          "headline": "Upgrade Flyway from 11.7.2 to 11.20.3 to support PostgreSQL 16.11",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-07T09:04:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "978e2e9c25f9fcd75cf0587b907e5954176d3d4c",
          "body": "- Update Java version references: Java 25 (default, Java 21+ compatible)\n- Update Spring Boot version references: 3.5.9\n- Update dependency version tables to match current versions\n- Update prerequisites: minimum Java 21+",
          "is_bot": false,
          "headline": "Update documentation for Java 25 (default) and Spring Boot 3.5.9",
          "author_name": "Andrés Contreras Guillén",
          "author_login": "ancongui",
          "committed_at": "2026-02-06T23:14:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 28,
      "commits_last_year": 107,
      "latest_release_at": "2026-07-21T11:03:38Z",
      "latest_release_tag": "v26.07.06",
      "releases_from_tags": false,
      "days_since_last_push": 4,
      "active_weeks_last_year": 19,
      "days_since_latest_release": 4,
      "mean_days_between_releases": 5.6
    },
    "community": {
      "has_readme": true,
      "has_license": false,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 2
    },
    "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": [],
      "toolchain_manifests": [
        "pom.xml"
      ],
      "largest_source_bytes": null,
      "source_files_sampled": 0,
      "oversized_source_files": 0,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "org.bouncycastle:bcprov-jdk18on",
            "direct": true,
            "version": "1.77",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.7,
            "advisory_ids": [
              "GHSA-4h8f-2wvx-gg5w",
              "GHSA-574f-3g2m-x479",
              "GHSA-67mf-3cr5-8w23",
              "GHSA-8xfc-gm6g-vgpv",
              "GHSA-c3fc-8qff-9hwx",
              "GHSA-m44j-cfrm-g8qc",
              "GHSA-v435-xc8x-wvr9"
            ],
            "fixed_version": "2.73.6",
            "advisory_count": 7,
            "oldest_advisory_days": 812
          },
          {
            "name": "org.postgresql:postgresql",
            "direct": true,
            "version": "42.7.9",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-98qh-xjc8-98pq",
              "GHSA-j92g-9f8w-j867"
            ],
            "fixed_version": "42.7.12",
            "advisory_count": 2,
            "oldest_advisory_days": 80
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "high": 2
        },
        "advisory_count": 9,
        "affected_count": 2,
        "assessed_count": 76,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 3,
        "direct_affected_count": 2
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "org.springframework.boot:spring-boot-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-boot.version}"
        },
        {
          "name": "org.springframework.cloud:spring-cloud-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-cloud.version}"
        },
        {
          "name": "org.springframework.boot:spring-boot-starter-webflux",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-boot.version}"
        },
        {
          "name": "org.springdoc:springdoc-openapi-starter-webflux-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${springdoc-openapi.version}"
        },
        {
          "name": "org.postgresql:postgresql",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${postgresql.version}"
        },
        {
          "name": "org.postgresql:r2dbc-postgresql",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${r2dbc-postgresql.version}"
        },
        {
          "name": "org.flywaydb:flyway-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-postgresql",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-mysql",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-sqlserver",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-oracle",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-db2",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-hsqldb",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-derby",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-informix",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-cassandra",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-clickhouse",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "org.flywaydb:flyway-database-tidb",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${flyway.version}"
        },
        {
          "name": "io.swagger.core.v3:swagger-annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${swagger-annotations.version}"
        },
        {
          "name": "org.mapstruct:mapstruct",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${mapstruct.version}"
        },
        {
          "name": "org.testcontainers:testcontainers-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${testcontainers.version}"
        },
        {
          "name": "net.logstash.logback:logstash-logback-encoder",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${logstash-logback-encoder.version}"
        },
        {
          "name": "org.reflections:reflections",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${reflections.version}"
        },
        {
          "name": "io.github.resilience4j:resilience4j-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${resilience4j.version}"
        },
        {
          "name": "io.grpc:grpc-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.avro:avro",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${avro.version}"
        },
        {
          "name": "org.codehaus.janino:janino",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${janino.version}"
        },
        {
          "name": "io.opentelemetry:opentelemetry-bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${opentelemetry.version}"
        },
        {
          "name": "software.amazon.awssdk:bom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${aws-sdk.version}"
        },
        {
          "name": "software.amazon.kinesis:amazon-kinesis-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${amazon-kinesis-client.version}"
        },
        {
          "name": "io.awspring.cloud:spring-cloud-aws-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-cloud-aws.version}"
        },
        {
          "name": "com.azure.spring:spring-cloud-azure-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-cloud-azure.version}"
        },
        {
          "name": "com.google.cloud:spring-cloud-gcp-dependencies",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spring-cloud-gcp.version}"
        },
        {
          "name": "com.sun.xml.ws:jaxws-rt",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jaxws-rt.version}"
        },
        {
          "name": "org.apache.cxf:cxf-spring-boot-starter-jaxws",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${cxf.version}"
        },
        {
          "name": "org.apache.cxf:cxf-rt-ws-security",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${cxf.version}"
        },
        {
          "name": "org.apache.wss4j:wss4j-ws-security-dom",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${wss4j.version}"
        },
        {
          "name": "wsdl4j:wsdl4j",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${wsdl4j.version}"
        },
        {
          "name": "org.glassfish.jaxb:jaxb-xjc",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jaxb-xjc.version}"
        },
        {
          "name": "io.asyncer:r2dbc-mysql",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${r2dbc-mysql.version}"
        },
        {
          "name": "org.bouncycastle:bcprov-jdk18on",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${bouncycastle.version}"
        },
        {
          "name": "org.threeten:threeten-extra",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${threeten-extra.version}"
        },
        {
          "name": "org.apache.commons:commons-math3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-math3.version}"
        },
        {
          "name": "org.wiremock:wiremock-standalone",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${wiremock.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-observability",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-spi",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-webflux",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-resource-server",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-method-policy",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-oauth2-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-authorization-server",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-test",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-adapter-r2dbc",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-adapter-opa",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-adapter-openfga",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-adapter-vault",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.fireflyframework:fireflyframework-security-adapter-cerbos",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.springframework.security:spring-security-oauth2-authorization-server",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.5.4"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "com.azure.spring:spring-cloud-azure-dependencies",
            "direct": true,
            "version": "5.24.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.cloud:spring-cloud-gcp-dependencies",
            "direct": true,
            "version": "6.5.4",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": "4.33.5",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java-util",
            "direct": true,
            "version": "4.33.5",
            "ecosystem": "maven"
          },
          {
            "name": "com.sun.xml.ws:jaxws-rt",
            "direct": true,
            "version": "4.0.3",
            "ecosystem": "maven"
          },
          {
            "name": "io.asyncer:r2dbc-mysql",
            "direct": true,
            "version": "1.3.1",
            "ecosystem": "maven"
          },
          {
            "name": "io.awspring.cloud:spring-cloud-aws-dependencies",
            "direct": true,
            "version": "3.4.2",
            "ecosystem": "maven"
          },
          {
            "name": "io.github.resilience4j:resilience4j-bom",
            "direct": true,
            "version": "2.3.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-bom",
            "direct": true,
            "version": "1.79.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.opentelemetry:opentelemetry-bom",
            "direct": true,
            "version": "1.59.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.swagger.core.v3:swagger-annotations",
            "direct": true,
            "version": "2.2.42",
            "ecosystem": "maven"
          },
          {
            "name": "net.logstash.logback:logstash-logback-encoder",
            "direct": true,
            "version": "8.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.avro:avro",
            "direct": true,
            "version": "1.12.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-math3",
            "direct": true,
            "version": "3.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.cxf:cxf-rt-ws-security",
            "direct": true,
            "version": "4.1.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.cxf:cxf-spring-boot-starter-jaxws",
            "direct": true,
            "version": "4.1.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.wss4j:wss4j-ws-security-dom",
            "direct": true,
            "version": "3.0.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcprov-jdk18on",
            "direct": true,
            "version": "1.77",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.janino:janino",
            "direct": true,
            "version": "3.1.12",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-observability",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-adapter-cerbos",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-adapter-opa",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-adapter-openfga",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-adapter-r2dbc",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-adapter-vault",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-api",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-authorization-server",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-core",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-method-policy",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-oauth2-client",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-resource-server",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-spi",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-test",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.fireflyframework:fireflyframework-security-webflux",
            "direct": true,
            "version": "26.07.02",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-core",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-cassandra",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-clickhouse",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-db2",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-derby",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-hsqldb",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-informix",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-oracle",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-postgresql",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-database-tidb",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-mysql",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.flywaydb:flyway-sqlserver",
            "direct": true,
            "version": "11.20.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.glassfish.jaxb:jaxb-xjc",
            "direct": true,
            "version": "4.0.6",
            "ecosystem": "maven"
          },
          {
            "name": "org.mapstruct:mapstruct",
            "direct": true,
            "version": "1.6.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.postgresql:postgresql",
            "direct": true,
            "version": "42.7.9",
            "ecosystem": "maven"
          },
          {
            "name": "org.postgresql:r2dbc-postgresql",
            "direct": true,
            "version": "1.1.1.RELEASE",
            "ecosystem": "maven"
          },
          {
            "name": "org.reflections:reflections",
            "direct": true,
            "version": "0.10.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.springdoc:springdoc-openapi-starter-webflux-ui",
            "direct": true,
            "version": "2.8.15",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-dependencies",
            "direct": true,
            "version": "3.5.10",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-starter-webflux",
            "direct": true,
            "version": "3.5.10",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.cloud:spring-cloud-dependencies",
            "direct": true,
            "version": "2025.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.security:spring-security-oauth2-authorization-server",
            "direct": true,
            "version": "1.5.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.testcontainers:testcontainers-bom",
            "direct": true,
            "version": "1.21.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.threeten:threeten-extra",
            "direct": true,
            "version": "1.7.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.wiremock:wiremock-standalone",
            "direct": true,
            "version": "3.13.2",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.awssdk:bom",
            "direct": true,
            "version": "2.41.24",
            "ecosystem": "maven"
          },
          {
            "name": "software.amazon.kinesis:amazon-kinesis-client",
            "direct": true,
            "version": "2.5.1",
            "ecosystem": "maven"
          },
          {
            "name": "wsdl4j:wsdl4j",
            "direct": true,
            "version": "1.6.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-failsafe-plugin",
            "direct": false,
            "version": "3.5.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-gpg-plugin",
            "direct": false,
            "version": "3.2.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": "3.12.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-resources-plugin",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": "3.4.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": "3.5.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:flatten-maven-plugin",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.cyclonedx:cyclonedx-maven-plugin",
            "direct": false,
            "version": "2.9.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.graalvm.buildtools:native-maven-plugin",
            "direct": false,
            "version": "0.11.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.openapitools:openapi-generator-maven-plugin",
            "direct": false,
            "version": "7.19.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.sonatype.central:central-publishing-maven-plugin",
            "direct": false,
            "version": "0.10.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.springframework.boot:spring-boot-maven-plugin",
            "direct": false,
            "version": "3.5.10",
            "ecosystem": "maven"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 79,
        "direct_count": 62,
        "indirect_count": 17
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 20,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 8
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "ancongui",
          "commits": 73,
          "avatar_url": "https://avatars.githubusercontent.com/u/5956426?v=4"
        },
        {
          "type": "User",
          "login": "casc84ab",
          "commits": 20,
          "avatar_url": "https://avatars.githubusercontent.com/u/145906215?v=4"
        }
      ],
      "contributors_sampled": 2,
      "top_contributor_share": 0.785
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": false,
      "ci_workflows": [
        "ci.yml",
        "maven-central.yml",
        "release.yml"
      ],
      "has_docs_dir": true,
      "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": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 1/25 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 0,
            "reason": "license file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "30 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": 10,
            "reason": "SAST tool is run on all commits",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 8,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "2a5704f784bf588807f5e97de363877de98e3355",
        "ran_at": "2026-07-25T13:00:35Z",
        "aggregate_score": 6.9,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-24T11:05:57Z",
      "oldest_open_prs": [
        {
          "number": 24,
          "created_at": "2026-04-18T01:08:21Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 25,
          "created_at": "2026-05-06T18:35:49Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-06-19T11:42:38Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/fireflyframework/fireflyframework-parent",
    "host": "github.com",
    "name": "fireflyframework-parent",
    "owner": "fireflyframework"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 56,
      "inputs": {
        "security": 67,
        "vitality": 86,
        "community": 32,
        "governance": 37,
        "engineering": 60
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "excellent",
        "name": "Vitality",
        "value": 86,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "good",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 77,
            "inputs": {
              "commits_last_year": 107,
              "human_commit_share": 0.99,
              "days_since_last_push": 4,
              "active_weeks_last_year": 19
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "19/52 weeks with commits",
                "points": 13.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 19
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "107 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 107
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "30 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": 28,
              "latest_release_tag": "v26.07.06",
              "releases_from_tags": false,
              "days_since_latest_release": 4,
              "mean_days_between_releases": 5.6
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "28 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 28
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~5.6 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 5.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": 32,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 67,
            "inputs": {
              "has_readme": true,
              "has_license": false,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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": "no license file detected",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "license_absent",
                    "params": {}
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 37,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 16,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 2,
              "top_contributor_share": 0.785
            },
            "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 78% of commits",
                "points": 4.8,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 78
                    }
                  }
                ],
                "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 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 51,
            "inputs": {
              "merged_prs": 20,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 8
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "20/28 decided PRs merged",
                "points": 27.3,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 20,
                      "decided": 28
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 1/25 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 48,
            "inputs": {
              "followers": 2,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "fireflyframework",
              "public_repos": 75,
              "account_age_days": 355
            },
            "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": "2 followers of fireflyframework",
                "points": 3.4,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2,
                      "login": "fireflyframework"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "75 public repos, account ~0 yr old",
                "points": 14.9,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 75
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 60,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "at_risk",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 44,
            "inputs": {
              "has_ci": true,
              "has_tests": false,
              "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": 0,
                "status": "missed",
                "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": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "topics": [
                "bom",
                "build-tools",
                "dependency-management",
                "firefly-framework",
                "graalvm",
                "java",
                "maven",
                "microservices",
                "parent-pom",
                "reactive",
                "spring-boot",
                "webflux"
              ],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "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": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 67,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 69,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 6.9
            },
            "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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "5 out of 5 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 1/25 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "30 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 run on all commits",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "moderate",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 76 resolved dependencies against OSV; 3 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 76
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 3
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "source": "osv",
              "advisories": 9,
              "affected_packages": 2,
              "assessed_packages": 76,
              "unassessed_packages": 3,
              "affected_by_severity": "high 2",
              "direct_affected_packages": 2
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "2 affected: org.bouncycastle:bcprov-jdk18on 1.77 (high 7.7), org.postgresql:postgresql 42.7.9 (high 7.5)",
                "points": 11.3,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 2,
                      "packages": "org.bouncycastle:bcprov-jdk18on 1.77 (high 7.7), org.postgresql:postgresql 42.7.9 (high 7.5)"
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 812 days ago",
                "points": 33.5,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 1,
                      "oldest": 812
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 76,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "at_risk",
        "name": "AI Readiness",
        "value": 30,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.949,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "94 of 99 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 94,
                      "sampled": 99
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "critical",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 23,
            "inputs": {
              "has_nix": false,
              "has_tests": false,
              "lockfiles": [],
              "has_dockerfile": false,
              "typed_language": false,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [
                "pom.xml"
              ],
              "dependency_bot_commit_share": 0.01
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "pom.xml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "pom.xml"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "1 of the last 100 commits are automated dependency updates",
                "points": 8,
                "status": "met",
                "details": [
                  {
                    "code": "dependency_bot_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "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": [
    "Language breakdown unavailable"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-25T13:00:44.911017Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/fireflyframework/fireflyframework-parent.svg",
  "full_name": "fireflyframework/fireflyframework-parent",
  "license_state": "absent",
  "license_spdx": null
}

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 statistics.