# connector：GitHub 公开 REST API 最小只读查询 —— 真实执行记录

- 执行时间（Asia/Taipei）：2026-10-02 18:25
- 请求时刻（Asia/Taipei）：2026-10-02 18:25:33
- 工具：curl（单次 GET，未安装任何持久连接器；本次为一次性 curl 调用，不冒充已安装的 Muse 连接器）
- 凭据：无（公开只读接口，未使用个人凭据；请求/报告/日志中无任何凭据）

## 步骤 1：检查现有连接和文档
- 本环境无预置的 GitHub 连接器可用 → 按原配方走"自定义最小只读调用"路径。
- 已阅读官方文档：https://docs.github.com/en/rest/issues/issues（2026-10-02 实读），确认：
  - 端点 `GET /repos/{owner}/{repo}/issues` 返回 issue 与 PR 的混合列表（含 `pull_request` 对象的条目即为 PR）；
  - 支持 `state`、`per_page` 参数；分页通过 `Link` 响应头（`rel="next"`）实现；
  - 未认证请求限流 60 次/小时（`X-RateLimit-Limit: 60`）。

## 步骤 2：最小只读调用（真实执行）
请求：
```
GET https://api.github.com/repos/git/git/issues?state=open&per_page=2
```

响应：
- HTTP 状态：**200 OK**，耗时 1.2s，返回 6342 字节
- 限流：`X-RateLimit-Limit: 60`，`X-RateLimit-Remaining: 57`，`X-RateLimit-Used: 3`，`X-RateLimit-Reset: 1790938447`
- 分页：`Link: <https://api.github.com/repositories/36502/issues?state=open&per_page=2&after=Y3Vyc29yOnYyOpLPAAABoPlvDgDPAAAAAVHv514%3D&page=2>; rel="next"` —— 存在下一页（游标分页），**本次仅取 2 条，不宣称完整遍历**

返回数据（2 条，均为 PR —— 含 `pull_request` 对象，已标注）：

| number | title | html_url | 类型 | created_at (UTC) |
|--------|-------|----------|------|-----------------|
| 2436 | DO NOT MERGE: unescaped % for hex-collision diagnosis | https://github.com/git/git/pull/2436 | PR（含 pull_request 对象） | 2026-10-01T21:46:43Z |
| 2435 | DO NOT MERGE: percent-escaped annotation for hex-collision diagnosis | https://github.com/git/git/pull/2435 | PR（含 pull_request 对象） | 2026-10-01T21:46:40Z |

- 条数核对：请求 per_page=2，实际返回 2 条 ✔
- 时区：API 返回 UTC（`created_at` 带 `Z` 后缀）；报告中如需本地时间需自行转换，本次保留原文 ✔
- 字段：number / title / html_url / pull_request / created_at 均取自实际响应 ✔

## 步骤 3：可复用查询说明
- 查询文件/命令：`curl 'https://api.github.com/repos/{owner}/{repo}/issues?state=open&per_page=N'`（公开仓库只读无需认证）
- 权限范围：无（未认证公开只读）；如需更高限流（5000 次/小时）才需 PAT，此时权限最小化为 public-repo 只读
- 撤销方式：本次未配置任何凭据/连接器，无需撤销；若日后使用 PAT，撤销路径为 GitHub Settings → Developer settings → Personal access tokens → Delete
- 未添加写入、定时、外发功能

## 原验收点核验
1. 查询采用已核实文档（官方 REST 文档已实读），权限符合任务范围（公开只读、零凭据）——**通过**
2. 返回数据来自实际调用（HTTP 200、1.2s、2 条真实记录），分页（next 存在）和时间范围（仅 2 条）如实记录——**通过**
3. 凭据未出现在聊天、报告或日志中（本次零凭据），撤销方法明确（无配置即无可撤销；PAT 撤销路径已给出）——**通过**

## 可行性结论
- "GitHub 公开 REST API 只读查询"提示词**完全可行**：官方文档可读、单次 curl 即通、无需认证、无费用。
- 注意：`/issues` 端点混合返回 issue 与 PR，消费方须检查 `pull_request` 字段区分（本次 2 条全是 PR，这是 git/git 仓库的真实情况，不是查询错误）。

---

## 2026-10-02 复核附录（对应复核请求 req-20261002-185040-58377-25110 第 7 项）

- 复核时间（Asia/Taipei）：2026-10-02 18:54（系统时钟）
- `issues_git-git_per2.json` 入库情况：原报告撰写时该文件尚未入库（复核请求指出的问题属实）；现已随原批次评审 commit 入库，内容为真实 API 响应。
- 本次独立复验（worker 自身执行证据）：用浏览器文本抓取重新请求 `GET https://api.github.com/repos/git/git/issues?state=open&per_page=2`，HTTP 200，返回恰 2 条：
  - #2436（HaraldNordgren，2026-10-01T21:46:43Z，含 `pull_request` 对象 → PR）
  - #2435（HaraldNordgren，2026-10-01T21:46:40Z，含 `pull_request` 对象 → PR）
  与入库 JSON 的 number/title/created_at/pull_request 字段逐项一致。证实：① 入库 JSON 为真实公开 API 响应；② `/issues` 端点列表含 PR（两条全是 PR），不是纯 issue 列表；③ 本次为一次性只读查询，未建立持久连接器，未使用 Token。
- 新增可运行只读查询文件：`query_github_issues.sh`（`bash -n` 语法检查通过；按任务约束本轮未实际执行其中的 curl，由 Codex/用户按需运行）。脚本输出 HTTP 状态、X-RateLimit 头、Link 分页头，并做条数与 PR 混合核对。
- 分页说明：本次 per_page=2 仅取前 2 条；完整遍历需跟随 `Link: rel="next"` 游标，不宣称完整。
