Version: 0.9.9.dev.260408

后端:
1. 粗排后分流与顺序守卫落地,支持“无明确微调偏好时粗排后直接收口”,并新增 allow_reorder / needs_refine_after_rough_build 语义,打通 chat→rough_build→execute/order_guard→deliver 路由。
2. execute 工具执行链路修复:清理乱码坏块与重复分支;新增 min_context_switch 未授权拦截;补齐 suggested 顺序基线初始化与顺序守卫联动。
3. 新增复合写工具 min_context_switch(减少上下文切换)并接入注册、参数解析、写工具白名单、提示词与文档;仅在用户明确允许打乱顺序时可用。
4. 工具口径升级:find_first_free 支持 day/day_start/day_end 范围参数并统一文案;移除 find_free 兼容别名;读写工具输出统一到“第N天(星期X)”格式。
5. prompt 同步升级:chat/execute/execute_context 增加粗排后是否继续微调、顺序授权、min_context_switch 使用边界与返回示例约束。
6. handoff 文档重命名并重写下班交接重点:下一步聚焦“工具收敛能力研究 + 运行态必要参数重置(不丢运行态)”。
7. 同步更新调试日志文件。
前端:无
仓库:无
This commit is contained in:
Losita
2026-04-08 23:55:09 +08:00
parent 4195e65cba
commit 21b864390b
21 changed files with 3546 additions and 1009 deletions

View File

@@ -97,6 +97,19 @@ type CommonState struct {
// NeedsRoughBuild 由 Plan 节点在 plan_done 时写入,标记 Confirm 后是否需要走粗排节点。
// 粗排节点执行完毕后会将此字段重置为 false。
NeedsRoughBuild bool `json:"needs_rough_build,omitempty"`
// NeedsRefineAfterRoughBuild 表示“粗排完成后是否需要立即进入微调”。
//
// 说明:
// 1. 该标记主要用于 chat->execute 的直执行链路;
// 2. true 表示用户已明确提出优化偏好,粗排后继续进 execute 微调;
// 3. false 表示用户仅要求完成排入,粗排成功后可直接收口,等待后续再优化。
NeedsRefineAfterRoughBuild bool `json:"needs_refine_after_rough_build,omitempty"`
// AllowReorder 表示本轮是否允许打乱 suggested 任务的相对顺序。
// 默认 false只有用户明确说明“可以打乱顺序/顺序不重要”才会为 true。
AllowReorder bool `json:"allow_reorder,omitempty"`
// SuggestedOrderBaseline 保存“本轮 execute 启动前”的 suggested 任务相对顺序基线。
// OrderGuard 节点会基于该基线判断微调是否破坏顺序约束。
SuggestedOrderBaseline []int `json:"suggested_order_baseline,omitempty"`
// TerminalOutcome 保存“本轮流程最终如何结束”的统一收口结果。
// 第二轮开始rough_build / execute / deliver 都应围绕这份快照判断收口语义。
@@ -134,12 +147,16 @@ func (s *CommonState) FinishPlan(steps []PlanStep) {
s.PlanSteps = steps
s.CurrentStep = 0
s.Phase = PhaseWaitingConfirm
s.NeedsRefineAfterRoughBuild = false
s.SuggestedOrderBaseline = nil
s.ClearTerminalOutcome()
}
// ConfirmPlan 表示用户已确认计划,流程进入执行阶段。
func (s *CommonState) ConfirmPlan() {
s.Phase = PhaseExecuting
s.NeedsRefineAfterRoughBuild = false
s.SuggestedOrderBaseline = nil
s.ClearTerminalOutcome()
}
@@ -151,6 +168,9 @@ func (s *CommonState) StartDirectExecute() {
s.PlanSteps = nil
s.CurrentStep = 0
s.Phase = PhaseExecuting
s.NeedsRoughBuild = false
s.NeedsRefineAfterRoughBuild = false
s.SuggestedOrderBaseline = nil
s.ClearTerminalOutcome()
}
@@ -159,6 +179,8 @@ func (s *CommonState) RejectPlan() {
s.PlanSteps = nil
s.CurrentStep = 0
s.Phase = PhasePlanning
s.NeedsRefineAfterRoughBuild = false
s.SuggestedOrderBaseline = nil
s.ClearTerminalOutcome()
}