Öffentliches Register
Software-GesundheitsberichtSchema 0.26.0 · Metriken 1.13.0 · 2026-07-22 18:11 UTC

ARM-software / SCP-firmware

This System Control Processor (SCP) firmware repository is no longer used and has been set to Read-only for archiving purposes. Please refer to the following active repository.

CEigene Lizenz★ 265 Sterne⑂ 196 Forksseit Mai 2018archiviertAuf GitHub ansehen ↗

ARM-software/SCP-firmware erreicht einen Gesundheitsindex von 23 von 100 und liegt damit im Bereich Kritisch. Am stärksten schneidet es bei Sustainability & Governance (85/100) ab, am schwächsten bei Vitality (17/100). Das Repository ist archiviert, weitere Wartung ist daher nicht zu erwarten.

23
gesamt / 100
Kritisch

Software-Gesundheitsindex

Metriken werden auf einer Skala von 1–100 in gewichtete Kategorien gruppiert. Der Gesamtwert beginnt als ihr Mittel; sobald öffentliche Evidenz die Richtlinie für Hochrisikojurisdiktionen auslöst, wird die Bewertung angepasst und erhält die Obergrenze 49 (Gefährdet). AI Readiness liegt außerhalb.

23
Exzellent85-100Vorbildlich; erfüllt im Wesentlichen alle geprüften Kriterien
Gut70-84Gesund; geringfügige Lücken
Mittel50-69Akzeptabel mit deutlichen Lücken; Überprüfung empfohlen
Gefährdet30-49Erhebliche Schwächen; eine Übernahme erfordert Vorsicht
Kritisch1-29Schwerwiegende Probleme (aufgegeben, nur ein Maintainer, keine Hygiene)
VitalitätCommunity &VerbreitungNachhaltigkeit &GovernanceEngineering-QualitätSicherheitAI Readiness

Bewertungsprofil

Jede Achse ist eine Kategorie. Die Form zählt mehr als der Durchschnitt — ein gesundes Projekt füllt die gesamte Fläche, während ein Profil aus Spitzen und Kratern bedeutet, dass Stärke in einer Dimension Risiken in einer anderen verdeckt.

Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.

Eigentümerschaft

Arm SoftwareOrganisation
2.615 Follower195 öffentliche Reposseit Okt. 2013

Dieses Repository wird von einer Organisation getragen — geteilte, rechenschaftspflichtige Trägerschaft, die jeden einzelnen Maintainer überdauern kann.

Metriken nach Kategorie

Vitalität

Lebt das Projekt — wird Code geschrieben und werden Releases ausgeliefert?

17Kritisch · 22 % des Gesamtindex
Wie die Bewertung erfolgt
0/36Push-Aktualität — letzter Push vor 701 Tagen
0/36Commit-Rhythmus — 0/52 Wochen mit Commits
0/18Commit-Volumen — 0 Commits im letzten Jahr
0/10OpenSSF Scorecard: Maintained — project is archived
Verwendete Eingangsdaten
commits_last_year0
human_commit_share1
days_since_last_push701
active_weeks_last_year0

Release-Disziplin

40Gefährdet
Wie die Bewertung erfolgt
16.2/27Liefert Releases aus — 26 Versions-Tags (keine GitHub-Releases)
0/36Release-Aktualität — letztes Release vor 866 Tagen
19.8/27Release-Rhythmus — ein Release etwa alle 78,7 Tage
0/10OpenSSF Scorecard: Signed-Releases — keine Daten
Verwendete Eingangsdaten
releases_count26
latest_release_tagv2.14.0
releases_from_tagsja
days_since_latest_release866
mean_days_between_releases78,7
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: Signed-Releases. Die verbleibenden Gewichte wurden renormalisiert.

Community & Verbreitung

Hat das Projekt Nutzer, Downloads, Aufmerksamkeit und ein einladendes Umfeld für Beitragende?

61Mittel · 18 % des Gesamtindex
Wie die Bewertung erfolgt
39.3/60Stars — 265 Stars
19.1/25Forks — 196 Forks
0/15Watcher — 2 Watcher
Verwendete Eingangsdaten
forks196
stars265
watchers2
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Wie die Bewertung erfolgt
22.5/22.5README
16.9/22.5Lizenz — Lizenzdatei vorhanden, keine anerkannte Lizenz
18/18CONTRIBUTING-Leitfaden
0/13.5Verhaltenskodex
0/7.2Issue-Vorlage
0/6.3PR-Vorlage
Verwendete Eingangsdaten
has_readmeja
has_licenseja
has_contributingja
has_issue_templatenein
has_code_of_conductnein
has_pull_request_templatenein

Nachhaltigkeit & Governance

Überdauert das Projekt die Menschen, die es tragen — Bus-Faktor, Reaktionsfähigkeit, Trägerschaft und Paketpflege?

85Exzellent · 24 % des Gesamtindex
Wie die Bewertung erfolgt
54/54Bus-Faktor — 8 Beitragende decken die Hälfte aller Commits ab
19.5/22.5Commit-Verteilung — wichtigste beitragende Person verfasste 13 % der Commits
13.5/13.5Breite der Beitragenden — 86 Beitragende
10/10OpenSSF Scorecard: Contributors — project has 12 contributing companies or organizations
Verwendete Eingangsdaten
bus_factor8
contributors_sampled86
top_contributor_share0,133
Wie die Bewertung erfolgt
41.4/46.8Issue-Lösungsquote — 88 % der Issues geschlossen
34/38.3PR-Annahme — 774/870 entschiedene PRs gemergt
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Verwendete Eingangsdaten
merged_prs774
open_issues3
closed_issues23
issue_closed_ratio0,885
closed_unmerged_prs96
Wie die Bewertung erfolgt
30/30Organisatorische Trägerschaft — im Besitz einer Organisation
0/20Verifizierte Domain
24.6/25Reichweite des Inhabers — 2.615 Follower von ARM-software
25/25Kontohistorie — 195 öffentliche Repos, Kontoalter ca. 12 Jahre
Verwendete Eingangsdaten
followers2.615
owner_typeOrganization
is_verified
owner_loginARM-software
public_repos195
account_age_days4.663

Engineering-Qualität

Sind grundlegende Engineering- und Dokumentationspraktiken vorhanden?

72Gut · 20 % des Gesamtindex
Wie die Bewertung erfolgt
24/24CI-Workflows — 2 Workflow(s)
24/24Tests vorhanden
0/16Linter-Konfiguration
0/9.6Pre-Commit-Hooks
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — keine Daten
Verwendete Eingangsdaten
has_cija
has_testsja
has_editorconfignein
has_linter_confignein
has_precommit_confignein
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): OpenSSF Scorecard: CI-Tests. Die verbleibenden Gewichte wurden renormalisiert.

Dokumentation

90Exzellent
Wie die Bewertung erfolgt
30/30README
25/25Dokumentationsverzeichnis
15/15Dokumentations-/Homepage-Site — https://gitlab.arm.com/firmware/SCP-firmware
10/10Repository-Beschreibung
0/10Topics
10/10Wiki
Verwendete Eingangsdaten
topics
has_wikija
homepagehttps://gitlab.arm.com/firmware/SCP-firmware
has_readmeja
has_docs_dirja
has_descriptionja

Sicherheit

Sind die sichtbaren Sicherheits- und Lieferkettenpraktiken belastbar, ohne ungeklärte Exposition gegenüber Hochrisikojurisdiktionen?

46Gefährdet · 16 % des Gesamtindex

Sicherheitslage

46Gefährdet
Wie die Bewertung erfolgt
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — keine Daten
0/2.5CI-Tests — keine Daten
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
2.5/2.5Contributors — project has 12 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.2/2.5Lizenz — license file detected
0/7.5Maintained — project is archived
0/5Packaging — keine Daten
3.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 7
0/5SAST — no SAST tool detected
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — keine Daten
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
7.5/7.5Vulnerabilities — 0 existing vulnerabilities detected
Verwendete Eingangsdaten
sourceopenssf_scorecard
checks_evaluated14
scorecard_versionv5.5.0
checks_inconclusive4
scorecard_aggregate4,6
Von der Bewertung ausgeschlossen (keine Daten oder nicht anwendbar): branch_protection, ci_tests, packaging, signed_releases. Die verbleibenden Gewichte wurden renormalisiert.

AI Readiness

Wie gut ist das Repository dafür ausgestattet, mit KI-Coding-Agenten entwickelt und gepflegt zu werden? Ein unabhängiges, experimentelles Badge — Gewicht 0,0, es wird eigenständig ausgewiesen und verändert den Gesamt-Gesundheitswert nicht.

55Mittel · 0 % des Gesamtindex
Wie die Bewertung erfolgt
0/45Agentenanweisungen — keine CLAUDE.md / AGENTS.md / Editor-Regeln
0/15Maschinenlesbare Doku (llms.txt)
40/40Lesbare Commit-Historie — 100 von 100 menschlichen Commits benennen ihre Absicht (strukturierter Betreff oder erläuternder Text)
Verwendete Eingangsdaten
has_llms_txtnein
legible_history_share1
agent_instruction_files
agent_instruction_max_bytes
Wie die Bewertung erfolgt
0/18Bootstrap mit einem Befehl
22/22Automatisierte Tests
0/11Lint-/Format-Konfiguration
11/11Statische Typprüfung — C (statisch typisiert)
10/10Reproduzierbare Umgebung — Dockerfile
0/10Belegte Agentenpraxis — keine von Agenten verfassten Commits unter den letzten 100
0/8Automatisierte Wartung — keine automatisierten Abhängigkeits-Updates beobachtet
7/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 7
Verwendete Eingangsdaten
has_nixnein
has_testsja
lockfiles
has_dockerfileja
typed_languageja
bootstrap_files
has_devcontainernein
has_linter_confignein
typecheck_configs
agent_commit_share0
toolchain_manifests
dependency_bot_commit_share0
Wie die Bewertung erfolgt
45/45Typprüfbarer Code — C (statisch typisiert)
54/55Handhabbare Dateigrößen — 39/2.197 Quelldateien über 60 KB
Verwendete Eingangsdaten
primary_languageC
largest_source_bytes409.650
source_files_sampled2.197
oversized_source_files39

