Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-23 04:21 UTC

Helvesec / rmux

Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows.

RustВласна ліцензія★ 2 473 зірки⑂ 136 форківз трав. 2026 р.Переглянути на GitHub ↗

Helvesec/rmux має індекс здоров’я 69 зі 100, що відповідає смузі «Помірний». Найвищий показник — Engineering Quality (81/100), найнижчий — Sustainability & Governance (55/100). Останнє оновлення — сьогодні. Більшість нещодавньої роботи виконує один учасник.

69
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

69
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

HelvesecОрганізація
18 підписників8 публічних репозиторіївз трав. 2026 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
crates.iormux0.9.0521154 дні томуterminalclituimultiplexercommand-line-interface
crates.ioxtaskвказує на інший репозиторій — не оцінюється0.1.4183522 дні томуautomationmacosreleasecodesignxtaskcommand-line-utilities

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

77Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 0 дн. тому
11.1/36Ритм комітів — 16/52 тижнів із комітами
18/18Обсяг комітів — 923 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Використані вхідні дані
commits_last_year923
human_commit_share1
days_since_last_push0
active_weeks_last_year16
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 14 релізів
36/36Свіжість релізів — останній реліз 4 дн. тому
27/27Ритм релізів — реліз кожні ~6,2 дн.
6/10OpenSSF Scorecard: Signed-Releases — 4 out of the last 5 releases have a total of 4 signed artifacts.
Використані вхідні дані
releases_count14
latest_release_tagv0.9.0
releases_from_tagsні
days_since_latest_release4
mean_days_between_releases6,2

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

70Добрий · 18% загального індексу
Як обчислюється оцінка
55/60Зірки — 2 473 зірок
17.8/25Форки — 136 форків
5.8/15Спостерігачі — 12 спостерігачів
Використані вхідні дані
forks136
stars2 473
watchers12
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
16.9/22.5Ліцензія — файл ліцензії наявний, не є визнаною ліцензією
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateні
Як обчислюється оцінка
36.2/80Щомісячні завантаження — 521 завантажень/місяць у crates
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagesrmux
dependents
ecosystemscrates
total_downloads1 562
monthly_downloads521
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

55Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0.5/22.5Розподіл комітів — головний контриб’ютор — автор 98% комітів
13.5/13.5Широта контриб’юторів — 15 контриб’юторів
3/10OpenSSF Scorecard: Contributors — project has 1 contributing companies or organizations -- score normalized to 3
Використані вхідні дані
bus_factor1
contributors_sampled15
top_contributor_share0,979
Як обчислюється оцінка
41.3/46.8Вирішення issue — закрито 88% issue
21.2/38.3Прийняття PR — злито 40/72 вирішених PR
0/15OpenSSF Scorecard: Code-Review — Found 0/23 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs40
open_issues8
closed_issues61
issue_closed_ratio0,884
closed_unmerged_prs32

Власність та опіка

46У зоні ризику
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
9.2/25Охоплення власника — 18 підписників у Helvesec
7.3/25Послужний список — 8 публічних репозиторіїв, вік облікового запису ~0 р.
Використані вхідні дані
followers18
owner_typeOrganization
is_verified
owner_loginHelvesec
public_repos8
account_age_days68

Супровід пакетів

100Відмінний
Як обчислюється оцінка
25/25Опубліковано й доступно — 1 пакет(ів) у crates
35/35Свіжість публікацій — остання публікація 4 дн. тому
20/20Історія версій — 15 опублікованих версій
20/20Не застарілий — активний, не deprecated і не yanked
Використані вхідні дані
packagesrmux
ecosystemscrates
any_deprecatedні
min_days_since_publish4

Інженерна якість

Чи наявні базові інженерні практики та документація?

81Добрий · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 30 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 23 out of 23 merged PRs checked by a CI test -- score normalized to 10
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні

Документація

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://rmux.io
10/10Опис репозиторію
10/10Теми — 13 тем
10/10Wiki
Використані вхідні дані
topicsagent, ai, multiplexer, rust, cli, linux, macos, multiplexers, powershell, ratatui, terminal, tokio, windows
has_wikiтак
homepagehttps://rmux.io
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

65Помірний · 16% загального індексу

Стан безпеки

65Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
2.2/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 23 out of 23 merged PRs checked by a CI test -- score normalized to 10
1.8/2.5CII-Best-Practices — badge detected: Silver
0/7.5Code-Review — Found 0/23 approved changesets -- score normalized to 0
0.8/2.5Contributors — project has 1 contributing companies or organizations -- score normalized to 3
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
5/5Fuzzing — project is fuzzed
2.2/2.5Ліцензія — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
5/5Packaging — packaging workflow detected
5/5Pinned-Dependencies — all dependencies are pinned
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
4.5/7.5Signed-Releases — 4 out of the last 5 releases have a total of 4 signed artifacts.
7.5/7.5Token-Permissions — GitHub workflow tokens follow principle of least privilege
1.5/7.5Vulnerabilities — 8 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated18
scorecard_versionv5.5.0
checks_inconclusive0
scorecard_aggregate6,5

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

61Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 97 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,97
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
12.6/18Розгортання однією командою — Cargo.toml, crates/ratatui-rmux/Cargo.toml, crates/rmux-client/Cargo.toml (домовленість інструментарію, без раннера задач)
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — Rust (статично типізована)
10/10Відтворюване середовище — Nix, lockfile
0/10Підтверджена практика роботи з агентами — серед останніх 100 комітів немає створених агентом
5/8Автоматизоване супроводження — автоматизацію залежностей налаштовано, але у вибірці комітів її не видно
10/10OpenSSF Scorecard: Pinned-Dependencies — all dependencies are pinned
Використані вхідні дані
has_nixтак
has_testsтак
lockfilesCargo.lock
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configs
agent_commit_share0
toolchain_manifestsCargo.toml, crates/ratatui-rmux/Cargo.toml, crates/rmux-client/Cargo.toml, crates/rmux-core/Cargo.toml, crates/rmux-ipc/Cargo.toml, crates/rmux-os/Cargo.toml, crates/rmux-proto/Cargo.toml, crates/rmux-pty/Cargo.toml, crates/rmux-render-core/Cargo.toml, crates/rmux-sdk/Cargo.toml, crates/rmux-server/Cargo.toml, crates/rmux-types/Cargo.toml, crates/rmux-web-crypto/Cargo.toml, scripts/fuzz/Cargo.toml, xtask/Cargo.toml
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Rust (статично типізована)
53.7/55Керовані розміри файлів — 34/1 435 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageRust
largest_source_bytes166 604
source_files_sampled1 435
oversized_source_files34
Як обчислюється оцінка
0/40Схема API (OpenAPI/GraphQL/proto)
0/20Сервер MCP
40/40Придатні до запуску приклади — examples
Використані вхідні дані
example_dirsexamples
has_mcp_signalні
api_schema_files

