Skip to content

feat(optimize): converge resume tailoring on canonical Agent Runtime - #71

Merged
avabbbb merged 17 commits into
mainfrom
feat/runtime-tailor-resume-loop
Oct 7, 2026
Merged

avabbbb merged 17 commits into
mainfrom
feat/runtime-tailor-resume-loop

Conversation

@avabbbb

@avabbbb avabbbb commented Oct 7, 2026

Copy link
Copy Markdown
Owner

目标

把 /optimize 从第二套会话 Agent 收敛成 canonical Agent Runtime 的一个 UI surface。本 PR 叠在 #69(feat/job-flow-loop)之上,不合并。

主链现在是:

Real Job → /optimize UI → tailor_resume Runtime Run → optional Ask → section-level Before/After → Proposal v2 semantic groups → 用户审核 → Registry receipt → 同一个 Run continuation → Job-tailored Resume Version → 同一个 Job Workspace

改动

  • /optimize 不再调用 /api/optimize/agent/start 或 chat/stream。
  • 使用现有 agentRuntimeApi.start(... skill_id: "tailor_resume"),每个 Job 绑定稳定 task id:tailor_resume:job:{id}。
  • 直接复用现有 RunReviewPanel,因此 Ask / waiting_input / Proposal v2 / decision group / receipt continuation 都走已有 Runtime 基础设施,不重做一套。
  • 关闭并重开页面时,按 task id 回读最新持久 Runtime Run;历史列表也改读 Runtime Runs,不再读 Optimize Session。
  • queued/running 只做有界轮询;超过上限停止自动刷新,避免新的无限轮询。
  • failed / blocked / interrupted 都给明确恢复动作。
  • Runtime 启动目标明确约束:只有真实定位/结构/经历取舍才 Ask;推荐默认项放在选项里;问题数量不是指标。
  • 手动 GO/NO-GO 后若后续调研完成:原决定继续有效,只投影“有新的岗位情报,要重新评估吗?”,不静默覆盖。
  • 新增确定性 fixture 测试,覆盖 Ask → same Run → 3 个 section-level 语义组 → protected Registry execution → receipts → same-Run continuation → accepted Resume Version。
  • 架构审计改为要求 Optimize 主界面只能走 canonical Runtime,不再要求 legacy streamOptimizeAgentChat。

没做

  • 没删 legacy Optimize backend endpoint;主产品路径已经不再引用它。先保留兼容代码,避免在本纵向切片里扩大删除范围。
  • 不做 BOSS 写操作、Interview、Pipeline、第三方 Skill。
  • 不继续改视觉。
  • 真实 Provider + seeded Job/Profile + 浏览器录屏需要本机真实模型凭据与 owner acceptance;本 PR 的自动化 fixture 不能冒充这项验收。

验证

当前环境无法 clone GitHub 仓库执行本地命令(网络 DNS 不可达),因此没有伪报本地 PASS。已补相关 Vitest/Pytest/architecture contract;以 GitHub Actions 对该 PR 最新 SHA 的结果为准。

建议 CI 至少覆盖:

  • frontend typecheck
  • OptimizeChatPanel.test.tsx
  • JobNextStepCard.test.tsx
  • tests/test_pre_application_decisions.py
  • tests/test_proposal_v2_fault_acceptance.py
  • tests/test_release_architecture_audit.py

Base automatically changed from feat/job-flow-loop to main October 7, 2026 14:59
@avabbbb
avabbbb merged commit 2639018 into main Oct 7, 2026
@avabbbb
avabbbb deleted the feat/runtime-tailor-resume-loop branch October 7, 2026 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant