Skip to content

chore: sync upstream main 0bdf33a; drop cursor-hygiene-webhook (关联 #31) - #32

Merged
Hylouis233 merged 6 commits into
mainfrom
chore/upstream-sync-20261022
Oct 21, 2026
Merged

Hylouis233 merged 6 commits into
mainfrom
chore/upstream-sync-20261022

Conversation

@Hylouis233

Copy link
Copy Markdown
Owner

概要

将上游 pingdotgg/t3code main 同步到 fork main(前一次同步为 #31,同步到 680152e27b)。

提交

  1. 85189f76d5 Merge upstream pingdotgg/t3code main 0bdf33a into fork main(git merge,未 rebase)
  2. d8e659a980 fix(ci): drop cursor-hygiene-webhook workflow to match upstream

冲突及处理

无冲突。apps/server/src/vcs/GitVcsDriverCore.test.ts 由 git 自动合并(fork 与上游都改过该文件),已单独跑过其测试(见下)。

  • 合并后 git diff origin/main HEAD 涉及的文件集合与上游 680152e27b..0bdf33a34d 的文件集合完全一致(14 个文件),fork 独有改动未受影响。
  • ci.yml(setup-vp、PR Gate 结构)、release.yml(仓库守卫)、model-manifest.json(orchestrationProtocolVersion:opencode/1 <0.0.46 = 1,opencode >=0.0.46 = 2,pi/2 = 2)本次均未改动。

删除文件检查

git diff --diff-filter=D origin/main HEAD:

  • 合并提交本身:无删除文件。
  • 第二个提交:.github/workflows/cursor-hygiene-webhook.yml。该文件来自上游(b5febb1b47 添加),上游已在 3e250a8387 删除(3e250a8387 是 merge base 的祖先,所以 merge base 中已无此文件);fork 曾在 e37d4dd445 恢复了一份带守卫的版本。它不是 fork 独有文件。

测试改动与 workflow 删除

上游在 3e250a8387 删除了 .github/workflows/cursor-hygiene-webhook.yml。为与上游保持一致,本 PR 删除 fork 中的该文件,并调整 .github/scripts/opent3code-release.test.cjs 中的测试 “upstream APK publication and Cursor forwarding cannot run in the fork”:

  • 文件不存在时,Cursor 转发不可能运行,测试视为通过;
  • 文件存在时,仍要求 forward job 带有 if: github.repository == 'pingdotgg/t3code' 守卫;
  • APK 发布检查(mobile-android-apk.yml / mirror)不变,文件缺失或缺少守卫依然失败。
-  for (const [workflow, job] of [
-    ["mobile-android-apk.yml", "mirror"],
-    ["cursor-hygiene-webhook.yml", "forward"],
+  for (const [workflow, job, optional] of [
+    ["mobile-android-apk.yml", "mirror", false],
+    // Upstream deleted this workflow (3e250a8387); when it is absent, forwarding cannot run.
+    ["cursor-hygiene-webhook.yml", "forward", true],
   ]) {
-    const source = fs.readFileSync(path.join(__dirname, "../workflows", workflow), "utf8");
+    const workflowPath = path.join(__dirname, "../workflows", workflow);
+    if (optional && !fs.existsSync(workflowPath)) continue;
+    const source = fs.readFileSync(workflowPath, "utf8");

同时更新 docs/operations/pr-actions.md 中关于该 webhook 的描述(仓库内唯一的其他引用;knip 配置中无引用)。

验证(仅运行该测试):

场景 结果
删除 workflow,测试未修改 失败:ENOENT(符合预期)
删除 workflow,测试已修改 通过
workflow 存在且有守卫,测试已修改 通过
workflow 存在但去掉 if: 守卫,测试已修改 失败:cursor-hygiene-webhook.yml must keep a job-level upstream identity boundary
mobile-android-apk.yml 去掉守卫,测试已修改 失败:mobile-android-apk.yml must keep a job-level upstream identity boundary
mobile-android-apk.yml 缺失,测试已修改 失败:ENOENT

所有临时改动均已还原。

本地测试结果(逐个运行)

命令 结果
node --test .github/scripts/opent3code-*.test.cjs 105/105 通过
node --test .github/scripts/*.test.cjs 152/152 通过
python3 .github/scripts/stage-preview-bundle.test.py 6/6 通过
node .github/scripts/opent3code-source-integrity.cjs --placeholder-only origin/main HEAD 通过
apps/server: vp test run src/provider/providerMaintenanceRunner 1 文件,18/18 通过
apps/server: vp test run src/provider/providerCompatibility.test.ts src/provider/ModelManifest.test.ts(含 #28 守卫) 2 文件,19/19 通过
apps/server: vp test run src/vcs/GitVcsDriverCore.test.ts src/storageCleanup.test.ts(自动合并文件) 2 文件,274/274 通过
vp lint .github/scripts/opent3code-release.test.cjs 通过(无诊断)
vp fmt --check(改动的测试文件与文档) 通过

未验证

  • typecheck(未运行)
  • 浏览器测试(未运行)
  • PR Gate(等待 CI)
  • 上游 web 端改动(AddEnvironmentDialog.tsx、ConnectionsSettings.tsx、Sidebar 相关)及 packages/client-runtime 的单元测试未在本地运行

juliusmarminge and others added 6 commits October 21, 2026 10:45
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…s junctions point to (pingdotgg#21099)

Co-authored-by: sheehanmunim <80079528+sheehanmunim@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#22686)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Upstream deleted .github/workflows/cursor-hygiene-webhook.yml in
3e250a8. Remove the fork copy and let the fork-boundary release test
treat a missing workflow as "forwarding cannot run", while still
requiring the upstream repository guard whenever the file exists. The
APK publication check is unchanged and still requires its workflow.
Copilot AI balanced review requested due to automatic review settings October 21, 2026 18:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-21T18:44:49.948982Z d8e659a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added size:XXL 1,000+ effective changed lines. vouch:trusted Author has write access or is explicitly trusted by OpenT3Code. labels Oct 21, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d8e659a980

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +72 to +77
.execute({
operation: input.operation,
cwd,
args,
maxOutputBytes: INDEX_LIST_MAX_BYTES,
...(env === undefined ? {} : { env }),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve the removal timeout for Windows preflight commands

On Windows, a non-forced linked-worktree removal now runs git ls-files and git status through this helper, but these calls omit timeoutMs and therefore inherit the driver's 30-second default. The previous git worktree remove path allowed five minutes, so a clean large worktree whose status scan takes 30–300 seconds will now fail before deletion. Pass the worktree-removal timeout through to these preflight executions as well.

Useful? React with 👍 / 👎.

@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB −7 B (−0.1%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB −7 B (−0.6%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB −7 B (−0.1%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB −7 B (−0.6%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: b001e93 · PR result: d8e659a · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@Hylouis233
Hylouis233 merged commit 57e67ed into main Oct 21, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ effective changed lines. vouch:trusted Author has write access or is explicitly trusted by OpenT3Code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants