---
name: OUKC News Observatory Phase 1 + 2a 完了 (2026-05-04)
description: ★★★★ 2026-05-04 News Observatory が 10→23 sources / 320→800 items に拡大. Phase 1 で academic blogs + open APIs 12 source, Phase 2a で The Conversation (CC-BY-ND) 1 source. Phase 2 audit で 9 商業 publisher 中 7 件 ❌ という load-bearing finding.
type: project
originSessionId: b3cff341-13fb-4ce3-b7d6-d194d09359a4
---
# OUKC News Observatory Phase 1 + 2a

## Phase 1 (Safe 12 source 追加)

### 9 RSS sources (multi-rss-fetcher.ts)
- **daily-nous** (philosophy, 28 items)
- **apa-online** (philosophy, 10) ← 当初予定の **leiter-reports** は 2026 時点で RSS 提供停止 (TypePad atom.xml 全 variant が HTML を返す) → APA Online で代替
- **n-cat-cafe** (mathematics, 15)
- **kalai** (mathematics, 10)
- **3quarks** (thought, 20) — URL 修正 `/?feed=rss2` (元は comments-only feed)
- **ams-blog** (mathematics, 15) — URL 修正 `/blogonmathblogs/feed/` (元は HTML)
- **philosophy-bites** (philosophy, 50) ← 当初予定の **lean-community** は GitHub Pages に RSS なし → Philosophy Bites podcast で代替
- **crooked-timber** (thought, 15)
- **philsci-archive** (philosophy-of-science, 20)

### 3 JSON API sources
- **doaj-fetcher.ts**: DOAJ v3 API, 6 OUKC-aligned queries → 100 entries
- **hal-fetcher.ts**: HAL French archive, 5 queries → 89 entries (philosophy 0 件 — domain_t:shs.philo 検索式の制約か query syntax 違いの可能性, 後日調整)
- **gdelt-fetcher.ts**: GDELT 2.1 DOC API (CC-BY-4.0), 5 themes → 37 entries (rate limit 5sec/req — 6sec gap で部分成功; 初回 2 query が 429 返すが後 3 query で 50 articles 取得)

## Phase 2 TOS audit (load-bearing finding)

9 商業 publisher 候補を WebFetch で TOS 精査した結果:

| Publisher | Verdict |
|---|---|
| **The Conversation** | ✅ ALLOW (CC-BY-ND, 公式 republishing guidelines あり) |
| **Aeon Magazine** | ❓ rate-limited (4 retry 全失敗、 手動確認必要) |
| **Quanta Magazine** | ❌ "no systematic data collection / no commercial use" |
| **Inside Higher Ed** | ❌ "no scraping/bots", individual non-commercial only |
| **Times Higher Education** | ❌ "no automated data gathering for any purpose" |
| **Chronicle of Higher Ed** | ❌ HTTP 403 全 request (network-level bot block = no consent) |
| **Nature ダイジェスト** | ❌ 商業二次利用不可、 著作権者承諾必須 |
| **教育新聞** | ❌❌ 「**現在、個別事案の使用許諾は行っていません**」 (許可窓口閉鎖) |
| **リセマム** | ❌ 「**見出しを含む** 無断転載禁止」 |

### Load-bearing 教訓 (永久原則)

**「Google News モデル (索引+要約+link) は de facto に黙認されているだけで、 de jure には許可されていない」**

CC-BY/AGPL の academic aggregator は、 商業 publisher の TOS で「headline + summary + link」 tier ですら materially 制限される. これは Theory #558 (Digital Ethics) の load-bearing 確認 — 「規約で出来ないところは使用しない」原則を厳守するなら、 **商業 publisher 拡大は基本的に dead-end**.

**含意**: News Observatory は **CC-licensed sources (CC-BY/CC-BY-ND/CC0) を構造的基盤** にする方向が唯一持続可能.

## Phase 2a (The Conversation のみ追加)

