公开记录
软件健康报告模式 0.27.0 · 指标 1.13.0 · 2026-07-27 05:47 UTC

Callmedas69 / cognitive-OS

TypeScriptMIT★ 0 星标⑂ 0 复刻始于 2026年6月在 GitHub 上查看 ↗

Callmedas69/cognitive-OS 的健康指数为 100 分中的 47 分,处于「存在风险」区间。 其得分最高的类别是AI Readiness(74/100),最低的是Sustainability & Governance(35/100)。 最近一次更新在 6 天前。 近期的大部分工作由 1 位贡献者完成。

47
总分 / 100
存在风险

软件健康指数

指标归入加权类别,统一采用 1–100 量表。总体分先取类别加权平均;当公开证据触发高风险司法辖区政策时,评级会按政策调整,并设置 49(有风险)的上限。AI 就绪度不计入总体分。

47
优秀85-100堪称典范;基本满足所有检验标准
良好70-84健康;仅有轻微不足
中等50-69可接受,但存在明显不足;建议进行审查
存在风险30-49存在重大薄弱环节;采用时应保持审慎
危急1-29问题严重(项目被弃置、仅有单一维护者、缺乏基本工程规范)
活力社区与采用可持续性与治理工程质量安全AI 就绪度

评分画像

每条轴代表一个类别。形状比平均值更重要——健康的对象会填满整个图形,而“一峰一谷”式画像意味着某一维度的优势正掩盖另一维度的风险。

所有权

0xDas个人账户
10 关注者51 个公开仓库始于 2023年2月

该仓库由个人账户拥有。相较于组织支持的项目,单一所有者项目的延续性风险更高。

软件包生态系统

注册表软件包版本月下载量版本数最近发布标签
npmcognitiveos0.10.73,448256 天前adhdicmclicontextai-agentclaude-codescaffoldproductivity

按类别列示的指标

活力

项目是否仍有生命——是否仍在编写代码,是否仍在发布版本?

64中等 · 占总体的 22%
评分方式
36/36推送新近度 — 最近一次推送于 6 天前
4.2/36提交节奏 — 52 周中有 6 周有提交
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

发布纪律

72良好
评分方式
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

社区健康

70良好
评分方式
22.5/22.5README
22.5/22.5许可证 — 可识别的许可证(MIT)
18/18CONTRIBUTING 指南
0/13.5行为准则
0/7.2议题模板
0/6.3PR 模板
所用输入
has_readme
has_license
has_contributing
has_issue_template
has_code_of_conduct
has_pull_request_template
评分方式
47.2/80月度下载量 — npm 合计每月 3,448 次下载
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议题解决 — 没有议题或无数据
0/38.3PR 接受 — 没有已裁定的拉取请求或无数据
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
已排除计分(无数据或不适用):议题解决, PR 接受。 其余权重已重新归一化。
评分方式
10/30所有权背书 — 个人(用户)账户
0/20已验证域名 — 不适用于个人账户
7.5/25所有者影响力 — Callmedas69 有 10 位关注者
19.3/25既往记录 — 51 个公开仓库,账户约 3 年
所用输入
followers10
owner_typeUser
is_verified
owner_loginCallmedas69
public_repos51
account_age_days1,246
已排除计分(无数据或不适用):已验证域名。 其余权重已重新归一化。
评分方式
25/25已发布且可解析 — npm 上有 1 个软件包
35/35发布时效 — 最近一次发布于 6 天前
20/20版本历史 — 25 个已发布版本
20/20未被弃用 — 活跃,未被弃用或撤回
所用输入
packagescognitiveos
ecosystemsnpm
any_deprecated
min_days_since_publish6

工程质量

基础的工程与文档实践是否到位?

52中等 · 占总体的 20%

工程实践

60中等
评分方式
24/24CI 工作流 — 1 个工作流
24/24存在测试
0/16Linter 配置
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
已排除计分(无数据或不适用):没有长期未处理的公告。 其余权重已重新归一化。 比对的是 npm:cognitiveos@0.10.7 的运行时依赖闭包——安装已发布的软件包时真正被拉取进来的内容——共 8 个软件包。 未对可达性进行分析。

AI 就绪度

该仓库在多大程度上具备与 AI 编码代理协同开发与维护的条件?这是一枚独立的实验性徽章——权重为 0.0,因此单独呈现,不影响总体健康评分。

74良好 · 占总体的 0%
评分方式
45/45代理指令 — CLAUDE.md
0/15机器可读文档(llms.txt)
40/40可读的提交历史 — 96 次人类提交中有 95 次说明了意图(结构化标题或解释性正文)
所用输入
has_llms_txt
legible_history_share0.99
agent_instruction_filesCLAUDE.md
agent_instruction_max_bytes11,578
评分方式
0/18一条命令的引导启动
22/22自动化测试
0/11Lint / 格式化配置
11/11静态类型检查 — tsconfig.json
10/10可复现环境 — lockfile
10/10已体现的代理实践 — 最近 96 次提交中有 84 次由代理编写或署名代理
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可控的文件大小 — 采样的 91 个源文件中有 0 个超过 60KB
所用输入
primary_languageTypeScript
largest_source_bytes16,727
source_files_sampled91
oversized_source_files0

关键数据

0GitHub 星标
1贡献者
96最近 12 个月提交数
6距最近推送天数
1发布版本数
1巴士系数(bus factor)
0开放议题
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.