Eckdaten

265GitHub-Sterne
86Mitwirkende
0Commits, letzte 12 Monate
701Tage seit letztem Push
26Releases
8Bus-Faktor
3offene Issues
PyPIPaket-Ökosysteme

Warnungen zur Datenerhebung

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

Weitere Details

Stern- und Fork-Verlauf 0 ★ / 196 ⇿
0Sterne
196Forks
26Releases

Wann jeder Stern und Fork hinzugefügt wurde, von GitHub erfasst und nach Tagen gruppiert. Das kumulierte Wachstum steht direkt über den täglichen Zugängen, aus denen es besteht, sodass beide gegeneinander lesbar sind: stetiger organischer Zuwachs sieht ganz anders aus als ein abrupter, kurzlebiger Ausschlag. Wo dieser Unterschied messbar ist, wird er als Wachstumsauthentizität ausgewiesen.

0408012016020019542018-072022-062026-05
Major 0Minor 11Patch 0

Jeder Punkt umfasst 8 Tage.

OpenSSF Scorecard 4.6 / 10
4.6Gesamtwert

Unabhängige, werkzeugneutrale Sicherheitsbewertung durch das quelloffene OpenSSF Scorecard. Jede Prüfung honoriert eine Sicherheits-Praxis, nicht das Werkzeug eines bestimmten Anbieters. Prüfungen, die Scorecard nicht ermitteln konnte, sind mit k. A. markiert und vom Sicherheitswert ausgeschlossen (nie als null gezählt).Scorecard v5.5.0 · 2026-07-22 18:10 UTC

10Binary-Artifactsno binaries found in the repo
k. A.Branch-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
k. A.CI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
10Contributorsproject has 12 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
9Licenselicense file detected
0Maintainedproject is archived
k. A.Packagingpackaging workflow not detected
7Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 7
0SASTno SAST tool detected
10Security-Policysecurity policy file detected
k. A.Signed-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
10Vulnerabilities0 existing vulnerabilities detected
Alle Abhängigkeiten 0

Vollständig aufgelöster Abhängigkeitssatz aus dem GitHub-Abhängigkeitsgraphen: 0 direkte und 0 indirekte (transitive) Pakete. Die transitive Hülle ist vollständig, wenn das Repository eine Lockfile eincheckt.

RegistryPaketVersionBeziehung
Abhängigkeits-Advisories nicht bewertet

Der Advisory-Abgleich konnte für diesen Bericht nicht ausgeführt werden: No resolved dependencies to assess

