Skip to content

refactor: 退役删除 cognizes / cognizes-ui 双项目——功能已被主栈全面取代,净 -6.1 万行 - #1132

Merged
ThreeFish-AI merged 3 commits into
feature/1.x.xfrom
ThreeFish-AI/merge-cognizes-into-negentropy
Sep 10, 2026
Merged

ThreeFish-AI merged 3 commits into
feature/1.x.xfrom
ThreeFish-AI/merge-cognizes-into-negentropy

Conversation

@ThreeFish-AI

@ThreeFish-AI ThreeFish-AI commented Sep 10, 2026

Copy link
Copy Markdown
Owner

摘要

退役删除 apps/cognizes(16,283 行 Python)与 apps/cognizes-ui(8,882 行 TS)及 5 条 cognizes 系 CI workflow。经三路并行取证确认:不适合「完全合并代码」,按「退役删除」处理——有价值的知识资产早已迁移完毕,剩余代码与主栈功能全面重复。

判定依据

cognizes 功能 Negentropy 主栈等价物
7 个 skill(pdf-reader/zh-translator/heartfelt 等) .agent/skills/ 同名 SKILL.md 1:1 存在且已入 DB(迁移 0098)
PDF 处理(pdfplumber 单引擎) negentropy-perceives 多引擎竞技 + LLM 裁决
翻译(单 prompt 直调) knowledge/translation/service.py(Claude Code harness + 确定性校验)
论文收集 / RAG / 记忆固化 / mind / sandbox paper+arxiv 工具 / knowledge/retrieval/ / engine/consolidation/ / faculties / engine/sandbox/
cognizes-ui 5 个业务页 negentropy-ui knowledge 域(上传/PDF 查看/翻译/管线)+ scheduler 域
  • 合并成本 ≈ 重写且产物重复:范式硬冲突(原生 SDK vs LiteLLM、独立 FastAPI vs ADK bootstrap 注入、torch 级重依赖);前端 Tailwind 3→4 / 无鉴权→SSO / axios 直连→BFF;且 cognizes-ui 自身 API 三向漂移(搜索/统计页对着不存在的端点跑)。
  • 运营侧早已脱钩:根 compose / dev 脚本 / 发布管线零引用、全仓零跨包 import、自带 Dockerfile 已损坏。

变更内容(3 commit)

  1. refactor:删除双 app + 5 workflow + 引用面同步——SIBLING_LOCKS 摘条、.gitignore/pnpm-workspace/README「独立项目」注记清理、lockfile 重生成(包全集与版本集零变化,-1,143 行删除 + 72 行元数据注记)、移除 form-data 死 override 地板(ws 地板保留——jsdom@28 仍由 ui/wiki 消费)
  2. chore:注释级残留清理——workspace.py 参考文献内联化(不再引用已删 workflow)、cli.sh/sync_versions 措辞、9 个视频工程 .npmrc 先例注释泛化
  3. docs:knowledge-map / reference 索引加退役说明、4 处研究基线加「已退役」历史快照注记(加注不改史)、CHANGELOG Removed 条目、issue.md 立项 ISSUE-185

保留资产

  • docs/reference/cognizes/(18 篇设计白皮书 + PRD + DDL)整树保留——主栈源码注释(config.default.yaml、retrieval/repository.py)、alembic 迁移注释(0007/0008/0044/0047)与 wiki ingest 测试仍活跃引用
  • 代码可从 git 历史随时找回

关键约束与验证

  • workflow 与代码同 commit 删除:规避 push 事件按推送区间匹配 paths、在已删 working-directory 上触发 cognizes CI 必挂(全部完成后一次性 push)
  • 验证门全绿:hygiene 测试 4 passed(sibling locks 参数化剩 2 条)、pnpm install --frozen-lockfile 幂等、workspace 恰 4 项目、grep -ri cognizes .github/ 零命中、wiki lint / ui typecheck exit 0、ruff 双绿、series-consistency FAIL 0
  • 残留扫描白名单:迁移冻结注释 ×4、GitHub 上游外链 ×2、指向保留文档的活引用与既有死链(025/026/035/036 本就不在保留树,非本次所致)、tmp_path 合成 fixture——工程配置零残留
  • 附带收益:Dependabot ~52 条 cognizes 告警(104 条中的一半)随 manifest 删除自动消解
  • 已实证无风险:master 无 branch protection、无 fix/cognizes-ruff-* 残留分支、无开放 cognizes PR

