Files
Agent-System-Dev/.task/archive/fix-remaining-hardcoded-ports.md
weichen c89a894530
ci / svc-realcombo (pull_request) Successful in 2m55s
ci / test (pull_request) Successful in 9m11s
ci / test-pg (pull_request) Successful in 11m25s
Fold-close the task card before merge
Why: close the task card inside its own PR so landing it needs no post-merge backfill or separate close PR.
Evidence: .task/fix-remaining-hardcoded-ports.md -> .task/archive/fix-remaining-hardcoded-ports.md; status 已完成(合入前闭合); PR #676 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/676.
Impact: task metadata only; the card is archived within PR #676 and lands with its merge commit.
Refs: task.sh close --self
2026-10-21 10:52:33 +00:00

7.0 KiB
Raw Permalink Blame History

fix/remaining-hardcoded-ports 任务卡

任务主记录:PR #676 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/676;状态:已完成(合入前闭合);owner:weichen

  • 权威仓:ssh://git@192.168.3.2:2222/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 444fb1dee2

  • 工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-remaining-hardcoded-ports(worktree);分支:fix/remaining-hardcoded-ports

  • 分支类型:standalone;root_target:main;immediate_target:main;accepting_requirements:false

  • 需求分流:verdict=NEW;selected_initiative=无;requirement_sha256=f58f9b9127d88193b75ab8240478a0be0643a63075d58cc54884dfc7b9b4e64e;triage_receipt=/tmp/triage-remaining-port-flakes-20261021.json;receipt_sha256=e190b63d6a5bbcb0285d38a8ae9e1a548a6fb3e3a16dffe8e96dd54cc344a27b

  • 授权与交付终点:消除 PR #668 Review 记下的同类端口硬编码脆弱面,提取 helper 并应用到 tests/test_svc.py 与 tests/test_svc_realcombo.py 的相关位点。不得改 scripts/svc.sh、不得削弱断言、不得改动 test_svc_recover.py / test_task_pr_check.py / test_task_triage.py 的端口。

  • 交付模式:goal-first(目标、范围和交付终点一次确认;范围内连续推进)

  • 实施执行:agent-per-unit(配置:AGENT-EXECUTION.md)

  • 合入执行:agent(已授权交付范围内,Review 通过、冲突解决且当前 HEAD 的 CI 通过后合入)

  • 流程依据:仓库根目录 policy/delivery.md(归档后仍按仓库根目录定位)

目标与非目标

<预期结果、受影响入口/模块/契约;明确不做什么。>

Agent 实施收据

路由与 fail-stop 规则见根目录 AGENT-EXECUTION.md 与 policy/delivery.md;每次尝试一行,原始日志留在源码外收据路径。

单元 ID 预期范围 配置摘要 角色 候选顺序 attempt CLI/模型 终态 transport fallback 源码外收据路径
待定义 — NOT_RUN NOT_RUN NOT_RUN NOT_RUN NOT_RUN NOT_RUN NOT_RUN NOT_RUN —

同步记录

节点 sync_base_sha tested_head_sha checked_at
启动 444fb1dee2 444fb1dee2 2026-10-21T10:19:04Z

证据(Evidence)

时间(UTC) 命令 被测HEAD exit 来源 sha256(16)

