Merge remote-tracking branch 'origin/main' into feature/file-preview-proposal

This commit is contained in:
2026-09-30 16:06:01 +00:00
6 changed files with 52 additions and 8 deletions
+3
View File
@@ -8,3 +8,6 @@ runtime/
# 运行时环境文件(含密钥,不入库;svc-envfile 任务约定)
.env.dev
# ZCode CLI 会话生成的工具忽略文件(内容镜像 .gitignore,工具自动维护,不入库)
.zcodeignore
@@ -1,6 +1,6 @@
# feature/gitea-access-facts 任务卡
任务主记录:<PR 链接,task-finish 时填写>;状态:进行中;owner:weichen
任务主记录:PR #73 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/73(merge 425c6e63f2);状态:已完成(回填);owner:weichen
## 基线与授权
@@ -19,8 +19,14 @@
|---|---|---|---|
| 启动 | 0654e035435ee6016ca8116f6eb394a824a0b9e2 | 0654e035435ee6016ca8116f6eb394a824a0b9e2 | 2026-09-30T15:43:56Z |
## 结果与验证(完成后填写)
## 结果与验证
- 结果:task.sh:175 默认 `TASK_CARD_WEB_BASE` 改为 `https://git-home.u1680832.nyat.app:30319`(git-panel 前缀 TLS 握手失败已废弃);AGENTS.md 新增「Gitea 与 Git 访问事实」节:HTTPS Web/API、SSH 格式、token 文件指针(`~/.secrets/gitea` 的 `ACCESS_TOKEN` 字段)、SSH key 指针(`~/.ssh/home_gitea`,指纹 SHA256:GYXa…Q20)、GITEA_TOKEN 用法。未写入任何 secret 值。
- 验证:`bash -n scripts/task.sh` 通过;目标行为实测——curl git-panel `/api/v1/version` exit 35(确认失效),curl git-home 同端点带 `~/.secrets/gitea` token 返回 `{"version":"1.27.3"}`,`ssh -p 31411 git@git-ssh.u1680832.nyat.app` 返回 `Hi there, weichen!`(BatchMode 免密)。本变更为文档+脚本默认值,无代码路径变更;task-sync 合入的子仓指针推进来自 main 已验证的 pin 提交(证据复用,条件未变化)。
- 影响与剩余项:后续 PR 将同一访问事实节落到其余相关仓 AGENTS.md(Core/Backend/Frontend/Documents/UI/Native/Squad/Intent/Error-Code-System/Logging-System/Agent-Command/Releases/Development-Manager);Development-Guidelines 按其 AGENTS.md 规则不收项目事实,不改。
## 闭合记录(card-autoclose 回填)
- 依据:merge 425c6e63f22fff0d200cfcbebd764fe0ed46c637(PR #73)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request 'Fix stale Gitea host and record access facts in AGENTS.md' (#73) from feature/gitea-access-facts into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
@@ -0,0 +1,32 @@
# fix/task-finish-close-followups 任务卡
任务主记录:PR #75 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/75(merge b696939eaa);状态:已完成(回填);owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= bb1bf06aec6d3f848ce6a1ca291c6ef6dc4da4ab
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-task-finish-close-followups(worktree);分支:fix/task-finish-close-followups
- 授权与交付终点:修复 task-finish 对共享子模块配置的污染并完成配套文档/忽略项收敛;终点为 PR 合入 main 后回收 worktree。
## 目标与非目标
- 目标:①`cmd_finish` 去掉 `submodule deinit --all`——submodule url 配置在共享 `.git/config`,deinit 会把其他检出/worktree 的子模块一并标成未初始化(工作区清理本就走 rm -rf + prune,deinit 无实际作用);②AGENTS.md 任务卡闭合描述与实测对齐(ff-only pull 同样触发 post-merge 钩子;钩子内 close 扫不到远端新合卡,需手动兜底);③`.gitignore` 增加 `.zcodeignore`(ZCode CLI 会话产物,不入库)。
- 非目标:close 默认 web_base 改 git-home——由并行 PR #73 完成,本卡撤回该项;不改 start 落点(PR #69 已修);不改 precheck 判脏口径。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | bb1bf06aec6d3f848ce6a1ca291c6ef6dc4da4ab | bb1bf06aec6d3f848ce6a1ca291c6ef6dc4da4ab | 2026-09-30T15:46:04Z |
## 结果与验证
- 结果:`cmd_finish` 删除 deinit 行并留注释说明共享 config 污染机理;AGENTS.md 闭合路径句改写;`.gitignore` 追加 `.zcodeignore`。bug 期间被并行会话现场复现:其 task-finish 后主检出 `submodule.*.url` 配置归零(uninit=12),本卡验证前已用 make sync 恢复。
- 验证:`bash -n` 通过;abandon 冒烟——修复版脚本 start→FORCE_ABANDON=1 finish 一条假任务,断言共享 `submodule.*.url` 计数 12→12(修复前会归 0)、主检出 `submodule status --recursive` uninit=0、smoke worktree/分支全部回收;顺带证实 inline close 能兜底闭合并行会话漏闭合的卡(feature-gitea-access-facts,经 feature/card-close-20260930-155017Z 分支)。
- 影响与剩余项:无剩余项;HTTPS API 与 SSH 在收尾阶段出现家服隧道整体瞬断,推送与 PR 推进待通道恢复后完成。
## 闭合记录(card-autoclose 回填)
- 依据:merge b696939eaafb2c5dac467b4d2ea976b402d967c4(PR #75)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request 'Stop task-finish from uninitializing shared submodule config' (#75) from fix/task-finish-close-followups into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。
@@ -44,3 +44,5 @@
| 同步前验收 | 7db242792a1561b2aad7877278d42f249369c2b9 | 314de91df3755cae006f5ced777eb71d0baa92b1 | 2026-09-30T14:29:40Z |
| 同步前验收 | ffda6d33eabb23c9be5bac221529367d771c5f7b | ac8db54ecb8ddc1e077bfec772a1665d3c2d753a | 2026-09-30T15:22:40Z |
| 同步前验收 | 7fab8feaf7b454fda4b85fd01fb6ad179496dfcd | aecaa52e6bca27c072cd89b295a75c8a4ea744aa | 2026-09-30T15:28:27Z |
| 同步前验收 | 425c6e63f22fff0d200cfcbebd764fe0ed46c637 | b46d8905297dcb0d66ef4855f6ec026391cb4679 | 2026-09-30T16:01:38Z |
| 同步前验收 | 03dc518eec70eccdc88a1c4f0e525e29bbd2a556 | a552939497cf7f5d8e0b2a9b19a2e9d110000bbd | 2026-09-30T16:03:44Z |
+4 -3
View File
@@ -15,9 +15,10 @@
当前目录当 worktree 回收——在主检出运行会误删主检出,已加防护);放弃未合入
工作用 `make task-finish ABANDON="--abandon <原因>"` 并记录原因。
- **任务卡闭合(防欠账)**:分支合入 main 后,其任务卡须回填"已完成"+主记录 PR 链接并
归档至 `.task/archive/`。自动路径:`make task-finish` 收尾触发、主检出 merge 型 pull 触发
post-merge 钩子(ff-only 不触发,由前两者兜底);手动为 `make task-close`(主检出运行→建
`feature/card-close-*` 分支+PR,任务分支内加 `FOLD=--fold` 随当前 PR 合入)。
归档至 `.task/archive/`。自动路径:`make task-finish` 收尾触发、主检出 pull 触发 post-merge
钩子(实测 ff-only pull 也触发);钩子内 close 只扫主检出本地 `.task/`,远端刚合入的卡片
要等 pull 完成才能被看到,扫不到时由手动 `make task-close` 兜底。手动闭合在主检出运行→建
`feature/card-close-*` 分支+PR,任务分支内加 `FOLD=--fold` 随当前 PR 合入。
precheck 的 `[cards]` 行报告欠账,验收前应清零;闭合 PR 由所有者合入。
## 提交与 PR
+3 -3
View File
@@ -268,9 +268,9 @@ cmd_finish() {
git merge-base --is-ancestor "$head" "origin/${TARGET_BRANCH}" || die "分支未合入 origin/${TARGET_BRANCH}——先走 PR 合入;放弃则用 --abandon <reason>"
echo "[verified] ${branch} 已包含于 origin/${TARGET_BRANCH};成果已落盘"
fi
git submodule deinit --all -f >/dev/null 2>&1 || true
# git 对含 gitlink 的 worktree 无条件拒绝 remove(查索引,与 deinit 无关):
# 已验证合入且子模块已 deinit 后,直接清目录并 prune。
# git 对含 gitlink 的 worktree 无条件拒绝 remove(查索引),回收走 rm -rf + prune。
# 此处不得跑 submodule deinit:submodule.<name>.url 写在共享的 .git/config 里,deinit
# 会把其他检出/worktree 的子模块一并标成未初始化(2026-09-30 实测 finish 后主检出 uninit=12)。
git -C "$mainrepo" worktree remove "$PWD" 2>/dev/null || { rm -rf "$PWD"; git -C "$mainrepo" worktree prune; }
git -C "$mainrepo" branch -d "$branch" 2>/dev/null || git -C "$mainrepo" branch -D "$branch"
git -C "$mainrepo" worktree prune