Files
Agent-System-Dev/.task/archive/svc-remote-source.md
T
weichen cac91a8f9b
ci / test (pull_request) Failing after 10m52s
Close 6 merged task card(s) and archive them
Why: branches merged into main had left their task cards open; backfill status and archive to prevent bookkeeping debt.
Evidence: feature-binary-doc-index.md(PR#114) feature-input-queue.md(PR#115) feature-preview-sniff-fallback.md(PR#96) fix-empty-create-task.md(PR#116) fix-mimosa-triage.md(PR#117) svc-remote-source.md(PR#102) — merges verified via git log --merges against origin/main.
Impact: .task/*.md moved to .task/archive/ with status backfilled; no code or submodule change.
Refs: task.sh close (card-autoclose-r1)
2026-10-01 05:32:31 +00:00

69 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# feature/svc-remote-source 任务卡
任务主记录:Dev PR #102 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/102 ;状态:已完成(回填);owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= f65d89e59b6974c7a5db63be0677d192bfaa7e9c
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-svc-remote-source(worktree);分支:feature/svc-remote-source
- 启动方式说明:主检出存在 owner 本人未收尾现场(`modules/frontend` 子模块修改态,前端重设计进行中),`task.sh start` 按门禁硬拒。owner 在任务对话中明确指示本任务并要求"更新/部署不依赖当前仓库状态",即 collaboration.md 的"经 owner 确认"路径;本工作区由 Agent 以与 task-start 完全相同的命令手动建立(同 R0、同命名、子模块零漂移),**全程未写主检出、未触碰该未提交现场**。
- 授权与交付终点:修改 `scripts/svc.sh` 与 `docs/svc.md`(实现 + 文档),验证后推送并建 PR;不合并(合入由 owner 决定);不动主检出 `modules/frontend` 现场。
## 目标与非目标
**背景**:`scripts/svc.sh update dev` 在主检出工作树不干净时跳过更新("主检出工作树不干净——跳过")。owner 明确要求:更新、部署等操作不应依赖当前仓库状态;不指定时默认使用最新仓库;构建放在独立于当前仓库/目录的地方。
**目标**:
1. 新增"独立部署源仓":脚本自有的干净克隆(默认 `~/.cache/agent-system-svc/src`,`SVC_SRC_DIR` 覆盖;可随时删除重建),dev 源的解析、列举(commits)、worktree 物化全部基于它。
2. 默认来源改为远端最新:裸 `deploy` 与 `--from dev`(不带 @sha)= 源仓 `origin/main` 最新提交;`--from local` 保留为显式"构建当前工作区"。
3. `update` 去 pull 化:删除"local 源 → 主检出 pull(要求分支=main + 树干净)"路径;`local@`/`dev@` 源一律重新部署为 `dev@<远端最新>`(隔离 worktree 构建),与工作区脏净/所在分支无关。领先/分叉/提交不在远端三种情形仍不动作(不盲目降级)。
4. `update` 的 fetch 也走源仓(不再 fetch 主检出);`commits dev` 列表改为源仓 `origin/main`(自动确保+fetch),`[HEAD]` 标记改为 `[最新]`。
5. 文档同步:脚本头注释、`help` 各主题、`docs/svc.md`(§2/§5/§6.3/§9.3/§11/§13/§14)。
**非目标**:不改 `--from local` 语义与实现;不改 release 源、数据库、生命周期、dbops 行为;不动 Makefile。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | 2026-09-30(手动 task-start 复刻) |
| 同步前验收 | 4c4071e5d8e256dd8f82ba9c74efa1effd1e9df3 | (合并提交) | 2026-10-01T04:10:00Z |
## 结果与验证
- 结果:已实现(提交 a42fff6)。svc.sh 新增**独立部署源仓**(`SVC_SRC_DIR`,默认
`~/.cache/agent-system-svc/src`,可随时删除重建):dev 源的提交解析、`commits` 列举、
worktree 物化全部基于它;裸 `deploy` 与 `--from dev` 缺省取源仓 `origin/main` 最新;
`update` 删除"主检出 pull(要求分支=main+树干净)"路径,`local@`/`dev@` 源一律重新
部署为 `dev@<远端最新>`(领先/分叉/提交不在远端三种情形仍不动作);`docs/svc.md`
与脚本 help 各主题同步更新。
- 验证:
- `bash -n scripts/svc.sh` 通过;`help`/`help lifecycle` 渲染正常;
- `scripts/svc.sh commits dev`:首次自动克隆源仓并 fetch,列表来自源仓 origin/main,
顶提交标 `[最新]`;
- 裸 `deploy --dry-run`(无 `--from`):计划 `dev@0be23f9`(源仓远端最新);
- **端到端(复刻 owner 场景)**:在任务 worktree 制造脏现场(未跟踪文件 + 跟踪文件
修改)并手工登记 `source=local@d64742c` 的服务,`scripts/svc.sh update svc-selftest`
直接更新成功:`local@d64742c → 0be23f9`,从源仓物化隔离 worktree 构建(npm ci +
vite + go build),服务启动健康(pid 1228696,http://127.0.0.1:8812,来源
`dev@0be23f9`,版本组合完整),全程未触碰工作区;随后 stop + rm --purge 清理,
worktree 无残留;
- `make task-sync`:sync_base=0be23f9a4d,tested_head=87cc6b3b55(并入 PR #101 后组合);
- `make test` 全绿(core ok;backend 全部 ok 含 server 4.8s;frontend 5 文件 33 用例;
ui 7 文件 49 用例;agentcmd ok),退出码 0。
- 影响与剩余项:
- 行为变化:部署缺省来源从"当前工作区"改为"远端 main 最新"——构建当前工作区须显式
`--from local`;`update` 不再依赖主检出状态,owner 遇到的"工作树不干净——跳过"
场景消除。
- 观察项(非本任务引入):部署时对产物 `serve -h` 探测不到 `--auth` 会自动省略该
flag(0be23f9 产物即如此),与旧版行为一致,健康检查通过。
- 剩余项:PR 合入由 owner 决定;合入并在主检出 pull 后,旧版"树脏跳过"即消失。
## 闭合记录(card-autoclose 回填)
- 依据:merge 4968f97b8531b90caa64534eae2a3bc8ec75bb5b(PR #102)已包含于 origin/main,分支成果已落盘;本段为合入后回填。
- 合并主题:Merge pull request 'svc.sh: deploy/update from an isolated remote source clone (dirty-tree independent)' (#102) from feature/svc-remote-source into main
- 归档:随闭合移入 .task/archive/;任务执行期的过程证据见原任务记录与 PR。