结果与验证

  • 结果:新增 tests/_port_alloc.py(free_test_port() 每次调用通过 socket reservation 拿一个真正空闲的端口,with 块退出立即 close)。修改 tests/test_svc.py(6 处 svc ... --port 18842/18843/18844 改为每次 alloc 一个端口,668 与 942 行使用同一分配值因为是同一测试中相同实例的重复确认)和 tests/test_svc_realcombo.py(3 个用例各 alloc 一次端口,seed_real/svc/http_ok 三处共享)。register_pg/DSN 18951 按 PR #668 Review 注明仅写 svc.env、从不绑端口,保留不动;test_svc_recover.py 已有自己的 free_fixture_port 不动;test_task_pr_check.py/test_task_triage.py 的端口仅作字典键,不绑端口。
  • 验证:PASS——tests.test_port_alloc 在 64 负载下 OK;tests.test_svc 23 项 OK;治理套件 527 项 OK(18 skipped);PR #668 的目标用例 test_static_fresh_deploy_registers_pidcheck_and_starts 仍通过。独立 Review(pi-glm,PASS 无阻塞项)。
  • 影响与剩余项:不改任何生产代码;不削弱断言;realcombo 三例的运行级验证 NOT_RUN(环境门禁与禁网限制),由代码走读与模块级 skip 确认替代。Review 记 3 项非阻塞建议(守护测试未覆盖「外部占用」与 TIME_WAIT 避让、文件名单硬编码而非 glob、helper API 单端口 vs 真实用例可能需多端口对),均不阻塞。

合入与清理

  • Review 记录:PASS(独立会话 pi-glm / zai-coding-cn/glm-5.3-flash;base 444fb1dee2a72452be23b97cbaaad9e28c42dffd,head 076a686592f99abb7b4e8c1aa73b7c73b5bccefe;报告 .task/reviews/2026-10-20-remaining-ports-review.md;无阻塞项,3 项非阻塞建议;重放依据:host 独立跑治理套件与 64 负载下的 helper 测试)
  • 冲突记录:NOT_RUN(一次交付前同步,无变更)
  • CI 记录:NOT_RUN(当前 HEAD 完整 SHA、全部必需检查、运行链接、执行身份及 GATE 结果)
  • 合入记录:NOT_RUN(交付授权范围、PR、被核验 HEAD、合入 SHA、目标分支及内容核验)
  • 清理记录:NOT_RUN(授权依据、写者退出确认、worktree/分支/任务卡处置)
{
  "summary_schema": 1,
  "source": "SELF",
  "timestamp": "2026-10-21T10:18:17.467858+00:00",
  "command": "make precheck",
  "exit_code": 0,
  "cwd": "/home/weichen/projects/Agent-System-Dev",
  "before_head": "444fb1dee2a72452be23b97cbaaad9e28c42dffd",
  "after_head": "444fb1dee2a72452be23b97cbaaad9e28c42dffd",
  "branch": "main",
  "target_branch": "main",
  "target_head": "444fb1dee2a72452be23b97cbaaad9e28c42dffd",
  "root_target": "main",
  "immediate_target": "main",
  "before_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "after_tracked_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "output_tail": [
    "[repo]   branch=main head=444fb1dee2",
    "[remote] origin/main=444fb1dee2 ahead=0 behind=0",
    "[tree]   clean submodules_drift=0 uninit=0",
    "[worktrees] linked=2",
    "[recycle] merged un-recycled branches: feature/card-close-20261021-085838Z",
    "[initiatives] local cards (not authoritative): none",
    "[hooks]   core.hooksPath=scripts/hooks(pre-commit/post-merge 实际接线)",
    "[facts]   policy/facts.md 6 条事实均在有效期内",
    "[required-reading] core/baseline.md, workflows/delivery.md §1, policy/delivery.md",
    "[R0] 444fb1dee2(完整:444fb1dee2a72452be23b97cbaaad9e28c42dffd)",
    "[worktree] before-sync: recursive component checks passed",
    "[verdict] READY — 保留本次 precheck receipt 后建任务工作区:PRECHECK_RECEIPT=/tmp/task-precheck.json make task-start NAME=feature/your-branch"
  ],
  "output_sha256": "3ab6ad8a3228f50b19b9184ab2ded12a122fb8ecf601866a50c269dd41cf03e2",
  "receipt_sha256": "8bbfc6e4ccd048cce9e097878522ee44a50c32215c0c1df2ab59c8f7d7ae9a83",
  "receipt_path": "/home/weichen/.cache/agent-system-dev/evidence/8bbfc6e4ccd048cce9e097878522ee44a50c32215c0c1df2ab59c8f7d7ae9a83.json"
}

闭合记录(合入前折叠)