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

Callmedas69 / cognitive-OS

TypeScriptMIT★ 0 зірок⑂ 0 форківз черв. 2026 р.Переглянути на GitHub ↗

Callmedas69/cognitive-OS має індекс здоров’я 47 зі 100, що відповідає смузі «У зоні ризику». Найвищий показник — AI Readiness (74/100), найнижчий — Sustainability & Governance (35/100). Останнє оновлення було 6 днів тому. Більшість нещодавньої роботи виконує один учасник.

47
загалом / 100
У зоні ризику

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

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

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

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

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

Власність

0xDasОсобистий обліковий запис
10 підписників51 публічний репозиторійз лют. 2023 р.

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

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

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
npmcognitiveos0.10.73 448256 днів томуadhdicmclicontextai-agentclaude-codescaffoldproductivity

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

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

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

64Помірний · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 6 дн. тому
4.2/36Ритм комітів — 6/52 тижнів із комітами
17.8/18Обсяг комітів — 96 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — project was created within the last 90 days. Please review its contents carefully
Використані вхідні дані
commits_last_year96
human_commit_share1
days_since_last_push6
active_weeks_last_year6
Як обчислюється оцінка
16.2/27Випускає релізи — 1 тегів версій (без релізів GitHub)
36/36Свіжість релізів — останній реліз 37 дн. тому
12.6/27Ритм релізів — ритм невідомий (єдиний реліз)
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count1
latest_release_tagv0.1.1
releases_from_tagsтак
days_since_latest_release37
mean_days_between_releases
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

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

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

40У зоні ризику · 18% загального індексу
Як обчислюється оцінка
0/60Зірки — 0 зірок
0/25Форки — 0 форків
0/15Спостерігачі — 0 спостерігачів
Використані вхідні дані
forks0
stars0
watchers0
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (MIT)
18/18Настанови CONTRIBUTING
0/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ні
Як обчислюється оцінка
47.2/80Щомісячні завантаження — 3 448 завантажень/місяць у npm
0/20Залежні пакети в реєстрі — ця екосистема цього не повідомляє
Використані вхідні дані
packagescognitiveos
dependents
ecosystemsnpm
total_downloads
monthly_downloads3 448
Виключено з оцінювання (немає даних або не застосовно): Залежні пакети в реєстрі. Залишкові ваги перенормовано.

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

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

35У зоні ризику · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
0/22.5Розподіл комітів — головний контриб’ютор — автор 100% комітів
1.4/13.5Широта контриб’юторів — 1 контриб’юторів
0/10OpenSSF Scorecard: Contributors — project has 0 contributing companies or organizations -- score normalized to 0
Використані вхідні дані
bus_factor1
contributors_sampled1
top_contributor_share1
Як обчислюється оцінка
0/46.8Вирішення issue — немає issue або даних
0/38.3Прийняття PR — немає вирішених pull request-ів або даних
0/15OpenSSF Scorecard: Code-Review — Found 0/30 approved changesets -- score normalized to 0
Використані вхідні дані
merged_prs0
open_issues0
closed_issues0
issue_closed_ratio
closed_unmerged_prs0
Виключено з оцінювання (немає даних або не застосовно): Вирішення issue, Прийняття PR. Залишкові ваги перенормовано.

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

46У зоні ризику
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
7.5/25Охоплення власника — 10 підписників у Callmedas69
19.3/25Послужний список — 51 публічних репозиторіїв, вік облікового запису ~3 р.
Використані вхідні дані
followers10
owner_typeUser
is_verified
owner_loginCallmedas69
public_repos51
account_age_days1 246
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

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

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

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

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

52Помірний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 1 процес(ів) CI
24/24Наявні тести
0/16Конфігурація лінтера
0/9.6Pre-commit-хуки
0/6.4.editorconfig
0/20OpenSSF Scorecard: CI-Tests — немає даних
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configні
has_precommit_configні
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: CI-Tests. Залишкові ваги перенормовано.

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

40У зоні ризику
Як обчислюється оцінка
30/30README
0/25Каталог документації
0/15Сайт документації / домашня сторінка
0/10Опис репозиторію
0/10Теми
10/10Wiki
Використані вхідні дані
topics
has_wikiтак
homepage
has_readmeтак
has_docs_dirні
has_descriptionні

Безпека

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

41У зоні ризику · 16% загального індексу

Стан безпеки

26Критичний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — branch protection not enabled on development/release branches
0/2.5CI-Tests — немає даних
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
0/7.5Code-Review — Found 0/30 approved changesets -- score normalized to 0
0/2.5Contributors — project has 0 contributing companies or organizations -- score normalized to 0
10/10Dangerous-Workflow — no dangerous workflow patterns detected
0/7.5Dependency-Update-Tool — no update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — project was created within the last 90 days. Please review its contents carefully
0/5Packaging — немає даних
1.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
0/5SAST — no SAST tool detected
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
2.2/7.5Vulnerabilities — 7 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate2,6
Виключено з оцінювання (немає даних або не застосовно): ci_tests, packaging, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
25/25Непрямі залежності без відомих сповіщень — жодна непряма залежність не має відомих сповіщень
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories0
affected_packages0
assessed_packages8
unassessed_packages0
affected_by_severitynone
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено з runtime-замиканням залежностей npm:cognitiveos@0.10.7 — тим, що тягне за собою встановлення опублікованого пакета, — 8 пакетів. Досяжність не аналізується.

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

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

74Добрий · 0% загального індексу
Як обчислюється оцінка
45/45Інструкції для агентів — CLAUDE.md
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 95 з 96 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,99
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes11 578
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
0/11Конфігурація лінтера / форматера
11/11Статична перевірка типів — tsconfig.json
10/10Відтворюване середовище — lockfile
10/10Підтверджена практика роботи з агентами — 84 з останніх 96 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
3/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 3
Використані вхідні дані
has_nixні
has_testsтак
lockfilespackage-lock.json
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configні
typecheck_configstsconfig.json
agent_commit_share0,875
toolchain_manifests
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
55/55Керовані розміри файлів — 0/91 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes16 727
source_files_sampled91
oversized_source_files0

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

0зірок GitHub
1контриб'юторів
96комітів за останні 12 місяців
6днів від останнього пушу
1релізів
1бас-фактор
0відкритих issue
npmпакетних екосистем

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

  • GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository

Докладніше

OpenSSF Scorecard 2.6 / 10
2.6сукупно

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

10Binary-Artifactsno binaries found in the repo
0Branch-Protectionbranch protection not enabled on development/release branches
н/дCI-Testsno pull request found
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
0Code-ReviewFound 0/30 approved changesets -- score normalized to 0
0Contributorsproject has 0 contributing companies or organizations -- score normalized to 0
10Dangerous-Workflowno dangerous workflow patterns detected
0Dependency-Update-Toolno update tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintainedproject was created within the last 90 days. Please review its contents carefully
н/дPackagingpackaging workflow not detected
3Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 3
0SASTno SAST tool detected
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
3Vulnerabilities7 existing vulnerabilities detected
Прямі залежності 3
РеєстрПакетОбмеження версіїМаніфест
npm@clack/prompts^1.5.1package.json
npmchalk^5.3.0package.json
npmcommander^12.1.0package.json
Усі залежності не зібрано

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

Сповіщення про залежності 0

Встановлення npm:cognitiveos@0.10.7 тягне 8 пакетів, прямих і транзитивних: 0 мають відомі сповіщення, з них 0 — прямі залежності.

