diff --git a/COMPETITION_SUBMISSION.md b/COMPETITION_SUBMISSION.md index 9714862..6315872 100644 --- a/COMPETITION_SUBMISSION.md +++ b/COMPETITION_SUBMISSION.md @@ -17,7 +17,9 @@ ## 成果摘要 -截至 2026-06-27,个人贡献中 GitLink 页面/API 明确显示 `status=merged` 的 PR 共 **12 个**,覆盖 Issue 批量维护、PR patchset、仓库洞察、Release 更新、仓库设置、health bug 修复、CLI 生产力和安装诊断等场景。 +截至 2026-07-09,个人贡献中 GitLink 页面/API 明确显示 `status=merged` 的 PR 共 **12 个**,覆盖 Issue 批量维护、PR patchset、仓库洞察、Release 更新、仓库设置、health bug 修复、CLI 生产力和安装诊断等场景。 + +贡献规模建议作为答辩重点:本作品对应 GitLink contributors 条目位列主仓库贡献榜 **Top 3**,贡献值 **89**、占比 **8.69%**;已进入 `upstream/master` 的 Git 历史中包含 **16 个非合并提交**,累计 **+6,543 / -626**,净增 **5,917 行**,总变更 **7,169 行**。PR 提交账号为 `wangyue111`,进入主仓库后的 Git author / contributors 条目显示为 `wangyue789`。 另有多个主推 PR 已 rebase 至最新 master,当前无冲突、`mergeable=true`,包括仓库脚手架、成员生命周期、分支治理、Commit 检视、PR conversation、SSH Key 和 Issue 模板管理等能力。 diff --git a/competition/README.md b/competition/README.md index a854e3b..37720ed 100644 --- a/competition/README.md +++ b/competition/README.md @@ -12,7 +12,7 @@ ## 2. 核心成果 -截至 2026-06-27,GitLink 页面/API 明确显示 `status=merged` 的个人 PR 共 **12 个**: +截至 2026-07-09,GitLink 页面/API 明确显示 `status=merged` 的个人 PR 共 **12 个**: #12、#18、#24、#43、#44、#45、#57、#59、#69、#71、#120、#165。 @@ -20,6 +20,13 @@ #225、#267、#268、#206、#214、#223、#224。 +贡献规模口径: + +- GitLink contributors 排名:**Top 3 / 55**,贡献值 **89**,占比 **8.69%**。 +- PR 贡献量:个人 PR 共 **89 条**,其中 **12 merged / 56 open / 21 closed**。 +- 已进入主仓库代码量:**16 个非合并提交**,**+6,543 / -626**,净增 **5,917 行**,总变更 **7,169 行**。 +- 账号说明:PR 提交账号为 `wangyue111`;进入主仓库后的 Git author / contributors 条目显示为 `wangyue789`。 + ## 3. 材料索引 | 文件 | 用途 | diff --git a/competition/gitlink-cli-competition-report.docx b/competition/gitlink-cli-competition-report.docx index 6a3d747..c084a84 100644 Binary files a/competition/gitlink-cli-competition-report.docx and b/competition/gitlink-cli-competition-report.docx differ diff --git a/competition/gitlink-cli-competition-report.md b/competition/gitlink-cli-competition-report.md index fd74428..23ff2cb 100644 --- a/competition/gitlink-cli-competition-report.md +++ b/competition/gitlink-cli-competition-report.md @@ -4,7 +4,18 @@ ## 核心摘要 -本作品围绕 GitLink 开源维护者真实工作流,扩展 gitlink-cli 的 Issue 批量维护、仓库初始化、成员协作、分支治理、PR/Commit 审查和账号配置能力。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出。截至 2026-06-27,已有 12 个 PR 合并进主仓库,另有多个主推 PR 无冲突且 mergeable=true。 +本作品围绕 GitLink 开源维护者真实工作流,扩展 gitlink-cli 的 Issue 批量维护、仓库初始化、成员协作、分支治理、PR/Commit 审查和账号配置能力。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出。截至 2026-07-09,已有 12 个 PR 合并进主仓库,GitLink contributors 排名 Top 3,已进入 upstream/master 的代码净增 5,917 行,另有多个主推 PR 无冲突且 mergeable=true。 + +## 贡献规模与仓库影响力 + +> PR 提交账号为 `wangyue111`;进入主仓库后的 Git author / GitLink contributors 条目显示为 `wangyue789`。建议答辩口径使用“贡献榜 Top 3、核心外部贡献者、参赛贡献第一梯队”,避免无范围限定地写“全仓库第一贡献者”。 + +| 指标 | 数据 | 说明 | +|---|---:|---| +| GitLink 贡献榜 | 第 3 / 55 | 89 contributions,占比 8.69%;位于主仓库贡献第一梯队 | +| PR 落地数量 | 12 merged PR | GitLink PR 列表复核:个人 PR 共 89 条,其中 12 merged、56 open、21 closed | +| Git 提交规模 | 16 个非合并提交 | 已进入 upstream/master;按 Git author 统计仅次于核心维护者 wbtiger | +| 代码变更量 | +6,543 / -626 | 主仓库历史中净增 5,917 行,总变更 7,169 行 | ## 已合并 PR diff --git a/competition/gitlink-cli-competition-report.pdf b/competition/gitlink-cli-competition-report.pdf index 62b5817..6e19a3a 100644 Binary files a/competition/gitlink-cli-competition-report.pdf and b/competition/gitlink-cli-competition-report.pdf differ diff --git a/competition/pr-contribution-summary.md b/competition/pr-contribution-summary.md index 1a58b94..75bec0b 100644 --- a/competition/pr-contribution-summary.md +++ b/competition/pr-contribution-summary.md @@ -2,7 +2,18 @@ ## 已合并 PR(成果落地核心证据) -截至 2026-06-27,GitLink 页面/API 明确显示 `status=merged` 的个人贡献 PR 共 **12 个**。 +截至 2026-07-09,GitLink 页面/API 明确显示 `status=merged` 的个人贡献 PR 共 **12 个**。 + +## 贡献规模(答辩推荐重点) + +> PR 提交账号为 `wangyue111`;进入主仓库后的 Git author / GitLink contributors 条目显示为 `wangyue789`。公开口径建议写“贡献榜 Top 3 / 核心外部贡献者 / 参赛贡献第一梯队”,不要无范围限定地写“全仓库第一贡献者”。 + +| 指标 | 数据 | 说明 | +|---|---:|---| +| GitLink contributors 排名 | Top 3 / 55 | 贡献值 89,占比 8.69% | +| PR 贡献量 | 89 条 | 12 merged / 56 open / 21 closed | +| Git 提交规模 | 16 个非合并提交 | 已进入 `upstream/master` | +| 代码变更量 | +6,543 / -626 | 净增 5,917 行,总变更 7,169 行 | | PR | 标题 | 价值 | |---:|---|---| diff --git a/competition/scripts/build_competition_report.py b/competition/scripts/build_competition_report.py index cbf1d33..2baeb77 100644 --- a/competition/scripts/build_competition_report.py +++ b/competition/scripts/build_competition_report.py @@ -36,6 +36,13 @@ OPEN_PRS = [ (224, "feat(project-template): add issue template shortcuts", "open, mergeable=true", "Issue 模板完整生命周期管理", "https://www.gitlink.org.cn/Gitlink/gitlink-cli/pulls/224"), ] +CONTRIBUTION_METRICS = [ + ("GitLink 贡献榜", "第 3 / 55", "89 contributions,占比 8.69%;位于主仓库贡献第一梯队"), + ("PR 落地数量", "12 merged PR", "GitLink PR 列表复核:个人 PR 共 89 条,其中 12 merged、56 open、21 closed"), + ("Git 提交规模", "16 个非合并提交", "已进入 upstream/master;按 Git author 统计仅次于核心维护者 wbtiger"), + ("代码变更量", "+6,543 / -626", "主仓库历史中净增 5,917 行,总变更 7,169 行"), +] + REVIEW_CASES = [ ("#12 Issue batch-close", "Review 指出关闭 Issue 未保留 description,且 Issue API 已切到 v1。", "复用 fetchExistingIssue(),PATCH 时带回 subject/description/status_id;参数语义改为 --numbers;最终合并。"), ("#22 Webhook", "Review 要求 rebase、解决 README 冲突,并补全 Skill 中 --events 事件列表。", "补齐 push/create/delete/issues_only/issue_assign/issue_label/issue_comment/pull_request_* 等事件说明;重发 PR 提升可审查性。"), @@ -238,20 +245,21 @@ def make_docx(): p = doc.add_paragraph() p.paragraph_format.space_after = Pt(14) - r = p.add_run("子赛题一:扩展 CLI 功能 | 截至 2026-06-27,12 个 PR 已合并,7 个主推 PR 可合并") + r = p.add_run("子赛题一:扩展 CLI 功能 | 截至 2026-07-09,12 个 PR 已合并,贡献榜 Top 3,代码净增 5,917 行") set_run_font(r, size=11, color="555555") meta_rows = [ ("作品仓库", "https://gitlink.org.cn/wangyue111/gitlink-cli"), ("主仓库", "https://gitlink.org.cn/Gitlink/gitlink-cli"), ("参赛方向", "子赛题一:向 gitlink-cli 主仓库贡献 CLI 功能 PR"), - ("核心证据", "12 个 merged PR + 多个 open/mergeable PR + 单元测试 + 文档 + Review 响应记录"), + ("核心证据", "GitLink 贡献榜 Top 3 + 12 个 merged PR + 代码净增 5,917 行 + 单元测试/文档/Review 记录"), ] add_table(doc, ["项目", "内容"], meta_rows, [1700, 7660]) add_heading(doc, "1. 项目概述", 1) add_body(doc, "本作品围绕 GitLink 平台和开源社区维护者的真实工作流,系统扩展 gitlink-cli 的 Shortcut 命令能力,覆盖 Issue 批量维护、仓库初始化、成员协作、分支治理、PR/Commit 审查、SSH Key 管理、Issue 模板管理等流程。") add_body(doc, "核心设计原则是:功能可直接运行,写操作可预览,批量任务可审计,Agent 调用可控,PR 能被主仓库持续 Review 和合并。") + add_body(doc, "贡献口径说明:PR 提交账号为 wangyue111;进入主仓库后的 Git author / GitLink contributors 条目显示为 wangyue789。以下排名和代码量均按公开主仓库数据复核。") add_heading(doc, "2. 评分标准对应", 1) score_rows = [ @@ -263,29 +271,33 @@ def make_docx(): ] add_table(doc, ["维度", "权重", "对应证据"], score_rows, [1500, 900, 6960]) - add_heading(doc, "3. 已合并成果:12 个 PR", 1) - add_body(doc, "截至 2026-06-27,通过 GitLink PR API 复核,个人贡献中页面/API 明确 status=merged 的 PR 共 12 个。这是子赛题一“成果落地”的核心证据。") + add_heading(doc, "3. 贡献规模与仓库影响力", 1) + add_body(doc, "除 PR 数量外,本作品还应突出“已经真实进入主仓库”的贡献规模。截至 2026-07-09 复核,GitLink contributors API 显示本作品对应 Git author 位列主仓库贡献榜第 3;Git 历史显示已进入 upstream/master 的代码净增 5,917 行。") + add_body(doc, "答辩建议口径:不裸写“全仓库第一贡献者”,而是更稳妥地表述为“贡献榜 Top 3、核心外部贡献者、参赛贡献第一梯队”。如果按已合并 PR 落地数量看,12 个 merged PR 已显著高于多数外部参赛者。") + add_table(doc, ["指标", "数据", "说明"], CONTRIBUTION_METRICS, [1700, 1800, 5860]) + + add_heading(doc, "4. 已合并成果:12 个 PR", 1) + add_body(doc, "截至 2026-07-09,通过 GitLink PR API 复核,个人贡献中页面/API 明确 status=merged 的 PR 共 12 个。这是子赛题一“成果落地”的核心证据。") add_table(doc, ["PR", "标题", "贡献价值"], [(f"#{n}", title, value) for n, title, value, _ in MERGED_PRS], [700, 4100, 4560]) - add_heading(doc, "4. 当前主推可评审 PR", 1) + add_heading(doc, "5. 当前主推可评审 PR", 1) add_body(doc, "除已合并成果外,还有一批主推 PR 已 rebase 至最新 master,当前无冲突且 mergeable=true,可作为截止日前“已提交且通过验证”的成果。") add_table(doc, ["PR", "状态", "主推理由"], [(f"#{n}", status, value) for n, _, status, value, _ in OPEN_PRS], [700, 1700, 6960]) - add_heading(doc, "5. 核心技术路线", 1) - add_heading(doc, "5.1 从单点接口到维护者工作流", 2) + add_heading(doc, "6. 核心技术路线", 1) + add_heading(doc, "6.1 从单点接口到维护者工作流", 2) add_body(doc, "作品不以接口数量为唯一目标,而是把接口组织成可执行的维护者任务流。例如 #12 解决批量关闭 Issue,#165 扩展为批量更新/删除 Issue,二者共同构成 Sprint 收尾、过期 Issue 清理、批量分派和仓库治理的 CLI 闭环。") - add_heading(doc, "5.2 安全优先的批量写操作", 2) + add_heading(doc, "6.2 安全优先的批量写操作", 2) for item in ["--dry-run:预览请求路径、请求体、目标对象,不修改线上数据。", "--yes:删除、退出等不可逆操作必须显式确认。", "参数校验:正整数 ID、枚举值、时间范围、状态字段均在本地提前校验。", "字段保留:关闭 Issue 前读取原始 subject/description,避免 PATCH 清空描述。", "结构化输出:JSON/YAML 输出便于 Agent、CI 和脚本消费。"]: add_bullet(doc, item) - add_heading(doc, "5.3 Agent 友好的 CLI 设计", 2) + add_heading(doc, "6.3 Agent 友好的 CLI 设计", 2) add_body(doc, "命令默认提供清晰帮助、dry-run 预览和机器可读输出,避免 Agent 在批量写入场景中直接执行不可逆操作。Skill 文档和 README 同步更新,降低自动化调用时的歧义。") - add_heading(doc, "6. Review 响应与工程质量", 1) + add_heading(doc, "7. Review 响应与工程质量", 1) add_body(doc, "作品持续响应维护者 Review,而不是一次性堆功能。以下案例体现真实开源协作中的修复、rebase、冲突处理和方案收敛。") add_table(doc, ["案例", "反馈/问题", "处理结果"], REVIEW_CASES, [1800, 3500, 4060]) - doc.add_page_break() - add_heading(doc, "7. 演示与复现命令", 1) + add_heading(doc, "8. 演示与复现命令", 1) add_body(doc, "以下命令用于答辩演示。建议优先使用 dry-run,既能展示请求契约,也不会修改线上数据。") commands = [ "gitlink-cli issue +batch-close --owner wangyue111 --repo gitlink-cli --numbers 1,2 --dry-run --format json", @@ -297,9 +309,9 @@ def make_docx(): for c in commands: add_code(doc, c) - add_heading(doc, "8. 结论", 1) - add_body(doc, "本作品已经从“提交 PR”推进到“多项功能进入主仓库”。12 个已合并 PR 证明成果可落地;多个 open/mergeable PR 证明方案仍在持续扩展;Review 响应、真实接口验证和测试记录证明工程质量可验证。") - add_body(doc, "面向评分标准,本作品的优势在于:功能覆盖面广但不散,围绕真实维护场景组织;写操作有安全机制;文档和演示可复现;12 个 merged PR 证明成果已经进入主仓库并持续可用。") + add_heading(doc, "9. 结论", 1) + add_body(doc, "本作品已经从“提交 PR”推进到“多项功能进入主仓库”。12 个已合并 PR 证明成果可落地;贡献榜 Top 3 和代码净增 5,917 行证明贡献不是零散提交,而是持续、可度量、已进入主仓库的工程投入。") + add_body(doc, "面向评分标准,本作品的优势在于:功能覆盖面广但不散,围绕真实维护场景组织;写操作有安全机制;文档和演示可复现;贡献规模和合并记录共同证明成果已经进入主仓库并持续可用。") doc.save(REPORT_DOCX) @@ -312,7 +324,16 @@ def make_markdown(): lines.append('') lines.append('## 核心摘要') lines.append('') - lines.append('本作品围绕 GitLink 开源维护者真实工作流,扩展 gitlink-cli 的 Issue 批量维护、仓库初始化、成员协作、分支治理、PR/Commit 审查和账号配置能力。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出。截至 2026-06-27,已有 12 个 PR 合并进主仓库,另有多个主推 PR 无冲突且 mergeable=true。') + lines.append('本作品围绕 GitLink 开源维护者真实工作流,扩展 gitlink-cli 的 Issue 批量维护、仓库初始化、成员协作、分支治理、PR/Commit 审查和账号配置能力。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出。截至 2026-07-09,已有 12 个 PR 合并进主仓库,GitLink contributors 排名 Top 3,已进入 upstream/master 的代码净增 5,917 行,另有多个主推 PR 无冲突且 mergeable=true。') + lines.append('') + lines.append('## 贡献规模与仓库影响力') + lines.append('') + lines.append('> PR 提交账号为 `wangyue111`;进入主仓库后的 Git author / GitLink contributors 条目显示为 `wangyue789`。建议答辩口径使用“贡献榜 Top 3、核心外部贡献者、参赛贡献第一梯队”,避免无范围限定地写“全仓库第一贡献者”。') + lines.append('') + lines.append('| 指标 | 数据 | 说明 |') + lines.append('|---|---:|---|') + for name, data, note in CONTRIBUTION_METRICS: + lines.append(f'| {name} | {data} | {note} |') lines.append('') lines.append('## 已合并 PR') lines.append('') diff --git a/competition/submission-form.md b/competition/submission-form.md index b9e369e..f2c6d2d 100644 --- a/competition/submission-form.md +++ b/competition/submission-form.md @@ -6,7 +6,7 @@ GitLink CLI 功能扩展与开源协作治理能力增强 ## 项目简介 -本作品面向 GitLink 平台和开源社区维护者的真实协作场景,系统扩展 gitlink-cli 的 Shortcut 命令能力,覆盖 Issue 批量维护、仓库初始化、成员申请/退出、分支生命周期、PR/Commit 审查、SSH Key 管理、Issue 模板管理等流程。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出,便于人工维护者和 Agent 工作流安全调用。截至 2026-06-27,已有 12 个 PR 合并进 gitlink-cli 主仓库,另有多个 open PR 已 rebase 至最新 master,当前无冲突且可合并。 +本作品面向 GitLink 平台和开源社区维护者的真实协作场景,系统扩展 gitlink-cli 的 Shortcut 命令能力,覆盖 Issue 批量维护、仓库初始化、成员申请/退出、分支生命周期、PR/Commit 审查、SSH Key 管理、Issue 模板管理等流程。所有高风险写操作均设计 dry-run、yes 确认、参数校验和结构化输出,便于人工维护者和 Agent 工作流安全调用。截至 2026-07-09,已有 12 个 PR 合并进 gitlink-cli 主仓库;GitLink contributors 排名 Top 3,贡献值 89、占比 8.69%;已进入 upstream/master 的 Git 历史中包含 16 个非合并提交,代码净增 5,917 行。另有多个 open PR 已 rebase 至最新 master,当前无冲突且可合并。 ## 作品仓库 @@ -14,7 +14,11 @@ https://gitlink.org.cn/wangyue111/gitlink-cli ## 已合并成果 -截至 2026-06-27,GitLink 页面/API 明确显示 `status=merged` 的个人贡献 PR 共 12 个:#12、#18、#24、#43、#44、#45、#57、#59、#69、#71、#120、#165。 +截至 2026-07-09,GitLink 页面/API 明确显示 `status=merged` 的个人贡献 PR 共 12 个:#12、#18、#24、#43、#44、#45、#57、#59、#69、#71、#120、#165。 + +## 贡献规模 + +PR 提交账号为 `wangyue111`;进入主仓库后的 Git author / contributors 条目显示为 `wangyue789`。按公开主仓库数据复核:GitLink contributors Top 3 / 55,贡献值 89、占比 8.69%;个人 PR 共 89 条,其中 12 merged、56 open、21 closed;已进入 `upstream/master` 的代码变更为 +6,543 / -626,净增 5,917 行,总变更 7,169 行。 ## 主推待评审 PR