Review 指引

  • ⚠️ 本 PR diff 巨大(含被跟踪的 600K playwright-report 删除),建议按 commit 逐个 review:7e88c155(删除主体)→ 69b983f6(注释清理)→ 16af5fc4(文档留痕)
  • 残留复核命令:git grep -in cognizes -- ':!CHANGELOG.md' ':!docs/.agents/issue.md' ':!docs/reference/cognizes'

退役决策记录与判定依据:ISSUE-185(docs/.agents/issue.md 文末)

🤖 Generated with Claude Code

Co-Authored-By: Aurelius Huangthreefish.ai@gmail.com

…能已被主栈全面取代);

- 功能已被全面取代:7 个 skill 1:1 迁入 .agent/skills 且已入 DB(迁移 0098);PDF→perceives 多引擎、翻译→knowledge/translation、论文→paper/arxiv 工具、RAG/记忆/沙箱均有等价物;cognizes-ui 业务页在 negentropy-ui knowledge/scheduler 域已有成熟实现
- 设计资产保留于 docs/reference/cognizes/(主栈源码注释与 wiki ingest 测试仍活跃引用),代码可从 git 历史找回
- pnpm workspace 收缩:lockfile 只减不增(包全集与版本集零变化,1143 删/72 元数据注记)、恰 4 项目;移除 form-data 死 override 地板
- 兄弟锁枚举(test_subproject_hygiene SIBLING_LOCKS)与 .gitignore/pnpm-workspace/README「独立项目」注记同步清理
- workflow 与代码同 commit 删除:规避 push 事件在已删 working-directory 上触发 cognizes CI 必挂

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini Code Assist](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
- workspace.py 参考文献不再引用已删的 cognizes-ruff.yml,改为内联描述 auto-fix 分支前缀惯例(保留先例出处)
- cli.sh node_modules bin 竞态注释中的 cognizes-ui / travel-agent-ui 举例历史化(标注已退役)
- sync_versions.py「刻意排除 cognizes」措辞改为纯设计动机(显式登记制)
- 9 个视频工程 .npmrc「沿用 travel-agent-ui 解耦先例」注释泛化为独立解耦惯例

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini Code Assist](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
…与 ISSUE-185 立项;

- knowledge-map「Cognizes 引擎与子系统设计」「项目级 PRD」两节与 reference/readme 分部索引加退役说明(链接均指向保留的设计参考资产,保持有效)
- 研究基线四处加「已退役」历史快照注记(020a 代码关联表 / 034a RRF·Reranker 死链 / 050-neo4j / 033-oceanbase「本项目」指称),加注不改史
- CHANGELOG Unreleased→Removed 记录退役条目(判定依据、保留资产、同 commit 删除约束、workspace 收缩)
- issue.md 立项 ISSUE-185:表因/判定依据/处理方式/后续防范(并行实现登记退役条件、注册表类资产同 commit 收回、产物目录 gitignore 预防性覆盖)

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini Code Assist](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI
ThreeFish-AI merged commit 2817db6 into feature/1.x.x Sep 10, 2026
6 checks passed
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/merge-cognizes-into-negentropy branch September 10, 2026 07:41
ThreeFish-AI added a commit that referenced this pull request Sep 14, 2026
…扫描分支错位 (#1143)

* build(deps): next 升至 16.3.5 核销 4 条 critical 告警,js-yaml 地板抬至 4.3.2 并补闭区间;

ui / wiki 的 next 停在 16.2.12,命中两条未认证 RCE:GHSA-p293-qw3h-jr36
(CVSS 9.0,Windows 宿主)与 GHSA-2xp9-vwfh-vxw4(Image Optimization API 的
AVIF 路径)。16.2 线无回溯补丁,升 16.3.x 是唯一路径;目标取 16.3.5 而非最低
修复版 16.3.3——16.3.3 是以停用 AVIF 图像优化换来的修复,16.3.4 才把 AVIF
正确恢复,停在 16.3.3 等于用功能退化换安全。

同时把根 workspace 的 js-yaml 地板由 >=4.2.0 抬至 >=4.3.2(GHSA-2883-xcg3-v3hh,
空 merge 源致 CPU 耗尽;根 lock 原解到 4.2.0,落在受影响区间但尚未被 Dependabot
标出)。地板须写闭区间:首次只写 >=4.3.2 时 pnpm 当场解到 5.4.2,而消费方
@eslint/eslintrc 声明的是 ^4.1.0——同 @babel/core / undici 的既有处置补齐 <5.0.0。

随附两处升级暴露的门禁回归(均非本仓代码缺陷):
- @next/eslint-plugin-next 16.3.x 新增 no-location-assign-relative-destination
  规则,命中 AuthProvider 的 login / logout。二者都是必须的整页跳转——
  /api/auth/login 是 302 到外部 IdP 的 Route Handler,router.push() 无法承接
  跨源跳转;登出须整页重载以丢弃客户端状态。故加带理由的定向豁免,不改认证行为。
- 16.3 的 next build 扩大了构建期类型检查范围,暴露 WikiToc.test.tsx 一条已失效
  的 @ts-expect-error(TS2578)。该错误在基线上跑裸 tsc 同样报,属被暴露的存量债。

验证:ui lint / typecheck / typecheck:test / test(123 文件 1015 用例)/ build /
test:e2e(70 passed 1 skipped)全绿;wiki lint / test(14 文件 122 用例)/ build 全绿。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>

* build(deps): 11 个视频工程 js-yaml 地板抬至 4.3.2,核销 9 条 high 告警;

GHSA-2883-xcg3-v3hh(CVSS 7.5):js-yaml < 4.3.2 的 maxTotalMergeKeys 对空
merge 源不限流,致 CPU 耗尽。各 Remotion 视频工程经 cosmiconfig@8.3.6 传递
引入 4.3.1,直接依赖零位移,故只落在 override 层,package.json 一行不动。

video/pnpm-workspace.yaml 属 skeleton.toml 的 frozen 档(逐字节相同),11 份
追加内容完全一致,verify_skeleton.py --strict 保持「未登记漂移 0 处」。模板
与 10 个已发布集同步升级:模板不升会让日后 scaffold 出的新集从第一天起就带着
旧漏洞,且 Dependabot 尚未扫到的两集(context-layer / horizon-context)也一并
消因,避免 master 同步后再冒出两条新告警。

重锁经 pnpm install --lockfile-only 逐工程执行,每次之后比对仓库根
pnpm-lock.yaml 的 md5,全程零变更(ISSUE-175 第 ④ 坑:嵌套安装会静默覆写根
lockfile 并丢失全部 overrides)。模板目录只有 package.json.tmpl 没有
package.json,pnpm 会以「Scope: all 0 workspace projects」静默空跑,须临时渲染
出 package.json 重锁后再删除。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>

* docs(issue): ISSUE-092 追加 2026-09-14 轮次,记录 Dependabot 扫描分支错位这一前提;

本轮 19 条 open 告警里有 6 条在 feature/1.x.x 上早已不存在(cognizes 双项目
随 #1132 整体删除、accelerate 随 #1131 升到 1.15.0 超出受影响区间),仍挂 open
只因 Dependabot 只扫默认分支 master,而 master 停在 2026-09-06、落后 15 个提交。
这条前提此前从未被记录,会让接手者对着已修好的东西反复「修」。

一并留档:13 条真实受影响告警的消除路径与版本取舍依据;这 6 条刻意不 dismiss
的理由(dismiss 的适用面是「不能修」,不是「已修但未发布」);安全地板 override
须写闭区间的教训;以及区分「升级引入」与「升级暴露」的取证方法——用
git worktree add --detach 出基线树分别跑 tsc 与 build 对照。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant