Skip to main content

SIG scores

This page is our own measurement, not Sigrid. We run gate 122 (check_sig_maintainability.py --profile five-star) on each app's development branch. The result estimates what the Software Improvement Group (SIG) will say in Sigrid. Sigrid uses its own parsers and scoping, so its numbers can differ.

Measured on 2026-11-04. The commit under each app name is the head that was measured.

Why the scores jump from 1 November 2026

Until 31 October 2026 the fleet followed the Nextcloud coding standards. From 1 November 2026 we apply the SIG maintainability rules of the SIG/TÜV NORD guidance. Gates 122 and 123 check them on every change. That is why the scores rise from 1 November.

How to read the matrix​

Each column is an app. Each row is one SIG check for one language. A cell shows the star level the check earns, with the measured share under it. Hover a cell for the value and both limits.

  • Unit size, complexity and interfacing: the share of unit code above the bound, for example the code in units longer than 15 lines.
  • Duplication: the share of redundant lines, in fragments of 6 lines or more.
  • Module coupling: the share of module code in files with more than 10, 20 or 50 incoming dependencies.
  • Component independence: the share of code that no other component calls. Higher is better here. For every other check, lower is better.

The 4-star limits come from the SIG/TUV NORD CERT Guidance for Producers v17.0. SIG publishes no 5-star limits, so our 5-star yardstick is half of each 4-star limit. The guidance also gives no limits for 3, 2 or 1 stars. A check that misses 4 stars is therefore shown as <4, not as an estimated lower star.

The totals at the top count the checks per app. An app is only measured on the languages it contains, so the totals differ between apps. The percentages and the average above the matrix are our own figures, not SIG scores.

The matrix scrolls in both directions. Use the search box to show only the apps you want to compare.

A cell with a ring and a lock is floored. Gate 123 holds that check: the app met it when its floor was recorded, and a change that loses it fails. The "floored checks" row counts them and shows the commit the floor was recorded at. Floors come from each app's .github/sig-floor.json on development, read on 2026-11-04. They can be newer than the measurement, so a floored cell can still show <4 until the next measurement.

  • 5 meets our 5-star yardstick, half of each 4-star limit
  • 4 meets the 4-star limit of the guidance
  • <4 misses the 4-star limit; the guidance gives no limits for 3, 2 or 1 stars
  • 4 floored: gate 123 refuses a change that loses this check
  • · the app has no code in this language

All 20 apps: 601 of 758 checks at 4 stars or better (79%). This average is our own figure, not a SIG score.