### 実装
- **the-conversation-fetcher.ts**: 5 regional editions (global/us/uk/au/ca), 各 50 articles, dedup by article ID → 236 unique
- **CC-BY-ND attribution**: 各 item に「© Authors via The Conversation, CC-BY-ND-4.0」 フッタ表示
- **Tracking pixel**: `https://counter.theconversation.com/content/{articleId}/count.gif?distributor=republic&distributor_type=secondary` を 1x1 invisible img として埋込 (CC-BY-ND online republisher 要件)
- **Edition badge**: 各 item に "US edition" 等の表示
- 23h cooldown + 3 sec/req etiquette

### 結果
- **Total: 23 sources / 800 items (cap 到達)**
- The Conversation: 100 items (cap by per-source MAX 100)

## 結論 — News Observatory 構成 (2026-05-04 時点)

| Tier | Source 数 | License posture |
|---|---|---|
| ★ Open / public domain | 5 | CC0 (OpenAlex) / public domain (arXiv preprints) / CC-BY-4.0 (GDELT, Wikipedia) |
| ★ CC-BY family with attribution | 4 | The Conversation (CC-BY-ND) / SEP / DOAJ (mostly CC-BY) / HAL |
| ★ Author-blog explicit consent | 9 | RSS-providing personal/group academic blogs |
| ★ Watched / aggregator | 5 | github / mathlib commits / osf / zenodo / philarchive (RSS empty) / biorxiv (RSS quiet) |

全 23 source = 全 Theory #558 compliant. 商業 publisher 0 件.

## 未対応 / 課題

1. **Aeon TOS** — WebFetch rate-limited で未確認. 藤本さんが手動 browser で `aeon.co/about/republication` を確認すれば追加判断可能
2. **link-only fallback mode** — IHE/Chronicle/THE は title+URL のみなら追加可能性. UI 設計と TOS 灰色領域の navigation が論点 (将来検討)
3. **HAL philosophy query** — 0 entries 返す, query syntax 要調整 (`domain_t:shs.philo` の代替を試す)
4. **GDELT rate limit** — 5 sec/req gap でも初回 2 query が 429. 6→8 sec に延ばすか、 query 順序入替を試す
5. **philarchive** — RSS feed が常時 empty. 別 endpoint or scraping fallback (要 TOS 確認) 検討

## Files (新規 + 変更)

- `scripts/research-radar/multi-rss-fetcher.ts` (新規)
- `scripts/research-radar/doaj-fetcher.ts` (新規)
- `scripts/research-radar/hal-fetcher.ts` (新規)
- `scripts/research-radar/gdelt-fetcher.ts` (新規)
- `scripts/research-radar/the-conversation-fetcher.ts` (新規)
- `scripts/build-oukc-news-feed.ts` (modified, 23 source 対応)
- `scripts/auto-publish.ts` (modified, Phase 1.14a に 5 fetcher 組込)
- `src/renderer/components/oukc/OukcNews.tsx` (modified, source colors + The Conversation 専用 attribution + tracking pixel)
- `data/oukc/news/feed.json` (320→800 items)
- `data/research-radar/{daily-nous,apa-online,...the-conversation}-2026-05-04.json` (新規 13 file)

## Commits

- `bb9304d6` Phase 1 expansion: 12 new news sources (320 → 729 items, 10 → 22 sources)
- `f891dde9` Phase 2a: add The Conversation (CC-BY-ND, 23rd source, 800-item cap reached)
- (Stop hook 経由で auto: bundle rebuild commit が後続)

## 関連 memory

- `project_oukc_news_observatory_v1.md` — initial v1 (10 source) の 1 session 構築記録
- `project_stop_hook_auto_publish.md` — Stop hook 経由で feed 自動更新
- `feedback_publish_channels_11.md` — 11 platform 標準 (Aeon の TOS framework に近い CC-BY 哲学)
- `feedback_compression_claim_honesty.md` — TOS audit の load-bearing 結果も honest framing で記録