Ключові факти

2 473зірок GitHub
15контриб'юторів
923комітів за останні 12 місяців
0днів від останнього пушу
14релізів
1бас-фактор
8відкритих issue
crates.ioпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • crates package 'xtask' points at a different repository (https://github.com/arcboxlabs/xtask); excluded from ecosystem scoring
  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository
  • deps.dev does not index crates:rmux@0.9.0; advisories assessed against the repository dependency graph instead

Докладніше

Історія зірок і форків 0 ★ / 136 ⇿
0Зірки
136Форки
11Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

0255075100125150136142026-052026-062026-07
Мажорні 0Мінорні 6Патчі 5
OpenSSF Scorecard 6.5 / 10
6.5сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-23 04:20 UTC

10Binary-Artifactsno binaries found in the repo
3Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests23 out of 23 merged PRs checked by a CI test -- score normalized to 10
7CII-Best-Practicesbadge detected: Silver
0Code-ReviewFound 0/23 approved changesets -- score normalized to 0
3Contributorsproject has 1 contributing companies or organizations -- score normalized to 3
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
10Fuzzingproject is fuzzed
9Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
10Packagingpackaging workflow detected
10Pinned-Dependenciesall dependencies are pinned
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
6Signed-Releases4 out of the last 5 releases have a total of 4 signed artifacts.
10Token-PermissionsGitHub workflow tokens follow principle of least privilege
2Vulnerabilities8 existing vulnerabilities detected
Прямі залежності 16
РеєстрПакетОбмеження версіїМаніфест
crates.iochrono0.4.42Cargo.toml
crates.ioclap=4.5.39Cargo.toml
crates.iolibc0.2Cargo.toml
crates.ioqrcode0.14Cargo.toml
crates.ioratatui=0.29.0Cargo.toml
crates.iormux-client0.9.0Cargo.toml
crates.iormux-core0.9.0Cargo.toml
crates.iormux-os0.9.0Cargo.toml
crates.iormux-proto0.9.0Cargo.toml
crates.iormux-server0.9.0Cargo.toml
crates.ioserde_json1.0Cargo.toml
crates.iotokio1.48.0Cargo.toml
crates.ioclap=4.5.39xtask/Cargo.toml
crates.ioclap_complete=4.5.55xtask/Cargo.toml
crates.iormux-core0.9.0xtask/Cargo.toml
crates.iormux-proto0.9.0xtask/Cargo.toml
Усі залежності не зібрано

Не вдалося зібрати розв'язаний набір залежностей для цього звіту: GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "agent",
        "ai",
        "multiplexer",
        "rust",
        "cli",
        "linux",
        "macos",
        "multiplexers",
        "powershell",
        "ratatui",
        "terminal",
        "tokio",
        "windows"
      ],
      "is_fork": false,
      "size_kb": 8461,
      "has_wiki": true,
      "homepage": "https://rmux.io",
      "languages": {
        "Nix": 3168,
        "HTML": 392,
        "Rust": 19361873,
        "Shell": 444948,
        "Python": 863482,
        "PowerShell": 225127
      },
      "pushed_at": "2026-07-22T08:47:26Z",
      "created_at": "2026-05-15T15:22:10Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-23T02:35:42Z",
      "description": "Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": null,
      "default_branch": "main",
      "license_spdx_raw": "NOASSERTION",
      "primary_language": "Rust",
      "significant_languages": [
        "Rust"
      ]
    },
    "owner": {
      "blog": null,
      "name": null,
      "type": "Organization",
      "login": "Helvesec",
      "company": null,
      "location": null,
      "followers": 18,
      "avatar_url": "https://avatars.githubusercontent.com/u/284985229?v=4",
      "created_at": "2026-05-15T14:50:15Z",
      "is_verified": null,
      "public_repos": 8,
      "account_age_days": 68
    },
    "license": {
      "state": "custom",
      "spdx_id": null,
      "raw_spdx": "NOASSERTION",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2026-07-18T15:36:41Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2026-07-02T21:19:53Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2026-06-27T00:20:49Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2026-06-25T12:15:57Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2026-06-17T11:31:05Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2026-06-17T02:46:16Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2026-06-04T01:12:10Z"
        },
        {
          "tag": "v0.4.3",
          "kind": "patch",
          "published_at": "2026-06-03T17:19:56Z"
        },
        {
          "tag": "v0.3.1",
          "kind": "patch",
          "published_at": "2026-05-25T10:26:45Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2026-05-23T19:59:24Z"
        },
        {
          "tag": "v0.2.5",
          "kind": "patch",
          "published_at": "2026-05-22T23:22:23Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2026-05-18T20:06:19Z"
        },
        {
          "tag": "v0.1.2",
          "kind": "patch",
          "published_at": "2026-05-17T11:52:02Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2026-05-16T15:49:21Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "4ec192e6577ba9019d24c9f9f93e8a42594839a2",
          "body": null,
          "is_bot": false,
          "headline": "release: audit downstream ruleset bypasses (#143)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-22T08:47:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bcce2f8febac9afa7357f566431872e43ff43d5e",
          "body": null,
          "is_bot": false,
          "headline": "release: close downstream readiness gaps (#142)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T21:19:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d84dac798b5f192b550d35d190f4c80acdf1b81a",
          "body": null,
          "is_bot": false,
          "headline": "test(windows): allow cold mouse run-shell startup (#141)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T13:24:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb7476edd72d4ee703180c63caf57ba74941a37e",
          "body": null,
          "is_bot": false,
          "headline": "release: make simulation artifact names portable (#140)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T13:06:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d853fac58ee1294e43b1ad658520a9b5b1c392b",
          "body": "Wait for the timeout countdown and use the existing bounded ConPTY injection policy so a single host-side event loss cannot make the release proof flaky.",
          "is_bot": false,
          "headline": "test(windows): stabilize Ctrl-D timeout probe (#138)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T12:10:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0fddeac5811e42c09207919b5b85da3966b059d7",
          "body": "Include the complete unprivileged policy-audit dependency set and reject incomplete local import closure before remote simulation.",
          "is_bot": false,
          "headline": "release: close policy audit bundle imports (#137)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T11:50:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "41c63e0ed2d9e4ba41701e2146834c76daef958c",
          "body": "Bind release promotion to exact tag and workflow identities, implement byte-preserving downstream channels, and add constrained Chocolatey and Snap recovery. All publication capabilities remain disarmed.",
          "is_bot": false,
          "headline": "release: prepare exact downstream publication (#136)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T10:58:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "727453d43601084767422e8ef82ecde4eae0e9b8",
          "body": "…iness\n\nrelease: bind downstream writer app",
          "is_bot": false,
          "headline": "Merge pull request #135 from Helvesec/release/pr8-downstream-app-read…",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T06:52:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1125dceb7ded8f5f88594f7d2a8e613c157ad76c",
          "body": null,
          "is_bot": false,
          "headline": "release: bind downstream writer app",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T06:43:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5e2221316915b984f1136dad099ea1b0b75a91d1",
          "body": "release: record downstream repository boundaries",
          "is_bot": false,
          "headline": "Merge pull request #134 from Helvesec/release/pr8-downstream-readiness",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T05:40:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4a611ec2b647f4163b672fff4be31c03a2858677",
          "body": null,
          "is_bot": false,
          "headline": "release: record downstream repository boundaries",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-21T05:32:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cdf53a90000e004cd78527117114c341d87e0099",
          "body": "ci: harden transient hosted-runner failures",
          "is_bot": false,
          "headline": "Merge pull request #133 from Helvesec/ci/retry-rustup-downloads",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T23:47:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b8a086a6a0dc0cc2d62654f715fed939338d42e",
          "body": null,
          "is_bot": false,
          "headline": "ci: harden transient hosted-runner failures",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T23:35:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "df21347f554345bd982df10c18403156d23fdcbc",
          "body": "ci(release): invoke promotion simulation with Python",
          "is_bot": false,
          "headline": "Merge pull request #132 from Helvesec/fix/promotion-simulation-python",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T23:19:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "79e421d7825106094a0b900ff69e24621a337ad0",
          "body": null,
          "is_bot": false,
          "headline": "ci(release): invoke promotion simulation with Python",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T23:07:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2fb48a7b2bc8c2aa98bb310acfcb437ed91ed09d",
          "body": "ci(release): record downstream protection state",
          "is_bot": false,
          "headline": "Merge pull request #131 from Helvesec/ci/sync-downstream-protections",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:59:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fb9626d1d3daf84525c7fa5f27e7893cce4d1b7",
          "body": null,
          "is_bot": false,
          "headline": "ci(release): record downstream protection state",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:50:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bba1d760b7170c7712453e024406413b65abcbf2",
          "body": "…xture\n\ntest(windows): serialize alternate-screen fixture",
          "is_bot": false,
          "headline": "Merge pull request #130 from Helvesec/fix/windows-alternate-screen-fi…",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:37:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5633a82953c9aca5ccd70577ca6e7d5deea204bf",
          "body": null,
          "is_bot": false,
          "headline": "test(windows): serialize alternate-screen fixture",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:27:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "980501a90cbb153961d6e0441098a054293e8e23",
          "body": "…ardening\n\nci(release): harden downstream payload evidence",
          "is_bot": false,
          "headline": "Merge pull request #129 from Helvesec/ci/release-downstream-payload-h…",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:13:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f298c400ccb36cbe698e5ef278fd4adf5ec0bba9",
          "body": null,
          "is_bot": false,
          "headline": "ci(release): harden downstream payload evidence",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T21:04:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "308f7f83a4044adb953cb17cf5dfff56d4144baf",
          "body": null,
          "is_bot": false,
          "headline": "test(windows): stabilize detached teammate probe",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T20:24:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "68beecb79c91d2c330a9104bdb92704051451b25",
          "body": null,
          "is_bot": false,
          "headline": "ci(release): support Python 3.10 canonical builders (#127)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T19:59:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0f2d5f33c85057e430e208be5e5cc9bd93031542",
          "body": "Build and validate the non-publishing promotion foundation while every release capability remains disabled.",
          "is_bot": false,
          "headline": "ci(release): complete disarmed promotion readiness (#126)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T19:14:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c8f243da1a6afdbc36871279b3d68cedaadafad9",
          "body": "Install a hash-pinned Draft 2020-12 validator for nonpublishing promotion simulations and bind it into the candidate policy root.",
          "is_bot": false,
          "headline": "ci(release): pin simulation schema validator",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T12:48:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0cced94ba19535bde1f5669a09b053489c387382",
          "body": "Run the policy audit inside protected caller jobs so environment secrets remain scoped to release-policy-audit.",
          "is_bot": false,
          "headline": "ci(release): bind policy audit to protected jobs",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T11:51:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38d544ef4c94556c8d963c5798f7e8b045a82ee9",
          "body": null,
          "is_bot": false,
          "headline": "ci: forward audit environment secret binding",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T10:48:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4d78dc1c1816c793af14784a695b9923bd92a565",
          "body": null,
          "is_bot": false,
          "headline": "ci: bind audit environment secret",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T10:06:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1b2e382e4f2a58b7eab252a084b4d891065b1f7c",
          "body": null,
          "is_bot": false,
          "headline": "ci: exercise live release policy audit",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T09:06:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "686f29edbd062ac294b9c467b2860aca65fa3835",
          "body": null,
          "is_bot": false,
          "headline": "ci: canonicalize release asset ordering (#119)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T06:33:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "26c25f85fb66b5392c0a06501d3e905edd784747",
          "body": null,
          "is_bot": false,
          "headline": "ci: keep canonical Windows smoke headless (#118)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T05:52:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "80f59a850d56419c704c39f2d40aef9bf3f930cb",
          "body": null,
          "is_bot": false,
          "headline": "ci: fix canonical Windows package smokes (#117)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T05:16:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5378f334cb12ea850f3b790348c794323e656d3e",
          "body": "Extract exact single-artifact downloads into their requested directories while keeping multi-artifact bundles isolated by name.",
          "is_bot": false,
          "headline": "ci: fix exact artifact extraction layout (#116)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T04:35:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5571f8c42d207a6c9c792ad402e892fb1dc8cbcb",
          "body": "Align the evidence contract with the pinned candidate-gate runner and cover the binding with a regression test.",
          "is_bot": false,
          "headline": "ci: align candidate gate runner contract (#115)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T03:57:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b9b6b86e87792ad28bcdb3815ff08cce22400bb1",
          "body": "Add fail-closed downstream plans and retry paths while keeping every channel writer disabled.",
          "is_bot": false,
          "headline": "ci: add disarmed downstream release channels (#111)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T03:19:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "528bf72b57e74fa2a424cdd7133ad83975efda8d",
          "body": "Add exact-byte tag, authorization, publication, and receipt workflows while keeping every mutating job disabled.",
          "is_bot": false,
          "headline": "ci: add disarmed release promotion path (#110)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T03:06:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "66b48bb54e339851f3962a308b512fc160f73998",
          "body": "Observe the raw Ctrl-C character before sending the terminator so the fixture cannot race its own input consumer.",
          "is_bot": false,
          "headline": "test(windows): synchronize raw Ctrl-C probe (#114)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T02:54:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7df42c426f934189889948671d722cd772f1b741",
          "body": "Add fail-closed policy contracts and a read-only audit path while keeping every release capability disabled.",
          "is_bot": false,
          "headline": "ci: add disarmed release policy audit (#109)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T02:35:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1923adaedf3d0e514cecde8006cdf5c50dca62d6",
          "body": "Use the built-in .NET console mode API so the raw-input probe no longer compiles C# during startup.",
          "is_bot": false,
          "headline": "test(windows): remove dynamic raw-probe compilation (#113)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T02:23:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "163f6276f7c828e4a7d56cbdfc4f838c8bb6cc42",
          "body": "Wait for the daemon socket to disappear after killing the final session before checking the absent-server CLI surface.",
          "is_bot": false,
          "headline": "test: wait for last-session daemon shutdown (#112)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T01:57:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c0b9c2fbdfb8877e4bb816a524371cb1a84dafd5",
          "body": "Verify canonical candidate evidence in a read-only shadow workflow before any promotion authority is enabled.",
          "is_bot": false,
          "headline": "ci: seal exact shadow release candidates (#108)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T01:32:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d750e6cf3a0222933acd9660d2feb57f7e748785",
          "body": "Build the five native release targets once, bind their exact bytes, and keep the producers non-publishing.",
          "is_bot": false,
          "headline": "ci: build canonical release assets (#107)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T01:20:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "807d838dcbb6674ed6bd587822378ad729f434b3",
          "body": "Build release candidates from exhaustive fast-CI evidence without replaying the fast test suite.",
          "is_bot": false,
          "headline": "ci: deduplicate release candidate qualification (#106)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-20T00:57:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6da0f8af41416db43885111ff1d4412b9cef6345",
          "body": "Add exact-SHA release contracts, policy-root verification, runner validation, timing instrumentation, and a non-publishing shadow audit.",
          "is_bot": false,
          "headline": "ci: add read-only release candidate foundation (#105)",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-19T15:20:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96fab3fba61df977a58b20100f369401eb4a30a6",
          "body": null,
          "is_bot": false,
          "headline": "ci: merge sub-10-minute workflow improvements",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-19T09:07:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4f3e938b3bc3bb67502cdf5def4679ef1c4e928e",
          "body": null,
          "is_bot": false,
          "headline": "[REL] close qualification review gaps",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-19T07:42:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7b3b5e60f758cb84ffde945e9929b3e880d50a76",
          "body": null,
          "is_bot": false,
          "headline": "[FAST] build sub-10-minute CI lanes",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-19T07:42:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "512938461ea341b1312cbf0cf980c5c882ab4c92",
          "body": null,
          "is_bot": false,
          "headline": "[FIX-TEST] stabilize Windows CI probes",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-19T07:41:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a0cc9072aae30478674ec8422dd4f200aa12ddc",
          "body": null,
          "is_bot": false,
          "headline": "ci: fix Windows smoke filter invocation",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T21:43:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "273034fb22089e5a9ea6bb605826fafcfb45c11a",
          "body": null,
          "is_bot": false,
          "headline": "ci: stabilize Windows package preflight",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T21:24:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "281033e73374eb265c33be19a2bb25a37ab7651f",
          "body": null,
          "is_bot": false,
          "headline": "ci: shard Windows workspace tests",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T20:12:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "27ccc7597df2ac1fc653e0b8ec7468dc568f3abc",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): isolate Chocolatey publication",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T15:57:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b2f80522bae2927e22d81e5c902b727623f934d0",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): run package access preflight early",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T12:18:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "149bcf6576595c58a2c7baf80db3b5bf7f329c75",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): authenticate package history snapshot",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T12:17:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ea3a723257de1700ed25951383448b08f51efa00",
          "body": null,
          "is_bot": false,
          "headline": "ci: preflight Windows release packages",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T09:19:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f45d22d3adb298beeb625eea5054a1a5100c19a",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): resolve packaged mouse smoke endpoint",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T09:14:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3019a287f617746927a7f60a7c8203fe9314c690",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): resolve identity-bound Windows package pipes",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T05:24:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9b8ebe8137e2fd1fe241e3a56e925f8ee99fac01",
          "body": null,
          "is_bot": false,
          "headline": "docs: tighten 0.9.0 changelog wording",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T03:02:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92b3785d12f59296a77912fc8d33fce7e6e85bb3",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): own packaged Windows daemons in runner job",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-18T02:44:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "90bf41a92f0fc7a62e16935881cb9afd8d443fd1",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): keep Windows test daemons in runner job",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T23:47:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a7a8b5842dee1e76870a9aa048ca73da226dab20",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): bind Windows CRT gate parameters",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T21:35:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "031d085958c32b652e1ccad8dd9eafb3a81b51bf",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): bind Windows smoke switch explicitly",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T17:38:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "31604dba204fc59073347ceb72f24592bfd46848",
          "body": null,
          "is_bot": false,
          "headline": "security: update libcrux dependencies",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T15:14:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ca5368495763c97361a1f25baca7737d836be2ec",
          "body": null,
          "is_bot": false,
          "headline": "fix(release): use GitHub-hosted Windows builds",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T14:57:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b280def4899bb011b0e02563a160e33a4e6a26bf",
          "body": null,
          "is_bot": false,
          "headline": "release: merge 0.9.0",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T04:55:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89cfb2fa1e0381f9ac2f12dfeae7a972f24ecde9",
          "body": null,
          "is_bot": false,
          "headline": "bench: refresh 0.9.0 benchmark results",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T03:34:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7069f01e947412ef4900cca1218b449c666d1d70",
          "body": "Stabilize terminal behavior, IPC, SDK lifecycles, installers, packaging, and the blocking 0.9.0 validation surface.\n\nCo-authored-by: Martin Hellspong <martin.hellspong@factor10.com>\n\nCo-authored-by: Samuel Shan <shm.shan@gmail.com>\n\nCo-authored-by: grindset95 <1606366+grindset95@users.noreply.github.com>",
          "is_bot": false,
          "headline": "fix(release): harden cross-platform runtime and gates",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-17T03:34:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c6fd8d8b01c4322b630f0f8e253b5362d10f16a5",
          "body": "A program inside a detached rmux pane gets no answer when it queries the\nterminal's colours (OSC 10/11/12 with a `?` payload) — there is no\nattached terminal to forward the query to, and the emulator (which\nalready impersonates the terminal for DA1/DA2/DSR/DECRQM/XTVERSION at\ndispatch.rs) parsed the\n[…]\n RMUX_DEFAULT_CURSOR_COLOUR.\n\nTests: query replies for 10/11/12 with both terminators, set-then-query\nround-trip, 111 reset, writer passthrough for sets (RecordingWriter now\nrecords the colour calls).",
          "is_bot": false,
          "headline": "emulator: answer OSC 10/11/12 colour queries for detached sessions",
          "author_name": "NymphAI",
          "author_login": "nymph-ai",
          "committed_at": "2026-07-16T23:24:09Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e802d0b3811a4d907769f08d5bba678031f8780e",
          "body": "Add a versioned Windows installer that installs the full package layout instead of copying only the public tiny dispatcher. Package it as install.ps1 in Windows archives and make the Windows package verifier run the installer into a temporary prefix so missing libexec helpers are caught.\n\nFixes #86.",
          "is_bot": false,
          "headline": "fix(release): preserve Windows installer layout",
          "author_name": "isac",
          "author_login": "isacgalvao",
          "committed_at": "2026-07-16T23:24:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "270dd546cdc26681cc380707de48f9a5943b73cd",
          "body": "Add the 0.9.0 command, format, SDK, runtime, platform, and release validation surface.",
          "is_bot": false,
          "headline": "feat: expand tmux compatibility and pane automation",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-16T23:23:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b254fee1931bfd791c9f643b14448df7a6b8db1",
          "body": null,
          "is_bot": false,
          "headline": "docs: sync localized Claude teammate docs",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-03T07:19:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6952878da151f8ecb1644150d9bef36705aa330f",
          "body": null,
          "is_bot": false,
          "headline": "docs: clarify Claude teammate shim flow",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-03T07:05:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c4ced0ae6c49781bc7095933e593e8084a62c918",
          "body": null,
          "is_bot": false,
          "headline": "release: merge 0.8.0",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-02T20:41:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7167dcabcf8f7c31b6b04f904e38f47ed6d7658e",
          "body": "Prepare the 0.8.0 release with tmux compatibility fixes, Windows ConPTY and shell handling stabilization, copy-mode mouse fixes, SDK wait/runtime hardening, refreshed benchmarks, packaging updates, and release gate coverage.",
          "is_bot": false,
          "headline": "release: prepare rmux 0.8.0",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-07-02T20:11:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bbbc61b9ad995d2b65ec43215482bc9e0446296",
          "body": "References: 28eb7407aa2c511952acf5a94300c43798126a81\n\nReferences: d1ca2b945c067f7684734c424d81685a69de04d4\n\nOriginal PR: https://github.com/Helvesec/rmux/pull/68",
          "is_bot": false,
          "headline": "chore: attribute tmux config compatibility fixes",
          "author_name": "Teng Lin",
          "author_login": "teng-lin",
          "committed_at": "2026-07-02T19:31:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "202882a75d6aee71f5cf769589d8d49248d86948",
          "body": null,
          "is_bot": false,
          "headline": "chore: attribute passthrough compatibility work",
          "author_name": "Squirrel",
          "author_login": "gilescope",
          "committed_at": "2026-07-02T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b03752595f073a03d00c1971e77d652c2c091d9",
          "body": null,
          "is_bot": false,
          "headline": "chore: attribute status and input fixes",
          "author_name": "mcog",
          "author_login": "otaku46",
          "committed_at": "2026-07-02T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e1b364508b5afd2e546ced91248a7c2863f8916e",
          "body": null,
          "is_bot": false,
          "headline": "chore: attribute Nix flake packaging",
          "author_name": "Pim Snel",
          "author_login": "mipmip",
          "committed_at": "2026-07-02T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "88bdbe00f54a96693065a8894463bcaa494434a6",
          "body": null,
          "is_bot": false,
          "headline": "chore: attribute linux arm release packaging",
          "author_name": "ark2042",
          "author_login": "ark2042",
          "committed_at": "2026-07-02T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4258a98b01db401787dc4c28ab4278b4da8d70a8",
          "body": null,
          "is_bot": false,
          "headline": "chore: attribute Windows mouse input fix",
          "author_name": "charlieyang",
          "author_login": "charlieYong",
          "committed_at": "2026-07-02T19:31:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e2bce4c6885ef314c30f5fa79a521bfb6ef2a421",
          "body": "Signed-off-by: Sidney Sissaoui <shideneyu@gmail.com>",
          "is_bot": false,
          "headline": "release: merge 0.7.1",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T23:15:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "89581ef9708bd9329bc76b79de2d62ea853c492b",
          "body": "Signed-off-by: Sidney Sissaoui <shideneyu@gmail.com>",
          "is_bot": false,
          "headline": "test: fix snap daemon smoke layout",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T22:39:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2b5d70f5d0784b84be925a18af1a0dcb1e3e6696",
          "body": "Signed-off-by: Sidney Sissaoui <shideneyu@gmail.com>",
          "is_bot": false,
          "headline": "fix: bump Windows manifest for 0.7.1",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T22:12:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b4f5c791cd4539a78c0f735b1813f7255f93db0b",
          "body": null,
          "is_bot": false,
          "headline": "fix: harden Windows mouse attach toggles",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T22:07:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d375826bd57692ca979d6072a810bbf6dcfd0d7d",
          "body": null,
          "is_bot": false,
          "headline": "test: align attach mouse flows with mouse option",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T22:02:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a4a7a79f5b365ff3986a3da18cd7d4527380964c",
          "body": null,
          "is_bot": false,
          "headline": "fix: respect mouse option in Windows attach",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T21:38:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "05765a1d07f64d04c41b74b6f2bab6f61790156d",
          "body": null,
          "is_bot": false,
          "headline": "test: stabilize prompt attach output lifecycle",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T21:17:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0193233cb0b2de066c8f6a1bb4376408b5015d94",
          "body": null,
          "is_bot": false,
          "headline": "test: accept live attach output frames in prompt lifecycle",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T20:35:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5dcbee27ee027a233e80a00790f965ac774821a0",
          "body": null,
          "is_bot": false,
          "headline": "test: serialize macos resize watcher signal tests",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T20:10:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e5a5d3cc786326465a475b493e5dc05d7652a095",
          "body": null,
          "is_bot": false,
          "headline": "merge: include Windows package metadata staging",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T19:33:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e7b02ccda6c4aaddbc612b68396dbb339c53ad7",
          "body": null,
          "is_bot": false,
          "headline": "fix: keep detached scripting access across background tasks",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T19:32:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73593102d8cd39f167a2b554fea15f631c29521e",
          "body": null,
          "is_bot": false,
          "headline": "fix: harden Windows package metadata staging",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T19:17:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7e383f4700d7a38ce5117585ba96f3a963bb6246",
          "body": null,
          "is_bot": false,
          "headline": "fix: harden windows mouse sgr encoding",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T18:25:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14cbddcedf05e4b9019505f959acd05b6f17834f",
          "body": null,
          "is_bot": false,
          "headline": "docs: refresh 0.7.1 SDK examples",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T18:18:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f1b1b9b288d4d256553023f79daa2c43aed44431",
          "body": null,
          "is_bot": false,
          "headline": "ci: harden Windows package smoke scripts",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T17:48:44Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ba0ae612442feee8e51c0adea267671a6e7f2d86",
          "body": "The Windows attach client never delivered mouse events to the server, so\n`mouse on` had no effect: wheel scrolling and drag selection did not work,\nwhile the same session worked on macOS/iTerm2.\n\nTwo gaps in the Windows console input path caused this:\n\n1. `RawTerminalGuard::enter` left `ENABLE_QUICK\n[…]\na patched build.\n\nAdds unit tests for the SGR encoding and updates the raw-input-mode test\nto assert mouse input is enabled and quick-edit is cleared.\n\nSigned-off-by: charlie <charlie@forevernine.com>",
          "is_bot": false,
          "headline": "Fix mouse input on Windows attach client (ConPTY)",
          "author_name": "charlie",
          "author_login": null,
          "committed_at": "2026-06-26T17:37:15Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b93856191e5649da784d24c5894bf2559efe6f6d",
          "body": null,
          "is_bot": false,
          "headline": "fix: preserve authenticated detached requester access",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T17:37:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bb9adc3efa3606393701df848b99ba24f7532dd4",
          "body": null,
          "is_bot": false,
          "headline": "fix: avoid replaceable full frames for interactive output",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T16:07:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "724dc55c6cbcb9d88c49e98820ea24e8e66fbe9c",
          "body": null,
          "is_bot": false,
          "headline": "fix: fail closed for unknown requester access",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T15:47:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db345a4717bac66a522db8c1306fc7ea89f25feb",
          "body": null,
          "is_bot": false,
          "headline": "test: align tiny smoke resize fallback",
          "author_name": "Sidney Sissaoui",
          "author_login": "shideneyu",
          "committed_at": "2026-06-26T14:34:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 14,
      "commits_last_year": 923,
      "latest_release_at": "2026-07-18T15:36:41Z",
      "latest_release_tag": "v0.9.0",
      "releases_from_tags": false,
      "days_since_last_push": 0,
      "active_weeks_last_year": 16,
      "days_since_latest_release": 4,
      "mean_days_between_releases": 6.2
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 75,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "rmux",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "terminal",
            "cli",
            "tui",
            "multiplexer",
            "command-line-interface"
          ],
          "ecosystem": "crates",
          "matches_repo": true,
          "registry_url": "https://crates.io/crates/rmux",
          "is_deprecated": false,
          "latest_version": "0.9.0",
          "repository_url": "https://github.com/Helvesec/rmux",
          "versions_count": 15,
          "total_downloads": 1562,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 521,
          "first_published_at": "2026-05-15T22:53:36.435395Z",
          "latest_published_at": "2026-07-18T15:50:37.752104Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 4
        },
        {
          "name": "xtask",
          "exists": true,
          "license": "MIT OR Apache-2.0",
          "keywords": [
            "automation",
            "macos",
            "release",
            "codesign",
            "xtask",
            "command-line-utilities",
            "development-tools::build-utils"
          ],
          "ecosystem": "crates",
          "matches_repo": false,
          "registry_url": "https://crates.io/crates/xtask",
          "is_deprecated": false,
          "latest_version": "0.1.4",
          "repository_url": "https://github.com/arcboxlabs/xtask",
          "versions_count": 5,
          "total_downloads": 550,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": null,
          "monthly_downloads": 183,
          "first_published_at": "2026-06-24T11:01:25.012607Z",
          "latest_published_at": "2026-06-30T09:55:36.509458Z",
          "latest_version_yanked": false,
          "days_since_latest_publish": 22
        }
      ]
    },
    "popularity": {
      "forks": 136,
      "stars": 2473,
      "watchers": 12,
      "fork_history": {
        "days": [
          {
            "date": "2026-05-20",
            "count": 1
          },
          {
            "date": "2026-05-21",
            "count": 14
          },
          {
            "date": "2026-05-22",
            "count": 8
          },
          {
            "date": "2026-05-23",
            "count": 11
          },
          {
            "date": "2026-05-24",
            "count": 6
          },
          {
            "date": "2026-05-25",
            "count": 4
          },
          {
            "date": "2026-05-26",
            "count": 3
          },
          {
            "date": "2026-05-27",
            "count": 1
          },
          {
            "date": "2026-05-28",
            "count": 4
          },
          {
            "date": "2026-05-30",
            "count": 1
          },
          {
            "date": "2026-05-31",
            "count": 7
          },
          {
            "date": "2026-06-01",
            "count": 4
          },
          {
            "date": "2026-06-02",
            "count": 3
          },
          {
            "date": "2026-06-05",
            "count": 2
          },
          {
            "date": "2026-06-06",
            "count": 4
          },
          {
            "date": "2026-06-07",
            "count": 1
          },
          {
            "date": "2026-06-08",
            "count": 3
          },
          {
            "date": "2026-06-09",
            "count": 1
          },
          {
            "date": "2026-06-10",
            "count": 1
          },
          {
            "date": "2026-06-11",
            "count": 3
          },
          {
            "date": "2026-06-14",
            "count": 3
          },
          {
            "date": "2026-06-15",
            "count": 1
          },
          {
            "date": "2026-06-17",
            "count": 2
          },
          {
            "date": "2026-06-19",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 3
          },
          {
            "date": "2026-06-23",
            "count": 7
          },
          {
            "date": "2026-06-24",
            "count": 1
          },
          {
            "date": "2026-06-25",
            "count": 5
          },
          {
            "date": "2026-06-26",
            "count": 3
          },
          {
            "date": "2026-06-27",
            "count": 4
          },
          {
            "date": "2026-06-28",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 4
          },
          {
            "date": "2026-07-02",
            "count": 2
          },
          {
            "date": "2026-07-07",
            "count": 1
          },
          {
            "date": "2026-07-09",
            "count": 1
          },
          {
            "date": "2026-07-10",
            "count": 1
          },
          {
            "date": "2026-07-11",
            "count": 2
          },
          {
            "date": "2026-07-13",
            "count": 3
          },
          {
            "date": "2026-07-16",
            "count": 1
          },
          {
            "date": "2026-07-17",
            "count": 1
          },
          {
            "date": "2026-07-18",
            "count": 1
          },
          {
            "date": "2026-07-19",
            "count": 3
          },
          {
            "date": "2026-07-20",
            "count": 1
          },
          {
            "date": "2026-07-21",
            "count": 1
          },
          {
            "date": "2026-07-22",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 136,
        "total_forks": 136
      },
      "star_history": null,
      "open_issues_and_prs": 10
    },
    "ai_readiness": {
      "has_nix": true,
      "example_dirs": [
        "examples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [],
      "toolchain_manifests": [
        "Cargo.toml",
        "crates/ratatui-rmux/Cargo.toml",
        "crates/rmux-client/Cargo.toml",
        "crates/rmux-core/Cargo.toml",
        "crates/rmux-ipc/Cargo.toml",
        "crates/rmux-os/Cargo.toml",
        "crates/rmux-proto/Cargo.toml",
        "crates/rmux-pty/Cargo.toml",
        "crates/rmux-render-core/Cargo.toml",
        "crates/rmux-sdk/Cargo.toml",
        "crates/rmux-server/Cargo.toml",
        "crates/rmux-types/Cargo.toml",
        "crates/rmux-web-crypto/Cargo.toml",
        "scripts/fuzz/Cargo.toml",
        "xtask/Cargo.toml"
      ],
      "largest_source_bytes": 166604,
      "source_files_sampled": 1435,
      "oversized_source_files": 34,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "Cargo.toml",
        "xtask/Cargo.toml"
      ],
      "advisories": {
        "error": null,
        "scope": null,
        "source": null,
        "findings": [],
        "collected": false,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 0,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "crates"
      ],
      "dependencies": [
        {
          "name": "chrono",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.4.42"
        },
        {
          "name": "clap",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "=4.5.39"
        },
        {
          "name": "libc",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.2"
        },
        {
          "name": "qrcode",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.14"
        },
        {
          "name": "ratatui",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "=0.29.0"
        },
        {
          "name": "rmux-client",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "rmux-core",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "rmux-os",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "rmux-proto",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "rmux-server",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "serde_json",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.0"
        },
        {
          "name": "tokio",
          "manifest": "Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "1.48.0"
        },
        {
          "name": "clap",
          "manifest": "xtask/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "=4.5.39"
        },
        {
          "name": "clap_complete",
          "manifest": "xtask/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "=4.5.55"
        },
        {
          "name": "rmux-core",
          "manifest": "xtask/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        },
        {
          "name": "rmux-proto",
          "manifest": "xtask/Cargo.toml",
          "ecosystem": "crates",
          "version_constraint": "0.9.0"
        }
      ],
      "all_dependencies": {
        "error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
        "source": null,
        "packages": [],
        "collected": false,
        "truncated": false,
        "total_count": null,
        "direct_count": null,
        "indirect_count": null
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 2,
        "merged_prs": 40,
        "open_issues": 8,
        "closed_ratio": 0.884,
        "closed_issues": 61,
        "closed_unmerged_prs": 32
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "shideneyu",
          "commits": 902,
          "avatar_url": "https://avatars.githubusercontent.com/u/876824?v=4"
        },
        {
          "type": "User",
          "login": "mohitt",
          "commits": 3,
          "avatar_url": "https://avatars.githubusercontent.com/u/919686?v=4"
        },
        {
          "type": "User",
          "login": "Jonhvmp",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/122692601?v=4"
        },
        {
          "type": "User",
          "login": "flejz",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/5781000?v=4"
        },
        {
          "type": "User",
          "login": "LUIDevo",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/159873777?v=4"
        },
        {
          "type": "User",
          "login": "snvtac",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/18233097?v=4"
        },
        {
          "type": "User",
          "login": "nymph-ai",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/145940799?v=4"
        },
        {
          "type": "User",
          "login": "mipmip",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/658612?v=4"
        },
        {
          "type": "User",
          "login": "gilescope",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/803976?v=4"
        },
        {
          "type": "User",
          "login": "teng-lin",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/737447?v=4"
        }
      ],
      "contributors_sampled": 15,
      "top_contributor_share": 0.979
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "canonical-native-build.yml",
        "ci.yml",
        "publish-chocolatey.yml",
        "release-candidate-delta.yml",
        "release-channel-retry.yml",
        "release-channel-summary.yml",
        "release-chocolatey-channel.yml",
        "release-chocolatey-retry.yml",
        "release-crates-channel.yml",
        "release-downstream-audit.yml",
        "release-downstream-prepare.yml",
        "release-downstream.yml",
        "release-github-publish.yml",
        "release-linux-repository-build.yml",
        "release-linux-repository-publish.yml",
        "release-owned-repository-channel.yml",
        "release-policy-audit.yml",
        "release-policy-channel.yml",
        "release-promote.yml",
        "release-promotion-simulation.yml",
        "release-receipt-dispatch.yml",
        "release-receipt.yml",
        "release-rmux-io-channel.yml",
        "release-rmux-io-payload.yml",
        "release-shadow.yml",
        "release-snap-channel.yml",
        "release-snap-retry.yml",
        "release-tag-authoring.yml",
        "release.yml",
        "scorecard.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "Cargo.lock"
      ],
      "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": 3,
            "reason": "branch protection is not maximal on development and all release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 10,
            "reason": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 7,
            "reason": "badge detected: Silver",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/23 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 3,
            "reason": "project has 1 contributing companies or organizations -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 10,
            "reason": "project is 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 was created within the last 90 days. Please review its contents carefully",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": 10,
            "reason": "packaging workflow detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 10,
            "reason": "all dependencies are pinned",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 6,
            "reason": "4 out of the last 5 releases have a total of 4 signed artifacts.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 10,
            "reason": "GitHub workflow tokens follow principle of least privilege",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 2,
            "reason": "8 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "4ec192e6577ba9019d24c9f9f93e8a42594839a2",
        "ran_at": "2026-07-23T04:20:57Z",
        "aggregate_score": 6.5,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": true
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-22T08:57:31Z",
      "oldest_open_prs": [
        {
          "number": 104,
          "created_at": "2026-07-18T11:18:16Z",
          "last_comment_at": "2026-07-18T18:07:04Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 139,
          "created_at": "2026-07-21T12:20:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-07-22T08:47:25Z",
      "ci_last_conclusion": "SUCCESS",
      "oldest_open_issues": [
        {
          "number": 76,
          "created_at": "2026-07-02T01:57:35Z",
          "last_comment_at": "2026-07-18T17:40:38Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 77,
          "created_at": "2026-07-02T02:03:00Z",
          "last_comment_at": "2026-07-18T17:40:48Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 81,
          "created_at": "2026-07-04T04:16:59Z",
          "last_comment_at": "2026-07-18T17:41:08Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 82,
          "created_at": "2026-07-04T04:17:01Z",
          "last_comment_at": "2026-07-18T17:41:23Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 90,
          "created_at": "2026-07-10T05:24:42Z",
          "last_comment_at": "2026-07-18T17:41:44Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 92,
          "created_at": "2026-07-11T00:34:51Z",
          "last_comment_at": "2026-07-19T01:15:53Z",
          "last_comment_author": "Ryan6-VRC"
        },
        {
          "number": 96,
          "created_at": "2026-07-11T12:12:01Z",
          "last_comment_at": "2026-07-18T17:43:17Z",
          "last_comment_author": "shideneyu"
        },
        {
          "number": 125,
          "created_at": "2026-07-20T16:20:38Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Helvesec/rmux",
    "host": "github.com",
    "name": "rmux",
    "owner": "Helvesec"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 69,
      "inputs": {
        "security": 65,
        "vitality": 77,
        "community": 70,
        "governance": 55,
        "engineering": 81
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 77,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "commits_last_year": 923,
              "human_commit_share": 1,
              "days_since_last_push": 0,
              "active_weeks_last_year": 16
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 0 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 0
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "16/52 weeks with commits",
                "points": 11.1,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 16
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "923 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 923
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "project was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "excellent",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 96,
            "inputs": {
              "releases_count": 14,
              "latest_release_tag": "v0.9.0",
              "releases_from_tags": false,
              "days_since_latest_release": 4,
              "mean_days_between_releases": 6.2
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "14 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 14
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 4 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~6.2 days",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 6.2
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "4 out of the last 5 releases have a total of 4 signed artifacts.",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 70,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "good",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "forks": 136,
              "stars": 2473,
              "watchers": 12,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "2,473 stars",
                "points": 55,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 2473
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "136 forks",
                "points": 17.8,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 136
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "12 watchers",
                "points": 5.8,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 12
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 79,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "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": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "at_risk",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 45,
            "inputs": {
              "packages": [
                "rmux"
              ],
              "dependents": null,
              "ecosystems": "crates",
              "total_downloads": 1562,
              "monthly_downloads": 521
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "521 downloads/month across crates",
                "points": 36.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 521,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 26,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 15,
              "top_contributor_share": 0.979
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 98% of commits",
                "points": 0.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 98
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "15 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 62,
            "inputs": {
              "merged_prs": 40,
              "open_issues": 8,
              "closed_issues": 61,
              "issue_closed_ratio": 0.884,
              "closed_unmerged_prs": 32
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "88% of issues closed",
                "points": 41.3,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 88
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "40/72 decided PRs merged",
                "points": 21.2,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 40,
                      "decided": 72
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/23 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 46,
            "inputs": {
              "followers": 18,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "Helvesec",
              "public_repos": 8,
              "account_age_days": 68
            },
            "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": "18 followers of Helvesec",
                "points": 9.2,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 18,
                      "login": "Helvesec"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "8 public repos, account ~0 yr old",
                "points": 7.3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 8
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 0
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "rmux"
              ],
              "ecosystems": "crates",
              "any_deprecated": false,
              "min_days_since_publish": 4
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on crates",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "crates"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 4 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 4
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "15 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 15
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 81,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "30 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 30
                    }
                  }
                ],
                "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": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
                "points": 20,
                "status": "met",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "agent",
                "ai",
                "multiplexer",
                "rust",
                "cli",
                "linux",
                "macos",
                "multiplexers",
                "powershell",
                "ratatui",
                "terminal",
                "tokio",
                "windows"
              ],
              "has_wiki": true,
              "homepage": "https://rmux.io",
              "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://rmux.io",
                "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": "13 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 13
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 65,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": null,
            "notes": [],
            "value": 65,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 18,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 0,
              "scorecard_aggregate": 6.5
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection is not maximal on development and all release branches",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "23 out of 23 merged PRs checked by a CI test -- score normalized to 10",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "badge detected: Silver",
                "points": 1.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/23 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 1 contributing companies or organizations -- score normalized to 3",
                "points": 0.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is fuzzed",
                "points": 5,
                "status": "met",
                "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 was created within the last 90 days. Please review its contents carefully",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "4 out of the last 5 releases have a total of 4 signed artifacts.",
                "points": 4.5,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "GitHub workflow tokens follow principle of least privilege",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "8 existing vulnerabilities detected",
                "points": 1.5,
                "status": "partial",
                "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": 11
            },
            "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": 61,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.97,
              "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": "97 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 97,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 71,
            "inputs": {
              "has_nix": true,
              "has_tests": true,
              "lockfiles": [
                "Cargo.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [],
              "agent_commit_share": 0,
              "toolchain_manifests": [
                "Cargo.toml",
                "crates/ratatui-rmux/Cargo.toml",
                "crates/rmux-client/Cargo.toml",
                "crates/rmux-core/Cargo.toml",
                "crates/rmux-ipc/Cargo.toml",
                "crates/rmux-os/Cargo.toml",
                "crates/rmux-proto/Cargo.toml",
                "crates/rmux-pty/Cargo.toml",
                "crates/rmux-render-core/Cargo.toml",
                "crates/rmux-sdk/Cargo.toml",
                "crates/rmux-server/Cargo.toml",
                "crates/rmux-types/Cargo.toml",
                "crates/rmux-web-crypto/Cargo.toml",
                "scripts/fuzz/Cargo.toml",
                "xtask/Cargo.toml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "Cargo.toml, crates/ratatui-rmux/Cargo.toml, crates/rmux-client/Cargo.toml (toolchain convention, no task runner)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "toolchain_convention",
                    "params": {
                      "files": "Cargo.toml, crates/ratatui-rmux/Cargo.toml, crates/rmux-client/Cargo.toml"
                    }
                  }
                ],
                "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": "Rust (statically typed)",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Nix, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Nix, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "no agent-authored commits among the last 100",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_authored_commits",
                    "params": {
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "dependency automation configured, none observed in the sampled commits",
                "points": 5,
                "status": "partial",
                "details": [
                  {
                    "code": "dependency_bot_config_only",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "all dependencies are pinned",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 99,
            "inputs": {
              "primary_language": "Rust",
              "largest_source_bytes": 166604,
              "source_files_sampled": 1435,
              "oversized_source_files": 34
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Rust (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Rust"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "34/1435 source files over 60KB",
                "points": 53.7,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1435,
                      "oversized": 34
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "at_risk",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "example_dirs": [
                "examples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": []
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "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",
    "crates package 'xtask' points at a different repository (https://github.com/arcboxlabs/xtask); excluded from ecosystem scoring",
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
    "deps.dev does not index crates:rmux@0.9.0; advisories assessed against the repository dependency graph instead"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-23T04:21:19.168698Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/Helvesec/rmux.svg",
  "full_name": "Helvesec/rmux",
  "license_state": "custom",
  "license_spdx": null
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаcrates.io.