Showing 20 of 20 apps
checkbuildiq6e5bb7eddecidiq527cc29ddossiq7b7f39dcfilinqe4aaaf0dhermiq5441f8bchumaniq5a66e36aintegriq4e77e956keepiq8288f8b5larpinq4bb8327claunchpadcb104a99learniq4cb9cddaopencatalogi63c364fcopenregister05806b13pipelinqadf78a64planninq562b6113portaliqa66e0840shillinqd4b35508stackiq7f5b3499thematiq9deef849versioniq0ee3a27e
checks at 4 stars or betterand the share of the app's checks26/3476%27/3479%19/3456%40/4491%25/3474%30/3488%26/3476%46/5879%33/3497%28/3482%22/3465%40/4491%43/5874%21/3462%33/3497%24/3471%32/4473%24/3471%21/2488%41/4493%
checks at 5 stars16/3419/3412/3432/4416/3422/3424/3431/5827/3419/3414/3420/4437/5813/3422/3412/3427/4413/3418/2437/44
floored checksfloor recorded at commit27fa904a53244242e8e11939ea188e40aff2d6052557a9fd9829d83ab23e2645eaf57646441230ac29ebf9d6ef289080e1fa22200757f839d34462cb43eb3a39082135f34859323b8ff73f24debf1d9b327a3bf1b617dd80cc1c21c2740962418a3e548d
php
unit size >154-star at most 47.1%, 5-star at most 23.6%<473.7%<457.3%<465.2%<457.8%<469.7%<453.8%<467.6%<455.8%440.3%<471.6%<459.0%446.1%<471.1%<466.0%4floored35.5%<458.4%<471.3%<480.7%4floored45.7%4floored35.8%
unit size >304-star at most 23.1%, 5-star at most 11.6%<437.8%422.8%<425.3%4floored14.9%<433.2%4floored14.8%<431.5%4floored23.1%5floored4.8%<436.0%419.5%4floored12.3%<438.8%<428.3%5floored4.3%4floored17.3%<442.4%<456.4%5floored10.0%5floored7.0%
unit size >604-star at most 8.3%, 5-star at most 4.2%4floored6.9%5floored3.3%5floored2.2%5floored0.1%4floored6.3%5floored2.6%5floored3.9%5floored2.1%5floored1.1%5floored2.7%5floored1.3%5floored0.8%<410.6%5floored3.6%5floored0.0%5floored1.4%<413.6%<428.2%5floored0.0%5floored0.0%
unit complexity >54-star at most 20.2%, 5-star at most 10.1%<446.8%<429.8%<435.4%4floored19.9%<435.1%<437.9%<432.9%<425.5%415.6%<434.4%<432.5%<421.0%<442.9%<437.6%4floored10.3%<442.2%<444.0%<446.0%<427.7%<421.6%
unit complexity >104-star at most 7.3%, 5-star at most 3.7%4floored7.0%5floored0.3%5floored0.8%5floored0.1%5floored3.5%5floored3.3%5floored3.5%5floored1.8%5floored0.0%5floored2.0%5floored0.1%5floored1.2%<410.0%5floored3.2%5floored0.4%5floored0.7%<48.0%<414.5%5floored0.0%5floored1.8%
unit complexity >254-star at most 1.1%, 5-star at most 0.5%4floored0.6%5floored0.0%5floored0.0%5floored0.0%4floored0.8%5floored0.5%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%4floored1.0%5floored0.0%5floored0.0%5floored0.0%5floored0.3%<42.8%5floored0.0%5floored0.0%
unit interfacing >=34-star at most 15.0%, 5-star at most 7.5%<429.3%<422.7%<430.2%<422.1%<429.4%<425.1%<428.4%<435.5%413.3%<425.0%<423.7%4floored12.7%<434.3%<424.3%414.4%<436.2%<426.7%413.1%<421.8%<417.2%
unit interfacing >=54-star at most 3.3%, 5-star at most 1.7%<46.6%<45.1%<48.8%<45.1%<411.5%4floored3.3%<49.6%<412.1%42.5%4floored2.3%<44.7%4floored2.5%<411.5%<46.0%4floored2.8%<412.9%<47.8%4floored2.7%4floored2.7%4floored1.7%
unit interfacing >=74-star at most 0.9%, 5-star at most 0.4%4floored0.6%<41.1%<42.1%5floored0.3%<44.6%5floored0.4%<43.5%<44.4%5floored0.2%4floored0.6%4floored0.7%4floored0.6%<44.0%4floored0.8%4floored0.8%<44.6%<42.2%4floored0.5%5floored0.3%5floored0.1%
duplication4-star at most 5.6%, 5-star at most 2.8%4floored5.2%4floored5.0%<47.2%4floored4.5%<48.7%45.4%<47.6%<47.4%5floored2.1%<47.2%<411.0%4floored3.7%<48.3%<411.5%4floored3.5%45.4%<412.1%<49.0%5floored1.8%5floored1.9%
module coupling fan-in >104-star at most 10.0%, 5-star at most 5.0%5floored3.6%5floored2.1%5floored3.4%5floored1.4%4floored9.0%5floored3.7%5floored2.8%4floored7.4%5floored2.5%4floored5.1%5floored0.7%5floored0.4%<411.6%5floored1.7%4floored7.0%4floored6.1%5floored1.1%4floored9.3%4floored6.5%5floored2.7%
module coupling fan-in >204-star at most 5.6%, 5-star at most 2.8%5floored1.5%5floored0.4%5floored1.2%5floored0.4%5floored0.9%4floored3.1%5floored0.2%4floored3.0%5floored2.5%4floored2.8%5floored0.5%5floored0.2%<48.1%5floored1.0%4floored3.9%4floored3.5%5floored1.1%<49.3%5floored2.1%5floored0.2%
module coupling fan-in >504-star at most 1.9%, 5-star at most 0.9%5floored0.0%5floored0.1%5floored0.5%5floored0.0%5floored0.3%4floored1.8%5floored0.0%4floored1.6%5floored0.0%5floored0.5%5floored0.3%5floored0.0%<45.0%5floored0.5%5floored0.0%5floored0.6%5floored0.9%50.0%5floored0.2%5floored0.0%
component independence4-star at least 93.7%, 5-star at least 96.9%<446.1%<445.6%<449.4%4floored93.8%<446.1%<446.2%4floored93.7%<445.0%<448.7%<440.4%<445.1%4floored94.0%<450.9%<443.4%<451.0%<446.4%<452.6%<431.2%<450.1%<464.1%
javascript
unit size >154-star at most 47.1%, 5-star at most 23.6%4floored33.7%4floored29.2%<449.4%4floored34.9%4floored34.3%5floored17.9%5floored16.0%<451.3%5floored21.4%4floored32.1%4floored42.8%4floored24.6%5floored21.9%4floored41.4%5floored21.2%4floored44.1%4floored27.0%438.0%5floored0.0%5floored18.4%
unit size >304-star at most 23.1%, 5-star at most 11.6%5floored4.9%5floored2.7%4floored21.5%5floored6.9%5floored11.4%5floored0.0%5floored0.0%4floored15.9%5floored2.2%5floored2.9%4floored12.3%4floored12.5%5floored1.2%4floored15.0%5floored0.0%4floored11.8%5floored3.7%412.9%5floored0.0%5floored0.0%
unit size >604-star at most 8.3%, 5-star at most 4.2%5floored0.0%5floored0.0%4floored5.1%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored1.9%5floored0.0%5floored0.0%5floored2.3%4floored5.9%5floored0.0%4floored4.7%5floored0.0%5floored2.9%5floored0.0%50.0%5floored0.0%5floored0.0%
unit complexity >54-star at most 20.2%, 5-star at most 10.1%4floored18.6%419.8%<440.2%4floored19.4%4floored18.4%5floored6.7%5floored1.9%<430.3%5floored6.1%4floored17.5%<446.5%5floored9.6%5floored6.7%<432.1%4floored17.5%<441.6%417.3%419.0%5floored0.0%5floored0.0%
unit complexity >104-star at most 7.3%, 5-star at most 3.7%5floored1.1%5floored1.8%<413.7%5floored0.0%5floored3.5%5floored0.0%5floored0.0%4floored5.9%5floored0.0%5floored0.3%<411.2%5floored2.8%5floored0.3%<48.9%5floored1.6%<411.3%5floored2.6%50.7%5floored0.0%5floored0.0%
unit complexity >254-star at most 1.1%, 5-star at most 0.5%5floored0.0%5floored0.0%<42.6%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%4floored0.9%5floored0.0%5floored0.0%5floored0.0%5floored0.0%
unit interfacing >=34-star at most 15.0%, 5-star at most 7.5%5floored5.2%4floored8.5%4floored9.1%5floored4.5%5floored6.9%5floored6.4%5floored3.3%4floored11.0%5floored2.1%5floored3.4%4floored10.8%5floored4.9%5floored4.9%4floored8.4%4floored12.7%4floored14.5%5floored7.0%5floored6.0%5floored0.0%5floored0.0%
unit interfacing >=54-star at most 3.3%, 5-star at most 1.7%5floored0.0%5floored1.0%5floored1.2%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.3%5floored0.0%5floored0.0%4floored1.7%5floored0.8%5floored0.2%5floored0.8%5floored0.0%5floored0.6%5floored0.9%5floored0.8%5floored0.0%5floored0.0%
unit interfacing >=74-star at most 0.9%, 5-star at most 0.4%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.1%5floored0.0%5floored0.0%5floored0.0%5floored0.0%
duplication4-star at most 5.6%, 5-star at most 2.8%5floored2.3%5floored1.6%4floored2.9%5floored2.4%5floored2.5%5floored1.7%5floored0.0%5floored2.1%5floored1.3%5floored1.0%5floored1.1%5floored1.8%5floored1.8%5floored2.4%5floored1.6%5floored2.6%5floored1.1%4floored3.3%5floored0.0%5floored2.5%
typescript
unit size >154-star at most 47.1%, 5-star at most 23.6%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code4floored33.1%no typescript codeno typescript codeno typescript code4floored45.3%5floored18.8%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored12.4%
unit size >304-star at most 23.1%, 5-star at most 11.6%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code4floored12.2%no typescript codeno typescript codeno typescript code4floored14.9%5floored7.8%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
unit size >604-star at most 8.3%, 5-star at most 4.2%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code5floored1.3%no typescript codeno typescript codeno typescript code4floored7.6%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
unit complexity >54-star at most 20.2%, 5-star at most 10.1%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code<437.1%no typescript codeno typescript codeno typescript code4floored17.7%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored8.5%
unit complexity >104-star at most 7.3%, 5-star at most 3.7%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code<417.4%no typescript codeno typescript codeno typescript code4floored6.0%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
unit complexity >254-star at most 1.1%, 5-star at most 0.5%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code4floored0.8%no typescript codeno typescript codeno typescript code5floored0.0%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
unit interfacing >=34-star at most 15.0%, 5-star at most 7.5%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code4floored7.8%no typescript codeno typescript codeno typescript code5floored4.1%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored5.4%
unit interfacing >=54-star at most 3.3%, 5-star at most 1.7%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code5floored0.8%no typescript codeno typescript codeno typescript code5floored0.0%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
unit interfacing >=74-star at most 0.9%, 5-star at most 0.4%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%5floored0.0%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
duplication4-star at most 5.6%, 5-star at most 2.8%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript codeno typescript code5floored0.4%no typescript codeno typescript codeno typescript code4floored3.3%5floored0.6%no typescript codeno typescript codeno typescript code5floored0.0%no typescript codeno typescript code5floored0.0%
vue
unit size >154-star at most 47.1%, 5-star at most 23.6%4floored33.6%4floored45.6%4floored45.1%4floored33.5%4floored40.0%4floored25.1%4floored25.8%4floored36.0%4floored30.3%4floored35.7%<457.6%4floored44.4%4floored41.5%4floored40.6%5floored21.7%4floored28.5%4floored47.0%4floored43.5%no vue code4floored34.5%
unit size >304-star at most 23.1%, 5-star at most 11.6%4floored12.3%4floored12.7%4floored16.0%4floored11.9%5floored10.3%5floored2.3%5floored8.0%4floored14.1%5floored6.5%5floored8.5%<428.9%4floored18.5%4floored17.2%4floored17.0%5floored3.6%5floored10.4%4floored19.7%4floored14.1%no vue code5floored3.2%
unit size >604-star at most 8.3%, 5-star at most 4.2%5floored0.9%5floored0.0%5floored3.1%5floored2.5%5floored0.9%5floored0.0%5floored1.5%5floored2.4%5floored0.0%5floored0.0%4floored7.9%4floored4.3%4floored6.2%4floored6.0%5floored0.0%4floored4.7%5floored1.1%5floored0.8%no vue code5floored0.0%
unit complexity >54-star at most 20.2%, 5-star at most 10.1%<4floored23.3%419.9%<422.3%5floored9.1%4floored19.9%4floored10.9%5floored8.0%4floored18.4%5floored7.6%4floored19.2%<4floored26.0%<424.7%4floored19.4%<424.9%5floored8.2%4floored16.3%<4floored24.3%4floored18.8%no vue code4floored15.1%
unit complexity >104-star at most 7.3%, 5-star at most 3.7%4floored5.7%5floored1.8%4floored6.7%5floored2.2%4floored4.5%5floored0.0%5floored0.0%4floored4.4%5floored1.6%5floored2.8%4floored6.1%<48.3%4floored4.7%<48.0%5floored2.1%4floored5.1%4floored4.5%5floored2.4%no vue code5floored1.5%
unit complexity >254-star at most 1.1%, 5-star at most 0.5%5floored0.0%5floored0.0%<41.7%5floored0.0%4floored0.6%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%4floored0.8%<41.7%<43.4%5floored0.0%<4floored3.2%5floored0.0%5floored0.0%no vue code5floored0.0%
unit interfacing >=34-star at most 15.0%, 5-star at most 7.5%5floored2.1%5floored0.5%5floored0.5%5floored0.2%5floored0.4%5floored0.0%5floored0.5%5floored0.0%5floored0.0%5floored0.9%5floored1.5%5floored0.5%5floored0.4%5floored0.7%5floored0.7%5floored0.7%5floored1.2%5floored0.4%no vue code5floored2.2%
unit interfacing >=54-star at most 3.3%, 5-star at most 1.7%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.1%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%no vue code5floored0.0%
unit interfacing >=74-star at most 0.9%, 5-star at most 0.4%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%5floored0.0%no vue code5floored0.0%
duplication4-star at most 5.6%, 5-star at most 2.8%<410.4%<416.9%<49.4%<46.1%<412.6%4floored3.6%<49.2%<410.0%4floored3.8%4floored5.1%<410.8%<413.5%<416.5%<49.1%4floored5.3%<47.1%<49.1%<412.2%no vue code5floored2.5%
python
unit size >154-star at most 47.1%, 5-star at most 23.6%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored5.7%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit size >304-star at most 23.1%, 5-star at most 11.6%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit size >604-star at most 8.3%, 5-star at most 4.2%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit complexity >54-star at most 20.2%, 5-star at most 10.1%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit complexity >104-star at most 7.3%, 5-star at most 3.7%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit complexity >254-star at most 1.1%, 5-star at most 0.5%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit interfacing >=34-star at most 15.0%, 5-star at most 7.5%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored3.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit interfacing >=54-star at most 3.3%, 5-star at most 1.7%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
unit interfacing >=74-star at most 0.9%, 5-star at most 0.4%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
duplication4-star at most 5.6%, 5-star at most 2.8%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
module coupling fan-in >104-star at most 10.0%, 5-star at most 5.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
module coupling fan-in >204-star at most 5.6%, 5-star at most 2.8%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
module coupling fan-in >504-star at most 1.9%, 5-star at most 0.9%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python code5floored0.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code
component independence4-star at least 93.7%, 5-star at least 96.9%no python codeno python codeno python codeno python codeno python codeno python codeno python code5floored100.0%no python codeno python codeno python codeno python code5floored100.0%no python codeno python codeno python codeno python codeno python codeno python codeno python code

