TARGETF4B2 PARTIALQA 0/5 VERIFIEDR11 · 12/21 PASS COMPLETEAdmin · 行情值班、数据平台 SRE 与任务 owner

调度任务、运行阶段与覆盖执行

把可编辑 TaskDefinition 与持久化 RunAttempt 分开,覆盖每周期状态、重复跳过、覆盖执行和批量结果

/admin/market-data/taskstrading-data-source对照 CURRENT · trading-tasks →
R11 · KNIFE 12 / 21

调度任务、运行阶段与覆盖执行 · 页面级细化任务包

分离 TaskDefinition 与持久 RunAttempt,让普通/覆盖/批量执行、重复跳过和各周期结果可追踪。

CURRENT / TARGET ROUTE

/#tasks → /admin/market-data/tasks

CURRENT API

/api/tasks/* · protected · production absent

WORK MODE

operate · K11

ENTRY

从 schedule、coverage gap、source 或 run failure 进入。

SUCCESS OUTPUT

返回 RunAttempt/IntervalResult receipt,而不是只有 queued。

COMMAND MODEL

Task revision → RunCommand → persistent attempt/stages → interval results → slice receipts → retry/cancel。

RESPONSIVE + A11Y

桌面 task/attempt/result 三栏;手机先状态和失败周期,覆盖操作固定确认。

TELEMETRY

task_view · run_submit · interval_retry;不记录 auth_value 或行情正文。

CURRENT SOURCEmain 55b1ad8
  • trading-data-source formal main 与 origin/main 均为 55b1ad827176b0937963d5694f411e901665fcfd;integrate/matrix-quant-v2-main-20260718@43742e5 领先 3 提交,稳定文件 metadata 仍是 unmerged candidate
  • EC2 当前没有 trading/market-data service、Nginx vhost、监听端口、进程或 release;源码存在不等于生产控制面已部署
  • CURRENT 是 3,371 行 Vue App.vue 的 10 个 hash/localStorage 模块;Go server.go 6,126 行、store.go 2,171 行、8 个 Go 文件、3 个测试文件、28 个注册入口、0 个仓库 CI workflow
  • 源码默认 settings.v1 包含 2 个分类、7 个标识、7 个源模板、7 个标识源和 0 个定时任务;它是 source fixture,不是生产业务数据
  • CURRENT 单管理员 cookie 为 HttpOnly/SameSite=Lax 但未设置 Secure;CORS 反射任意 Origin 并允许 credential,未见 CSRF token;auth_value 会返回浏览器并进入 settings.v1 导出,R2 Secret 明文存 SQLite
  • 默认 settings 包定时任务为 0;CURRENT run/run-overwrite 立即返回 queued,只用进程内 taskRunIDs 防重复。
source verified · production services/vhosts/listeners/health = 0 · source defaults ≠ production records
IMPLEMENTATION GAPPRODUCTION NOT DEPLOYED
  • 缺持久 RunAttempt、stage/event、取消和重试 API
  • 缺批量 command receipt 与逐周期结果
  • 进程重启会失去运行真值,覆盖窗口也无 revision/idempotency
feat/matrix-quant-v2@1df4164 的稳定文件合同是 branch-only,不进入 CURRENT main。
90-STATE PROGRAM / THIS SCREEN

生产未部署时使用真实空态;Source fixture、目标指标与运行记录严格分轨

QA 0 / 5 VERIFIED
READYRunAttempt 当前/目标合同可评审

RunAttempt workspace

R11-TASK-READY→ 查看 RunAttempt gap
LOADING正在读取 RunAttempt

RunAttempt independent regions

R11-TASK-LOAD→ 保留查询上下文
EMPTY源码默认包没有定时任务;生产运行服务未部署

RunAttempt result set

R11-TASK-EMPTY→ 查看部署或创建条件
PARTIAL ERRORRunAttempt 部分证据未知

RunAttempt evidence rail

R11-TASK-PARTIAL→ 只重试失败区域
ERRORRunAttempt 请求失败

RunAttempt request

R11-TASK-ERROR→ 安全重试
OFFLINE离线只读 · RunAttempt

RunAttempt redacted snapshot

R11-TASK-OFFLINE→ 重新连接
FORBIDDEN没有读取或管理 RunAttempt 的权限

RunAttempt authorization

R11-TASK-DENY→ 返回安全入口
CONFIRM确认普通、覆盖或批量运行?

RunAttempt command impact

R11-TASK-CONFIRM→ 确认并提交
SUCCESSRunCommand 已受理;持久 attempt 完成状态仍待实现

RunAttempt receipt

R11-TASK-SUCCESS→ 查看回执
R11 BOUNDARY本刀只完成 10 页蓝图、90 个页面状态和 source/branch/production 证据边界;不部署行情产品服务,不读取或写入真实凭证,不执行采集/覆盖/导入/删除/存储切换,也不把 source default 或 branch-only 合同冒充生产数据。
UI STUDIOtarget-trading-tasks
Admin1440 × 900100%
100%
/admin/market-data/tasks
TARGET UI1440 × 900FIT 100%
R11 DESIGN CANDIDATEtarget-trading-tasksPRODUCTION NOT DEPLOYED
MARKET DATA / TASKS调度任务、运行阶段与覆盖执行
SOURCE VERIFIED—
CURRENT / TARGET SPLITmain@55b1ad8 可验证;EC2 production service/vhost/listener/health = 0;Source default 不等于生产数据。PRODUCTION NOT DEPLOYED
SCHEDULE & RUN CONTROL

调度任务、运行阶段与覆盖执行

分开 TaskDefinition 与持久 RunAttempt,追踪普通、覆盖、批量和逐周期结果。

SOURCE MAIN55b1ad8tests pass
CURRENT ROUTE/#taskshash + localStorage
PRODUCTIONNOT DEPLOYEDservice/vhost/health = 0
SECURITYP0 GAPSSecret · CORS · CSRF
PRODUCT QA0 / 5B3 0 · blueprint only
CURRENT SOURCE CONTRACT模块字段与接口

SOURCE/#tasksVue hash module

AUTH/api/tasks/*same-origin protected API

RUNTIMEEC2 / Nginx / healthnot deployed

cron_exprmain schemainterval_idsmain schemarun/run-overwritemain schemalast/next runmain schema
PRODUCTION DATA REGION生产记录 · 未部署
TASKSCHEDULERUN ATTEMPTRECEIPT
∅没有可核验的生产业务记录不使用目标 KPI、随机行情、虚构 run 或 Source default 冒充生产
TARGET IMPLEMENTATION合同、门禁与 owner
  1. 01persistent attemptNOT PROVEN
  2. 02stage/eventNOT PROVEN
  3. 03interval resultNOT PROVEN
  4. 04batch receiptNOT PROVEN
ARCHITECTURE GAP

SOURCE DEFAULT tasks=0;CURRENT 只返回 queued 并使用进程内 taskRunIDs。

OWNER · Market Data On-call
REFERENCE VIEWPORT1440 × 900Desktop first · responsive
PRIMARY TASK新建任务主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTTaskDefinitionready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-18桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 任务列表
  • 调度详情
  • Run 轨道
  • 周期结果
  • 错误证据
  • 覆盖确认
  • CURRENT 缺口
02

用户动作

  • 新建任务
  • 编辑调度
  • 普通执行
  • 批量执行
  • 查看 Run
  • 重试失败周期
  • 覆盖已有切片
  • 停用任务
03

必须状态

  • 控制面就绪
  • 目录与运行加载
  • 当前范围为空
  • 部分来源或依赖失败
  • 页面读取失败
  • 离线只读快照
  • 资源操作权限不足
  • 高影响操作确认
  • 带 revision 的操作回执
04

数据契约

  • TaskDefinition
  • CronSchedule
  • RunAttempt
  • RunStage
  • IntervalRunResult
  • DuplicateDecision
  • OverwriteCommand
  • BatchRunReceipt

TARGET MODULES

目标页面必须交付的模块

  1. 01任务定义
  2. 02Cron 与 UTC+8
  3. 03多周期
  4. 04Source 绑定
  5. 05RunAttempt
  6. 06阶段状态
  7. 07逐周期结果
  8. 08重复保护
  9. 09覆盖启动
  10. 10批量 receipt

PRODUCT ROUTE INDEX

行情后台 · 控制面 的 20 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
行情仪表盘/#dashboard
Admin
02
标识源管理/#dataSources
Admin
03
定时任务/#tasks
Admin
04
数据分类/#categories
Admin
05
数据标识/#symbols
Admin
06
源模板/#dataSourceTemplates
Admin
07
缓存文件/#cacheFiles
Admin
08
导入导出/#transfer
Admin
09
存储配置/#storage
Admin
10
系统监控/#monitor
Admin
11
行情数据指挥中心/admin/market-data/overview
Admin
12
数据分类与目录命名空间/admin/market-data/categories
Admin
13
标准标识、周期与切片覆盖/admin/market-data/symbols
Admin
14
请求模板、占位符与秘密边界/admin/market-data/templates
Admin
15
标识源绑定、有效请求与健康/admin/market-data/sources
Admin
16
不可变行情切片与完整性 Explorer/admin/market-data/slices
Admin
17
调度任务、运行阶段与覆盖执行/admin/market-data/tasks
Admin
18
配置迁移、差异与 Secret Gate/admin/market-data/migrations
Admin
19
本地/R2 存储拓扑与恢复边界/admin/market-data/storage
Admin
20
服务、来源、任务与存储 SLO/admin/market-data/monitor
Admin