Жодне відоме сповіщення не стосується оцінених залежностей.

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [],
      "is_fork": false,
      "size_kb": 1051,
      "has_wiki": true,
      "homepage": null,
      "languages": {
        "JavaScript": 2661,
        "TypeScript": 270612
      },
      "pushed_at": "2026-07-20T16:38:08Z",
      "created_at": "2026-06-13T05:48:00Z",
      "owner_type": "User",
      "updated_at": "2026-07-20T16:38:14Z",
      "description": null,
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "MIT",
      "default_branch": "main",
      "license_spdx_raw": "MIT",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": null,
      "name": "0xDas",
      "type": "User",
      "login": "Callmedas69",
      "company": null,
      "location": null,
      "followers": 10,
      "avatar_url": "https://avatars.githubusercontent.com/u/126429597?v=4",
      "created_at": "2023-02-27T00:45:14Z",
      "is_verified": null,
      "public_repos": 51,
      "account_age_days": 1246
    },
    "license": {
      "state": "standard",
      "spdx_id": "MIT",
      "raw_spdx": "MIT",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2026-06-19T15:30:10Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "d4693954dbcb61374f6046c854ba9ff2c4631920",
          "body": null,
          "is_bot": false,
          "headline": "feat: bundle cognitiveos output skill",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-20T16:37:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f92847a3a91c1d7491eb19740d7ae23fe05caeb",
          "body": "0.10.5's blanket \"dispatch 0xnull for the writes\" was wrong both ways:\nit under-fired (agents rationalized inline anyway) and over-asked (for a\nsmall write, dispatching a headless keeper makes it re-read context the\nmain thread already holds). Smoke test 07 surfaced it: the main thread did\nfirst-run\n[…]\n rule instead of each\ndemanding blanket dispatch.\n\nTests: 291/291 green. Old blanket string gone from src. check passes on\nregenerated test-05.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.6: scope when to dispatch 0xnull — inline is often correct",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-11T17:08:16Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "52476dd879d8e2e6f0f44c1d1a71edc548810b2a",
          "body": "Smoke test 07 proved Claude Code subagents are headless — they run to\ncompletion and return one message, with no channel to prompt the user\nmid-run. So 0.10.4's \"interactive 0xnull\" (AskUserQuestion + first-run\ninterview mandate) could never work. This corrects the design.\n\n- Keeper loses AskUserQue\n[…]\nwork, 0xnull-the-keeper = headless writes/maintenance.\n\nTests: 289/289 green. grep AskUserQuestion src = 0. check 17/17 on\nregenerated test-05.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.5: keeper is writes-only, interview moves to main thread",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-11T16:41:20Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a7628dd6fbe3d94a8669ea796dbf9eb0178ee6a8",
          "body": "T1-T7 from smoke test 07 findings:\n- Rename subagent cognitiveos-keeper → 0xnull-the-keeper on all 4 platforms\n- Add AskUserQuestion to Claude keeper frontmatter (interactive interview)\n- Add fallback rule to keeper: if can't reach user with questions, hand back\n- Wire keeper dispatch at session-end\n[…]\neractively.\n\nRelease note: existing installs keep old cognitiveos-keeper file; check --fix adds new 0xnull-the-keeper alongside it (harmless).\n\nCo-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.4: keeper dispatch wiring + interactive 0xnull + SKILL.md dedupe",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-11T16:03:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "efeb9e26ad1138acb568d607b2ad62b26db8e0dd",
          "body": "Closes the 2026-07-06 keeper-check-drift backlog: keeper files were\ngenerated once at init and never verified again — a deleted keeper\nsilently killed the first-run interview and upkeep, and --fix could\nnot restore it.\n\n- check: new `keeper` entry — detects agents via installed skill files\n  (.claud\n[…]\nouched), projectName parsed from\n  STATE.md Current Focus with \"project\" fallback\n- 6 new tests (284 green); e2e verified byte-identical restore\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.3: check + --fix cover the keeper subagent on all 4 platforms",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-11T08:23:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4cdd7f8528ec52e0dde14858b039005c86eccda4",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.2: name the keeper persona 0xnull",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T10:20:21Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "eaee615f00fd2bbd137aa6c1577783f58ee16e80",
          "body": "Persona-only, dispatch slug stays cognitiveos-keeper (file paths,\ndrift-check, tests unchanged). 0xnull now appears in the keeper identity\n(\"You are 0xnull...\"), the body heading, the description, and the\nAntigravity displayName — across all 4 platform renders from one source.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "keeper: give the persona a name — 0xnull",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T10:18:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "525ebe0249f5c4ce04a0c2682ec760d6925f9ad6",
          "body": "- renderSummary: single loud \"▶ NEXT: open <agent>\" call-to-action,\n  demote dump/start/check to a \"day to day\" list (start is a resume tool,\n  not a first-run step)\n- first-run decline no longer nags every session: agent swaps\n  SETUP_SENTINEL -> SETUP_DEFERRED. SessionStart hook goes silent on\n  deferred; `check` still tracks it as a soft ⚠; `start` shows a quiet line\n- setup completing removes either marker\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "0.10.1: onboarding polish — louder init NEXT + decline back-off",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T09:08:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ff1318ce57f137b548b0f0004d8bc3b0705b703f",
          "body": "Annotated folder tree, 5-column routing table, workspace descriptions\n(What This Is) + Process/Boundaries/Tools in every zone CONTEXT, init\nnext-steps outro, and named session entries with decision logging.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "RT-15: bump 0.10.0 — richer generated CLAUDE.md + zone CONTEXT.md",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T08:00:57Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "578d901a6ee0c384afed95ba6ca0717292e0e09f",
          "body": "…grades\n\n- zone CONTEXT.md (6) + projects zone + project-root: add What This Is\n  (plain-language workspace description) + Process / Boundaries / Tools;\n  raise line cap 45 -> 50\n- init outro: numbered 5-step next-steps block, lists only selected agents\n- SessionEntry: optional name (-> `Session — <\n[…]\n  wording in skill/keeper/end-session hook for naming, decisions with\n  revisit condition, and elevating lasting decisions to project CONTEXT.md\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "RT-05..11c: workspace descriptions, init next-steps, session entry up…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T07:50:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "82bf9143a6b876bc8340f48105cace8c04e3039b",
          "body": "- Folder Structure: full annotated tree with seed files, project stage\n  subtree from PROJECT_TEMPLATES, sessions/, and selected agent dirs\n- Zone Map (3-col) -> Routing Table (Task/Zone/Files/Tools/Avoid, 9 rows)\n- thread answers.agents into renderSkillFile for the agent-config line\n- blockchain: stage table kept alongside the tree (no double listing)\n- update ROUTING_MARKER in check.ts + skill-file tests\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "RT-01..04: richer skill file — annotated tree + 5-column routing table",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T07:44:17Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5e7d15d4d4078787c6f9c355493ee4a1b40f09cc",
          "body": "Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "T-KP-07: bump 0.9.0 (multi-select agents + keeper parity)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-06T01:49:40Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "75196507cd95cd5c275e3c7e3b33bf54eefac6ec",
          "body": "Split the keeper prose into shared chunks so one source feeds four\nplatform renders (drift-proof): renderKeeperAgent (Claude, byte-identical\nto 0.8.1), renderKeeperCursor (.cursor/agents/*.md), renderKeeperCodex\n(.codex/agents/*.toml, literal developer_instructions block), and\nrenderKeeperAntigravit\n[…]\nrs + the\ngenerator; first-run keeper block updated for the new reality.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "T-KP-04..06: keeper subagent for Cursor, Codex, and Antigravity",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T15:10:29Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cae7554212672f24655966e7316f9e998581cd96",
          "body": "Accidentally staged by the previous git add -A. These are local eval /\nscratch artifacts (including .pyc and images) — gitignore them.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "chore: untrack local scratch dirs (skill-eval-workspace, temp-folder)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T15:03:11Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7999fb51cc30918db359f5cacaea63f646a267d7",
          "body": "Init Q1 is now a clack multiselect (all four agents ticked by default,\none Enter reproduces the old \"All\"); InitAnswers.agents is AgentId[].\nAll consumers branch on agents.includes(...) instead of === \"x\" || \"all\":\nskillFilesFor, skillTargetsFor, wantsClaude/wantsAntigravity,\nwantsClaudeHooks, and c\n[…]\nray selections; wizard/offer-skill\ncoverage updated for the list shape.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "T-KP-01..03: agents selection becomes a multi-select list",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T15:02:32Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "64906df6db013fc6a0c00948c4f40f2195e6e5d2",
          "body": "Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "docs: bump status prose to 0.8.1",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T14:17:20Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4e410c9b3154385284ee716f21767e2b9dd18804",
          "body": "… (0.8.1)\n\nThe 6-question setup interview lived only in SKILL.md and the keeper\nsubagent — artifacts the agent must choose to load — so a fresh init\ncould reach a first session where nothing pointed the agent at it,\nwhile the init summary claimed \"It already knows your context.\"\n\n- Mission Control n\n[…]\n init summary now promises the setup instead of claiming context exists.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "fix(first-run): deterministic interview trigger via SessionStart hook…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T14:16:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "561c4fae466b3ca7ac080d306a086de094e9456a",
          "body": "…arning, mobile-app (0.8.0)\n\n- video-production: concept > script > assets > edit > published;\n  asset/edit stages reference HyperFrames/Remotion tooling.\n- research: sources > notes > synthesis > draft.\n- learning: syllabus > practice > project > log; project stage enforces\n  shipping a tiny artifa\n[…]\nase.\n\nWizard Q2 grows to 10 choices (mixed stays last as the catch-all).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "feat(templates): 4 new project types — video-production, research, le…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T13:47:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "18ec907cebb504736d8eb157d161734a96c98b3e",
          "body": "…7.2)\n\nThe post-init confirm never said the project skill was already installed,\nso the global/project choice looked like all-or-nothing. Reworded the\nconfirm and skip note to surface both scopes.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "feat(init): make skill-install scope explicit (project vs global) (0.…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T12:01:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5fe5a797f27982bba871420ed24fb01e569ece27",
          "body": "Smoke-test fixes:\n- init: validate(undefined) no longer throws — @clack/core runs validate\n  before finalize defaults the value, so pressing Enter on an empty\n  project name crashed with TypeError on .trim(). Both validators now\n  route through validateProjectName().\n- skill file: generated CLAUDE.m\n[…]\n\n- chore: drop stale cognitiveos-0.2.0.tgz, bump CLAUDE.md status prose.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_017bLwBLQbFrzHBR4irZdCSF",
          "is_bot": false,
          "headline": "fix: crash-proof empty project name + naming conventions section (0.7.1)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-05T05:14:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e5042a1987f6c0e42cfba188cbdfcfc93e6d5197",
          "body": "The thesis says two current tasks must be impossible; until now the only\ndetector was 'cognitiveos check', which the user had to run. Every resume\nnow audits the invariant:\n\n- start: countTasks/countCurrentTasks (shared with check - single source\n  for the **Task:** count); MissionControlData.taskVi\n[…]\nirst)' when the invariant is broken.\n\n248 tests green (+5). Smoke: 2-task file -> box ⚠, injection leads with\nviolation, check still hard-fails.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(focus): session-start one-task self-audit",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-04T13:18:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "f15bf561bc8acd7fd84e69dc98d57470e20d8adb",
          "body": "Hyperfocus is the other half of ADHD focus failure - the product guarded\nstarting but never stopping. Zero-runtime fix: the stop condition is\nstructure, not a timer.\n\n- zones: focus/current-task.md seed is now structured (- **Task:** /\n  - **Done when:** placeholders + the stop instruction). New ins\n[…]\nstopping', STATE.md naming, honest one-task claim).\n\n243 tests green (+13). Review findings (duplicated field parse, misleading\nn/a copy) fixed.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(stopping): done-when stop condition + loop checkpoint (0.7.0)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-04T13:13:02Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "1ed0867d77b3c223ef021a94ce0a0c7867293de4",
          "body": "… reminder (0.6.0)\n\nSession end was honor-system while the thesis promises automatic state\nsaving - the S18 audit's deferred gap #3. This closes the deterministic half:\n\n- src/lib/staleness.ts (NEW): mtime day-granularity detector. Handoff is\n  stale when zone files or session logs moved on a later \n[…]\nnt, 0.5.0+ reality).\n\n230 tests green (+22). CLI smoke: check/--fix, STALE? render, Stop\nblock + guard, SessionStart stale lead-in all verified.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(session-end): staleness detection + deterministic Stop-hook save…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-04T12:00:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "05d77b67f2897e904b0dbe7a2dca4ca1e07a6b57",
          "body": "….5.0)\n\nCloses three loops found in the ADHD audit:\n- New src/lib/inbox.ts counts brain-dump/inbox.md captures + oldest age;\n  check warns softly at 10+ items or 7+ days, Mission Control shows an\n  INBOX line whenever captures are waiting\n- Mission Control NEXT now reads the actual task from\n  focus\n[…]\n softly when Active Projects exceeds the max-3 rule\n\nAll three are advisory-only: never fail, never touched by --fix.\n208 tests green (was 193).\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(adhd): inbox-rot warning, real NEXT task, active-projects cap (0…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-02T08:12:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8c4eda7166df94d8e1bd85bdf666d1d080508215",
          "body": "…estion (0.4.0)\n\n- New client-work project template: intake -> proposal -> delivery -> wrap-up,\n  one project = one client engagement, no-bleed rule between clients\n- First-run interview grows 5 -> 6 questions: working mode (self / client /\n  audience) lands in CONTEXT.md and steers the agent's role thinking\n- Wizard gains the client-work choice (still 3 init questions)\n- 193 tests green (was 189)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(templates): client-work project type + working-mode interview qu…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-07-02T06:48:04Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "47fc8d0d727554fdde7601c2d0ccd4e37fbcf086",
          "body": "…nt (0.3.0)\n\nFinding: after init, CONTEXT.md/STATE.md were name-slotted boilerplate — nothing\nabout what the project is. Fix gathers context post-install via the agent, not a\nlonger install wizard (keeps \"3 questions never more\").\n\n- first-run-block.ts (new, single source like loop-block): SETUP_SEN\n[…]\nrn → ⚠ setup while the sentinel is present;\n  never fails, never exits 1, never suggests --fix. runFix leaves it.\n- +11 tests, suite 189 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(setup): agent first-run context interview + Claude keeper subage…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-26T06:43:19Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "fc4155a1e503a45883879af3218a15636094ae3c",
          "body": "…2.2)\n\nOnboarding gap: `npm i` + `init` left the skill un-installed unless the user\nseparately discovered `install-skill`. Now init asks one consent prompt after\ngeneration and, on yes, installs the global skill for the agent(s) chosen —\nboth scaffold and skill land in one flow.\n\n- toInstallAgent():\n[…]\nor non-TTY or writes to a real home unattended.\n- No postinstall magic (would break the never-surprise invariant).\n- +6 tests, suite 178 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(init): offer the global /cognitiveos skill after scaffolding (0.…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-26T06:03:17Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e09809fd23dbe40387b830a1be7d1de1b3b2d274",
          "body": "….2.1)\n\nSmoketest finding 2026-06-25: the init wizard offered 5 project types but only\nblockchain scaffolded real stage folders; the other four mapped to the empty\nminimalTemplate, so the choice was misleading.\n\nOption A fix:\n- Extract stageContext() from blockchain.ts into shared stage-context.ts.\n\n[…]\n-all, labelled\n  honestly in the wizard.\n- Update template + init tests; mixed-only minimal regression. Suite 172 green.\n\nBumps 0.2.0 -> 0.2.1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(templates): real fullstack/cli-tool/content project templates (0…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-26T05:15:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "98772869f5a23ff7f7a43d6b590ae485c5e238dd",
          "body": "Replace the flat prose description with the skill-creator eval-loop result:\ncategorized trigger buckets (SESSION RESUME / ZONE ROUTING / CAPTURE /\nSESSION END / ADHD FOCUS) plus an explicit \"Do NOT trigger for\" anti-list,\nrendered as a YAML block scalar. Higher recall for /cognitiveos invocation.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat(skill): sync distributable skill description from eval-loop output",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-26T05:15:12Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "33354848d73a957f153fbde1f2e45741f4da578b",
          "body": "Ship a project-agnostic, installable cognitiveOS skill distinct from the\nper-project SKILL.md that `init` generates. New `install-skill` command\nwrites it to the user's home agent-skill dir (~/.claude, and ~/.codex,\n~/.agents with --agent all), updating in place with a .bak on change.\n\nThe skill bod\n[…]\nmbat skill undertriggering.\n\n169 tests green (+7). Bump 0.1.1 -> 0.2.0.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "feat: add `cognitiveos install-skill` + distributable /cognitiveos skill",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T16:21:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "87e72d0dea339513cbf1058126b05c3a2d57ea07",
          "body": "Document the session-start hook contract, Codex (.codex/hooks.json) and\nAntigravity (.agents/hooks.json) wiring, and a 7-step guide for adding a\nnew agent target. Docs only, no code change.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-042: add CONTRIBUTING.md with hook-wiring docs",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:14:57Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "a88431437e32bd24aa062a386ca5b4b6d5ebda07",
          "body": "Replace thin one-line stage roles with concrete per-stage guidance:\nresearch (risk-register), contracts (OpenZeppelin + audit checks),\nfrontend (wagmi/viem, readable tx errors), deploy (deployments.md log\n+ on-chain verify), audit (adversarial checklist, findings only). Each\nstage gets specific Output/Handoff lines. Still under the 30-line cap.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-041: enrich blockchain project-template stage contexts",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:13:30Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "147a128e98e6cf18f60e8f92cc5c3a477305b530",
          "body": "Piped/CI invocation made @clack/prompts read a closed stdin and crash\nwith ERR_USE_AFTER_CLOSE. Add an isTTY check at the top of initCommand\nthat prints a clean message and exits 1. Skipped when a prompt fn is\ninjected so tests stay TTY-free.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-039: guard init against non-TTY stdin",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:11:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3a1d2367544255bd24dff69d97a18825e865cb4f",
          "body": "If a user placed a scalar/object under hooks.SessionStart, the old\nasArray spread discarded it. Now detect the non-array case, leave the\nfile untouched, and report it via res.manual so the user keeps their\nconfig and wires the hook by hand.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-038: never silently drop a non-array SessionStart value",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:09:36Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "dd50d54cf43f6e2291df11ac68b522b3192f92e4",
          "body": "Replace the whole-config substring scan with alreadyWiredClaude /\nalreadyWiredAntigravity, which only inspect the actual SessionStart /\nPreInvocation arrays. A marker string in an unrelated field no longer\nfalsely reports the hook as wired and skips setup on re-init.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-037: anchor the already-wired check to real hook entries",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:08:25Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "35416cb4585aa369f22badcb2fa923ff6c556420",
          "body": "Wrap the for-await read loop in try/catch so ECONNRESET/EPIPE on a\nclosed stdin falls through to runSessionHook with accumulated input\ninstead of rejecting. Restores the documented \"never throws\" contract.\n\nAlso annotate the deferred T-034 gate in CLAUDE.md (owner's call,\n2026-06-24) so build-loop discipline reads true.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01WkRszpJWPATNPkNVgZAyqe",
          "is_bot": false,
          "headline": "T-036: harden readStdinThenHook against stdin stream errors",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-24T15:06:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d589421695b712ba151ac611453ade889e0565aa",
          "body": null,
          "is_bot": false,
          "headline": "chore: release v0.1.1",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-19T15:30:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a9666e4cfbdc978f2b72805de2882cdcd30b224f",
          "body": "…NTS.md\n\nAligns the scaffolded routing map to the canonical claude-map template — a\nfolder-structure tree (before Zone Map) and a what-to-avoid block (after ADHD\nRules). Light/additive: section vocabulary and all coupling unchanged (Zone Map\nmarker, LOOP_BLOCK, drift byte-compare, STATE 7-section count). +2 generator\ntests. 158 tests green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_0189hGcetZKJkeGVJBB2r4yZ",
          "is_bot": false,
          "headline": "feat: add Folder Structure + What to Avoid to generated CLAUDE.md/AGE…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-19T15:29:49Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "936135e6d0bc75967ab3384c728f3daf1e4556da",
          "body": "#1 initCommand now handles the \"conflict\" action (folder has CLAUDE.md/\nAGENTS.md but no STATE.md): warn, show what exists, and require an explicit\nconfirm before scaffolding — instead of silently writing a full cognitiveOS\ninstall into an existing codebase. Restores the PRD OQ4 / TDD 4.1 worktree\ng\n[…]\n surfaces the same tip.\nVersion intentionally not pinned (would force fetches and break the\ncheck.ts/test substring match for no offline gain).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: guard init conflict path + harden session-start hook",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T16:28:14Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "96239096c79a62e918f0c9a0db3a99cd8aad05a6",
          "body": "Swap inquirer -> @clack/prompts for the left-rail wizard UI (runtime deps\nstay at 3: commander, @clack/prompts, chalk). Add a big ANSI-Regular figlet\nwordmark (src/lib/wordmark.ts) rendered with an emerald top->bottom gradient\nplus the \"// the thinking is free.\" brand line. Keep [n/3] progress label\n[…]\nOLOR via a single colorEnabled()\ngate in the new src/lib/theme.ts (output.ts stays pure). Tests cover theme +\nwordmark; full suite 157 passing.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: polish init wizard — clack rail + gradient wordmark",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T16:07:37Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8c9bbf7e3e789d34dcb56455436a8786bd02e9e5",
          "body": "…ucture)\n\nBuild clean, 150 tests green, CLI --version reads package.json.\nPublish + push intentionally deferred to Harry (outward/irreversible, npm auth).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A13: bump version 0.0.3 -> 0.1.0 (STATE.md rename + 7-section restr…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T10:14:13Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ffc3d9319b18750f9ede4df45b4c70a2fedebb02",
          "body": "Repo CLAUDE.md: memory.md -> STATE.md and the renamed generator/template refs\n(generators memory -> state). Vault source-of-truth docs (PRD, TDD, README\ndraft, TTD) swept to STATE.md and both add-on specs banner-marked IMPLEMENTED\nwith task mapping (T-M/T-N -> T-A) — those live outside the repo (untracked\nvault). Peripheral/historical vault docs left as-is per chosen core scope.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A12: sync docs to STATE.md / 7-section model",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T10:12:34Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ef6848ada449a30092ca89fcf887e61f56ba2458",
          "body": "Rewrite end-session.md.ts to the snapshot-not-log lifecycle: overwrite the\nSession Handoff (4 fields), keep Open Loops active-only and roll closed loops\nto sessions/, cap Recently Completed at 5 (older wins roll out), prune Agent\nNotes over ~10. Keeps the asserted \"exactly one question\" + sessions/Y\n[…]\nE: this is agent-instruction, not deterministic code — the check size\nwarning (T-A07) is the only enforced backstop if the agent fails to roll.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A11: end-session hook prose — write handoff + roll history out",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:21:43Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "115a8a20abd6cb82babc5796837d67c3910e75d5",
          "body": "hook.ts renderPlain: when STATE.md carries a Session Handoff, the injected\nenvelope (Claude additionalContext / Antigravity ephemeralMessage) opens with\n\"➡ PICK UP: <action> (stopped: <reason>)\" before the title. Still never throws.\n+1 test asserting the first envelope line is the pick-up action.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A10: session-start hook envelope leads with PICK UP",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:20:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ba23808e2e90aa3b1040ed2b6ed81becebe8f21a",
          "body": "output.ts: MissionControlData gains pickUp/pickUpReason; renderMissionControl\nprints a leading \"➡ PICK UP <action>\" row (+ \"stopped: <reason>\" subtext)\nbefore FOCUS when present. start.ts: buildMissionControl reads sessionHandoff,\ntreating the \"—\" template placeholder as empty so a fresh project shows no\nheadline. The hardcoded NEXT remains as the concrete file-to-open fallback.\n+2 tests (headline present / placeholder empty).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A09: Mission Control leads with a PICK UP headline (spec T-M04)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:20:03Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cfc6b1ce51e0426a6a5be5db1a2ec7068c41c74d",
          "body": "Rename memory.test -> state.test (7 headers, removed-section guard) and\nmemory-write.test -> state-write.test (Session Handoff round-trip + surgical\nupdate). parser.test: parseStateContent + 4-field handoff parse assertion.\nFix STATE.md filename + symbol refs across generators/hook/hooks/init/session/\ncheck/check-fix/start-edges. 22 files / 147 tests green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A08: update test suite for STATE.md 7-section model",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:17:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6c107aeae62404ccc86c94e337bc40f43ddd8bfe",
          "body": "STATE_SECTIONS 9 -> 7. Add STATE_SIZE_WARN_LINES = 150: when STATE.md\nexceeds it, append \"growing (N lines), should be a snapshot\" to the detail\nbut keep ok=true — growth is a soft flag, not a hard failure (nothing broken,\nand --fix cannot shrink user content). check #1 now reads content once and\nuses parseStateContent + a line count.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A07: check flips to 7 sections + soft size warning",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:14:11Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d23a7be4f322200d2f861df384a85b6fc3cd2357",
          "body": "Type-coupled, committed together to keep the tree compiling.\nparser.ts: drop EnergyState; State drops energyState/parkedIdeas/someday,\nadds sessionHandoff{lastWorkedOn,stoppedBecause,pickUpBy,watchOutFor}; parse\n\"Session Handoff\" via the existing field() helper; trim LIST_SECTIONS.\nstate-write.ts: s\n[…]\n\nParked Ideas / Someday/Maybe; writeBackState writes Session Handoff.\nSection-surgical write-back + tolerance unchanged. Tests red until T-A08.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A05 + T-A06: State interface + parser + serializer for 7-section model",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:10:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "20bc1c56decc83952957bbf5d69e7d034872be83",
          "body": "Remove Energy & State, Parked Ideas, Someday/Maybe (no MVP consumer /\nduplicated zone files). Add Session Handoff (Last worked on / Stopped\nbecause / Pick up by / Watch out for). Retitle to \"Current State\" with the\nsnapshot-not-log subtitle. Parser/check/tests still expect 9 (T-A05..A08).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A04: STATE.md template 9 -> 7 sections (restructure add-on v1.1)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:07:59Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2a0dd7e8cdc98827c1bf53a0fc879c13110442ea",
          "body": "check #1: when STATE.md absent but memory.md present, report a legacy\nwarning pointing at --fix (instead of plain \"missing\").\nrunFix: non-destructive renameSync(memory.md -> STATE.md) as the first\nrepair step, guarded against clobbering an existing STATE.md. Content\nmoves byte-identical (verified via SHA256), honoring the no-edit invariant.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A03: check detects legacy memory.md + --fix renames to STATE.md",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:06:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "154874fe006d617c2158161cfa148f7b61f15174",
          "body": "Skill files, hooks, loop-block, zone/project CONTEXT templates, README.\nAlso dropped \"energy state\" from skill prose (Energy section removed in T-A04)\nand threaded Session Handoff into the skill start/end instructions.\nSole remaining \"memory.md\" literal is detect.ts legacy fallback (feeds T-A03).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A02: update prose references memory.md -> STATE.md",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:04:31Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "4e35d66180cd62d9f589753dcd32279c854026b4",
          "body": "Module/symbol renames: renderMemory->renderState, generateMemory->generateState,\nparseMemory/parseMemoryContent->parseState/parseStateContent,\nwriteBackMemory->writeBackState, interface Memory->State, MemoryVars->StateVars.\nFiles: templates/state.md.ts, generators/state.ts, lib/state-write.ts.\nOn-di\n[…]\nrtifact now STATE.md; detect.ts keeps legacy memory.md fallback.\nTemplate/hook prose still references memory.md (T-A02). Tests red until T-A08.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-A01: rename memory.md -> STATE.md (code symbols + filename literals)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-18T09:01:39Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "4bcea87bfe8cf40a7c94af5a6bdbb838828d7879",
          "body": "Ships the version-string fix from the previous commit; npm\nforbids overwriting an already-published 0.0.2.",
          "is_bot": false,
          "headline": "chore: bump version to 0.0.3",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-16T16:23:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3b239e3bc50a68d818d37e86c1dfa7523e933645",
          "body": "--version was frozen at 0.0.1 regardless of the actual published\nversion, caught while smoke-testing the 0.0.2 republish.",
          "is_bot": false,
          "headline": "fix: read CLI version from package.json instead of hardcoded string",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-16T16:16:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4ee59da2275464531a01d41c1f7ea463ac18a46b",
          "body": "Republish to ship cross-agent skill, session-hook, and agentic\nloop add-ons that landed after the 0.0.1 publish.",
          "is_bot": false,
          "headline": "chore: bump version to 0.0.2",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-16T16:06:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6efc57d678dcfe653d30753f3a3aad7f1535930b",
          "body": "Refresh README + CLAUDE.md to reflect the cross-agent agent skill, deterministic session-start hook, and in-session agentic loop.",
          "is_bot": false,
          "headline": "Merge branch 'docs/reflect-skill-hook-loop'",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T15:55:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c58fda1deff3170d6595e5cbf1db469ec087c8c0",
          "body": "README + CLAUDE.md were stale (pre-add-ons). Update both:\n\n- README: dev-centric tagline (\"Stop relearning your own project\"), real\n  agent-skill table per agent (SKILL.md / .mdc), new \"Loads itself at session\n  start\" section for the deterministic hook, fix slash-hook names\n  (/start-session /end-s\n[…]\n start --hook mode, new generators/templates, and 10 checks.\n\nVault docs (CONTEXT.md, README mirror, add-on spec statuses) updated outside git.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "docs: reflect agent skill, session hook, and agentic loop",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T15:52:41Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "8e908570ffd08cb8b7d417b70dee03bda1effe5c",
          "body": "In-session agentic loop block (silent read-state/one-action/update/re-read rhythm) baked into CLAUDE.md/AGENTS.md + the cross-agent SKILL.md via a shared LOOP_BLOCK constant; start-session hook reworded; one-action rule in all 6 zone CONTEXTs; check #10 verifies the block.",
          "is_bot": false,
          "headline": "Merge branch 'feat/agentic-loop-block'",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T15:23:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1fd295b080b9c719049d918fd7a6368045144961",
          "body": "Adds the silent, work-scoped \"read state -> one action -> update -> re-read\"\nrhythm (agentic-loop-add-on spec v1.1) to the generated skill files. Text only,\nno runtime.\n\n- new src/templates/loop-block.ts: single shared LOOP_BLOCK + LOOP_MARKER\n- skill-file.md.ts (CLAUDE.md/AGENTS.md) + cognitiveos-s\n[…]\nthe block (loud, report-only)\n- tests: loop block present in CLAUDE/AGENTS + SKILL.md; check flags when stripped\n\nT-A01..T-A04. 143 tests pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: in-session agentic loop block in skill templates",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T15:19:08Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "a2406945fa9056e1035dfc271032034cbf91a51d",
          "body": "Cross-agent cognitiveOS Agent Skill (Claude/Codex/Antigravity SKILL.md + Cursor .mdc) and deterministic session-start hook (start --hook adapter, backup-safe config merge, check verification + --fix).",
          "is_bot": false,
          "headline": "Merge branch 'feat/cross-agent-skill-and-session-hook'",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T15:06:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a946b8ac7c0cf712c443490534653076f9fe6d86",
          "body": "The idempotent-skip branch was still adding to `wired`, so `check --fix`\nreported \"session hook ensured\" on a healthy install (breaking \"nothing to\nfix\"). Only created/merged configs are reported now. check-fix fixture wires\nthe hook to mirror a real init.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: wireSessionHooks reports only configs written this run",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T14:56:28Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "8183451d1acf6274895ec7e4141f7c64899bb2a2",
          "body": null,
          "is_bot": false,
          "headline": "feat: check verifies + --fix restores the session hook",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T14:50:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf06d5ca3cf1057970eceeedaae5c15d64e1141d",
          "body": null,
          "is_bot": false,
          "headline": "feat: init wires session hooks post-generation + reports manual cases",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T14:48:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4419e89c579b23a7a4628908bc5c0e40e581aa44",
          "body": "- config-merge.ts: parse-safe loadJson + backupAndWrite (.bak on existing).\n- session-hook.ts: wireSessionHooks merges the SessionStart hook into each\n  agent's native config (Claude .claude/settings.json, Antigravity\n  .agents/hooks.json). Absent → create; present → backup + idempotent append;\n  malformed → leave untouched + report as manual. Never loses user data.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: backup-safe idempotent session-hook merge generator",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T14:45:16Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "98e1b4250fce7aee1213027b92ca708f9fcf4a3d",
          "body": null,
          "is_bot": false,
          "headline": "feat: cognitiveos start --hook --agent CLI mode",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T14:43:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b0b6a6e5a9e375600ba2c48fbde4a7e9191b5144",
          "body": "…ral bracket)",
          "is_bot": false,
          "headline": "fix: correct ANSI-check regex in hook test (escape sequence, not lite…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T10:34:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fc68a3f86d0c0f6237ac3d6828a6828f0fc2d227",
          "body": "- Add HookAgent type to src/types.ts (\"claude\" | \"antigravity\")\n- Implement runSessionHook in src/commands/hook.ts: reads agent hook JSON,\n  returns agent-specific injection envelope (injectSteps for antigravity,\n  hookSpecificOutput for claude) carrying plain-text Mission Control. Never\n  throws — \n[…]\nstart pass-through, garbage stdin, missing memory.md. 5/6 pass; test 6\n  has a spec typo (/\\[/ instead of /\\x1b\\[/ for ANSI check) — tracked.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: session-hook envelope adapter (runSessionHook)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T10:31:52Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "c4901f75b7f25fc890504346ab274eb05ae52bcc",
          "body": "Generate a real model-triggered Agent Skill into each selected agent's native\nlocation, from one canonical operating-manual body (no drift):\n- Claude Code   .claude/skills/cognitiveos/SKILL.md\n- Codex         .codex/skills/cognitiveos/SKILL.md\n- Antigravity   .agents/skills/cognitiveos/SKILL.md\n- Cu\n[…]\ncursor\" to the wizard/AgentChoice; CLAUDE.md/AGENTS.md stay the lean\nalways-on routing table with a one-line pointer to the skill. 6 new tests.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "feat: cross-agent cognitiveOS Agent Skill in init",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-15T10:25:06Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e9c0ad704069165ca750f18d62caf09d02f0fad6",
          "body": "- LICENSE: MIT (0xDas) — required for npm, package.json already declares MIT\n- package.json: prepublishOnly → npm run build (dist always fresh on publish)\n- .npmrc gitignored; uses ${NPM_TOKEN} env var (no secret in repo)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore(publish): add LICENSE, prepublishOnly build, gitignored .npmrc",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T16:02:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "909d8125451325bafde6ae184eaa4294e8fae5bf",
          "body": "…r path\n\nPre-THE-TEST code review findings:\n- HIGH: generateProjectTemplate only ensureDir'd projects/<name>/ for minimal types → empty dir dropped by atomicGenerate (carries files, not empty dirs) → project folder missing after real init, though memory.md lists it. Fix: always write a project-root \n[…]\ntests: corrected T-010 minimal assertion (was encoding the bug), added init regression for minimal-type folder survival.\n\nFull suite 112 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "review: fix minimal project folder dropped on merge + harden cli erro…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:41:46Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "ffa1a920a50f1bed8210d04852937b470abd0aa6",
          "body": "- Quick start: 3 commands (< 10 lines) → first session\n- Accurate to the 4 shipped commands (init/start/dump/check --fix)\n- Shell auto-load snippets for zsh/bash AND PowerShell\n- Works-with table, never-overwrite note, build-from-source, thesis, MIT\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-031: README — install to first session, shell hooks",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:37:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "6be24991dfe2691ee76c82521de8585582c4d34b",
          "body": "- runFix: regenerate CLAUDE.md from AGENTS.md on drift (AGENTS = source of truth); restore missing zone CONTEXT.md via safeWrite (skips existing user-edited ones); NEVER touches memory.md\n- checkCommand(--fix): repair → report fixes → re-run checks\n- cli.ts: --fix option threaded\n- test/check-fix.te\n[…]\n tests pass, memory.md byte-identical after fix — verified\n\nSession 6 complete (T-024→T-026). All 4 commands implemented. Full suite 111 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-026: check --fix — drift repair + restore missing CONTEXT.md",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:27:34Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "aac52601fb9e2d1c5b3ecbe76596b9ff2c9cbc12",
          "body": "- runChecks (pure): memory.md 9 sections, AGENTS/CLAUDE routing table, drift, zones 6/6, current-task 0/1, hooks 3/3, sessions writable\n- renderCheckReport: TDD 4.4 format + fix hint; checkCommand sets exit code 1 on issues\n- cli.ts: check wired\n- test/check.test.ts: 9 tests green (healthy + each failure mode isolated)\ndone when: each failure mode individually detected — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-025: check command — 8 health checks (TDD 4.4)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:25:24Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "2c5888eee1cb33ed7740e24863ad255af8b089b9",
          "body": "- appendDump: timestamped line → brain-dump/inbox.md; only touches inbox, so never fails on unrelated broken state; creates folder/file if absent\n- resolveEditor + $EDITOR fallback (notepad on win, nano otherwise) when no inline text\n- cli.ts: dump wired (variadic [text...])\n- test/dump.test.ts: 6 t\n[…]\n, trim, survives corrupt memory.md, editor resolution)\ndone when: dump succeeds with corrupted memory.md present — verified; live run confirmed\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-024: dump command — friction-free capture",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:22:49Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "e0d03171cc0c899410fe4d939926a12c17a6d175",
          "body": "- relativeSession: today / yesterday / N days ago (Mon D); 7+ day gap just shows count, never prompts/resets (PRD OQ5)\n- buildMissionControl: injectable clock, lastSession now humanized\n- test/start-edges.test.ts: 4 tests (missing memory → init hint no throw; 10-day gap renders, no prompt path; empt\n[…]\ncases covered by tests — verified. Full suite 91 green.\n\nSession 5 complete (T-020→T-023): parser, surgical write-back, Mission Control, edges.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-023: start edge cases — missing memory, 7+ day gap, empty sections",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:17:30Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "3a936a78dd2ebe026a33d26e964b5cccc8e61a21",
          "body": "- lib/output.ts: renderMissionControl — pure, width-deterministic box (<=60 cols, well under 80); max 3 loops + \"and N more\"; omits BLOCKED/RECENT when absent\n- commands/start.ts: buildMissionControl (parse memory.md + findLastSessionDate) + startCommand; missing memory.md → init hint\n- cli.ts: star\n[…]\n loops, content, omissions, real memory.md)\ndone when: renders from real memory.md, 80-col safe, max 3 loops — verified (live render confirmed)\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-022: Mission Control render + cognitiveos start (TDD 4.2)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:15:40Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "cbfc25c0e07aa983d4e5dae23f66cfe6b2946b54",
          "body": "- lib/memory-write.ts: updateSection replaces one section body, byte-preserving everything else (split/join \\n keeps \\r + trailing newline); trailing blanks kept\n- writeBackMemory: rewrites only sections present in updates; unknown user sections untouched; empty updates → identical\n- serializers for\n[…]\n isolation, unknown-section preserved, CRLF preserved, absent no-op)\ndone when: round-trip of edited file shows zero unintended diff — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-021: section-surgical memory.md write-back",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:05:58Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "20eb2385148d190784aacfe3027b88791dbd8362",
          "body": "- sectionize by ## headers (order-independent); field() extracts **Key:** values; listItems() collects bullets, \"none\" → empty list\n- parseMemoryContent (pure) + parseMemory (file wrapper); never throws — malformed/missing → partial + warnings\n- unrecognized sections recorded as warnings (preserved \n[…]\n unknown, partial, malformed, empty, missing file, real file)\ndone when: tests pass for canonical, reordered, user-edited, malformed — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-020: lib/parser — tolerant parseMemory (TDD 4.5)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T11:01:35Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6c2fe88225e76c0c0083cf81ec76839b23527b02",
          "body": "- lib/session.ts: formatDate/formatTime, sessionFileName, renderSessionEntry (TDD 5.2, locale-free)\n- generators/session.ts: generateFirstSession writes sessions/<date>.md \"cognitiveOS initialized\" (materializes sessions/)\n- generateAll/runInit: thread injectable clock, append first session log\n- re\n[…]\nd prints it\n- test/session.test.ts: 5 tests green\ndone when: output matches TDD spec, sessions/ contains entry — verified. Full suite 66 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-018: first session log + success summary (TDD 4.1 step 5/f)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:41:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "56811437c2a06e0dcfc9f32c38094ec3acf080d8",
          "body": "- generateAll: zones → memory → skill-files → hooks (Claude/All) → project-template\n- runInit: wraps generateAll in atomicGenerate (atomic, never overwrites)\n- initCommand: detect → exit if already-init → wizard → generate → report conflicts\n- cli.ts: init action wired to initCommand; switched to pa\n[…]\nno-partial, worktree keep)\ndone when: fresh temp dir → complete structure; injected failure → no partial files — verified. Full suite 61 green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-017: orchestrate init generation under atomicGenerate (TDD 4.1)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:36:53Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "bd1f61b5fd7655b3d468b4dccd5ea90da01872cc",
          "body": "- buildQuestions: agents / projectType / projectName (exactly 3, PRD 7.4)\n- normalizeAnswers: passthrough + slugify project name (folder-safe, vault naming)\n- runWizard(prompt): injectable prompt fn → testable without a TTY\n- test/wizard.test.ts: 7 tests green (slugify, question count, all 4 agent paths incl \"all\")\ndone when: answers object correct for all paths incl All — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-016: 3-question inquirer wizard (commands/init.ts)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:32:29Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d2450596907b2005b5e1b9090f8801598aaa1cc8",
          "body": "- detectInstall: memory.md → initialized; CLAUDE.md/AGENTS.md → conflicts\n- decideInitAction: already-initialized | conflict | fresh (initialized takes precedence; worktree strategy, never overwrite)\n- pure functions; interactive prompt/exit wiring lands in T-017\n- test/detect.test.ts: 5 tests green (fresh, re-run, partial conflict, both, precedence)\ndone when: tests cover fresh dir, re-run, partial conflict — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-015: init detection logic (lib/detect.ts)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:30:36Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7e35e5ee40dd0980aad9b2a57040f90ecd8e75d3",
          "body": "Silences per-commit CRLF warnings and guarantees identical bytes across\nWindows/Mac/Linux before the cross-platform gate (T-027/028). Renormalized\nexisting tracked files to LF.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "chore: add .gitattributes — lock LF line endings repo-wide",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:29:44Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "ea037cf1e81974397e4fc6059c948fbfe35f966f",
          "body": "- generateProjectTemplate: blockchain lays 5-stage map (each folder + CONTEXT.md); minimal types create project root only\n- test/project-template.test.ts: 2 tests green (blockchain 5 stages, minimal root-only)\ndone when: blockchain produces 5 subfolders with CONTEXT.md — verified\n\nSession 3 complete (T-011→T-014), 45 tests green, build clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-014: generators/project-template — projects/[name]/ from selected type",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:02:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "130ac1956170ceb92e5ca3fef317b423e37c25c5",
          "body": "- memory.ts: writes memory.md pre-filled from init answers\n- skill-files.ts: skillFilesFor(agents) maps choice → CLAUDE.md/AGENTS.md; both byte-identical content (PRD 5.6, no drift)\n- hooks.ts: writes 3 hooks into .claude/commands/\n- test/generators.test.ts: 5 tests green (agent-choice routing, identical content, hook paths)\ndone when: each generator unit test passes — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-013: generators/memory + skill-files + hooks",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:01:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "c57b6c70e033ec18b75a0bcc3cb352103a898d05",
          "body": "…sessions/\n\n- generateZones(targetDir): writes ZONE_CONTEXTS per zone, seed files (inbox/sorted/current-task/session-notes/ideas/someday), ensures append-only sessions/\n- uses safeWrite — existing user files never overwritten\n- test/zones.test.ts: 3 tests green (zone tree, seeds, sessions/)\ndone when: temp-dir test produces complete zone tree — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-012: generators/zones — 6 zone folders + CONTEXT.md + seed files + …",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T09:00:47Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "5c9a77ff877f88b9398a62323708c660c6d92c0d",
          "body": "- safeWrite: never overwrites, returns conflict; normalizes CRLF→LF (TDD §7)\n- atomicGenerate: build into temp stage → merge via safeWrite on success; throw → stage removed, target untouched, zero partial files\n- ensureDir: recursive mkdir\n- test/fs-utils.test.ts: 7 tests green (conflict, rollback, idempotent merge, line endings)\ndone when: unit tests pass incl conflict + rollback — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-011: lib/fs-utils — safeWrite, atomicGenerate, ensureDir",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:59:51Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "d0b64a9eb7860ac4c391ed5ddfc58adf8f23f58c",
          "body": "- src/templates/project-types/blockchain.ts: 5-stage map (research/contracts/frontend/deploy/audit), each with CONTEXT.md role\n- minimal.ts: empty template shared by fullstack/cli-tool/content/mixed (only blockchain ships stages in MVP)\n- index.ts: PROJECT_TEMPLATES record; src/types.ts: ZoneFolder \n[…]\nts green\ndone when: blockchain renders 5 stages each with CONTEXT.md — verified\n\nSession 2 complete (T-006→T-010), 28 tests green, build clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-010: 5 project-type templates (PRD 5.2)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:55:01Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "47817baf22692a21993719a4358b98373c53aec2",
          "body": "- src/templates/hooks/{start-session,end-session,dump}.md.ts: exact TDD 4.6 content\n- src/templates/hooks/index.ts: HOOKS map keyed by command name\n- test/hooks.test.ts: 5 tests green\ndone when: all 3 render — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-009: 3 Claude Code hook templates (TDD 4.6)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:53:27Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "428b41298a4a69569959ff855f4071c9a2eaa092",
          "body": "- src/templates/contexts/{brain-dump,queue,focus,projects,ideas,someday}.md.ts: each Role/Input/Rules/Output/Handoff, under 30 lines\n- src/templates/contexts/index.ts: ZONE_CONTEXTS map keyed by folder\n- test/contexts.test.ts: 13 tests green (6 zones present, 5 sections each, line budget)\ndone when: all 6 render, each under 30 lines — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-008: 6 zone CONTEXT templates (PRD 5.3)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:52:19Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "7e1923a70380f3a550783bb2d385336816eafcd2",
          "body": "- src/templates/memory.md.ts: 9 sections in fixed order; Current Focus + Active Projects pre-filled from init Q3\n- test/memory.test.ts: 3 tests green (section presence, order, count, injection)\ndone when: renders with test data, all 9 ## headers present — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-007: memory.md template (renderMemory, PRD 5.4)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:50:54Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "e9605f55b9eca5ed305a104c68b8eb0581d438ff",
          "body": "- src/types.ts: ProjectType, AgentChoice, InitAnswers\n- src/templates/skill-file.md.ts: zone routing table + memory instruction + ADHD rules; injects active project; blockchain type appends 5-stage map (PRD 5.2)\n- test/skill-file.test.ts: 4 tests green\ndone when: returns valid markdown with injected project name — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-006: skill-file template (renderSkillFile, PRD 5.7)",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:49:53Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3f53c9fea6f56b358693658470425756c5277507",
          "body": "- .github/workflows/ci.yml: matrix build, npm ci + build + test, fail-fast off\n- test script: added --passWithNoTests (green until specs land in T-006+)\ndone when: green check on push\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-005: CI workflow — vitest on Node 18/20/22 × ubuntu/macos/windows",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:44:31Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "437fb218d922647a1e874722f986daaea84975a1",
          "body": "…tart/dump/check)\n\n- init/start/dump/check registered with descriptions; check has --fix flag, dump takes [text...]\n- each action stubs with the task range that implements it\ndone when: npm run build && node dist/cli.js --help lists all 4 — verified\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-004: src/cli.ts commander wiring — 4 typed subcommand stubs (init/s…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:43:14Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "3cf58a0732c672005e325e14fddb18f88f77140a",
          "body": "…,hooks,project-types}, lib, test)\n\nTree matches TDD §2. .gitkeep placeholders in empty dirs.\nDeviation: skipped vestigial bin/ — TDD §2 omits it (tsup outputs dist/, bin field → dist/cli.js).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-003: folder skeleton (src/commands, generators, templates/{contexts…",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:42:33Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "cb64f0b6edb9a3f4f2b74ee3de3b67aa389af0e4",
          "body": "- package.json: bin->dist/cli.js, type:module, engines>=18, deps commander/inquirer/chalk, devDeps vitest/typescript/tsup\n- tsconfig.json: ES2022, NodeNext, strict\n- tsup.config.ts: src/cli.ts -> dist/ (esm, node18, shebang preserved)\n- src/cli.ts: stub entry (commander wiring lands in T-004)\n- .gitignore: node_modules, dist\n\ndone when: npm install && npm run build runs clean — verified, dist/cli.js prints \"cognitiveos\"\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "T-002: npm init + package.json + tsconfig + tsup config",
          "author_name": "Callmedas69",
          "author_login": "Callmedas69",
          "committed_at": "2026-06-13T08:39:41Z",
          "body_truncated": false,
          "is_coding_agent": true
        }
      ],
      "releases_count": 1,
      "commits_last_year": 96,
      "latest_release_at": "2026-06-19T15:30:10Z",
      "latest_release_tag": "v0.1.1",
      "releases_from_tags": true,
      "days_since_last_push": 6,
      "active_weeks_last_year": 6,
      "days_since_latest_release": 37,
      "mean_days_between_releases": null
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": false,
      "has_contributing": true,
      "health_percentage": 42,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "cognitiveos",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "adhd",
            "icm",
            "cli",
            "context",
            "ai-agent",
            "claude-code",
            "scaffold",
            "productivity"
          ],
          "ecosystem": "npm",
          "matches_repo": true,
          "registry_url": "https://www.npmjs.com/package/cognitiveos",
          "is_deprecated": false,
          "latest_version": "0.10.7",
          "repository_url": "https://github.com/Callmedas69/cognitive-OS",
          "versions_count": 25,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 3448,
          "first_published_at": "2026-06-13T16:08:35.065000Z",
          "latest_published_at": "2026-07-20T16:38:46.897000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 6
        }
      ]
    },
    "popularity": {
      "forks": 0,
      "stars": 0,
      "watchers": 0,
      "fork_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_forks": 0
      },
      "star_history": {
        "days": [],
        "complete": true,
        "collected": 0,
        "total_stars": 0,
        "collected_at": null
      },
      "open_issues_and_prs": 0
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 16727,
      "source_files_sampled": 91,
      "oversized_source_files": 0,
      "agent_instruction_files": [
        "CLAUDE.md"
      ],
      "agent_instruction_max_bytes": 11578
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "published_package",
        "source": "osv",
        "findings": [],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {},
        "advisory_count": 0,
        "affected_count": 0,
        "assessed_count": 8,
        "malicious_count": 0,
        "assessed_package": "npm:cognitiveos@0.10.7",
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [
        {
          "name": "@clack/prompts",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^1.5.1"
        },
        {
          "name": "chalk",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^5.3.0"
        },
        {
          "name": "commander",
          "manifest": "package.json",
          "ecosystem": "npm",
          "version_constraint": "^12.1.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": 0,
        "merged_prs": 0,
        "open_issues": 0,
        "closed_ratio": null,
        "closed_issues": 0,
        "closed_unmerged_prs": 0
      },
      "bus_factor": 1,
      "bot_contributors": 0,
      "top_contributors": [
        {
          "type": "User",
          "login": "Callmedas69",
          "commits": 96,
          "avatar_url": "https://avatars.githubusercontent.com/u/126429597?v=4"
        }
      ],
      "contributors_sampled": 1,
      "top_contributor_share": 1
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "ci.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [],
      "has_editorconfig": false,
      "has_linter_config": false,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "package-lock.json"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": 0,
            "reason": "branch protection not enabled on development/release branches",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": null,
            "reason": "no pull request found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 0,
            "reason": "Found 0/30 approved changesets -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 0,
            "reason": "project has 0 contributing companies or organizations -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 0,
            "reason": "no update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 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": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 3,
            "reason": "dependency not pinned by hash detected -- score normalized to 3",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "no SAST tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 3,
            "reason": "7 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "d4693954dbcb61374f6046c854ba9ff2c4631920",
        "ran_at": "2026-07-27T05:47:04Z",
        "aggregate_score": 2.6,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-07-20T16:39:04Z",
      "oldest_open_prs": [],
      "last_merged_pr_at": null,
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": []
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/Callmedas69/cognitive-OS",
    "host": "github.com",
    "name": "cognitive-OS",
    "owner": "Callmedas69"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "at_risk",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 47,
      "inputs": {
        "security": 41,
        "vitality": 64,
        "community": 40,
        "governance": 35,
        "engineering": 52
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "moderate",
        "name": "Vitality",
        "value": 64,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "moderate",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 58,
            "inputs": {
              "commits_last_year": 96,
              "human_commit_share": 1,
              "days_since_last_push": 6,
              "active_weeks_last_year": 6
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 6 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "6/52 weeks with commits",
                "points": 4.2,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 6
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "96 commits in the last year",
                "points": 17.8,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 96
                    }
                  }
                ],
                "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": "good",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 72,
            "inputs": {
              "releases_count": 1,
              "latest_release_tag": "v0.1.1",
              "releases_from_tags": true,
              "days_since_latest_release": 37,
              "mean_days_between_releases": null
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "1 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 37 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 37
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "cadence unknown (single release)",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence_unknown",
                    "params": {}
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "unverified",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": "repository_too_young",
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": null,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "maintenance record not established from the collected data",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_unverified",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "at_risk",
        "name": "Community & Adoption",
        "value": 40,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "critical",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 1,
            "inputs": {
              "forks": 0,
              "stars": 0,
              "watchers": 0,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "0 stars",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "0 forks",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "0 watchers",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 0
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (MIT)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "MIT"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          },
          {
            "key": "ecosystem_adoption",
            "band": "moderate",
            "name": "Ecosystem adoption (downloads)",
            "note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "registry_dependents"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 59,
            "inputs": {
              "packages": [
                "cognitiveos"
              ],
              "dependents": null,
              "ecosystems": "npm",
              "total_downloads": null,
              "monthly_downloads": 3448
            },
            "components": [
              {
                "key": "monthly_downloads",
                "name": "Monthly downloads",
                "detail": "3,448 downloads/month across npm",
                "points": 47.2,
                "status": "partial",
                "details": [
                  {
                    "code": "downloads_monthly",
                    "params": {
                      "count": 3448,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 80
              },
              {
                "key": "registry_dependents",
                "name": "Registry dependents",
                "detail": "not reported by this ecosystem",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_reported_by_this_ecosystem",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "at_risk",
        "name": "Sustainability & Governance",
        "value": 35,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "critical",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 10,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 1,
              "top_contributor_share": 1
            },
            "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 100% of commits",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 100
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "1 contributors",
                "points": 1.4,
                "status": "partial",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "critical",
            "name": "Issue & PR responsiveness",
            "note": "Excluded from scoring (no data or not applicable): Issue resolution, PR acceptance. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "issue_resolution",
                    "pr_acceptance"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 1,
            "inputs": {
              "merged_prs": 0,
              "open_issues": 0,
              "closed_issues": 0,
              "issue_closed_ratio": null,
              "closed_unmerged_prs": 0
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "no issues or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_issues_or_data",
                    "params": {}
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "no decided pull requests or no data",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_decided_prs_or_data",
                    "params": {}
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "at_risk",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 46,
            "inputs": {
              "followers": 10,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "Callmedas69",
              "public_repos": 51,
              "account_age_days": 1246
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "10 followers of Callmedas69",
                "points": 7.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 10,
                      "login": "Callmedas69"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "51 public repos, account ~3 yr old",
                "points": 19.3,
                "status": "partial",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 51
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 3
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          },
          {
            "key": "package_maintenance",
            "band": "excellent",
            "name": "Package maintenance",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "packages": [
                "cognitiveos"
              ],
              "ecosystems": "npm",
              "any_deprecated": false,
              "min_days_since_publish": 6
            },
            "components": [
              {
                "key": "published_resolvable",
                "name": "Published & resolvable",
                "detail": "1 package(s) on npm",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "packages_published",
                    "params": {
                      "count": 1,
                      "ecosystems": "npm"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "publish_recency",
                "name": "Publish recency",
                "detail": "latest publish 6 days ago",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "publish_recency",
                    "params": {
                      "days": 6
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "version_history",
                "name": "Version history",
                "detail": "25 published versions",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "published_versions",
                    "params": {
                      "count": 25
                    }
                  }
                ],
                "max_points": 20
              },
              {
                "key": "not_deprecated",
                "name": "Not deprecated",
                "detail": "active, not deprecated or yanked",
                "points": 20,
                "status": "met",
                "details": [
                  {
                    "code": "package_not_deprecated",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "moderate",
        "name": "Engineering Quality",
        "value": 52,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "moderate",
            "name": "Engineering practices",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_ci_tests"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 60,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": false,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "at_risk",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "topics": [],
              "has_wiki": true,
              "homepage": null,
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "at_risk",
        "name": "Security",
        "value": 41,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "critical",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): CI-Tests, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "ci_tests",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 26,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 2.6
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "branch protection not enabled on development/release branches",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "no pull request found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 0/30 approved changesets -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 0 contributing companies or organizations -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "no update tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "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 not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 1.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "no SAST tool detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "7 existing vulnerabilities detected",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:cognitiveos@0.10.7 runtime dependency closure — what installing the published package pulls in — 8 packages. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_published",
                "params": {
                  "package": "npm:cognitiveos@0.10.7",
                  "assessed": 8
                }
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 0,
              "affected_packages": 0,
              "assessed_packages": 8,
              "unassessed_packages": 0,
              "affected_by_severity": "none",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "no indirect dependency carries a known advisory",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "no_indirect_advisories",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 8,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "good",
        "name": "AI Readiness",
        "value": 74,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "excellent",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 85,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.99,
              "agent_instruction_files": [
                "CLAUDE.md"
              ],
              "agent_instruction_max_bytes": 11578
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "CLAUDE.md",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "CLAUDE.md"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "95 of 96 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 95,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 56,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "package-lock.json"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": false,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.875,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "84 of the last 96 commits agent-authored or agent-credited",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 84,
                      "sampled": 96
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 3",
                "points": 3,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 16727,
              "source_files_sampled": 91,
              "oversized_source_files": 0
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "0/91 source files over 60KB",
                "points": 55,
                "status": "met",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 91,
                      "oversized": 0
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-27T05:47:08.404907Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/Callmedas69/cognitive-OS.svg",
  "full_name": "Callmedas69/cognitive-OS",
  "license_state": "standard",
  "license_spdx": "MIT"
}

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

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

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