Floors and ratchets per app​

Besides the SIG floor, each app keeps its own floors and baselines on development. A baseline lists debt that may stay, so a lower count is better. A coverage floor is a minimum, so a higher value is better. A · means the app has no such file. Hover a cell for the file it came from. The commit under each app name is the development head that was read on 2026-11-04.

Showing 20 of 20 apps
floorbuildiq6e5bb7eddecidiq527cc29ddossiq7b7f39dcfilinqe4aaaf0dhermiq5441f8bchumaniq5a66e36aintegriq4e77e956keepiq8288f8b5larpinq4bb8327claunchpadcb104a99learniq4cb9cddaopencatalogi63c364fcopenregister05806b13pipelinqadf78a64planninq562b6113portaliqa66e0840shillinqd4b35508stackiq7f5b3499thematiq9deef849versioniq0ee3a27e
SIG floor (gate 123)4-star checks the app must keep2724194025292646292822394321322432172141
procedure code (gate 119)procedure-named classes allowed0016610010000027030010000
PHP coverage (coverage-guard)line coverage the PHP suite may not drop below57.39%57.66%29.69%61.41%68.25%77.60%60.65%55.79%67.68%49.47%71.16%70.69%58.88%45.36%69.15%79.70%57.71%13.01%77.48%none
test coverage ratchetsuite coverage per runner, raised on every gainvitest 64.72%phpunit 52.25% / vitest 1.62%phpunit 22.48% / vitest 1.03%phpunit 46.68% / vitest 4.24%nonenonevitest 2.34%phpunit 57.59% / vitest 18.31%phpunit 57.34% / vitest 8.48%nonenonephpunit 82.39% / vitest 1.59%phpunit 54.55%nonenonenonephpunit 55.42% / vitest 0.37%phpunit 0.38%phpunit 11.37% / vitest 66.25%none
debt ratchetsuppressions and ignores counted by check:debt-ratchetnonenone862nonenonenonenonenonenonenonenonenonenonenonenonenonenonenonenonenone
eslint suppressionssuppressed eslint violations123182151152160none162110none062559731nonenone0121414nonenone
phpstan baselineignored phpstan errors, all baseline files21none02662none0nonenone0139179000146nonenone
psalm baselinebaselined psalm issuesnonenonenone004nonenonenonenonenone094nonenone0nonenonenone34
phpmd baselinebaselined phpmd violations170nonenonenonenone199388nonenone106none4348026nonenonenone8nonenone
schema l10n baselineuntranslated schema strings allowed396159002130000841521512195690123012169479nonenone
.reuse-baseline.jsonother floor-like filenonenonenonenonenonenonenonenonenonenonenonenonenonenonenonepresentnonenonenonenone
l10n/.l10n-parity-baseline.jsonother floor-like filenonenonenonenonenonenonenonenonenonenonepresentnonenonenonenonenonenonenonenonenone
tests/nav-reachability-baseline.jsonother floor-like filenonenonenonenonenonenonenonenonenonenonenonenonenonenonenonenonepresentnonenonenone

Refresh the data​

The matrix reads website/src/data/sig-matrix.json. A script writes that file from gate 122 reports.

  1. Clone each app's development branch and run gate 122 on it in report mode. Write one <app>.json per app into one directory:

    python3 hydra-gates/scripts/lib/check_sig_maintainability.py report <app-dir> \
    --profile five-star --json <report-dir>/<app>.json

    The file name sets the column name, so name it after the app.

  2. Run the generator from the repository root:

    python3 website/scripts/build-sig-matrix.py <report-dir> --date YYYY-MM-DD

    Leave out --date to use the date of the newest report. The generator then reads each app's floors and baselines from development through gh api, so it needs a logged-in GitHub CLI. Add --clones DIR to read them from local clones in DIR/<app> instead, or --no-floors to keep the floors already in the file.

  3. Commit the new sig-matrix.json.

The generator takes the limits from gate 122 itself, so the matrix follows any change to the profiles. It stops when its five-star count for an app differs from the count in the gate's own report.

Back to app health.