seed: METHOD + task books + collected products

This commit is contained in:
orca
2026-09-24 11:17:55 +08:00
commit 565edf744b
76 changed files with 63588 additions and 0 deletions
+137
View File
@@ -0,0 +1,137 @@
# 课题组逐院系 · 完备性重做 · 堪培拉大学(University of Canberra)· `canberra.edu.au`
前一轮 10 条。 · Manager 2026-09-23
## 0. 为什么全部重做(实测数据)
用户裁定:**所有学校都要补一遍。**
**依据**:5 所已按完备性重做的学校,数字对比 ——
| 学校 | 重做前 | 重做后 | 倍数 |
|---|---|---|---|
| 爱丁堡 | 22 | **643** | **29×** |
| 曼彻斯特 | 未开始 | **268**(32 院系) | — |
| 伯明翰 | 32 | **258**(未取页=0) | **8×** |
| 圣安德鲁斯 | 34 | **178** | 5× |
| 西澳 | 0 | **154**(组/系 7.0) | — |
**⇒ "逐院系枚举不全"是系统性的,不是个别学校。没重做的数都不可信。**
**先读**:`/Users/jun/Codes/prodream/.worklogs/groups-dept/` 下
`REPORT.md`(布里斯托切片)· `finding_edinburgh_v2.md`(**完备性标杆,照它的做法**)。
---
## 1. 本波只做这一所:**堪培拉大学(University of Canberra)· `canberra.edu.au`
前一轮 10 条。**
---
## 2. 完备性门槛(**硬门槛,不是"尽量"**)
### 2.1 必交台账(**缺一行就是没做完**)
| 院系(该校**全部**) | research 入口 URL | 状态 | 组数 |
|---|---|---|---|
| … | … | `取到` / `取不到:<原因>` | N |
- 院系清单 = 该校**全部**(从官方 faculties/schools/departments 导航 + Sub-units A-Z 拿)
- **给出枚举来源 URL 与总数**
- **`未取页 = 0`**:要么取到,要么有"取不到"的证据(404 / 重定向 / 空壳 / 反爬)
### 2.2 子域 / 外站**必须跟**
爱丁堡实测跟了 **117 个子域 + 39 个外站** —— 不跟就整块漏。
**给出你找到并跟过的子域/外站清单。**
### 2.3 合理性校验
`组数 ÷ 枚举到的院系数`。基准:伦敦布里斯托 ≈5.8 / 爱丁堡 ≈25.7(**因校而异,不比大小,只看是否荒谬地低**)。
**比值明显偏低 ⇒ 往下挖一层**:该校院系是不是把研究组织成 theme/centre(大一级,不收),
而底下挂着更细的**具名组**(尤其留意 **"each led by a Principal Investigator"** 这类 PI-group 目录 ——
爱丁堡漏掉的就是四个 PI 目录,其中一个就有 140 条)。
**确认"再下一层没有组"必须贴原文结构作证。**
---
## 3. ⚡ 效率:**启发式自动抽 + 抽样核 30 条**(用户明确要求,不要迂腐)
用户原话:
> 「不需要你六百多条逐页核实呀…**你随便抽样一小部分,确认它是 OK 的,那就可以用了呗**。
> **你肯定要去找这种最高效的方式啊。启发式的方式。**」
### 第一步:启发式自动抽(**全量,不逐页判**)
机械判据批抽:有独立页面 + 页面里有**具名的人**(title 含 Prof/Dr 或 person 链接)
+ **有方向文字块** + 名字不是「索引页/课程/项目/学生群体/讲座系列」。
自述含 `federation` / `N academics` / 校级研究所 ⇒ 标 `big`;**标 `big` 页面里点名的内层组再收一层**。
### 第二步:**随机抽 30 条**逐条开页面核(**这是质量证据**)
给:**准确率** · 假的那几条**属于哪一类**(附页面原文)· 该类型**能否定点修掉**
### 第三步:二选一
- 准确率 **≥90% 且假阳性类型集中** ⇒ **定点修那一类,全量直接用**。抽样 30 条写进报告当证据。
**不要再逐页核。**
- 假阳性散、类型不集中 ⇒ 才扩大抽样
**省下的时间全部用来把院系覆盖做全 —— 那才是真正的缺口。**
---
## 4. 判据(不变)
> **打开页面像人一样看:这是不是一个「导师带的做研究的团队」?**
> **粒度上限 = 一个导师能带的规模。** 大一级(institute/theme/cluster/校级研究所)**不收**;
> **但大一级下面挂着真组时,只收内层组。**
**不是组**:服务设施 · 研讨会系列 · 项目 · 学生培养计划 · 单项研究 · 空页重定向 · 无负责人的方向页。
**共性是页面上有一句「非团队自述」——你去看那句话。**
### 五字段
| # | 字段 | 取法 |
|---|---|---|
| 1 | 课题组名称 | 该组**自己页面**的 H1 |
| 2 | 所在大学及研究中心 | 大学 + **真实上级研究单位**;⚠️ 上级是系/院/学部的**不许当研究中心写**,没有真上级就**只写大学** |
| 3 | 研究方向 | 该组页上的方向文字。**没有 ⇒ 不要** |
| 4 | 联系邮箱 | 只接受**本组页 / 本组负责人页**的邮箱 |
| 5 | 最近五年论文数 | 一律 null |
---
## 5. ⚠️ 并行安全(前面出过事故)
上一波 5 个 worker **挤在同一个 Space 的同一个 page 上**,297 页里出现**跨校串页**,整批作废。
**你必须**:
1. **自己新建一个 TaskSpace**(不要复用别人已有的)
2. **每个 URL 用独占的新 page**(`newPage()`),**不要共用 p1**
3. **每取一页后校验 `page.url()` 与目标一致**;不一致 ⇒ 该页作废重取
4. 成功时收尾调一次 `await task.finish({ keep: [] })`;**因错误停止就别调**,把 `spaceId` 报上来
---
## 6. 交付
1. **完备性台账**(全部院系)+ 枚举来源 URL 与院系数
2. **子域/外站清单**
3. **全量候选产物**(五字段,启发式抽的)
4. **抽样 30 条逐条判定表** + **准确率** + **假阳性类型与定点修法**
5. **反例 / 判不准 / 未验清单**(附页面原文)
6. 一句话:**最终组数?完备性有没有缺口?**
产物写到 `.worklogs/groups-dept/`,按 school-slug 命名(加 `_v2` 后缀避免覆盖旧的)。
---
## 7. 硬要求
1. **只读**:只写产物到 `.worklogs/groups-dept/`。不写索引、不改业务代码、不动数据。
2. **不设时间盒,做完整为止。** 但**每做完一个院系报一次 `status`**(三句话)。
3. **判据来自页面。你的眼睛比任何正则都准。**
4. **不许发明**:抓不到 ⇒ 写「未验」+ 卡点(URL、错误原文)。判不准的贴出来。
5. **只做这一所学校。**
## 8. 边界
- 不碰 prodream_backend、不碰 FE、不碰 `.worklogs/groups-rebuild/` 与 `groups-verify/`。