12 Commits
Author SHA1 Message Date
gitea-publish de6cf8f3c0 feat: 补齐 5 篇深度文(maka/openclaw/openwork/qwenpaw/tutti)+ 重算矩阵 + 总纲回填
- articles/: 新增 5 篇深度文(八段结构,每篇含 claim_vs_reality)
  - maka.md → emlog_id=105
  - openclaw.md → emlog_id=106
  - openwork.md → emlog_id=107
  - qwenpaw.md → emlog_id=108
  - tutti.md → emlog_id=109
- data/projects/*.yaml: 回写 emlog_id 到 6 个档案(orca 前序已回写)
- articles/00-overview.md: build_matrix.py 重算矩阵 + 回填总纲
2026-09-03 23:39:58 +08:00
gitea-publish d9b9227d0a docs(article): 补 orca 独立深度文
基于 data/projects/orca.yaml 档案成文,沿用 iPolloWork 深度文八段结构:
速览/先给结论/赛道定位/业务/场景/技术/横评/宣称vs实测/谁该用/追踪备注。
核心论点:orca 是引擎中立度打满(chart.engine_neutral=9,全场最高)、
接入深度垫底(PTY 外壳,无结构化 tool call)的极端样本;58k star 配零商业化、
巴士系数为 1、5000 条自开 issue,属「高速原型期」而非可托付生产期。
横评表数据已从六个样本档案逐项核对(许可证/成熟度/中立度分)。
emlog 未发布(article.emlog_id 仍为 0),待审阅后再发。
2026-09-02 07:02:52 +08:00
gitea-publish 55f5fd885a fix(data/orca): 纠正镜像模式标注与 stale sync_note
orca 实际已通过 codeload tarball 路线以 source-only 快照推送至 gitinbox/orca(public),
但脚本的体积测量 bug(漏算松散对象)曾把它错标为 full,且回写遗漏 sync_note
(仍留着旧的『暂未镜像』)。本提交把 mirror.mode 更正为 source-only 并补准确 sync_note。
脚本侧修复见 f6f87ed。
2026-09-02 02:17:38 +08:00
gitea-publish f6f87ed004 fix(mirror_sync): 修复大仓体积测量漏算松散对象 + 固化 tarball 路线
- PACK_KB 原先只取 size-pack,tarball 路线建的松散对象裸仓 size-pack=0
  → 误判体积=0、跳过 source-only 降级、错标 full(orca 因此被误标)。
  现合并 size-pack + size,松散对象也能正确触发 source-only。
- 新增 --tarball <url>:直接下载源码 tarball 绕过被封锁的 git 智能 HTTP 端点。
  本环境 github.com 经沙箱代理 502 封死 git clone,故 github 上游自动派生
  codeload URL 走 tarball(非 github 上游不受影响,仍走 git clone)。
- 回写档案时补 sync_note(之前 source-only 成功却留着 stale 的『暂未镜像』)。
2026-09-02 02:17:15 +08:00
gitea-publish 87dc8f78fa fix: 总纲去除过时的「四个里」计数(YAML+文章源),mirror_sync 增 --blobless 与克隆重试加固
- data/projects/*.yaml:maka/openclaw/openwork 的 positioning 文案去掉样本计数比较级
  (扩到 7 样本后「四个里唯一…」已不成立或表述失真),改事实陈述
- articles/00-overview.md(id=98 源):同步 4 处,已重发线上覆盖
- scripts/mirror_sync.sh:新增 --blobless(--filter=blob:none 懒拉 blob,大仓可省 10x 传输);
  克隆重试 3→8 次且退避 10→80s,抗沙箱代理 502 抖动
2026-09-02 01:44:08 +08:00
gitea-publish ec9b234936 docs: README 补 validate.py 与镜像脚本新增选项
SOP 里插入 3.5 步「校验档案结构」——放在填档之后、镜像之前,
正好是能挡住问题又不会打断写作的位置。

脚本一览表补 validate.py,并补一张它校验什么的说明。
其中「声明了 excludes 却缺 redistributable_after_excludes」这条
与 mirror_sync.sh 的 fail-closed 规则一致:镜像脚本会直接拒绝执行,
在这里提前报比跑到那一步才炸好定位。

镜像脚本补三个选项的用法:
--depth 1(超大仓)/ --no-fetch(上游连不上时用本地裸仓重做快照)/
--set-public(默认不自动翻,公开不可逆)。
2026-09-02 01:12:35 +08:00
gitea-publish 8be2e8e611 fix(mirror): 翻 public 的时机、快照强推、上游不可用时降级
四处修复,都来自本次重跑 openwork 时实际踩到的失败:

1. 翻 public 从「推送之前」移到「推送成功之后」
   原实现先翻可见性再推,踩出「仓库已 public + 内容还是旧快照」的窗口期:
   --set-public 成功 → 推送被拒(source-only 历史不连续) → 公开了旧版本。
   旧内容虽不含 ee/(合法),但公开了不该公开的版本,正是最该避免的局面。
   正确顺序:先推对内容,再翻可见性;任一步失败都停在 private,无害。
   收紧方向(private)仍留在同步前——锁起来永远安全,早做没代价。

2. source-only 快照改强推
   每次快照都是 checkout → git init → 单次 commit,与远端上次快照无血缘,
   永远不可能 fast-forward。改了排除项后重跑必被拒:"! [rejected] fetch first"。
   强推在此语义正确:source-only 保的是当前源码状态,不是历史链。

3. 新增 --no-fetch
   GitHub 连不上(Empty reply from server)时脚本在 fetch 阶段就退出,
   本地裸仓明明有 18763 条 commit 却什么都做不了。
   上游不可用不该阻止用已有内容重做快照。

4. 补充 LICENSES/LicenseRef-OpenWork-EE.txt 到 openwork 的 excludes
   详见上一提交,此处是让它真正生效后落库。

新增 scripts/validate.py:档案 schema 校验。
起因是我手写临时探针把 risk.claim_vs_reality 写成顶层字段,
得到「该字段 0 条」的错误结论——层级写错不报错,只会安静返回 0。
校验项含:核心字段完整性、claim_vs_reality 下限与 source 必填、
excludes 与 redistributable_after_excludes 的一致性、
以及自动抓「七个里」这类随样本增加即过时的计数表述。
当前 7 个项目全部通过。
2026-09-02 01:07:11 +08:00
gitea-publish 56e2c8a403 fix: 排除规则漏了根目录的 EE 许可证引用文件;脚本补 public 方向修正
修一个会误导读者的排除漏洞:
只排除 ee/ 时,LICENSES/LicenseRef-OpenWork-EE.txt 仍会被推进镜像。
它是 REUSE 规范的引用文件,存在的唯一意义是给 ee/ 下的文件做 SPDX 引用
(ee/ 里写着 "SPDX-License-Identifier: LicenseRef-OpenWork-EE")。
ee/ 一删,它就成了孤儿。许可证文本公開本身不侵权(上游自己就公开),
但一个不含 EE 代码的仓库里躺着 EE 许可证,读者只会以为我们漏排了。

许可证块补 redistributable_after_excludes: true。
依据:根 LICENSE 原文(已读远端全文)——
  "All content that resides under the /ee directory ... OpenWork EE License"
  "Content outside ... is available under the 'MIT' license"
排除 ee/ 后为纯 MIT。

mirror_sync.sh 补 private → public 方向修正,但默认不自动翻:
原先脚本只有「收紧」方向(应为私有就 PATCH private:true),
没有放宽方向——openwork 判定为 public 但仓库停在 private,
重跑多少次都不会翻过来,档案与事实不一致却看不出原因。
现在会报告「应为 public 但当前 private」,要求显式加 --set-public。
公开不可逆,放松方向永远不该自动做。

一句话结论去掉样本计数:
maka「四个里唯一」、QwenPaw/Tutti「七个里…」——每加一批样本就过时一次。
改成不带计数的表述,「已收录样本中」本就是隐含的。

总纲 id=98 已重发。
2026-09-02 00:26:49 +08:00
gitea-publish ed1da08f42 track: 新增 OpenClaw / QwenPaw / Tutti,样本达到 7 个
新增项目档案(五维 + claim_vs_reality):
- openclaw.yaml  388k★,GitHub 星标最多的仓库;个人助理赛道
- qwenpaw.yaml   34.7k★,OpenClaw 正面竞品;安全默认值最完整
- tutti.yaml     3.6k★,唯一做「多人 × 多 Agent」协作;技术维度基于本地源码实测

两处对既有结论的修正:
- OpenClaw 许可证自动定级为 L3/private 系误判。SPDX=NOASSERTION 是因为
  LICENSE 末尾多了一段第三方声明指引,原文主体是完整 MIT → 改判 L1/public。
  这是本系列第二个「SPDX 不可信」判例(第一个是 OpenWork 的 ee/ 目录切分许可)。
- OpenWork 巴士系数去重仅 3 人,与上一轮「工程治理最好」并不矛盾:
  流程规范与人员分散是两个独立维度,已在文章中区分。

脚本:
- build_matrix.py 象限图新增重合点沿小圆散开(SPREAD=11)+ 钳制 + 脚注。
  样本到 7 个时首次出现两组完全重合坐标,后画的点会整个盖住先画的,
  读者会以为少收录了一个项目——这种静默丢信息比图难看严重得多。
- build_matrix.py 跨项目文章索引改为按 emlog_id 升序(= 阅读顺序)。
  原先靠文件名 sorted() 排是碰运气:'-'(0x2D) < '.'(0x2E) 只是巧合。

发布:横评文第二弹 id=100,总纲 id=98 已更新。
2026-09-01 20:13:55 +08:00
gitea-publish 5b6e695a9d docs: README 里 site/index.html 从未实现,标注为规划中 2026-09-01 19:28:44 +08:00
gitea-publish e5cdb1801e track: 新增 OpenWork / Orca / Maka 三项目,样本达到 4 个
样本
- openwork (different-ai/openwork) 23.2k★ 能力分发层,DCO + evals + worlds
- orca (stablyai/orca) 58.8k★ 并行编排外壳,5000 issue 实为团队自开任务板
- maka (apache/maka) 4.4k★ 执行记录层,Apache 孵化但无正式 release

档案
- 三份五维档案填完,risk.claim_vs_reality 均已核实到证据
- ipollowork 象限坐标从占位 9/9/9/9 校准为 8/7/7/7(与新样本同一标尺)

文章
- 新增横评文《四个 Agent 工作台的路线分野:把「多引擎中立」拆开看》(emlog id=99)
- 总纲文回填四项目矩阵 + 双视图象限图 (emlog id=98)

镜像
- gitinbox/maka 已推送(public,source-only 快照 12 MB)
- openwork(291MB) / orca(671MB) 受 50KB/s 带宽约束,档案标 mode: pending

规则
- license-tiers.yaml 新增「目录切分许可」降级流程(OpenWork 判例:
  排除 ee/ 后为纯 MIT → public,完整镜像 → private)
- registry.yaml openwork 可见性改 public + mirror_excludes: ["ee/"]

脚本修复
- _common.py 新增 upsert_block:手工整块覆盖 ecosystem 删掉 metrics 时能自愈
- mirror_sync.sh:SOURCE_ONLY 未初始化(set -u 下偶发炸);
  浅仓推送被服务端拒绝 → 自动 --unshallow,失败降级快照;
  量体积前先 repack(此前新 commit 全是 loose object,恒打印 0 MB)
- build_matrix.py:成熟度长文本移出表格(新增 maturity_level 短标签);
  象限图标签靠右时翻转到左侧防溢出;SVG 加 max-width 防窄屏溢出;
  文章索引改为自动生成(原先手抄,横评文发了索引里却没有)
- publish_emlog.py:ID 回写按「有无同名档案」分流,
  00-* 跨项目文章落到 articles/<id>.meta.yaml(此前 ID 无处可写)
2026-09-01 19:27:21 +08:00
gitea-publish 78b87e8b2f Publish agent-radar via gitea-publish skill 2026-09-01 15:14:54 +08:00