For agentic workers: 按仓库 code-copilot 工作流在当前会话内联执行;逐项运行目标测试,不创建额外 worktree,不回退 V1-V9 工作区成果。
status: complete scope: V10 only
Goal: 关闭整体扫描发现的安全绕过、状态悬挂和并发一致性缺口,使现有定时任务、开放 API 和 Flow 编排在失败与重启场景下保持可判定状态。
Architecture: RPC 复用 V8 受控出站客户端并增加独立 JOB_RPC 场景,执行端用显式服务 Token 认证。生命周期修复集中在 Mapper 原子 SQL、启动恢复服务和按任务 ID 串行的协调器中;Flow 与前端只做协议边界补齐。
Tech Stack: Java 17、Spring Boot 3、Quartz、MyBatis XML、SecureOutboundClient、Flyway、Vue 3、Naive UI、JUnit 5、Mockito、Vitest。
Files:
code-copilot/changes/定时任务扫描问题修复/spec.mdcode-copilot/changes/定时任务扫描问题修复/tasks.mdcode-copilot/changes/定时任务扫描问题修复/test-spec.mdCreate: code-copilot/changes/定时任务扫描问题修复/execution-log.md
[x] 固化 12 项扫描问题、边界和修复顺序。
[x] 复用 V9 成功基线并建立 V10 P0/P1 增量测试矩阵。
[x] 完成后回填执行证据、跳过项、父路线图和可复用决策。
Files:
JobExecutorEndpoint.java, RemoteJobExecutorRouter.java, JobProperties.javaforge-plugin-job/pom.xml, application-job-example.ymlOutboundScenes.java, DefaultOutboundPolicyService.javaV1.0.49__fix_job_scheduler_scan_findings.sqlTest: endpoint、router、outbound policy 和 migration contract tests
[x] 先添加端点默认关闭、Bearer 校验、响应脱敏和业务错误状态测试。
[x] 先添加 RPC 请求进入 JOB_RPC、携带服务 Token、解析 RespInfo 和拒绝失败响应测试。
[x] 先添加 JOB_RPC 私网必须显式授权和迁移字典/约束测试。
[x] 实现最小认证、受控请求和双层成功判定,删除 Hutool 直连 HTTP。
[x] 运行 Job 与 Outbound 目标测试。
Files:
JobLogController.java, SysJobLogServiceImpl.javaSysJobLogMapper.java / SysJobLogMapper.xmlJobExecutionRecoveryService.javaJobStartupReconciler.java, JobProperties.javaTest: service、mapper contract 和 startup recovery tests
[x] 添加 days 边界、ACCEPTED/RUNNING 排除和有效幂等引用排除测试。
[x] 添加超时 RUNNING/ACCEPTED 原子失败与重复恢复幂等测试。
[x] 实现清理 SQL、恢复 SQL 和启动调用,异常原因只使用固定脱敏文本。
[x] 运行生命周期、日志服务和启动恢复目标测试。
Files:
JobScheduleCoordinator.java, SysJobConfigMapper.java / XMLJobScheduler.java, JobOnceCompletionService.javaJobExecutionLifecycleService.java, SysJobLogMapper.java / XMLTest: coordinator、scheduler、once completion 和 lifecycle tests
[x] 添加同任务同步串行、版本变化重试和删除不复活测试。
[x] 添加 past ONCE + DO_NOTHING 直接完成测试。
[x] 添加 ALLOW 并行执行乱序完成不会覆盖较新统计测试。
[x] 用任务级锁、版本条件更新和完成顺序条件实现最小修复。
[x] 运行调度与生命周期目标测试。
Files:
RemoteJobFlowExecutor.java / RemoteJobFlowExecutorTest.javaSysJobLogMapper.xml, JobMonitorSummaryVO.java, JobObservabilityManager.javaModify: job-config.vue, job-log-list.vue and frontend tests
[x] 添加 Flow 5xx/解析失败恢复、4xx/业务失败不恢复测试。
[x] 添加 ACCEPTED 指标闭合测试并扩展前端摘要归一化。
[x] FLOW 列表使用 sys_job_invoke_mode + invokeMode,流程历史按钮只在路由可访问时显示。
[x] 运行 Flow Client、Job 监控和前端定向测试。
git diff --check 静态门禁。