JSON-Rohbericht maschinenlesbar
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 11721,
      "has_wiki": true,
      "homepage": "https://gitlab.arm.com/firmware/SCP-firmware",
      "languages": {
        "C": 16565200,
        "Ruby": 1607,
        "CMake": 569339,
        "Shell": 8373,
        "Python": 94804,
        "Assembly": 63920,
        "Makefile": 13831,
        "Dockerfile": 5625
      },
      "pushed_at": "2024-08-20T08:04:12Z",
      "created_at": "2018-05-22T10:35:56Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-11T04:14:38Z",
      "description": "This System Control Processor (SCP) firmware repository is no longer used and has been set to Read-only for archiving purposes. Please refer to the following active repository.",
      "is_archived": true,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "master",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "C",
      "significant_languages": [
        "C"
      ]
    },
    "owner": {
      "blog": "www.arm.com",
      "name": "Arm Software",
      "type": "Organization",
      "login": "ARM-software",
      "company": null,
      "location": "Cambridge, UK",
      "followers": 2615,
      "avatar_url": "https://avatars.githubusercontent.com/u/5690313?v=4",
      "created_at": "2013-10-15T10:38:41Z",
      "is_verified": null,
      "public_repos": 195,
      "account_age_days": 4663
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v2.14.0",
          "kind": "minor",
          "published_at": "2024-03-08T16:00:01Z"
        },
        {
          "tag": "v2.14.0-rc1",
          "kind": "prerelease",
          "published_at": "2024-03-04T12:42:48Z"
        },
        {
          "tag": "v2.14.0-rc0",
          "kind": "prerelease",
          "published_at": "2024-03-04T10:29:29Z"
        },
        {
          "tag": "v2.13.0",
          "kind": "minor",
          "published_at": "2023-09-13T14:27:08Z"
        },
        {
          "tag": "v2.13.0-rc0",
          "kind": "prerelease",
          "published_at": "2023-09-06T15:26:33Z"
        },
        {
          "tag": "v2.12.0",
          "kind": "minor",
          "published_at": "2023-04-14T15:20:21Z"
        },
        {
          "tag": "v2.12.0-rc0",
          "kind": "prerelease",
          "published_at": "2023-04-04T08:17:29Z"
        },
        {
          "tag": "v2.11.0",
          "kind": "minor",
          "published_at": "2022-10-06T08:27:52Z"
        },
        {
          "tag": "v2.11.0-rc0",
          "kind": "prerelease",
          "published_at": "2022-09-21T15:06:57Z"
        },
        {
          "tag": "v2.10.0",
          "kind": "minor",
          "published_at": "2022-03-31T12:53:23Z"
        },
        {
          "tag": "v2.10.0-rc1",
          "kind": "prerelease",
          "published_at": "2022-03-28T12:12:49Z"
        },
        {
          "tag": "v2.10.0-rc0",
          "kind": "prerelease",
          "published_at": "2022-03-24T14:18:41Z"
        },
        {
          "tag": "v2.9.0",
          "kind": "minor",
          "published_at": "2021-10-05T11:13:43Z"
        },
        {
          "tag": "v2.9.0-rc0",
          "kind": "prerelease",
          "published_at": "2021-09-30T11:18:17Z"
        },
        {
          "tag": "v2.8.0",
          "kind": "minor",
          "published_at": "2021-04-22T08:10:41Z"
        },
        {
          "tag": "v2.8.0-rc0",
          "kind": "prerelease",
          "published_at": "2021-04-08T11:54:02Z"
        },
        {
          "tag": "v2.7.0",
          "kind": "minor",
          "published_at": "2020-10-20T17:42:06Z"
        },
        {
          "tag": "v2.7.0-rc1",
          "kind": "prerelease",
          "published_at": "2020-10-20T11:54:24Z"
        },
        {
          "tag": "v2.7.0-rc0",
          "kind": "prerelease",
          "published_at": "2020-10-15T17:47:47Z"
        },
        {
          "tag": "v2.6.0",
          "kind": "minor",
          "published_at": "2020-03-19T17:20:59Z"
        },
        {
          "tag": "v2.6.0-rc0",
          "kind": "prerelease",
          "published_at": "2020-03-17T21:14:14Z"
        },
        {
          "tag": "v2.5.0",
          "kind": "minor",
          "published_at": "2019-08-08T10:51:27Z"
        },
        {
          "tag": "v2.5.0-rc0",
          "kind": "prerelease",
          "published_at": "2019-07-24T14:04:21Z"
        },
        {
          "tag": "v2.4.0",
          "kind": "minor",
          "published_at": "2018-10-10T14:33:05Z"
        },
        {
          "tag": "v2.4.0-rc1",
          "kind": "prerelease",
          "published_at": "2018-10-10T14:33:05Z"
        },
        {
          "tag": "v2.4.0-rc0",
          "kind": "prerelease",
          "published_at": "2018-10-09T07:09:10Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "b34e5ceb5bab4bb351e0ba4b86c2f8a539cdbbb4",
          "body": "The files were updated after the git revert.\nThis change corrects the copyright year.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "smcf: Fix copyright year after revert",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-08-19T11:29:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bc0a62090b663b799a84e2519f674351a21f462d",
          "body": "The method of application the mode is largely determined by the type of\nmonitor being used. Each monitor implementation may require different handling.\nFrom a design perspective, it is preferable to delegate this handling to the\nspecific monitor driver and keep the smcf code generic.\n\nThis reverts commit 9860d64bd6ee38901257cacdc4915d10874b4329\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "Revert \"smcf: Check MODE_STAT after setting MODE_REQ\"",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-08-19T11:29:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f666b2e131c86f6e27001fe6dac99b627d14656",
          "body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ie8c1d80b9f32a5004c76a86351a018b4cfb7b2e6",
          "is_bot": false,
          "headline": "requirements.txt: update pyyaml to be compatible with Python 3.10",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-08-16T17:35:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "249524daa2f9231969384a79be2523c2f2e98b22",
          "body": "On gcc 13.2.0 the following error is flagged:\nstoring the address of local variable ‘data_api’ in\n‘sensor_smcf_drv_ctx.data_api’ [-Werror=dangling-pointer=].\n\nStoring a local pointer in a global variable should be avoided.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "sensor_smcf_drv/unit_test: Fix compiler error",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-08-15T08:27:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5a00810541699953f6ed1732c8b81fdcde310a58",
          "body": "On gcc 13.2.0 the following error is flagged:\nerror: comparison of integer expressions of different signedness:\n‘int’ and ‘enum pd_idx’ [-Werror=sign-compare]\n\nPositive enum should be compared against unsigned variables.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "mod_power_domain/unit_test: fix compiler error",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-08-15T08:27:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2da65a4266a33a15968d2724084b9daa4179c94e",
          "body": "On gcc 13.2.0 the following error is flagged:\nstoring the address of local variable ‘data_api’ in\n‘amu_smcf_drv_ctx.data_api’ [-Werror=dangling-pointer=].\n\nStoring a local pointer in a global variable should be avoided.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "amu_smcf_drv/unit_test: Fix compiler error",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-08-15T08:27:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ed7e163e111535789250ebb76607bc8028163382",
          "body": "Programmable System Address Map feature in NoC S3 allows configurable\naddress map for address‑based routing from each upstream interface to\nthe corresponding downstream interfaces.\n\nAdd the support to configure PSAM during runtime in following mode\n1) Static mapping with the information passed throu\n[…]\nor this reason, the module will maintain the\n   context for the blocks that it is managing.\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: Ia2c08a76e5d48ecdb6b38d19180e015aca22dc41",
          "is_bot": false,
          "headline": "mod/noc_s3: add the support to program psam",
          "author_name": "Nishant Sharma",
          "author_login": "nissha03",
          "committed_at": "2024-08-14T13:09:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "468ef4467f23ca8c16818bd10f06fed80e24ad32",
          "body": "The configuration register layout for NoC S3 is laid out in a\nmultibranch tree format. On the top of the tree is global configuration\nnode which points to the domain and domains points to components nodes.\nThe components nodes contains subfeatures that can be used to enable\nPSAM, APU, FCU and IDM.\n\n\n[…]\ne user\nwill access the table using node type 4 and Id 2. Table[4][2] will give\noffset of C2\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: I221694d12a853e46df0f6c434058eaf6dfb4aa2b",
          "is_bot": false,
          "headline": "mod/noc_s3: add the support to discovery node offset",
          "author_name": "Nishant Sharma",
          "author_login": "nissha03",
          "committed_at": "2024-08-14T13:09:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ffd00f4998e35f798446a8ace0d730c9ece1e33e",
          "body": "NoC S3 Network-on-Chip Interconnect is a highly configurable\nsystem-level interconnect. This design allows the creation of a highly\noptimized, non-coherent interconnect which supports Programmable System\nAddress Map, Programmable Access Protection Unit, Programmable Fault\nProtection Unit and many mo\n[…]\n S3 features. The handlers added in this change will be consumed by\nthe subsequent changes.\n\nSigned-off-by: Nishant Sharma <nishant.sharma@arm.com>\nChange-Id: I81d9d7175a4c1f43dd84e5118772bc8b9d6826d5",
          "is_bot": false,
          "headline": "mod/noc_s3: add initial framework handlers",
          "author_name": "Nishant Sharma",
          "author_login": "nissha03",
          "committed_at": "2024-08-14T13:09:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e1fb6b016a242734b4a01cfbdf2d16671b446a7a",
          "body": "In Cortex-M3/M4/M23/M33, a core register block was named the System Control and\nID Register, separate from the System Control Block (SCnSCB). In Cortex-M55/M85,\nthe same block was renamed to Implementation Control Registers (ICB), creating a\nnaming discrepancy within the same Cortex v8m family. Ther\n[…]\nnsure compatibility, the register's definition\nis utilized over the family.\n\nThis adjustment should facilitate the build for Cortex-M23 and M33 cores.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "arch: Enhance compatibility for `arch_nvic_init`",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-12T15:23:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "98379844eb154240398dcc1a1885e0575dfce44f",
          "body": "This commit removes the dependencies of clang-tidy including configuration file\nlocated in the parent directory.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cmake: Terminate Clang-Tidy support",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-09T17:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3c4305d916c2c6dd650c030e8740fc1c723cda19",
          "body": "This commit removes the dependencies of IWYU including pragmas in source file.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cmake: Terminate Include What You Use (IWYU) support",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-09T17:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a86c59b96dccf618428f57d00448874d3ba7db4d",
          "body": "This commit removes cmake targets for yamllint by dropping unused cmake and\nconfiguration file. Also, It removes redundant python package and script.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cmake: Terminate yamllint support",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-09T17:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "124b59ee1336cd9335c637d3d9b4c83db00acb8a",
          "body": "This commit removes targets for c. All the dependencies of clang-format are\ndropped including submodule `run-clang-format`.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cmake: Terminate Clang-format support",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-09T17:05:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68c1a0ff9e01f1b8446b9ff6c322014bc6d1a945",
          "body": "Currently, within the deployment and daily pipeline, products are\nbuild sequentially instead of in parallel which is slow. This patch\nadds building all products in parallel within the pipelines. In the\ndeployment pipeline, all products are built with default log level\nand in the daily pipeline all products are built with all log levels\n(all in parallel).\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
          "is_bot": false,
          "headline": "ci: Build products in parallel in pipelines",
          "author_name": "Haaris Farooq",
          "author_login": null,
          "committed_at": "2024-08-09T16:05:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a6a4be936fb64fa3fbf803117e85c263fd6fe711",
          "body": "Add a function which roughly estimate the overhead of tracing by calling\na FWK_TRACE_START followed by FWK_TRACE_FINISH and calculating how long\nthe empty trace took.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "fwk/trace: add calculate overhead function",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-09T14:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3d6478a1cb930093da436d4b16be66043693b7c0",
          "body": "Enable fwk trace by providing the required driver functions.\n\nget_trace_count is implemented by returning the current time provided\nby the fwk.\n\nreport_trace_entry implemented to use the fwk log to dump the trace\nentry.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "prod/juno/ramfw: Enable fwk trace",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-09T14:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b5070b2ff9dfee95450ff837200bfe9c03530a1",
          "body": "Add the fwk_trace to the scpfw-path to be visible\nfor optee product.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "prod/optee: Add fwk_trace to scpfw-path for optee",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-09T14:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "47422069be5038aa3ec5c683769b65ea871df3d0",
          "body": "Add a unit test for the fwk_trace component.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "fwk/trace/test: add test to fwk_trace component",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-09T14:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "813d518e23fcc57704bde5db84c2576bc2f58ea6",
          "body": "Similar to fwk Timer adding a fwk trace mechanism.\nWhich depends on trace driver that should be provided by product.\n\nThe driver should provide functions to\n- Get trace count which get current timestamp or cycle from the start.\n- Report trace entry which dumps the entry data.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "fwk/trace: Add tracing mechanism",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-09T14:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80befa77a8b2a49c71254dc86efcf5ec275485c2",
          "body": "The SCMI-perf protocol ops default unit test target is build with\nBUILD_HAS_SCMI_PERF_FAST_CHANNELS flag, which was incorrectly\nintroduced, has now been removed.\n\nThe two unit tests for checking incorrect message id which was not\nbeing compiled before for default target are modified accordingly.\n\nSigned-off-by: Md Golam Tanvir Zim <mdgolamtanvir.zim@arm.com>\nChange-Id: Ia18b4c7ffa8bfc0d70d2a55e9d5a7358366d00a5",
          "is_bot": false,
          "headline": "scmi_perf: Fixing perf protocol ops unit test build",
          "author_name": "Md Golam Tanvir Zim",
          "author_login": "mdgzim01",
          "committed_at": "2024-08-09T13:10:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "450a3b070440fb261ead92803ba8ae4f7903ee23",
          "body": "get_limit API defined with the second argument power_limit as\nuint32_t. Hence, changing the local variable (placeholder) type to\nuint32_t to avoid building compatibility issues.\n\n`unsigned int` translates differently based on the target.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics-analyzer: fix argument compatibility",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-08T15:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "19e742dbdfcdf5c23916737ded847f6a5ca13431",
          "body": "Modules to be included in product firmwares, has to be added to\nthe \"SCP_MODULE_PATHS\".\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics-analyzer: Add module to SCP_MODULE_PATHS",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-08T15:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f158b6328c2fef98cad4e11bcded42885f642af1",
          "body": "Add the missing fwk_id.h include.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics-analyzer: Add missing fwk_id header",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-08T15:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3694d4f08c3445a95966f2a9e5d821118e75923",
          "body": "As a convention SCP_MODULE name is `-` sperated.\nThis patch fixes the module name to follow the convention.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics-analyzer: fix the module name",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-08-08T15:03:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "54c43f480901d3fd4de2bdb0e65811a836456945",
          "body": "Modify the FWK_IS_VALUE_POWER_OF_TWO macro to address cppcheck warnings\nencountered with unsigned integers in the previous version.\nThe revised macro ensures proper handling of both signed and unsigned integers\nby checking if a value is positive and a power of two.\n\nThe specific cppcheck warning encountered was: \"Checking if unsigned expression\n'page_size' is less than zero. [unsignedLessThanZero].\"\n\nChange-Id: I59c42016f207956ec07f557714cadd946ad58a91",
          "is_bot": false,
          "headline": "framework: update FWK_IS_VALUE_POWER_OF_TWO macro",
          "author_name": "Shaileshwar M",
          "author_login": null,
          "committed_at": "2024-08-08T09:35:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0e64924675aa2f0bb2c32e0f70f8684c6bd1881a",
          "body": "Added a configuration attribute that allows for building with any\npre-defined configuration of flags and not just the default flags.\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
          "is_bot": false,
          "headline": "tools: Add configuration attribute to builds",
          "author_name": "Haaris Farooq",
          "author_login": null,
          "committed_at": "2024-08-07T12:19:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0db8caa15c6e996bd3c18aa99ab5430ea7e0d38a",
          "body": "Currently, when a build is built in check_build.py, every build is written\nto the same directory which is the default output path specified. Now, each\nbuild is given its own build directory which is a concatenation of its\nproperties which is:\noutput_path/product-group/platform/log-level/variant/toolchain/mode\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
          "is_bot": false,
          "headline": "tools: Add unique build directories for each build",
          "author_name": "Haaris Farooq",
          "author_login": null,
          "committed_at": "2024-08-07T12:19:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "434bc9977f7f3e83c2538571b9546ee3ff0291c6",
          "body": "…ducts\n\nIntroduces -p flag to allow for building with specific products. The flag\ncan take in a list of parameters, i.e. \"-p juno host morello\" will only\ncheck builds for those 3 products.\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
          "is_bot": false,
          "headline": "tools: Add parameter to check_build.py for building with specific pro…",
          "author_name": "hf",
          "author_login": null,
          "committed_at": "2024-08-07T12:15:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b844ff3280a08fb6fa898d8ee09fe97d88269140",
          "body": "Fixing a leftover from a commit where P2A SCMI service channel were\nintroduced in JUNO which means the service count would not be equal\nto agent count as an agent can have both A2P and P2A.\n\nSigned-off-by: Md Golam Tanvir Zim <mdgolamtanvir.zim@arm.com>\nChange-Id: I0d876219f9447434e95ab55bcd00d47376abeeb9",
          "is_bot": false,
          "headline": "product/juno: Fix number of agents in agent table for SCMI clock",
          "author_name": "Md Golam Tanvir Zim",
          "author_login": "mdgzim01",
          "committed_at": "2024-08-06T17:08:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "33bb61dce737c3aead29f4ec9492e8cc58ab4f81",
          "body": "…ctory\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ia6385bba7e585a2e785912fdd8c8d01d2c81f8ed",
          "is_bot": false,
          "headline": "tools/check_build: move default product build list to a separate dire…",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-08-02T13:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f6339976c27e646326de8f6d45edd3e8367d5362",
          "body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ib6694cb8614a0a3120d91ea4235e2baa9c742ced",
          "is_bot": false,
          "headline": "tools/check_api: move default banned API list to a separate directory",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-08-02T13:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bd9bdf6a155e3aa7e0be62b520e122db3c1fc5ae",
          "body": "Signed-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I17b3c214629ac6f38341d50c9928529df90caf5e",
          "is_bot": false,
          "headline": "cppcheck: move configuration files to a separate directory",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-08-02T13:39:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26fb80038996e002315350172e5b0922f189c109",
          "body": "This patch deletes Gemfile and cleans up dependencies of Markdownlint in cmake\nbuild system.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "tools: Remove Gemfile and Markdownlint",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-08-01T16:06:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "511a3851e61d82f7c2544549417f72a5606b9526",
          "body": "The cached_counters and delta variables are 64 bits, but they are allocated at the init function with 32 bits size.\nFix unit test utest_mpmm_element_init_two_core_success to expect 64 bits.\n\nSigned-off-by: mohmah01 <mohammed.mahmoud@arm.com>",
          "is_bot": false,
          "headline": "module/mpmm: Fix calloc variables size for counters",
          "author_name": "mohmah01",
          "author_login": null,
          "committed_at": "2024-07-31T13:00:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75c1086186947694799c03d0e8b3d679236320bc",
          "body": "Adding a macro to determine if a value is aligned with a given\nalignment or not.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "fwk/macros: Add a check alignment macro",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-30T13:37:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e6c11448c1660137d2f36a77af71bf865f387f4",
          "body": "Adding a macro to determine if a value is a power of two number or not.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "fwk/macros: Add a power of two check macro",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-30T13:37:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5c8d0249bcb9be4d93ecd0b584dd87256c546ad",
          "body": "In the `.board-test-run` template, the stage is incorrectly defined,\nthis has to be specified in the job. This patch also adds a retries\nvalue to prevent failure when resources are exhausted and the\njob times out.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I6e667260358d9e7b6587ded15fb70919453d2b97",
          "is_bot": false,
          "headline": "ci/platform-test: fix stage definition in template and add retries value",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-07-30T10:20:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "18338b6c872cb4e367c7c4e21047ad2b0f0326f9",
          "body": "Add a CI job in templates to build OPTEE with SCP. The job is scheduled\nto run in the daily and deployment pipeline.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/build: Build OPTEE with SCP",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-29T11:21:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05af272f9b717c2d11bec7a12a72ad155da169c0",
          "body": "Fixes a redundant check in mod_juno_reset_domain.c which causes cppcheck to\nfail when building for juno with the SCP_ENABLE_SCMI_RESET build flag enabled\n\nSigned-off-by: Haaris Farooq <haaris.farooq@arm.com>",
          "is_bot": false,
          "headline": "juno: Fix redundant check in mod_juno_reset_domain",
          "author_name": "Haaris Farooq",
          "author_login": null,
          "committed_at": "2024-07-26T15:48:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "91ffcb6e57c4faa33676d26b2b46c19144dc7c30",
          "body": "Integrate FVP boot test coverage into the deployment pipeline report.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: Ic128d1974d5a480a5f44b37fc08d23d5f010b91c",
          "is_bot": false,
          "headline": "ci/deployment-pipeline: add FVP boot coverage data to report",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-07-23T15:01:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5e71df0fe3270514246e4f75ba4f71a35385010",
          "body": "This patch adds `fvp-boot-test` job output coverage to be merged\ninto the coverage report on the daily pipeline.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: If874aa7cebb2999c3c75386f267fb6365acd529c",
          "is_bot": false,
          "headline": "ci/daily-pipeline: add `fvp-boot-test` to coverage report",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-07-22T18:09:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29004d91a9a6940a73fdb8bf740f8f08c0bdb2ec",
          "body": "`fvp-boot-test` now manages its artifacts by saving the correspoding\nones into `artifacts` directory.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I4383394845ab2bf022fd0ccbdd60682da86a0e63",
          "is_bot": false,
          "headline": "ci/platform-test: Update artifact path location for `fvp-boot-test`",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-07-22T18:09:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b7fc8f0ab8ab308594675dbce43bf8898d04397b",
          "body": "Merge unit test coverage report in daily and deployment pipeline using\nthe merge-report template. The job in deployment pipeline will also\nenables code coverage visualization.\n\nThe unit-test template will copy the coverage report to a folder to be\nmerge later in the merge-ut-coverage job.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/ut: Merge UT coverage report",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-22T14:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c5d1709cf15c3e316493b766c08919e6bf30fafb",
          "body": "Add a job to merge all coverage reports at the end of daily and\ndevelopment pipeline. The 'coverage' keyword is added to display\ncode coverage result.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/coverage: Merge all coverage report",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-22T14:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c103c67a581000ff56bc1f7bfc2c9b84c7736a49",
          "body": "This patch introduces a job template to merge all coverage reports\nthat is in artifacts/coverage_reports/ directory using qa-tools\nlibrary. The template also generate html or xml output by using\ngenhtml and lcov-cobertura respectively.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/coverage: Add template to merge coverage report",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-22T14:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcebd429a4cf737b1dc8ab5cde74fd392231557d",
          "body": "The scmi-tester code coverage flag is enabled. The coverage report is\nfilter to remove CMSIS reference and copy into a common folder to be\nmerge with other reports.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/scmi: Enable scmi-tester code coverage",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-22T14:51:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7cd4e06077972fb9923080f0530ee50ada2b4a7",
          "body": "Modify filter_coverage_report.py to filter out cmock and cmsis from\ncoverage report. A report can have their own filter by appending\nthe 'regex_list'. This is done by using get() method which will return\nthe default regex if filename is not found.\n\nUpdate a few variables naming to PEP8 style guide.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "ci/filter: Filter cmock and cmsis from coverage report",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-22T14:50:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "85d9db73507ffa1667a3ff97db1bb8f133eb9114",
          "body": "Add lcov-cobertura library for coverage report generation of xml file.\n\nSigned-off-by: Wen Ping Teh <wenping.teh@arm.com>",
          "is_bot": false,
          "headline": "requirements.txt: Add lcov-cobertura library",
          "author_name": "Wen Ping Teh",
          "author_login": "wenping-arm",
          "committed_at": "2024-07-18T11:42:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b20b44fbdbe1f0371091bad71f041a40331a9cf4",
          "body": "The artifacts within the setup-workspace test were missing\nan expire_in value. This has been introduced and set to 2\ndays to be inline with the other tests.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I2af2f7818006048ed0285b6e937bcb6bc53afa0e",
          "is_bot": false,
          "headline": "ci/setup-workspace: Add an expire_in value",
          "author_name": "Katherine Vincent",
          "author_login": "katvin01",
          "committed_at": "2024-07-16T16:22:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "07af990302563f13d0b524c208b675dd1f2b7fe8",
          "body": "Fixing the initialize_module_domains inner loop control variable.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer/test: fix loop ctrl variable in UT initialization",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-12T16:29:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d0a77d7904b0c82fd890d398b21385ef7ad57cea",
          "body": "This patch adds a scope section to the document and clarifies\nthe trusted boundary in the diagram.\n\nSigned-off-by: Tarek El-Sherbiny <tarek.el-sherbiny@arm.com>",
          "is_bot": false,
          "headline": "threat model: Add scope section and update the trusted boundary",
          "author_name": "Tarek El-Sherbiny",
          "author_login": "tarek-arm",
          "committed_at": "2024-07-09T13:14:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "032aed5a4a8f74765ae40017c7f51dc4bf484225",
          "body": "This patch removes all remaining deprecated files from tc0 and\ntc1 that were reintroduced by mistake because of a rebase.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I1692364f48a50b1aa6843dc585335cc4a208aec7",
          "is_bot": false,
          "headline": "totalcompute: Remove deprecated files from tc0 and tc1",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-07-08T10:29:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d1dd151e731f0946b159d332740c0fa754546096",
          "body": "In this patch set_limit and controller_update apis are implemented.\nIt also includes unit tests for the added features and the\nframework related functions.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
          "is_bot": false,
          "headline": "mod/perf_controller: add set_limit and controller_update apis",
          "author_name": "Ahmed Gadallah",
          "author_login": "AhmedImbabyGadallah",
          "committed_at": "2024-07-05T18:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "854b9b576caf2527a341cfafb3c48ec6be64fd52",
          "body": "As the perf_controller breaks the tight coupling between the SCMI_perf\nand DVFS, the DVFS will have some changes accordingly.\n\nThe DVFS will need to implement the driver interface for the\nperformance controller which for now will support the set_performance_level\nrequest while still supporting the rest of the APIs required by the SCMI_perf.\n\nThis changes are implemented in this patch.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
          "is_bot": false,
          "headline": "mod/dvfs: integrate with perf_controller",
          "author_name": "Ahmed Gadallah",
          "author_login": "AhmedImbabyGadallah",
          "committed_at": "2024-07-05T18:11:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "638a7137061a5786fb92a931211507334039f393",
          "body": "The SCMI_perf module doesn't follow the same layered architecture as\nthe other protocols which use a HAL to communicate with different drivers.\nInstead it is tightly couple to one driver which is the DVFS module.\n\nWith the introduction of the perf_controller module, it will act as the\nHAL for the SC\n[…]\nrf.\n\nIn this patch only the changes to the SCMI_perf are added for simplicity.\nthe changes to the DVFS module will be added in the next commits.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
          "is_bot": false,
          "headline": "mod/scmi_perf: integrate SCMI perf with perf_controller",
          "author_name": "Ahmed Gadallah",
          "author_login": "AhmedImbabyGadallah",
          "committed_at": "2024-07-05T18:11:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "787d5b17f93d05ce1d35f0f781543ed949565bc9",
          "body": "This commit adds the skeleton of the  performance controller module.\nIt will replace the DVFS module in receiveing the performance set\nrequests from the SCMI perf.\n\nThe performance controller receives the power limit request by\nimplementing the generic set_limit interface. The power limit request co\n[…]\nducing this module would be explained in the subsequent commits\nthat include the integration with SCMI perf, DVFS module and SCMI power capping.\n\nSigned-off-by: Ahmed Gadallah <ahmed.gadallah@arm.com>",
          "is_bot": false,
          "headline": "Add perf_controller module",
          "author_name": "Ahmed Gadallah",
          "author_login": "AhmedImbabyGadallah",
          "committed_at": "2024-07-05T18:11:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6c0582260707be85cbeb2e29f98a15ffcd06a597",
          "body": "Fix the include cmsis directory comment in CMakeLists.txt for all\nproducts.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "prod/cmake: fix a comment for all products",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-05T15:35:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8ef1a8afb7f2c389d744003c486277dff8efd76c",
          "body": "- Make necessary changes to add cortex-M85 support.\n\n- The CMSIS definitions for System control Register not in SCB (SCnSCB)\n  are deprecated on M85 header. Armv8m based cores define a separate\n  Implementation Control Registers instead. Hence change the arch/nvic\n  reference accordingly.\n\nSigned-off-by: Tintu Thomas <tintu.thomas@arm.com>",
          "is_bot": false,
          "headline": "toolchain: Add cortex-M85 support",
          "author_name": "Tintu Thomas",
          "author_login": "tintuthomas-arm",
          "committed_at": "2024-07-05T14:08:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d784dbb4c98f4aee750b07cc2dd5e087970b309b",
          "body": "Add custom banner for LCP RAM firmware in fmw_log.h file.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I35ef9430570c8b302eb554ce7af3edb96bc260ad",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: add custom banner for lcpfw",
          "author_name": "Shriram K",
          "author_login": "shriram-k-arm",
          "committed_at": "2024-07-04T12:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "449fb0ac6a77f876df457884281dc036c12f556b",
          "body": "As the support for other compute blocks of the platform is now\navailable, remove the use of FMW_DISABLE_ARCH_SUSPEND from LCP\nfirmware.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I17843d1bd3f2c871087356b508811d61e6100a70",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: remove use of FMW_DISABLE_ARCH_SUSPEND for lcpfw",
          "author_name": "Shriram K",
          "author_login": "shriram-k-arm",
          "committed_at": "2024-07-04T12:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb764eed756f4fc3643a6fc8c014cd9c4dd5ed3a",
          "body": "The dvfs-handler controller enables support for DVFS on the platform. AP\nrequests for setting of supported performance levels using the MHU3\nfastchannel interface. So include the dvfs-handler module and its\nassociated configuration data in the lcp firmware build.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Iaf8b61c1c16da3dffae104b21cd35951c4fc6fce",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: enable support for dvfs-handler in lcpfw",
          "author_name": "Pranav Madhu",
          "author_login": "Pranav-Madhu",
          "committed_at": "2024-07-04T12:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "370e4e42ebed824d88ffacebc74e1e3279510f5b",
          "body": "Update transport module config data for LCP with AP-LCP fastchannel for\nDVFS and remove the SCP-LCP transport channel as it is not used at this\nstage. Also, set the CMake flag\nSCP_TARGET_EXCLUDE_SCMI_PERF_PROTOCOL_OPS to enable fast channel\nsupport.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: If0825f6a1083ac5d9ac782a010262c39c5598722",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: update transport module config data in lcpfw",
          "author_name": "Pranav Madhu",
          "author_login": "Pranav-Madhu",
          "committed_at": "2024-07-04T12:48:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e50a229d54624b251dbf639aec70535c09e874f2",
          "body": "Remove SCP-LCP doorbell channel and add fastchannel between LCP and AP\nfor the DVFS module. Also, update the driver ID in the transport config\ndata to use the LCP-AP fastchannel in the MHU driver.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Iec000f267467ed702986c7f5c83dc7401acc05d4",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: update mhu3 module config data in lcpfw",
          "author_name": "Pranav Madhu",
          "author_login": "Pranav-Madhu",
          "committed_at": "2024-07-04T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8f0dc9f1bc0de8fb58ac5cee0f9ebb0a832ed5a6",
          "body": "Fix the incorrect AP-LCP MHU instance base address.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ic2cdf60bb8d1166e4e66b1277ee4c5d42c7b5ce4",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: fix AP-LCP MHU instance base address",
          "author_name": "Pranav Madhu",
          "author_login": "Pranav-Madhu",
          "committed_at": "2024-07-04T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "25f2fc4eda91595244d242f1b270e5225ba1053a",
          "body": "…emory regions\n\nLCP does not have a non-secure ITCM and DTCM memory regions. So remove\nthe definitions of these memory regions and use the secure ITCM and DTCM\nmemory regions instead.\n\nSigned-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ifb4a28307b2ab2f47e48fb09d4471efbb5ab209f",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: remove use of non-secure LCP's ITCM and DTCM m…",
          "author_name": "Vijayenthiran Subramaniam",
          "author_login": "vijayenthiran-arm",
          "committed_at": "2024-07-04T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c0534b090cdcabc4a0c58624b2d4c64f43670fb",
          "body": "Reduce the LCP's DTCM size to 32KB to align FVP platform implementation\nwhich has 32KB DTCM and 64KB ITCM.\n\nSigned-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I040991960b3a3ec22b73367bb5f7748a3c93e1a9",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: reduce LCP's DTCM size to 32KB",
          "author_name": "Vijayenthiran Subramaniam",
          "author_login": "vijayenthiran-arm",
          "committed_at": "2024-07-04T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b45e0f5dd819ea34d2005db1e82190da95892d1",
          "body": "The SCP and MCP firmware include files have been moved under their\nrespective firmware directories. Correspondingly, move the LCP firmware\nheader files under LCP firmware directory and add fmw_io.h to configure\niostream for LCP firmware.\n\nSigned-off-by: Shriram K <shriram.k@arm.com>\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: I7fd6a2688a10dca6f2be4c4751d640c85d2a1401",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: reorganize lcp include files",
          "author_name": "Shriram K",
          "author_login": "shriram-k-arm",
          "committed_at": "2024-07-04T12:48:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ce432984a9e2f3d2426974b63564192adcdda616",
          "body": "DVFS hardware is a hardware level abstraction to achieve frequency and\nvoltage scaling. DVFS hardware reduces the complexity in software to\nachieve frequency and voltage scaling, by writing directly to the DVFS\nhardware register and not to worry about the complex hardware logic\nbeneath the DVFS hard\n[…]\ne RD-Fremont\nplatform, as it enables dynamic voltage and frequency scaling for\nindividual CPUs.\n\nSigned-off-by: Pranav Madhu <pranav.madhu@arm.com>\nChange-Id: Ie9c49297b7e16d1be53b5d92e450250425b52ba4",
          "is_bot": false,
          "headline": "neoverse-rd/rdfremont: Add dvfs_handler driver",
          "author_name": "Pranav Madhu",
          "author_login": "Pranav-Madhu",
          "committed_at": "2024-07-04T12:47:49Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ca081df6678e648594ab54b1c3c5a23a1917edeb",
          "body": "Checking the subelement count in metrics_analyzer_element_init\ncovered by UT.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Add boundry check for subelement count",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f9a2dddbe256e15b59eae6e5cbb54f781e7adf86",
          "body": "Add a unit test such that a provider return no power limit\nusing the Macro defined in interface power management.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Add No power limit test case",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0a30f90fb841e9dd02f28323ee1d6ed59700ee8a",
          "body": "Combine collecting powerlimits and evaluating the aggregate limit\non the fly.\n\naggregate_limit has to be set to the maximum value (invalidated) for\na correct evaluation.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Combine collection and evaluation",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "af462ad4968223d1de7524823ddbb8204aa62b97",
          "body": "Adding the analysis process, which consists of:\n- Collecting all associated limits for all domains from the providers.\n- Evaluate the aggregate limit for each domain.\n- Report the aggregate limit to consumers of each domain.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Implement analysis logic",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a679ac977c939df94507dc9418f7e978fdd3a0f4",
          "body": "Add implementation of framework handlers (covered with UT)\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Implement framework handlers",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5addcc193aec9f913cd494f6a93c298adcdf5b0a",
          "body": "A typical test configuration\nthat involves different metrics for different domains.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer/test: Add a test configuration",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "056601c8f2ee9ae0b90169d52554105ac6676016",
          "body": "Add to the unit test the mocks for\n- limit providers API `get_limit`\n- limit consumers API `set_limit`\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer/test: Add power mgmt APIs mocks",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e47d0a2d4d6402b4b4b149e843ff7428e2303b09",
          "body": "module context:\n- List of domains (should be allocated in initialization)\n- Module configurations\n\ndomain:\n- List of metrics_ctx  associated with the domain\n  (should be allocated during element initialization)\n- The aggregate limit which should be consumed.\n- Domain configurations\n\nmetrics:\n- Power limit for this metric\n- Limit provider configs\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Add module/domain ctx definitions",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0d25a542dbe817e246c95394b77da2e6683141ba",
          "body": "Add element configuration definitions.\n\nmetrics analyzer domain configs:\n- List of metrics power limit providers information (for collecting metrics limits).\n- Providers count\n- Metrics power limit consumer information\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Add element configuration",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5dfa8093df6c4807e6e010f0d186f829eb6a6e85",
          "body": "Add useful power related macro definitions to be used across users of\npower_management interface.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "interface/power_management: Add power related Macros",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b022b5beb3e6c73c1c091271a8813e7c21640b86",
          "body": "Add the definition of the get limit interface.\nInterface implemented by modules considered as metrics for\nsystem domains. these modules provide power limits through this\ninterface.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "interface/power_management: Add get limit API",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d36f83eeb36326041ba4e8054f6ccae6424be7f6",
          "body": "Add the skeleton of the module:\n- src and header files\n- unittest files\n- CMake files\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer: Add initial module files",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9731d613c6cacb5aa21cf759f3766cbbffb18efa",
          "body": "Adding metrics analyzer documentation which explains the module\npurpose and operation.\n\nThe document is in markdown format and for the best viewing experience\nit should be used on viewers that provide `mermaid` rendering.\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "mod/metrics_analyzer/doc: Add metrics analyzer doc",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-07-03T12:11:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17da2bca9f9fb3c0797321f45ddb736cc0766c62",
          "body": "This patch adds the initial set-up for unit tests for this module\nand includes two brief tests to cover the addition to the gtimer\nget timestamp function.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I4ab3da912e3c7fca67e20fe13da2e3654ac8a25d",
          "is_bot": false,
          "headline": "mod/gtimer: add unit tests for the change to timestamps",
          "author_name": "Katherine Vincent",
          "author_login": "katvin01",
          "committed_at": "2024-07-01T16:05:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "50d31535e250eeee97677d4fa3e333ab358be78f",
          "body": "If a call is made to request a timestamp, which uses the element\nconfiguration to read the corresponding registers, then it will\nnow return 0 if the module has yet to be initialised. This prevents\nerroneously reading a memory location prior to it being set up\nensuring it fails in a way that does not crash the system.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I3c896823041eef71221c0a39da2e9dd62ea95617",
          "is_bot": false,
          "headline": "mod/gtimer: return 0 if timestamp registers uninitalised",
          "author_name": "Katherine Vincent",
          "author_login": "katvin01",
          "committed_at": "2024-07-01T16:05:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7080140310f0d961ef1d39c1fa8da44cbaf4d264",
          "body": "… to printing\n\nThe purpose of this change is to ensure that the PL011 module will not start\nprinting UART until the module has been initalised.\n\nIt also includes corresponding unit tests.\n\nSigned-off-by: Katherine Vincent <katherine.vincent@arm.com>\nChange-Id: I0d22ffbe6e4aaa7ad3b229848705e8ca77e7d475",
          "is_bot": false,
          "headline": "mod/pl011: Introduce a check to ensure the module is initalised prior…",
          "author_name": "Katherine Vincent",
          "author_login": "katvin01",
          "committed_at": "2024-07-01T15:31:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5f955445f4fe84811bdd3765d5893dbb86d574e",
          "body": "This change defines the per agent mapping config for OSPM\nand PSCI in SCMI Power protocol. It only introduces the mapping\nfor JUNO and not change the behaviour as all ten power domains\nare still exposed to both the agents.\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com>\nChange-Id: I2469b7da83742b2c4e5c41da7654a4836bc790d2",
          "is_bot": false,
          "headline": "juno: Add per agent mapping in SCMI Power protocol",
          "author_name": "Abhishek Rawat",
          "author_login": "abhishek-arm",
          "committed_at": "2024-06-28T15:39:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1e5d1255abde33401f8eff72d97100bb25db689",
          "body": "This change adds unit tests for new per agent mapping feature.\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com\nChange-Id: I7ea1c4ce97322ef96ddb04d584e78611d83d5265",
          "is_bot": false,
          "headline": "scmi_power_domain: Add unit tests for per agent mapping",
          "author_name": "Abhishek Rawat",
          "author_login": "abhishek-arm",
          "committed_at": "2024-06-28T15:39:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6efe7bfc51a68c94f778c4a0fd4a30fa63833d60",
          "body": "This change adds per agent view for SCMI Power protocol.\nIt allows platforms to define agent's relative mapping of power\ndomains and consequently limits their visibility of domains\nas per their scope of operability. SCMI power_domain handles\nan additional layer of translation (agent_pd_index --> power_hal_domain_index).\n\nSigned-off-by: Abhishek Rawat <abhishek.rawat@arm.com>\nChange-Id: Idc9d60de49a4f5289f472c8334feb9d39c6f634c",
          "is_bot": false,
          "headline": "scmi_power_domain: Add agent context handling in scmi_power_domain",
          "author_name": "Abhishek Rawat",
          "author_login": "abhishek-arm",
          "committed_at": "2024-06-28T15:39:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6981bbe59829515d67f9b63b0958f7ec53d2e502",
          "body": "This patch updates the cppcheck suppression list to include\nelements missing from the update from version V2.8 to V1.90.\n\nSigned-off-by: Leandro Belli <leandro.belli@arm.com>\nChange-Id: I4d6857f5c3cd53d1c2cf2c8ab52fcfb913ffe61f",
          "is_bot": false,
          "headline": "cppcheck: Update suppression list for version change",
          "author_name": "Leandro Belli",
          "author_login": "leandro-arm",
          "committed_at": "2024-06-25T13:27:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a04a919b079ca4b0101b3bc0f285578a59e843ed",
          "body": "This patch removes all the remaining false positve case in 1.90.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cppcheck: Modify suppression list for cppcheck 2.8 landing",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T17:20:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6b1147392e43aef249db56d93e1007721e382dc2",
          "body": "Adding a default tag for the untagged jobs to run on arm64 runners\n\nSigned-off-by: Mohamed Omar Asaker <mohamed.omarasaker@arm.com>",
          "is_bot": false,
          "headline": "ci: Add default for untagged jobs",
          "author_name": "Mohamed Omar Asaker",
          "author_login": "mohamedasaker-arm",
          "committed_at": "2024-06-24T14:30:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd5ef3fc2732ea1a452c93f86b5aff6e68368770",
          "body": "This patch updates document/script to cppcheck V2.8 and bypass error ids with\nunknown macro before switching to V2.8 which is also compatible with V1.90.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cppcheck: Update guide, wrapper and suppression list",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c09e6513c90e3dd72a1213a34c3dd910b613f918",
          "body": "Fixes the error with id:\n- arrayIndexOutOfBoundsCond\n- constStatement\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "product/synquacer: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8fcf2d53d28d77ceb7ab255d08ff5accba845521",
          "body": "Fixes the error with id:\n- constVariable\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "product/rcar: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "390e32b7a87ff3ed2443f87728aedad1c30bcc4a",
          "body": "Fixes the error with id:\n- constParameter\n- unassignedVariable\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "product/n1sdp: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0485def8e0ede6e8ba6e5cd0f25dbe8f3c420aba",
          "body": "Fixes the error with id:\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "product/morello: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0b6d8c2fac043c37958fa1381e31551ab2af99e7",
          "body": "Fixes the error with id:\n- constParameter\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "product/juno: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7caaa95153d04d116b6c4925efd76125ff2f3e3",
          "body": "Fixes the cppcheck V2.8 warning with id knownConditionTrueFalse. There is no\nneed to check the condition within the inner if-else statement since condition\n'hnf_node_pos.port_num<=region_hnf_pos_end.port_num' is alongside with boundary\ncheck and is always true.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "cmn700: Refines conditional check flow in `is_hnf_inside_rect()`",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "caf8c71eaa73d7807000c4f8df2c67e37071b5b8",
          "body": "For sensor_enable/disable, this patch removes duplicate statement to get\nsensor_dev_ctx by element index. In additions, this patch applies 'const' to\nfunction parameter in preparation for switching to cppcheck V2.8.\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "mod_sensor: Refine sensor_enable/disable and fix potential defects.",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "968ce826c4352571a5dc8c1577c6741f88525ba8",
          "body": "Fixes the error with id:\n- arrayIndexOutOfBoundsCond\n- constParameter\n- constStatement\n- constVariable\n- knownConditionTrueFalse\n- missingReturn\n- nullPointer\n- unreadVariable\n\nSigned-off-by: Wei-Chia Su <Wei-Chia.Su@arm.com>",
          "is_bot": false,
          "headline": "module: Resolve defect with cppcheck V2.8",
          "author_name": "Wei-Chia Su",
          "author_login": null,
          "committed_at": "2024-06-24T13:31:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 26,
      "commits_last_year": 0,
      "latest_release_at": "2024-03-08T16:00:01Z",
      "latest_release_tag": "v2.14.0",
      "releases_from_tags": true,
      "days_since_last_push": 701,
      "active_weeks_last_year": 0,
      "days_since_latest_release": 866,
      "mean_days_between_releases": 78.7
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 62,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 196,
      "stars": 265,
      "watchers": 2,
      "fork_history": {
        "days": [
          {
            "date": "2018-07-25",
            "count": 3
          },
          {
            "date": "2018-08-14",
            "count": 1
          },
          {
            "date": "2018-08-30",
            "count": 1
          },
          {
            "date": "2018-09-03",
            "count": 1
          },
          {
            "date": "2018-09-06",
            "count": 1
          },
          {
            "date": "2018-09-19",
            "count": 1
          },
          {
            "date": "2018-10-19",
            "count": 1
          },
          {
            "date": "2018-10-26",
            "count": 1
          },
          {
            "date": "2018-11-16",
            "count": 1
          },
          {
            "date": "2018-12-14",
            "count": 1
          },
          {
            "date": "2019-01-08",
            "count": 1
          },
          {
            "date": "2019-02-22",
            "count": 1
          },
          {
            "date": "2019-02-28",
            "count": 1
          },
          {
            "date": "2019-03-02",
            "count": 1
          },
          {
            "date": "2019-03-07",
            "count": 1
          },
          {
            "date": "2019-03-22",
            "count": 1
          },
          {
            "date": "2019-05-03",
            "count": 1
          },
          {
            "date": "2019-05-12",
            "count": 1
          },
          {
            "date": "2019-05-22",
            "count": 1
          },
          {
            "date": "2019-06-18",
            "count": 2
          },
          {
            "date": "2019-07-05",
            "count": 1
          },
          {
            "date": "2019-07-26",
            "count": 1
          },
          {
            "date": "2019-08-20",
            "count": 1
          },
          {
            "date": "2019-08-23",
            "count": 2
          },
          {
            "date": "2019-08-26",
            "count": 1
          },
          {
            "date": "2019-08-28",
            "count": 1
          },
          {
            "date": "2019-09-25",
            "count": 1
          },
          {
            "date": "2019-10-16",
            "count": 1
          },
          {
            "date": "2019-10-18",
            "count": 2
          },
          {
            "date": "2019-11-13",
            "count": 1
          },
          {
            "date": "2020-01-13",
            "count": 1
          },
          {
            "date": "2020-01-15",
            "count": 1
          },
          {
            "date": "2020-01-31",
            "count": 1
          },
          {
            "date": "2020-02-05",
            "count": 1
          },
          {
            "date": "2020-02-10",
            "count": 1
          },
          {
            "date": "2020-02-25",
            "count": 1
          },
          {
            "date": "2020-02-27",
            "count": 1
          },
          {
            "date": "2020-03-03",
            "count": 1
          },
          {
            "date": "2020-03-23",
            "count": 2
          },
          {
            "date": "2020-04-13",
            "count": 1
          },
          {
            "date": "2020-05-05",
            "count": 1
          },
          {
            "date": "2020-05-06",
            "count": 1
          },
          {
            "date": "2020-05-14",
            "count": 1
          },
          {
            "date": "2020-05-19",
            "count": 2
          },
          {
            "date": "2020-05-22",
            "count": 1
          },
          {
            "date": "2020-06-08",
            "count": 2
          },
          {
            "date": "2020-06-15",
            "count": 1
          },
          {
            "date": "2020-07-02",
            "count": 1
          },
          {
            "date": "2020-07-04",
            "count": 1
          },
          {
            "date": "2020-07-07",
            "count": 1
          },
          {
            "date": "2020-08-13",
            "count": 1
          },
          {
            "date": "2020-08-16",
            "count": 1
          },
          {
            "date": "2020-08-25",
            "count": 1
          },
          {
            "date": "2020-09-08",
            "count": 1
          },
          {
            "date": "2020-10-08",
            "count": 1
          },
          {
            "date": "2020-10-29",
            "count": 1
          },
          {
            "date": "2020-11-21",
            "count": 1
          },
          {
            "date": "2021-01-11",
            "count": 1
          },
          {
            "date": "2021-01-21",
            "count": 1
          },
          {
            "date": "2021-02-15",
            "count": 1
          },
          {
            "date": "2021-02-23",
            "count": 1
          },
          {
            "date": "2021-02-24",
            "count": 1
          },
          {
            "date": "2021-03-02",
            "count": 1
          },
          {
            "date": "2021-03-04",
            "count": 1
          },
          {
            "date": "2021-03-17",
            "count": 1
          },
          {
            "date": "2021-03-18",
            "count": 2
          },
          {
            "date": "2021-03-26",
            "count": 3
          },
          {
            "date": "2021-05-26",
            "count": 2
          },
          {
            "date": "2021-05-27",
            "count": 1
          },
          {
            "date": "2021-06-04",
            "count": 1
          },
          {
            "date": "2021-06-16",
            "count": 1
          },
          {
            "date": "2021-06-29",
            "count": 1
          },
          {
            "date": "2021-07-03",
            "count": 1
          },
          {
            "date": "2021-07-04",
            "count": 1
          },
          {
            "date": "2021-07-17",
            "count": 1
          },
          {
            "date": "2021-08-01",
            "count": 1
          },
          {
            "date": "2021-11-01",
            "count": 1
          },
          {
            "date": "2021-11-05",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-12-20",
            "count": 1
          },
          {
            "date": "2021-12-29",
            "count": 1
          },
          {
            "date": "2021-12-30",
            "count": 1
          },
          {
            "date": "2022-01-06",
            "count": 1
          },
          {
            "date": "2022-01-12",
            "count": 1
          },
          {
            "date": "2022-01-26",
            "count": 1
          },
          {
            "date": "2022-01-31",
            "count": 1
          },
          {
            "date": "2022-02-06",
            "count": 1
          },
          {
            "date": "2022-02-10",
            "count": 1
          },
          {
            "date": "2022-02-16",
            "count": 2
          },
          {
            "date": "2022-02-22",
            "count": 1
          },
          {
            "date": "2022-02-28",
            "count": 1
          },
          {
            "date": "2022-03-10",
            "count": 1
          },
          {
            "date": "2022-04-21",
            "count": 1
          },
          {
            "date": "2022-04-28",
            "count": 1
          },
          {
            "date": "2022-05-13",
            "count": 1
          },
          {
            "date": "2022-06-17",
            "count": 1
          },
          {
            "date": "2022-06-27",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 1
          },
          {
            "date": "2022-07-25",
            "count": 1
          },
          {
            "date": "2022-07-30",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-11-06",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-12-06",
            "count": 1
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2022-12-13",
            "count": 1
          },
          {
            "date": "2023-01-10",
            "count": 1
          },
          {
            "date": "2023-01-24",
            "count": 1
          },
          {
            "date": "2023-02-08",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 2
          },
          {
            "date": "2023-02-23",
            "count": 1
          },
          {
            "date": "2023-03-16",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-16",
            "count": 1
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-09",
            "count": 2
          },
          {
            "date": "2023-06-14",
            "count": 1
          },
          {
            "date": "2023-06-16",
            "count": 2
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-26",
            "count": 1
          },
          {
            "date": "2023-07-07",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-16",
            "count": 1
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-29",
            "count": 2
          },
          {
            "date": "2023-10-04",
            "count": 1
          },
          {
            "date": "2023-11-08",
            "count": 1
          },
          {
            "date": "2023-11-13",
            "count": 1
          },
          {
            "date": "2023-12-07",
            "count": 1
          },
          {
            "date": "2023-12-12",
            "count": 1
          },
          {
            "date": "2023-12-14",
            "count": 1
          },
          {
            "date": "2024-01-24",
            "count": 1
          },
          {
            "date": "2024-02-05",
            "count": 1
          },
          {
            "date": "2024-03-29",
            "count": 1
          },
          {
            "date": "2024-04-01",
            "count": 2
          },
          {
            "date": "2024-04-09",
            "count": 1
          },
          {
            "date": "2024-06-24",
            "count": 2
          },
          {
            "date": "2024-06-25",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-12",
            "count": 1
          },
          {
            "date": "2024-07-15",
            "count": 1
          },
          {
            "date": "2024-07-25",
            "count": 1
          },
          {
            "date": "2024-08-19",
            "count": 1
          },
          {
            "date": "2024-10-22",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-01",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2024-12-26",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 2
          },
          {
            "date": "2025-02-01",
            "count": 1
          },
          {
            "date": "2025-03-06",
            "count": 1
          },
          {
            "date": "2025-04-02",
            "count": 1
          },
          {
            "date": "2025-07-19",
            "count": 1
          },
          {
            "date": "2025-10-15",
            "count": 2
          },
          {
            "date": "2025-11-15",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2026-01-15",
            "count": 1
          },
          {
            "date": "2026-01-29",
            "count": 2
          },
          {
            "date": "2026-02-26",
            "count": 1
          },
          {
            "date": "2026-04-09",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          },
          {
            "date": "2026-05-15",
            "count": 1
          },
          {
            "date": "2026-05-30",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 195,
        "total_forks": 196
      },
      "star_history": null,
      "open_issues_and_prs": 3
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [],
      "largest_source_bytes": 409650,
      "source_files_sampled": 2197,
      "oversized_source_files": 39,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "requirements.txt"
      ],
      "advisories": {
        "error": "No resolved dependencies to assess",
        "scope": "repository_graph",
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "pypi"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [],
        "collected": true,
        "truncated": false,
        "total_count": 0,
        "direct_count": 0,
        "indirect_count": 0
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 0,
        "merged_prs": 774,
        "open_issues": 3,
        "closed_ratio": 0.885,
        "closed_issues": 23,
        "closed_unmerged_prs": 96
      },
      "bus_factor": 8,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "nicola-mazzucato-arm",
          "commits": 375,
          "avatar_url": "https://avatars.githubusercontent.com/u/42373140?v=4"
        },
        {
          "type": "User",
          "login": "CJKay",
          "commits": 224,
          "avatar_url": "https://avatars.githubusercontent.com/u/1470499?v=4"
        },
        {
          "type": "User",
          "login": "leandro-arm",
          "commits": 186,
          "avatar_url": "https://avatars.githubusercontent.com/u/66436985?v=4"
        },
        {
          "type": "User",
          "login": "manojkumar-arm",
          "commits": 172,
          "avatar_url": "https://avatars.githubusercontent.com/u/35599589?v=4"
        },
        {
          "type": "User",
          "login": "shriram-k-arm",
          "commits": 156,
          "avatar_url": "https://avatars.githubusercontent.com/u/84845124?v=4"
        },
        {
          "type": "User",
          "login": "vijayenthiran-arm",
          "commits": 147,
          "avatar_url": "https://avatars.githubusercontent.com/u/45235138?v=4"
        },
        {
          "type": "User",
          "login": "girishpathak",
          "commits": 125,
          "avatar_url": "https://avatars.githubusercontent.com/u/11646433?v=4"
        },
        {
          "type": "User",
          "login": "jimqui01",
          "commits": 109,
          "avatar_url": "https://avatars.githubusercontent.com/u/54316584?v=4"
        },
        {
          "type": "User",
          "login": "adiang01",
          "commits": 108,
          "avatar_url": "https://avatars.githubusercontent.com/u/49706881?v=4"
        },
        {
          "type": "User",
          "login": "tarek-arm",
          "commits": 92,
          "avatar_url": "https://avatars.githubusercontent.com/u/56722698?v=4"
        }
      ],
      "contributors_sampled": 86,
      "top_contributor_share": 0.133
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "scp_gitlab_mirroring.yml",
        "scp_pr_auto_message.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": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 12 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 9,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "project is archived",
            "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": 7,
            "reason": "dependency not pinned by hash detected -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 10,
            "reason": "0 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "b34e5ceb5bab4bb351e0ba4b86c2f8a539cdbbb4",
        "ran_at": "2026-07-22T18:10:44Z",
        "aggregate_score": 4.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": null,
      "oldest_open_prs": [],
      "last_merged_pr_at": "2023-12-13T09:26:41Z",
      "ci_last_conclusion": null,
      "oldest_open_issues": [
        {
          "number": 560,
          "created_at": "2021-11-25T17:09:33Z",
          "last_comment_at": "2023-12-06T20:48:14Z",
          "last_comment_author": "nicola-mazzucato-arm"
        },
        {
          "number": 892,
          "created_at": "2024-02-27T02:59:04Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 893,
          "created_at": "2024-04-08T07:02:09Z",
          "last_comment_at": "2024-08-16T08:02:00Z",
          "last_comment_author": "tarek-arm"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/ARM-software/SCP-firmware",
    "host": "github.com",
    "name": "SCP-firmware",
    "owner": "ARM-software"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "critical",
      "name": "Overall health",
      "note": "Abandonment Policy applies a 40% multiplier to weighted overall health and gives it a ceiling of 29.",
      "notes": [
        {
          "code": "abandonment_overall_adjustment",
          "params": {
            "cap": 29,
            "pct": 40
          }
        }
      ],
      "value": 23,
      "inputs": {
        "security": 46,
        "vitality": 17,
        "community": 61,
        "governance": 85,
        "engineering": 72,
        "abandonment_cap": 29,
        "abandonment_state": "declared",
        "abandonment_multiplier": 40,
        "weighted_overall_before_abandonment": 57,
        "overall_after_abandonment_multiplier": 23
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "critical",
        "name": "Vitality",
        "value": 17,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "critical",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "commits_last_year": 0,
              "human_commit_share": 1,
              "days_since_last_push": 701,
              "active_weeks_last_year": 0
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 701 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 701
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "0/52 weeks with commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "0 commits in the last year",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "at_risk",
            "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": 40,
            "inputs": {
              "releases_count": 26,
              "latest_release_tag": "v2.14.0",
              "releases_from_tags": true,
              "days_since_latest_release": 866,
              "mean_days_between_releases": 78.7
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "26 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 26
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 866 days ago",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 866
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~78.7 days",
                "points": 19.8,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 78.7
                    }
                  }
                ],
                "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": "at_risk",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "cap": 29,
              "state": "declared",
              "guards": [],
              "signals": [],
              "red_flag": true,
              "multiplier_pct": 40,
              "declared_reason": "archived",
              "unverified_reason": null,
              "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": "the repository is archived on GitHub",
                "points": 40,
                "status": "partial",
                "details": [
                  {
                    "code": "abandonment_archived",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 61,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "forks": 196,
              "stars": 265,
              "watchers": 2,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "265 stars",
                "points": 39.3,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 265
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "196 forks",
                "points": 19.1,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 196
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "2 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "moderate",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file present, not a recognized license",
                "points": 16.9,
                "status": "partial",
                "details": [
                  {
                    "code": "license_custom",
                    "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": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "excellent",
        "name": "Sustainability & Governance",
        "value": 85,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 97,
            "inputs": {
              "bus_factor": 8,
              "contributors_sampled": 86,
              "top_contributor_share": 0.133
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "8 contributor(s) cover half of all commits",
                "points": 54,
                "status": "met",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 8
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 13% of commits",
                "points": 19.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 13
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "86 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 86
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 12 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "merged_prs": 774,
              "open_issues": 3,
              "closed_issues": 23,
              "issue_closed_ratio": 0.885,
              "closed_unmerged_prs": 96
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "88% of issues closed",
                "points": 41.4,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 88
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "774/870 decided PRs merged",
                "points": 34,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 774,
                      "decided": 870
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 2615,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "ARM-software",
              "public_repos": 195,
              "account_age_days": 4663
            },
            "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,615 followers of ARM-software",
                "points": 24.6,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 2615,
                      "login": "ARM-software"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "195 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 195
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 72,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "2 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 2
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": "https://gitlab.arm.com/firmware/SCP-firmware",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://gitlab.arm.com/firmware/SCP-firmware",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 46,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "ci_tests",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 14,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 4,
              "scorecard_aggregate": 4.6
            },
            "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": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 12 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "project is archived",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 7",
                "points": 3.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "0 existing vulnerabilities detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 8
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 55,
        "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": 1,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 100,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 50,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "C (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 7",
                "points": 7,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "C",
              "largest_source_bytes": 409650,
              "source_files_sampled": 2197,
              "oversized_source_files": 39
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "C (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "C"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "39/2197 source files over 60KB",
                "points": 54,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 2197,
                      "oversized": 39
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-22T18:11:02.567137Z",
  "schema_version": "0.26.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/ARM-software/SCP-firmware.svg",
  "full_name": "ARM-software/SCP-firmware",
  "license_state": "custom",
  "license_spdx": null
}

Bewertungen sind Signale, keine Garantien. Sie spiegeln öffentlich sichtbare Praxis auf GitHub wider — kein Code-Audit und keine Sicherheitsgarantie.

Fehlende Daten werden ausgeschlossen und die Gewichte neu normiert, nie als null bewertet. Die Methodik ist versioniert und offen: Metriken v1.13.0, Schema v0.26.0 — vollständige Methodik · Metriken-Wiki.

Wie ein einzelnes Ergebnis im Gesamtregister steht: aggregierte Statistiken.