games-development-ai/docs/ip/双层复核报告-2026-06-15.md
lili 6404ea7db1 docs(ip): 命名空间同步 com.wanxiang.huijing + Codex 复核整改
- 软著3/4 源代码鉴别材料按当前 com.wanxiang.huijing 源码重新提取(gen_ru3/新增 gen_ru4,字节忠实)
- 全量同步包名/路径/芋道目录标签;自研主张以 .game. 段为界,芋道(MIT)整体排除
- 总表 §一统计对齐各清单(123/10186、210/12841、9859、12/1650、461 文件);5.6万→约4.7万(纠无支撑数)
- Codex 只读复核整改:高企表述加限定;专利4 权9 矛盾、专利1 manifest 口径修正;ru-6 便宜→低成本、七门九门→多门统一
- 新增双层复核报告对外洁净版

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 11:17:02 -07:00

100 lines
7.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 软著源代码原创性归类 · 双层复核报告(Codex × Opus)
- 日期:2026-06-15
- 方法:按**文件类型**分桶,每桶 **Codex 层(gpt-5.5)+ Opus 层** 各自独立只读审计同一对象,再交叉对账;分歧由复核者用主证据裁决。
- 范围:`docs/ip/` 下 6 个软著包的 `源文件清单.md` + `源代码鉴别材料.txt` vs 真实仓库源码。
- 性质:只读审计,**未修改任何文件**;本报告是整改依据,材料本体改动待批。
---
## 一、总结论
**经双层只读复核:6 件软著鉴别材料均未发现第三方源码混入。** 无一处把 yudao / LittleJS / 生成物当原创 claim:
- Java(ru-3/4):claimed 文件 `^package` 声明 100% `com.wanxiang.huijing.game.*`(自研业务包);芋道上游包(`com.wanxiang.huijing.{framework,module(非 game),server,gateway}.*`)在 claimed 材料中 = **0**;无 `pom.xml`(未 claim)、`src/test``target`、生成物混入。
- 前端(ru-1/2):import 仅 `vue/vant/pinia/axios` 等框架依赖;ru-2 的 admin 基座(huijing-ui-admin-vue3,MIT)干净排除,`<el-*>` 系全局注册模板用法,非复制源码。
- 运行时(ru-5):LittleJS 仅经注入面 `ctx.getEngine()`/`LJS.*` 调用,未复制引擎源码体;license banner 只在未纳入的 `.md`
- Python(ru-6):`.venv`/site-packages 已 gitignore 排除。
**唯一系统性问题不是原创性,而是"材料快照冻结后源码继续演进 → 材料陈旧/漂移"**,集中在 **2026-06-14 W-G1 worker 派发集成**新增/改动的代码(及本轮"九门"注释)。
---
## 一bis、整改进度(2026-06-15 已执行)
> findings 的整改落实(均已改材料 + 验证;改动只在对应 `ruanzhu-*` 目录内;旧材料备份于 `/tmp/ru{1,3,6}_old_backup.txt`)。
| 包 | 整改 | 验证证据 |
|---|---|---|
| **ru-3** | 补 2 漏纳文件 + 重生成 `.txt`(修逐字不符)+ 刷新统计→**123/10186**;同步申请表 | §3 实算 123/10186;清单/`.txt`/申请表三处一致;AigcExecutorConfiguration 提交段=当前 128 行版(含 W-G1 import/@Bean) |
| **ru-6** | 补 `service.py`(300 行)入清单+`.txt`;总量→**12/1650**;`.txt` 头+申请表同步;根级 2 脚本未显式排除(见下) | 清单合计 12/1650/1411;`.txt` 1718 行、service.py 块 byte 一致;无残留旧计数 |
| **ru-1** | 重生成 `.txt` 修截断边界(前段第 1500 行空行→真实 `.game-card__stat {`)+ 标注;清单 60/9939 不变 | front[1500]=真实源码行;App.vue/Share.vue 块 byte 一致;总行 3016→3017(修 off-by-one) |
| **ru-4** | FeedServiceImpl 531→534;feed 小计/合计/`.txt` 头/中略标注/申请表 同步→**12841** | §三 实算 210/12841;`.txt` 13051/12841/11162、中略 150111551;无残留旧值 |
| **ru-5** | boot-game-host 452→457;**9854→9859**(清单/`.txt`/申请表);`index.html` 显式排除 | 9859 三处一致;boot 落省略中段、后段 byte 不变(`.txt` 仍 3014 行) |
| ru-2 | 无需整改(CLEAN) | — |
> 复用资产:确定性生成器已落库 `docs/ip/_tools/{gen_ru3,gen_ru1,ins_ru6}.py`(+ `README.md`,提交窗口重快照复用)。ru-5 `host-dev/index.html`、ru-6 根级 `post_fallback_callback.py`/`m3_player_test.py` 均已补显式排除声明。**6 包材料现已与当前源码一致。**
---
## 二、逐包合并裁定
| 软著包 | Opus 层 | Codex 层 | 合并裁决 | 严重度 |
|---|---|---|---|---|
| ru-1 game-studio | CLEAN | CLEAN + 格式×2 | 原创 CLEAN;`.txt` 截断边界格式问题 | 🟡 中 |
| ru-2 game-admin | CLEAN | CLEAN | **CLEAN(两层一致,无问题)** | 🟢 — |
| ru-3 cloud-gen-runtime | 漏纳2 + 行数 | 漏纳2 + **逐字不符** + 统计 | **漏纳 + 逐字不符 + 统计陈旧** | 🔴 高 |
| ru-4 cloud-feed-monetize | CLEAN | 微统计不符 | 实质 CLEAN,1 文件行数 +3 | 🔵 低 |
| ru-5 game-runtime | CLEAN | 格式 + 疑似漏纳 | 原创 CLEAN;行数漂移 + HTML 口径 | 🟡 中 |
| ru-6 gen-worker | 漏纳 | 漏纳 + 七门口径 | **漏纳 `service.py`** | 🟡 中-高 |
### 两处层间分歧 · 复核者裁决(主证据)
- **ru-3 逐字不符(Codex 胜)**:`AigcExecutorConfiguration.java` 的块位于 `.txt` **第 12951336+ 行(提交前段;中略标记在第 1509 行)**,而当前源码 98→128 行(新增 W-G1 import + @Bean)→ 提交字节 ≠ 当前源码。Opus 误判为"在省略中段",经核**事实错误**。
- **ru-5 行数漂移(Codex 胜其因,但非提交段逐字不符)**:`boot-game-host.js` 实测 **457 vs 清单 452**(真实 +5,非 Opus 所称"换行口径");但其内容块在 `.txt` 命中 = 0(落省略中段)→ 属**清单行数失准**(中),非提交段逐字不符。
---
## 三、整改清单(提交窗口照做 · turnkey)
> **执行时序**:务必在**冻结代码 → 提交**同一窗口内对每包统一"重新快照":补漏纳文件 → 重算 `源文件清单` 行数/总量 → 重生成 `源代码鉴别材料.txt` → 再转 PDF。否则现在改完、代码再动又漂。
**🔴 ru-3-cloud-gen-runtime(不可按现状提交)**
1. 补漏纳:`game-module-aigc/.../service/executor/CallbackSignatureVerifier.java`(138行)、`WorkerDispatchClient.java`(147行)→ 入 `源文件清单.md` + `.txt`
2. 修逐字不符:用**当前 128 行**版 `AigcExecutorConfiguration.java` 重生成其 `.txt` 块(替换旧 98 行块),并按拼接顺序顺延受影响的前段。
3. 刷新 8 文件行数:AdminAigcTaskController +108、AigcExecutorConfiguration +30、AigcExecutorProperties +51、AigcGenerateExecutor +94、AigcTemplateConstants +8、PromptResourceLoader +7、ProjectFeedMetaDTO +7、ProjectServiceImpl +33。
4. 刷新总量:121 文件 / 9563 行 → **123 文件 / ~10186 行**
**🟡 ru-6-gen-worker**
- 补漏纳 `wg1/gen-worker/worker/service.py`(300行)→ 清单 + `.txt`;总量 11 文件 / 1350 行 → **12 文件 / 1650 行**
- 根级 `post_fallback_callback.py``m3_player_test.py`(在 `worker/` 外)→ 在清单排除节**显式声明排除**。
- (可选)`源文件清单.md:21,75` 的「七门」→「九门」统一口径(与 `run.py:57` 等源码注释口径属你上轮接受保留项,可一并清理或保留)。
**🟡 ru-1-game-studio**
- 重生成截断边界:使前段第 1500 行落**实际源码行**(`GameCard.vue:124``.game-card__stat {`,现为空行),并修正"省略第 15018559 行"标注的差一。
- (低)`.txt:3` 的 "9939+60+60=10059" 算术说明写清(数值已验证正确)。
**🟡 ru-5-game-runtime**
- 刷新 `boot-game-host.js` 行数 452 → **457**,总量 9854 → **9859**
- `host-dev/index.html`(89行)**显式声明纳入或排除**(建议:本包限 JS/TS,显式排除并说明)。
**🔵 ru-4-cloud-feed-monetize**
- 刷新 `FeedServiceImpl.java` 531 → **534**,总量 12838 → **12841**
**🟢 ru-2-game-admin**:无需整改。
### 非缺陷澄清(供评审知悉)
Java 各 `pom.xml` 的 Maven `groupId``com.wanxiang`、源码包名 `com.wanxiang.huijing.game.*` 自研,与芋道上游包(`com.wanxiang.huijing.framework/module/server/gateway`)以 `.game.` 段清晰分界;`pom.xml` 未纳入 claim → 不构成泄漏。
---
## 四、双层复核的增益
Codex 独家逮到、经复核者主证据核实成立的 3 处(Opus 单层会漏判/低估):
- ru-3 **逐字不符**(Opus 误判"在省略中段");
- ru-1 **截断边界**(Opus 采样未覆盖第 1500 行);
- ru-5 **漂移定位到 `boot-game-host.js`**(Opus 当成换行口径)。
两层在"全部 CLEAN 包、ru-6/ru-3 漏纳、零第三方泄漏"上**完全一致** → 高置信。
## 五、过程备注
- Codex 层经 `codex:codex-rescue` 首发时,JAVA 任务在 companion **共享运行时 broker** 下卡死(1h19m 无进展)、JS 任务启动即丢;改用**直连 `codex exec`(stdin、独立进程)** 重跑成功。教训:大/并发 Codex 任务勿走共享 broker,直连 exec 更稳。