← 返回站点首页

Current Alpha Closure Board

这页只做一件事:把当前最重要的三条收口线并排讲清楚,回答 现在最值得继续做什么、什么该讲清楚、什么该收口归档

当前阶段:closure-first 生成时间:2026-06-18 06:55 UTC 不是实盘决策页;是研发排优先级页

如果只看“谁最接近 paper trading”

EMA / PSAR 当前是 closest to paper:已经有 final survivor map + paper candidate / operating / monitoring spec + runbook,并已落下首份 day-0 ledger snapshot + first-refresh queue。breakout-short follow-up 当前更诚实的 reader-facing 结论已改成 bench:它仍保留条件性 alpha 价值与完整证据链,但在“唯一一枪”打完后,关键 blocker 仍停在 pure_down=0/100predown_bridge_12h=0/11downrisk_48h=0/109future_pure_down_48h=0/44,因此不再占用默认主资源。Fibonacci 则已进入 park / archive

如果只看“网页先该怎么讲”

先把三条线的 当前结论 / 不支持什么 / 下一步 写清楚,再去补图,不要先堆页面数量。

如果只看“什么时候再去找新 alpha”

等这三条线完成一轮更完整的成本 / OOS / rolling / 角色判断后,再决定是否回拨更多资源给外部 alpha scouting。

从现在到 paper trading / 小资金实盘的路线图

这张路线图不是收益承诺,也不是“快要上实盘”的营销图;它只是把当前项目强制放进同一条 deployment ladder 里,回答:我们现在到底在哪一格,离 `paper trading` 和小资金实盘还差哪几道硬门槛

Step 这一步在回答什么 当前状态 离部署还差什么
Step 1 — 收口 / survivor map / archived map 把候选分成 keep / mixed-watch / archive,先回答“还有什么值得留下来”。 基本完成:三条线的 keep / park / mixed 边界已经清楚。 这一层本身不够,下一步必须进入更 deployment-facing 的 admission gate。
Step 2 — admission gate / candidate spec 回答谁有资格进入 paper-admission queue,当前 verdict 是 `paper-now / bench / park` 哪一个。 我们现在主要就在这一步。 EMA 已经到 `closest to paper`;breakout 已正式转成 `bench`;Fib 已 park。 要把候选从“看起来值得做”推进成“可以真正准备跑 shadow / paper”,或者诚实地退出默认资源位。
Step 3 — operating spec / monitoring board / shadow-ready runbook 回答如果真开始伪实盘,该盯哪些市场、哪些 symbol、怎样记账、怎样升降级。 EMA 已基本补齐:已有 candidate spec / operating spec / monitoring board / runbook,并已落下一份 day-0 ledger snapshot + first-refresh queue;breakout 还没完全到这层。 EMA 已从 runbook 走到首笔 day-0 账本记录与首刷顺序;下一步不是再补页面,而是按同一张 queue 继续做真实 shadow / paper refresh。
Step 4 — 真实 paper trading / shadow run 在真实前瞻观察下检验路径、回撤、停机条件、promotion/demotion 是否还成立。 尚未开始,但现在已有一版项目级 `promotion gate v1` 可直接约束 paper -> live 顺序。 需要先按同一套 gate 跑出真实 forward 账本,而不是从研究页直接跳到真钱。
Step 5 — 小资金实盘试点 在通过 paper/shadow gate 后,用 capital cap / kill switch / rollback rules 做最小 live pilot。 尚未开始;但 `capital cap / kill switch / rollback` 的项目级底线已固定成 v1。 仍不能跳过 Step 4;要先满足最短观察期、回撤护栏、以及监控板连续不过红线。

我们当前在哪

EMA 大致位于 Step 3.6:runbook、day-0 ledger snapshot 与 first-refresh queue 都已落地,等于已经迈出第一笔 `0` 真资金记账动作并写清首刷顺序,但还没积累出真实 forward review。breakout 当前更诚实的位置已不是继续卡在 `one_more_gate`,而是完成 hard verdict 后退回 bench:保留证据,但退出默认主资源位。Fibonacci 已固定在 `park / archive`。

离 paper trading 还有多远

EMA:首份 day-0 ledger snapshot 与 first-refresh queue 都已经落表,离真正 paper trading 不再差“要不要开账”,而是差后续真实 refresh / week-1 review 能不能按同一张 queue 持续跑下去。breakout:当前已不再默认排队争夺 shadow-ready,而是先退回 `bench`;除非后续拿出 genuinely new blocker reduction,否则不再继续消耗默认主资源。

离小资金实盘还有多远

现在终于不只是“更远一些”这句空话了:项目级 `promotion gate v1` 已写清 最短观察期 / 回撤护栏 / kill switch / capital cap / rollback,随后又把 routing dry-run / live ledger / mismatch guard 压成了 tiny-live plumbing board,并继续补出 routing dry-run checklist + paper-live shadow parity checklist。也就是说,当前不只知道“什么时候才配上 live”,还知道上 live 前先要按什么执行栏位做检查、以及进入 `paper vs live-shadow` 同步审计时要先锁哪些红旗。但因为两条主候选都还没跑出真正的 forward 观察期,所以正确顺序仍不变:EMA 先沿已落地的 day-0 ledger snapshot + first-refresh queue 持续进入 paper/shadow refresh,breakout 先清掉最后一道 gate,再谈 small live

如果把 EMA 视为默认 baseline:结构层现在有没有增量价值?

这张表不是在问“结构事件有没有一点 alpha 感”,而是更 deployment-facing 地问:它们有没有比当前 EMA baseline 更诚实地拿到 paper admission 资格,或者至少明确展示出值得并列保留的增量价值。 当前项目级答案已经能先写死:EMA 仍是默认 baseline seat;breakout 还在争取有条件并列资格;Fib 则已退出主资源竞争。

研究线 当前相对 EMA 的排位 EMA 在这张比较里的角色 当前是否已证明增量价值 为什么还不能高于 EMA 下一刀什么才算有效比较
EMA baseline family默认 baseline / closest to paper基准本体:当前主 raw alpha baseline 与 deployment reference不适用;它本身就是当前默认比较基线。补充读法:PSAR overlay 当前只在 `创业板ETF 1d` 显示出 shadow-protective 方向,还没有形成新的 baseline seat。不适用。当前 seat 之所以还由 EMA 持有,是因为它已有 survivor map + candidate spec + runbook + day-0 ledger snapshot,并且 active 1d lanes 已清掉 source-risk;同时 A股 daily overlay overall 仍是 mixed,不支持把 PSAR 额外焊成默认保护层。继续沿同一张 live ledger 落下真实 market-close refresh / week-1 review;若 primary 或 front-queue secondary 转弱,再按 runbook demote / rollback。PSAR overlay 只在 `创业板ETF 1d` 的 shadow protocol 下继续观察,不改默认持有规则。
support_breakout_v0 / breakout-short follow-upbench / conditional alpha当前所有结构层都该先回答:它有没有比 EMA 更早、更诚实地拿到 paper admission 资格;如果没有,就应退出默认资源位。有条件性 alpha 价值,但 deployment rank 上已被 desk 正式压成 `bench`。当前更诚实的位置是保留证据、等待 genuinely new blocker reduction,而不是继续争主位。默认 pair halfsize 虽把 hourly path 抬到约 +19.90%,但 pure down coverage 仍是 0/100,predown_bridge_12h 仍是 0/11,downrisk_48h 仍是 0/109;在“唯一一枪”打完后 blocker 仍未下降,所以它不能继续占用默认 Live Seat 主资源。只有新的 shadow / holdout 真正命中 pure-test/down-tail blocker reduction,或 Scout Seat 先产出更强 challenger 后再回来同框比较,才配讨论它是否重回默认资源位。
Fibonacci confirmation / retest_holdarchive / optional filter默认只作为过滤层候选;若不能先胜过 breakout v0,就更谈不上挑战 EMA baseline seat。当前没有。它改善了一些 invalidation / 机制表达,但在 breakout v0 同样本 A/B 里并没有把主线收益或部署可用性做得更诚实。Fib A/B 里平均单笔约 +0.71%、累计约 +20.00%,明显弱于 breakout v0,而且平均还延迟约 12.5 根 bar;因此当前连 structure 主线内部都不是胜出者。除非以后只把它放回更窄的 down-regime filter 问题,并证明它能在不明显压塌 entry 的前提下改善一个已保留候选,否则继续维持 archive。

artifact:reports/artifacts/alpha_closure_board/structure_vs_ema_baseline_v1.csv

Paper trading → 小资金实盘 promotion gate(v1)

这不是“准备马上上实盘”的承诺,而是一套更保守的项目级底线:只有先跑出真实 paper / shadow 账本,并满足同一套最短观察期、回撤护栏、停机条件、capital cap 与 rollback 规则,才配讨论小资金 pilot。

阶段 适用对象 最小前瞻观察 回撤 / 路径护栏 停机 / kill switch 资金上限 rollback 规则
Paper / shadow start只适用于已过 Step 2 且已有 candidate spec + operating spec + monitoring board / runbook 的对象。当前更像先给 EMA 用;breakout 已退回 `bench`,若 future genuinely new blocker reduction 出现,再重新申请。先以 `0` 真资金启动;从第 1 天开始并行记 paper / shadow 账。若缺 runbook、监控字段、或 promote-demote 规则,则不得启动。启动阶段不谈真钱回撤容忍;核心要求是 forward 记账口径与监控字段先稳定跑起来。数据断流、执行规则不完整、或 monitoring board 无法日常更新时,不启动 / 立即暂停。`0`(paper / shadow only)。不适用;未满足条件时继续留在 Step 3。
Paper -> small-live review eligible所有已进入 paper / shadow 的候选。至少满足 `30` 个自然日,且 `>=20` 个已关闭 decision cycles / trades;若策略更慢,则至少 `60` 个自然日 + `>=8` 个已关闭 trades。paper max drawdown 不得超过研究基线的 `max(1.25x, +3pp)` 容忍带;同时不能连续两次 review 都落在 monitoring board 的 `red` 区。若 paper 累计回撤跌破 `-5%`,或触发上述 drawdown guardrail,则冻结 promotion review,只保留 paper。仍为 `0`;这里只是拿到 small-live review 资格,不自动上真钱。任一条件未达标,维持 / 退回 `paper only`,并按 monitoring board 标红。
Small-live pilot start只适用于已经通过 paper review 的对象。继续保留 paper 并行记账;small-live 只做最小 pilot,不取消 shadow。live 期间的 max drawdown 不得超过通过 review 时的 paper guardrail;若 live 与 paper 同步路径偏离超过 `5pp`,视为 execution mismatch。任一 kill switch 触发即停:`drawdown breach`、`live vs paper mismatch > 5pp`、`连续两次 red review`、`数据/执行异常`。单候选 live pilot 先限制在 `<= 总可部署资金 1%` 且 `<= 该策略 sleeve 10%`;单 symbol / pair 不得超过 pilot capital 的 `50%`。任一 kill switch 触发,立即退回 `paper only`;问题修复前不得自动重启 live。
Rollback / re-entry所有已进入 live pilot 的候选。rollback 后至少再观察 `10` 个交易日或 `5` 个 closed trades(更慢系统取更长 calendar)后,才可重新申请 live review。rollback 后重新以新的 paper equity baseline 记账,不得用旧 live 高水位稀释本次失败。同一 candidate 若 `90` 天内两次触发 kill switch,自动降回 Step 3,等待人工重新立项,而不是自动二次尝试。rollback 期间真实资金 = `0`。这是硬规则,不因单次反弹自动取消。

artifact:reports/artifacts/alpha_closure_board/paper_live_promotion_gate_v1.csv

Small-live default seat queue(v1)

这张表只回答一个更容易被误读的问题:当前有没有哪条 lane 会因为自己属于 P3 / narrow paper、或者还有 open paper positions,就自动重回 tiny-live / Live Seat review。当前统一答案都是 no:默认 Live Seat 继续留空,除非 bot2 明确点名新的 promoted candidate;否则 Rank 2 / 17 / 29 只分别停在 closeout、manual refresh continuity、或 paper-only monitoring。

# seat / candidate 当前阶段 现在可进 tiny-live review? 默认 owner 当前硬阻断 什么条件下才配重开 证据备注
0Live Seat / defaultempty_by_defaultnobot2 explicit promotion only当前 board 明确要求 Live Seat 保持暂空;P3 身份、open paper positions 或 narrow-paper continuity 都不能自动占位。只有 bot2 明确点名新的 promoted candidate 时,才允许重新进入 tiny-live review。这张队列表达的是默认部署排序,而不是谁在研究上看起来更有希望。
1Rank 2 / rank2_combo_allnarrow_paper_candidate_closeout_onlynorun3 closeout / operator dry-run仍缺 whitelist-bound test/no-fill receipt chain。先拿到同一条 whitelist-bound replay 的真实 intent/ack/cancel(close) refs,再由 bot2 明确点名是否进入 shadow parity / tiny-live review。Rank 2 当前仍停在 paper_candidate_only / blocked。
2Rank 17 / rank17_pullback_ethsol_narrow_pilotp3_narrow_paper_continuity_onlynomanual_narrow_paper_runner当前 open paper positions 只属于 manual narrow-paper refresh continuity,不自动构成 tiny-live review need。manual narrow-paper refresh 新增 closed trade append 或 weekly-review row;若无 bot2 promoted candidate 点名,仍不自动进入 tiny-live review。当前仍有 2 个 open paper positions,但它们只属于 continuity;只有后续 refresh 真正追加 closed trade 或 weekly-review row 才需要 bot3 回补。
3Rank 29 / rank29_trendline_breakout_navigatorp3_monitoring_onlynomanual_narrow_paper_runner当前只保留 paper-only narrow pilot + middle-bucket red-watch;没有新的 append/review 行,也没有新的 live review promotion。manual narrow-paper refresh 新增 closed trade append 或 weekly-review row;若无 bot2 promoted candidate 点名,仍不自动进入 tiny-live review。strict-causal 复盘后确认旧口径受未来函数污染;Rank 29 baseline 已撤销,不再等待 append/review。
9Rank 29 / rank29_trendline_breakout_gate_shadownarrow_paper_pilot_rank29_low_trend_high_noise_w25_shadownomanual_narrow_paper_runnerRank 29 gate shadow 同步降为 P0 archived:仅保留作历史审计材料,不再视为有效 pilot 或 baseline 辅助线。manual narrow-paper refresh 新增 closed trade append 或 weekly-review row;若无 bot2 promoted candidate 点名,仍不自动进入 tiny-live review。gate shadow 仅保留作历史审计对照;Rank 29 全线不再进入 bot3 回补队列。
9Rank 32 / rank32b_slope_floor_continuationnarrow_paper_pilot_rank32b_full_scopenomanual_narrow_paper_runnerRank 32b 现属 P3 narrow paper;日常 continuity 已并入专属 narrow-paper refresh 链,不再默认占用 bot3 主资源。manual narrow-paper refresh 新增 closed trade append 或 weekly-review row;若无 bot2 promoted candidate 点名,仍不自动进入 tiny-live review。full-scope P3 已接入专属 narrow-paper refresh 链;只有后续 refresh 真正追加 closed trade 或 review row 时才需要 bot3 回补。

当前 hard verdict

Live Seat = empty by default。P3 身份、open paper positions、或 narrow-paper continuity 本身都不再自动占位。

为什么这张表有用

它把“默认空席”与“什么情况下才允许重新进 tiny-live review”写成 deployable queue,避免后续继续把 Rank 17 的 open positions 或 Rank 29 的 P3 身份误读成 bot3 / operator 现在就该接手的 live review。

当前唯一更接近动作的一条线

只有 Rank 2 还保留一个更贴近执行的 closeout blocker:同一条 whitelist-bound test/no-fill replay 的真实 receipt chain。即便这一步过了,也只是进入 shadow_parity,仍不是 tiny-live 放行。

artifact:reports/artifacts/alpha_closure_board/small_live_default_seat_queue_v1.csv

Live Seat re-entry trigger matrix(v1)

这张表不是再谈“谁研究上更好看”,而是把 什么事件才真的允许 Live Seat 从空席变成 review 中 压成统一 trigger matrix。它把当前 desk 最容易滑坡的边界写死:默认空席Rank 2 只有真实 replay 才能改状态Rank 17 / Rank 29 只有在 manual runner 真新增 append/review 行且 bot2 明确升格时,才配进入 P4 / tiny-live review

# seat / candidate 当前阶段 唯一 status-changing 事件 最小证据包 下一步只允许到哪 为什么现在还不行
0Live Seat / defaultempty_by_default只有 bot2 明确点名新的 promoted candidate,才允许从空席改成 review 中。seat verdict change + promoted candidate id + why-now reasontiny_live_review_candidate_only当前 desk 明确保持空席;P3 身份、open paper positions、或 manual continuity 都不自动改席位。
1Rank 2 / combo_allpaper_candidate_only / blocked同一条 whitelist-bound `test/no-fill` replay 真正留下 `intent + ack + cancel(close)` refs。receipt chain refs + whitelist scope freeze + capital=0 dry-run proofeligible_for_shadow_parity_review_only当前真正会改状态的只剩真实 replay;继续补 packet / starter rows 不再减少 blocker。
2Rank 17 / pullback recovery(ETH+SOL only)P3 narrow paper continuitymanual runner 真新增 `closed trade append` 或 `weekly-review row`,且 bot2 明确把它从 P3 升到 P4 review。new append/review row + ETH/SOL continuity proof + explicit bot2 promotionP4 tiny-live review candidate当前 open paper positions 只说明 narrow-paper continuity 在跑,不说明该自动重开 Live Seat。
3Rank 29 / trendline breakout navigatorP3 monitoring / paper-only red-watchmanual runner 真新增 `closed trade append` 或 `weekly-review row`,并且 middle-bucket red-watch 不再恶化,再由 bot2 明确升到 P4 review。new append/review row + red-watch not worse note + explicit bot2 promotionP4 tiny-live review candidate当前新增的只是 open continuity position,不是新的 review trigger;仍属于 paper-only narrow pilot。

当前 hard verdict

Live Seat 现在没有任何 auto-reentry 通道。没有 bot2 明确 promotion,就默认继续空席。

对 Rank 2 的止损含义

它把 “真正会改状态的只剩真实 whitelist-bound replay” 再压成一张 desk-level trigger matrix;所以后续没有 receipt refs 时,不该再把相邻 packet / wording 当进展。

对 Rank 17 / 29 的止滑含义

open paper positions 或 manual continuity 只是运行状态,不是 re-entry trigger。只有 新 append/review 行 + bot2 明确升格 才配进 P4 / tiny-live review。

artifact:reports/artifacts/alpha_closure_board/small_live_live_seat_reentry_trigger_matrix_v1.csv

Tiny-live status-change watchboard(v1)

这张表不是再增加一层 closeout 文档,而是把 未来到底要盯哪个外部事件、在哪个文件里出现、谁负责、出现后只允许推进到哪一步 压成统一 watchboard。它解决的是当前 Run 3 最容易继续空磨的问题:没有真实 status-changing 事件时,bot3 不该继续把 tiny-live 资源花在近义 packet 上;有事件时,也要知道该看哪条证据链

# seat / candidate 当前阶段 去哪里看 默认 owner 什么事件才会唤醒 tiny-live 最小证据 事件出现后只允许推进到哪 事件没出现时该怎么读
0Live Seat / defaultempty_by_defaultdocs/TODO.md top desk board + bot2 explicit promotion notebot2bot2 明确点名新的 promoted candidate,并写清 why-now reasonpromoted candidate id + seat verdict change + why-now reason才允许从 empty_by_default 切到 tiny_live_review_candidate_only继续空席;P3 continuity / open positions 不自动占位
1Rank 2 / combo_allpaper_candidate_only / blockedsmall_live_rank2_receipt_chain_log_template_v1.csv + small_live_rank2_receipt_chain_audit_v1.csvoperator / run3 closeout同一条 whitelist-bound test/no-fill replay 真回填 intent + ack + cancel(close) refsreal receipt chain refs + whitelist scope freeze + capital=0 dry-run proof只允许进入 eligible_for_shadow_parity_review / shadow_parity,不是 tiny-live pass不要再把 packet / starter row / wording 近义页当进展
2Rank 17 / pullback recovery(ETH+SOL only)P3 narrow paper continuitymanual_narrow_paper_bot3_reentry_queue.csv + manual_narrow_paper_status.csv + bot2 promotion notemanual_narrow_paper_runner + bot2manual runner 真新增 closed trade append / weekly-review row,且 bot2 明确升到 P4 reviewnew append/review row + ETH/SOL continuity proof + explicit bot2 promotion才配进入 P4 tiny-live review candidate继续按 cron-managed continuity 处理,不因 open positions 自动升级
3Rank 29 / trendline breakout navigatorP3 monitoring / paper-only red-watchmanual_narrow_paper_bot3_reentry_queue.csv + manual_narrow_paper_status.csv + bot2 promotion notemanual_narrow_paper_runner + bot2manual runner 真新增 closed trade append / weekly-review row,且 middle-bucket red-watch 不再恶化,再由 bot2 明确升到 P4 reviewnew append/review row + red-watch not worse note + explicit bot2 promotion才配进入 P4 tiny-live review candidate继续 paper-only monitoring;P3 身份本身不是 re-entry 通道

当前 hard verdict

现在 tiny-live 侧真正该看的不是更多近义文档,而是 status-changing 事件本身有没有落地。 没有事件,就继续 empty / blocked / continuity-only;有事件,也必须沿既定证据链推进,而不是跳步。

为什么这张表比继续补 packet 更值钱

因为它把 watch source + owner + wake event + next allowed stage 放到同一张表里。以后不管是 Rank 2 receipt refs、还是 Rank 17 / 29 的 append-review 行,都能先回答“到底该看哪里、看到什么才算数”。

对当前 desk 排班的含义

当 `EMA = waiting_not_due` 且 `Scout fast lane = temporarily exhausted` 时,Run 3 默认也不该无限长在同一条 doc-chain 上;更诚实的做法是守着这张 watchboard,等真正的 status-changing event 出现再接力。

artifact:reports/artifacts/alpha_closure_board/small_live_status_change_watchboard_v1.csv

Tiny-live trigger snapshot(live now)

watchboard 负责告诉后续轮次 该看哪里;这张快照则直接回答 现在有没有任何 tiny-live 相关事件已经落地。这里刻意把两件事拆开:P3 continuity 事件(例如 manual runner 刚追加了新的 closed trade / review 行)应该被如实标出来,但它 不等于 tiny-live re-entry;真正要从 `paper / continuity` 升到 `tiny-live review`,仍然必须额外满足 `bot2 promotion`(以及 Rank 2 的 receipt refs / Rank 29 的 red-watch 约束)。因此读这张表时,先看有没有新事件,再看它最多只允许推进到哪一步。

# seat / candidate 当前触发状态 最新观察证据 若触发也只允许推进到哪 当前硬读法 观察时间
0Live Seat / defaultblocked_nowdesk board should be re-read for latest live-seat verdicttiny_live_review_candidate_only继续 empty_by_default;只有 bot2 明确 promotion 才配重开 Live Seat2026-06-18 06:55 UTC
1Rank 2 / combo_allwaiting_real_receipt_chainreal_refs=0/3; missing=intent_ref, ack_ref, cancel_or_close_refeligible_for_shadow_parity_review / shadow_parity没有同一条 whitelist-bound replay 的 intent+ack+cancel(close) 真实 refs,就继续 paper_candidate_only / blocked2026-03-17 19:16:59 UTC
2Rank 17 / pullback recovery(ETH+SOL only)fresh_p3_append_landedmanual_refresh_run_at=2026-04-30T06:45:21Z; new_trades_appended=1; latest_closed_exit_ts_utc=2026-04-28T10:00:00Z; open_position=openP3 review / continuity writeback now;P4 tiny-live review candidate only after real append/review + bot2 promotion已出现新的 closed-trade append,但这仍只构成 P3 review / continuity 事件;没有 bot2 promotion,就不要把它误读成 tiny-live re-entry。2026-04-30T06:15:00Z
3Rank 29 / trendline breakout navigatorcontinuity_onlybot3_reentry_now=yes; new_trades_appended=0; open_position=none; latest_closed_exit_ts_utc=n/a; manual_refresh_new_closed_trades=8P3 review / continuity writeback now;P4 tiny-live review candidate only after real append/review + bot2 promotionstrict-causal 复盘后确认旧口径受未来函数污染;Rank 29 baseline 已撤销,不再等待 append/review。2026-04-30T06:15:00Z

当前 hard verdict

现在没有任何一条 tiny-live re-entry trigger 已经落地。 所以当前不是“快上 tiny-live 了”,而是继续保持默认空席、Rank 2 blocked、Rank 17 / 29 continuity-only。

为什么这张表比继续补 wording 更值钱

因为它把静态规则换成了 live-now snapshot:后续轮次可以直接先看 trigger 有没有真变化,而不是再猜“是不是已经快够了”。

对 desk 排班的含义

只要这张快照继续显示 trigger 没落地,Run 3 就不该再次围着同一条 tiny-live 文档链打转;应该继续等真实事件,或在允许时切回 Scout / Paper 主线。

artifact:reports/artifacts/alpha_closure_board/small_live_status_trigger_snapshot_v1.csv

Tiny-live evidence freshness board(v1)

这张表不再重复“谁该等谁该动”,而是补 tiny-live 侧一个更容易被忽略的真实 blocker:我们现在看的这些 watch source,到底够不够新。如果 desk board、Rank 2 audit 或 manual runner summary 已经变陈旧,那“继续空席 / 继续 blocked / 继续 continuity-only”的结论就可能只是读旧快照。

# 证据源 支撑哪条 lane 最新文件时间 大概年龄 freshness 为什么重要 当前 hard read
0docs/TODO.md top desk boardLive Seat default verdict / whole desk routing2026-05-12 09:04 UTC885.9hstale如果 desk board 太旧,tiny-live 空席或 scout exhaustion 的读法可能已经落后。board 新鲜时,才适合继续把 Live Seat 读成 empty_by_default;若转 stale,就该优先重读顶板后再解释 tiny-live。
1small_live_rank2_receipt_chain_audit_v1.csvRank 2 receipt-chain blocker2026-06-18 06:55 UTC0mfreshRank 2 只差真实 replay refs;若 audit 过旧,就不能太自信地说它仍卡在完全相同的 missing refs。audit 新鲜时,继续把 Rank 2 读成 waiting_real_receipt_chain;若 stale,优先补新 audit 或 replay,而不是继续写 doc-chain。
2manual_narrow_paper_status.csvRank 17 / Rank 29 P3 continuity snapshot2026-04-30 06:45 UTC1176.2hstaleP3 lane 最容易因为 status 表过旧而把 continuity / append 事件读错层级。status 新鲜时,新的 closed-trade append 才能被诚实压成 P3 continuity;若 stale,就别过度解读 continuity 没变化。
3manual_narrow_paper_last_run_summary.jsonmanual runner latest append / refresh evidence2026-04-30 06:45 UTC1176.2hstale这决定 tiny-live snapshot 看到的是刚跑完的 manual refresh,还是一张过时 summary。summary 新鲜时,可把 fresh append 限定为 P3 review 事件;若 stale,应该先等下一次 runner refresh,而不是把旧 snapshot 当现状。

这轮新增的价值

先校验证据是不是还新,再决定 tiny-live 该不该继续等待。 这能避免后续轮次把“没有 trigger”误读成真实静止,实际上只是监控源太旧。

对当前 desk 的意义

当 `EMA = waiting_not_due`、Scout 又暂时耗尽时,Run 3 最诚实的工作之一就是把 tiny-live 监控链做成可审计。freshness board 让后续知道:应该继续相信当前 snapshot,还是先等下一次 source refresh。

默认动作

若 source 仍 fresh,就继续遵守 now-action queue;若转 stale,优先补新 snapshot / refresh,而不是继续写 tiny-live 近义说明页。

artifact:reports/artifacts/alpha_closure_board/small_live_evidence_freshness_board_v1.csv

Tiny-live state resync guard(v1)

这张表把上轮暴露出来的一个真实执行坑压成了 deployable guardrail:当 manual runner source 已经更新时,closure-layer 的 snapshot / queue / 网页入口有没有跟上。它不是再写一遍 tiny-live 规则,而是回答:什么时候必须先 resync,什么时候才配继续相信当前 reader-facing 解释

# source file dependent artifact source 时间 artifact 时间 lag read guard state 为什么重要 当前 hard read required action
0manual_narrow_paper_status.csvsmall_live_status_trigger_snapshot_v1.csv2026-04-30 06:45 UTC2026-06-18 06:55 UTCsource_newer_by=-70571m; source_age=1176.2hsyncedstatus source 一旦更晚,Rank 17 / Rank 29 的 continuity / append 读法就可能已经变了。closure-layer 没落后于 source;可继续相信当前 now-action queue / snapshot。继续按现有 queue 行动;等下一次真实 source 更新后再检查。
1manual_narrow_paper_last_run_summary.jsonsmall_live_now_action_queue_v1.csv2026-04-30 06:45 UTC2026-06-18 06:55 UTCsource_newer_by=-70571m; source_age=1176.2hsyncedsummary source 更晚时,now-action queue 可能还在替上一个 refresh 说话。closure-layer 没落后于 source;可继续相信当前 now-action queue / snapshot。继续按现有 queue 行动;等下一次真实 source 更新后再检查。

这轮新增的价值

不是等到看错状态后才补 sync。 guard 表会直接告诉后续轮次:当前 closure-layer 是同步的,还是已经落后于 source。

对当前 desk 的意义

当 `EMA = waiting_not_due` 且 Scout 暂时 exhaustion 时,Run 3 最容易退化成“继续解释旧状态”。这个 guard 让 bot3 / operator 先回答:该先 resync,还是可以继续按 now-action queue 执行。

默认动作

若 guard state = `resync_due / resync_soon`,优先重跑 closure board builder;只有 guard state 回到 `synced`,才继续相信当前网页上的 tiny-live 解释。

artifact:reports/artifacts/alpha_closure_board/small_live_state_resync_guard_v1.csv

Rank 2 replay execution sync guard(v1)

这张 guard 不再回答“现在先做哪一腿”,而是专门回答:当前 reader-facing 的 Rank 2 replay bundle 还跟不跟得上它依赖的 preflight / rounding / receipt-audit / runsheet。如果上游 evidence 比 bundle 更新,就先重建 bundle;别拿旧页面继续解释 whitelist replay 顺序。

source source role dependent source mtime dependent mtime lag read guard hard read required action
small_live_rank2_replay_preflight_snapshot_v1.csvpreflight symbol / budget readsmall_live_rank2_next_replay_bundle_v1.csv2026-03-17 19:16 UTC2026-06-18 06:55 UTCdependent_not_older(133178m)synced当前可继续相信这张 replay bundle 的 symbol / budget / blocker 读法;不用再凭旧截图手动拼接。keep current bundle authoritative
small_live_rank2_replay_rounding_budget_ladder_v1.csvrounding ladder ordersmall_live_rank2_next_replay_bundle_v1.csv2026-03-17 19:30 UTC2026-06-18 06:55 UTCdependent_not_older(133165m)synced当前可继续相信这张 replay bundle 的 symbol / budget / blocker 读法;不用再凭旧截图手动拼接。keep current bundle authoritative
small_live_rank2_receipt_chain_audit_v1.csvreceipt-chain blocker readsmall_live_rank2_next_replay_bundle_v1.csv2026-06-18 06:55 UTC2026-06-18 06:55 UTCdependent_not_older(0s)synced当前可继续相信这张 replay bundle 的 symbol / budget / blocker 读法;不用再凭旧截图手动拼接。keep current bundle authoritative
small_live_rank2_replay_runsheet_v1.csvoperator replay stepssmall_live_rank2_next_replay_bundle_v1.csv2026-06-18 06:55 UTC2026-06-18 06:55 UTCdependent_not_older(0s)synced当前可继续相信这张 replay bundle 的 symbol / budget / blocker 读法;不用再凭旧截图手动拼接。keep current bundle authoritative

这轮新增的价值

不是再写一张 Rank 2 说明页。 而是明确告诉 future run:只要 bundle 落后于上游 evidence,先 resync,再谈 replay。

对 operator 的意义

它把“这张 replay bundle 还能不能信”压成显式 guard;operator 不用自己比对多个 CSV 的时间戳。

默认动作

如果这里全是 synced,就继续相信下面那张 next replay bundle;若不是,就先重建 alpha_closure_board

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_execution_sync_guard_v1.csv

Rank 2 replay ready gate(v1)

这张表不再把 Run 3 的信息拆在 queue、bundle、sync guard 三处看,而是把 Rank 2 当前到底能不能进入那 1 次 whitelist-bound test/no-fill replay、如果不能先该修哪层同步、如果能做也只允许推进到哪一步 压成单行 gate。它解决的是当前 operator 最容易犯的错:拿着已经不再同步的 replay bundle,或者在 tiny-live state 已落后时,继续按旧读法执行。

candidate 当前 ready state 当前 bundle leg 当前 owner execution sync tiny-live state sync 现在唯一允许动作 还在等什么 硬阻断 hard read observed at
Rank 2 / combo_allready_for_one_test_no_fill_replaySOLUSDToperator / run3 closeoutsyncedsynced只做 1 次 whitelist-bound test/no-fill replay,并回填 intent+ack+cancel(close) 真实 refs;若坚持 50U 且要把 rounding 损耗预算压到 <=25bps,当前先做 SOL 更诚实。同一条 replay 的 real receipt chain refs没有三段真实 refs,就继续 paper_candidate_only / blocked,不得跳去 shadow parity当前所有已落地 guard 都表明:可以继续把 Rank 2 的下一步读成 1 次 whitelist-bound test/no-fill replay;成功也只推进到 shadow parity review eligible。2026-03-17 19:16:59 UTC

为什么这张 gate 有用

它把 queue + bundle + guards 合成一条 operator-ready 判断:当前若两层 guard 都同步,才允许继续把下一步读成 1 次 SOL 优先的 test/no-fill replay;任何一层不同步,都先回到 resync。

当前 hard verdict

只要这里还是 ready_for_one_test_no_fill_replay,成功也最多推进到 eligible_for_shadow_parity_review;它不是 tiny-live 放行卡。

默认动作

先看这张单行 gate:若任一 sync 不是 synced,先做 resync;只有双 sync 都绿时,才继续按下面的 replay bundle 读 operator next step。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_replay_ready_gate_v1.csv

Tiny-live now-action queue(v1)

watchboard 解决“去哪里看”,snapshot 解决“刚才有没有新事件”;这张队列再往前压一步,直接回答 现在谁该等、谁该由谁接、下一步唯一允许动作是什么。它刻意不发明新的流程,只把当前已落地的硬边界压成 operator / bot2 / manual runner 都能立刻执行的 `now-action` 队列,避免后续轮次继续围着 tiny-live 文档链猜“那现在到底该做什么”。

# seat / candidate 当前触发状态 当前 owner 现在唯一允许动作 还在等什么 硬阻断 为什么这是最诚实下一步 观察时间
0Live Seat / defaultblocked_nowbot2保持空席;只等待 bot2 明确 promotion notepromoted candidate id + why-now reason + seat verdict changeP3 continuity / open paper positions / manual append 都不能自动占 Live Seat当前 desk 顶板明确要求 Live Seat 默认空席;最诚实动作就是别偷跑。2026-06-18 06:55 UTC
1Rank 2 / combo_allwaiting_real_receipt_chainoperator / run3 closeout只做 1 次 whitelist-bound test/no-fill replay,并回填 intent+ack+cancel(close) 真实 refs;若坚持 50U 且要把 rounding 损耗预算压到 <=25bps,当前先做 SOL 更诚实。同一条 replay 的 real receipt chain refs没有三段真实 refs,就继续 paper_candidate_only / blocked,不得跳去 shadow parity它当前唯一会改状态的动作就是真 replay;若坚持 50U test/no-fill 且把 rounding 损耗预算压到 <=25bps,当前更诚实的 replay 顺序应读成 SOL → ETH → BTC;其中 SOL 已过线,ETH 更适合先把样例抬到 >= 100U,BTC 继续只保留最后备选(约 >= 300U 才接近同档口径)。2026-03-17 19:16:59 UTC
2Rank 17 / pullback recovery(ETH+SOL only)fresh_p3_append_landedmanual_narrow_paper_runner + bot2只做 P3 review / continuity writeback;若无 bot2 promotion,不得升成 tiny-live reviewnew append/review row + ETH/SOL continuity proof + explicit bot2 promotionfresh append 也只代表 P3 continuity 事件,不代表 Live Seat 重开当前最容易犯的错是把新 append 误读成 tiny-live trigger;这张队列把层级钉死。2026-04-30T06:15:00Z
3Rank 29 / trendline breakout navigatorcontinuity_onlymanual_narrow_paper_runner + bot2继续 monitoring / continuity;等真实 append/review 行 + bot2 promotionnew append/review row + red-watch not worse note + explicit bot2 promotion没有新的 append/review 行或 bot2 promotion,就不得推进到 P4 / tiny-live review当前没有真正的 status-changing event;继续补 tiny-live 同义文档不会减少 blocker。2026-04-30T06:15:00Z

当前 hard verdict

当前 tiny-live 侧最多只配做三类动作:保持 Live Seat 空席、催成 Rank 2 的唯一一次真实 receipt-chain replay、以及把 Rank 17 / 29 的新事件如实限制在 `P3 review / continuity`。除此之外的近义 tiny-live 文档扩写,当前都不算真实进展。

为什么这张表比再补一张 snapshot 更值钱

因为它不再只回答“有没有变化”,而是把 owner + next allowed action now + 仍缺的证据 + 硬阻断 放在一张表里。后续轮次可以直接拿它当操作队列,而不是先读三四张表再自己拼结论。

对 desk 排班的含义

只要这张队列没有出现新的 `next allowed action now` 级别变化,Run 3 就不该继续围绕 tiny-live 做同义补文档;更应该等待真实事件,或在允许时切回 Scout / Paper 主线。

artifact:reports/artifacts/alpha_closure_board/small_live_now_action_queue_v1.csv

Tiny-live plumbing board(v1)

这张表不回答“该不该上 live”,而是回答:一旦 promotion gate 放行,真正执行前要先怎么做 routing dry-run、live ledger、mismatch guard 与 kill switch。它的作用是把 Step 5 从一句抽象 policy 再压成 operator 可执行的检查栏位,避免 future run 临时拼接。

阶段 账户 / venue 模式 资金规则 routing 规则 ledger 必记字段 mismatch guard kill switch
Routing dry-run / symbol whitelist lock`0` 真资金;先在目标 venue 的 dry-run / test / no-fill 路径验证 symbol mapping、最小下单单位与时钟同步。真实资金 = `0`;只允许 candidate spec 已批准的 symbol / pair 进入路由白名单。同一条信号必须先产出 `intent -> route_ack -> cancel/close_ack` 三段回执;缺任一段就不允许进入 tiny-live。每次 dry-run 都写进同一张 live ledger:至少记录 `candidate / symbol / side / intended_qty / route_ts / ack_ts / cancel_ts / venue_mode`。若 paper intent 与路由 payload 的 symbol / side / qty / timestamp 任一不一致,或时钟漂移 > `60s`,直接阻断。连续 `1` 次 route_ack 缺失、qty 被 venue 强制改写、或 symbol mapping 漂移,即刻停在 dry-run,不升级。
Paper-live shadow parity继续 `0` 真资金;paper 与 live-shadow 并行,不发真实成交。真实资金 = `0`;仅允许读取 paper candidate 的目标 notional 与 cap snapshot,不做真钱发送。每条 paper 信号都生成一条 live-shadow payload,检查 price source、qty rounding、venue precision、pair whitelist 是否一致。同一行 ledger 必须同时留 `paper_ref_id / live_shadow_ref_id / intended_notional / cap_pct_total / cap_pct_sleeve / shadow_price`。若 live-shadow 与 paper 同步路径偏离 > `1 bar` 或同笔预估成本偏离 > `25bps`,标记 `parity_red`。连续 `2` 次 `parity_red`、或出现 data gap / precision mismatch 未解释,继续留在 paper,不升级。
Tiny-live pilot start只适用于已通过 paper review 的候选;paper 与 live 并行记账,live 只做最小 pilot。沿用项目级硬上限:单候选 `<= 总可部署资金 1%` 且 `<= sleeve 10%`;单 symbol / pair `<= pilot capital 50%`。只允许白名单 symbol;每笔 live 下单前先检查 `remaining_cap / min_notional / venue_precision / cooldown`。每笔 live 必须与 paper row 成对:新增 `live_order_id / fill_price / fill_qty / slippage_bps / remaining_cap / mismatch_status`。若 live 与 paper 同步路径偏离 > `5pp`、或出现未解释滑点 > `50bps`,视为 execution mismatch。任一触发即停:`drawdown breach`、`capital breach`、`live vs paper mismatch > 5pp`、`连续两次 red review`、`数据/执行异常`。
Rollback / re-entrykill switch 后立即回到 `paper only`;live 资金归零。真实资金 = `0`;未完成复盘前不得自动恢复 live。先冻结白名单与路由开关;修复后也必须先重走 dry-run -> shadow parity。rollback 行必须记录 `trigger_reason / trigger_ts / exposure_zeroed_ts / reopen_earliest_ts / operator_note`。rollback 后至少再观察 `10` 个交易日或 `5` 个 closed trades;不得用旧 live 高水位稀释本次失败。同一 candidate 若 `90` 天内两次触发 kill switch,自动降回 Step 3,等待人工重新立项。

当前读法:EMA 还要先把同一张 paper ledger 连续跑起来;breakout 已退回 `bench`,所以这张表现在主要是在给 future challenger 与 tiny-live operator 流程预铺执行栏位,而不是继续默认替 breakout 预留升级通道。

artifact:reports/artifacts/alpha_closure_board/small_live_plumbing_v1.csv

Rank 2 paper-candidate closeout snapshot(v1)

这张快照不回答“Rank 2 能不能直接上 tiny-live”,而是把当前最关键的一句实话挂到 alpha closure board:它已经是窄范围 paper candidate,但 closeout 仍卡在 `paper_candidate_only / blocked`,唯一允许动作仍是一次 whitelist-bound `test/no-fill` receipt-chain replay。换句话说,这张表是把最近几轮散落在 scout 页面里的 closeout 规则,压回当前更核心的部署读板。

# 研究口径 venue symbol 当前 scope 当前唯一允许动作 operator 限定 什么时候才算 closeout 通过 硬阻断 当前 blocker
1BTC-USDBTCUSDTpaper_candidate_onlyonly one real test/no-fill receipt-chain replay on BTC/ETH/SOL whitelist, else keep parked at paper_candidate_onlyone whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0all three refs are real and candidate scope stays unchanged with capital=0any scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_onlyidle_gap_watch=58.6d; time_pocket_review=early_bucket_-1.34%_0of3_positive; route_receipt_chain_missing; promotion_boundary=paper_candidate_only
2ETH-USDETHUSDTpaper_candidate_onlyonly one real test/no-fill receipt-chain replay on BTC/ETH/SOL whitelist, else keep parked at paper_candidate_onlyone whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0all three refs are real and candidate scope stays unchanged with capital=0any scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_onlyidle_gap_watch=58.6d; time_pocket_review=early_bucket_-1.34%_0of3_positive; route_receipt_chain_missing; promotion_boundary=paper_candidate_only
3SOL-USDSOLUSDTpaper_candidate_onlyonly one real test/no-fill receipt-chain replay on BTC/ETH/SOL whitelist, else keep parked at paper_candidate_onlyone whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0all three refs are real and candidate scope stays unchanged with capital=0any scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_onlyidle_gap_watch=58.6d; time_pocket_review=early_bucket_-1.34%_0of3_positive; route_receipt_chain_missing; promotion_boundary=paper_candidate_only

当前状态

Rank 2 = narrow paper candidate,但当前 closeout_state 仍是 dry_run_only,并且 hard verdict 仍是:没有真实 receipt chain 之前,只能继续 paper_candidate_only / blocked

什么才算通过

不是模板、不是单段 ack,也不是换 scope 后的“差不多同一条 replay”。只有同一条 whitelist-bound replay 上同时拿到真实 intent_ref + ack_ref + cancel_or_close_ref,且 scope 不漂移、capital=0,才允许收口到 eligible_for_shadow_parity_review

这张表的作用

把当前 desk 最容易被误读的一点钉死:Rank 2 已经不该继续扩 scout 研究,但也绝对还没到 tiny-live ready。现在缺的不是更多漂亮解释,而是一条真实 dry-run receipt chain。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_closeout_snapshot_v1.csv

Rank 2 receipt-chain audit snapshot(v1)

这张表是对 small_live_rank2_receipt_chain_log_template_v1.csv 的诚实审计,不再只说“需要三段 refs”,而是逐个白名单符号直接回答:现在到底落了几段真实 refs、还缺哪几段、因此下一步只能排到哪个队列。当前模板里 3 个 leg 都还是占位 refs,所以这张 audit 的价值是把“blocked”从一句原则话压成逐行可复核的 operator 证据。

# 研究口径 venue symbol 当前链路状态 真实 refs 已落地 还缺哪些真实 refs scope guard capital guard 当前 verdict 当前 next queue
P1SOL-USDSOLUSDTpending_real_replay0/3intent_ref, ack_ref, cancel_or_close_refmust_match_packet_scopemust_remain_0keep paper_candidate_only / blockedrouting_dry_run_replay
P2ETH-USDETHUSDTpending_real_replay0/3intent_ref, ack_ref, cancel_or_close_refmust_match_packet_scopemust_remain_0keep paper_candidate_only / blockedrouting_dry_run_replay
P3BTC-USDBTCUSDTpending_real_replay0/3intent_ref, ack_ref, cancel_or_close_refmust_match_packet_scopemust_remain_0keep paper_candidate_only / blockedrouting_dry_run_replay

现在的硬结论

当前 3 条 whitelist leg 都还是 0/3 真实 refs 落地,因此 next queue 只能继续是 routing_dry_run_replay,不能偷切到 shadow_parity

为什么这比近义说明页更有用

因为以后只要 operator 把真实 intent_ref / ack_ref / cancel_or_close_ref 回填进同一张 log template,再重建一次,这张 audit 就会自动显示到底是继续 blocked,还是终于够资格进入 eligible_for_shadow_parity_review

边界

这依然不是 tiny-live pass,更不是 venue execution 本身;它只是把 Rank 2 receipt-chain blocker 变成一张能跟着真实 refs 自动收口的审计表。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_receipt_chain_audit_v1.csv

Rank 2 single-replay runsheet(v1)

这张表不再继续解释为什么 blocked,而是直接回答 operator 下一步该怎么排:如果现在只允许做一次真实 whitelist-bound test/no-fill replay,优先顺序应该怎么走、每个 leg 要抓哪三段 refs、过了以后才允许进入什么 gate。它把前几轮已经散落的 ticket / packet / log template / completion gate 压成一张更接近开工包的读板。

优先级 研究口径 venue symbol venue mode 为什么排这个顺序 允许动作 必须抓到的 refs 当前 log stub 通过后才允许进入的 gate 硬阻断
P1SOL-USDSOLUSDTtest/no-fill保留 50U 也可;若想把预算压到 <=10bps,样例名义金额抬到约 100U 更稳。one whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0intent->ack->cancel/close receipt chain on test/no-fill for at least one whitelisted symbolrank2-solusdt-test-receipt-001eligible_for_shadow_parity_review only; still not tiny-liveany scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_only
P2ETH-USDETHUSDTtest/no-fill若 operator 坚持 ETH 首腿,优先把 replay 样例从 50U 提到 >=100U;若坚持 50U,则应让位给 SOL。one whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0intent->ack->cancel/close receipt chain on test/no-fill for at least one whitelisted symbolrank2-ethusdt-test-receipt-001eligible_for_shadow_parity_review only; still not tiny-liveany scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_only
P3BTC-USDBTCUSDTtest/no-fill保守做法是继续放最后;若真要做 BTC replay,样例 notional 至少提到约 150U(<=50bps)/ 300U(<=25bps)。one whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0intent->ack->cancel/close receipt chain on test/no-fill for at least one whitelisted symbolrank2-btcusdt-test-receipt-001eligible_for_shadow_parity_review only; still not tiny-liveany scope drift / capital > 0 / missing ack or cancel / new symbol routing => keep blocked at paper_candidate_only

当前推荐顺序

SOL → ETH → BTC。若坚持 50U test/no-fill 且把 rounding 损耗预算压到 <=25bps,当前更诚实的 replay 顺序应读成 SOL → ETH → BTC;其中 SOL 已过线,ETH 更适合先把样例抬到 >= 100U,BTC 继续只保留最后备选(约 >= 300U 才接近同档口径)。

这张表解决什么问题

把“下一步只能做一次真实 replay”再往前压半步:不是继续补近义说明,而是把 operator 真正开工时的腿顺序、log stub 与 pass gate 放到同一张表里,减少 future run 临时拼接。

仍然没变的边界

这依然不是 tiny-live 放行。即使首腿 replay 成功,也只是第一次拿到 eligible_for_shadow_parity_review,仍不是 live ready。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_replay_runsheet_v1.csv

Rank 2 replay closeout matrix(v1)

这张表继续只做 runsheet 的紧邻下一步:如果某一条 whitelist-bound replay 真的执行了,应该开什么 review ticket、成功时怎么关单、失败时又该如何写回同一条审计链。它的价值不是新增一层规则,而是把 一次真实 replay 的 green / blocked 两种收口写成 operator 能直接照抄的 closeout matrix。

优先级 研究口径 venue symbol 当前 log stub 建议打开的 review ticket 若 replay 成功 成功时 writeback 若 replay 失败 失败时 writeback 成功后 next queue 失败后 next queue
P1SOL-USDSOLUSDTrank2-solusdt-test-receipt-001SL-DRYRUN-RANK2-SOLUSDT-TEST-RECEIPT-001dry_run_pass -> eligible_for_shadow_parity_review onlyclose only as dry_run_pass -> eligible_for_shadow_parity_review if same candidate scope is preserved and full receipt chain landskeep dry_run_only / blockedotherwise keep dry_run_only / blocked and route back to routing_dry_run_replayshadow_parityrouting_dry_run_replay
P2ETH-USDETHUSDTrank2-ethusdt-test-receipt-001SL-DRYRUN-RANK2-ETHUSDT-TEST-RECEIPT-001dry_run_pass -> eligible_for_shadow_parity_review onlyclose only as dry_run_pass -> eligible_for_shadow_parity_review if same candidate scope is preserved and full receipt chain landskeep dry_run_only / blockedotherwise keep dry_run_only / blocked and route back to routing_dry_run_replayshadow_parityrouting_dry_run_replay
P3BTC-USDBTCUSDTrank2-btcusdt-test-receipt-001SL-DRYRUN-RANK2-BTCUSDT-TEST-RECEIPT-001dry_run_pass -> eligible_for_shadow_parity_review onlyclose only as dry_run_pass -> eligible_for_shadow_parity_review if same candidate scope is preserved and full receipt chain landskeep dry_run_only / blockedotherwise keep dry_run_only / blocked and route back to routing_dry_run_replayshadow_parityrouting_dry_run_replay

它补的是哪一格

runsheet 解决的是先做哪条腿;这张 matrix 解决的是:腿真的跑完之后,operator 该把它关成什么状态。这样 future run 不会只知道要抓 receipt refs,却不知道通过/失败后该怎样落 review registry。

当前硬结论

即使 replay 成功,green closeout 也只能收口到 eligible_for_shadow_parity_review,默认 next queue 只是 shadow_parity;它依然不是 tiny-live 放行。

为什么这是 deployable artifact

因为它把真实 operator replay 后的 closeout / writeback 路径直接写成表格,减少后续轮次在 ticket、registry、next queue 之间临时拼接。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_replay_closeout_matrix_v1.csv

Rank 2 shadow-parity launch packet(v1)

这张表只补 replay 成功后的下一步:不是再解释为什么 blocked,也不是偷写成 tiny-live ready,而是把 一次 whitelist-bound replay 真通过后,operator 应该如何打开第一张 shadow parity review ticket、绑定哪条 paper_ref / live_shadow_ref、以及第一条 green row 至少要写回哪些字段 压成可直接照抄的启动包。

优先级 研究口径 venue symbol 触发条件 建议打开的 parity ticket paper_ref stub live_shadow_ref stub 第一条 shadow row 必须写回 硬边界
P1SOL-USDSOLUSDTeligible_for_shadow_parity_review only; still not tiny-liveSL-PARITY-paper-rank2-solusdt-next-001-<yyyymmddhhmm>paper-rank2-solusdt-next-001shadow-rank2-solusdt-next-001paper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=green仍只允许 shadow_parity;若缺 paper_ref / qty rounding / cost snapshot / whitelist / clock 对齐,继续 blocked,绝不进入 tiny-live。
P2ETH-USDETHUSDTeligible_for_shadow_parity_review only; still not tiny-liveSL-PARITY-paper-rank2-ethusdt-next-001-<yyyymmddhhmm>paper-rank2-ethusdt-next-001shadow-rank2-ethusdt-next-001paper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=green仍只允许 shadow_parity;若缺 paper_ref / qty rounding / cost snapshot / whitelist / clock 对齐,继续 blocked,绝不进入 tiny-live。
P3BTC-USDBTCUSDTeligible_for_shadow_parity_review only; still not tiny-liveSL-PARITY-paper-rank2-btcusdt-next-001-<yyyymmddhhmm>paper-rank2-btcusdt-next-001shadow-rank2-btcusdt-next-001paper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=green仍只允许 shadow_parity;若缺 paper_ref / qty rounding / cost snapshot / whitelist / clock 对齐,继续 blocked,绝不进入 tiny-live。

它补的是哪一格

前一张 closeout matrix 解决的是 dry-run replay 如何关单;这张 launch packet 解决的是:dry-run 真关成 green 以后,第一张 shadow parity ticket 应该怎么开。这样 future run 不会从 eligible_for_shadow_parity_review 直接跳成口头‘可以继续’。

当前推荐顺序

SOL → ETH → BTC 是当前更诚实的 launch 顺序;若坚持 50U test/no-fill 且把 rounding 损耗预算压到 <=25bps,当前更诚实的 replay 顺序应读成 SOL → ETH → BTC;其中 SOL 已过线,ETH 更适合先把样例抬到 >= 100U,BTC 继续只保留最后备选(约 >= 300U 才接近同档口径)。 这次只是把这三个腿各自的 SL-PARITY-*paper_reflive_shadow_ref 启动 stub 一次写清,减少 future run 临时命名漂移。

硬结论

即使 dry-run replay 成功,下一步也仍然只是 shadow_parity;只要缺 paper_ref、qty rounding / cost snapshot、白名单或时钟对齐,仍继续 blocked,绝不允许偷写成 tiny-live ready。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_shadow_parity_launch_packet_v1.csv

Rank 2 shadow-parity starter rows(v1)

这张表只补 launch packet 的紧邻下一格:一旦 Rank 2 的那条 whitelist-bound replay 真关成 green,第一条 shadow-parity 绿行应该怎么落。它不是新规则,而是把 ticket stub / paper_ref / live_shadow_ref / stage_status / operator_action / 最低 writeback 预先压成 starter rows,避免 future run 到了真要写第一条 green row 时再临时拼字段。

优先级 研究口径 venue symbol parity ticket stub paper_ref stub live_shadow_ref stub stage mismatch_status operator_action 最小 writeback closeout 前仍待补字段 硬边界
P1SOL-USDSOLUSDTSL-PARITY-paper-rank2-solusdt-next-001-<yyyymmddhhmm>paper-rank2-solusdt-next-001shadow-rank2-solusdt-next-001shadow_paritygreen_when_first_row_landscontinue_shadow_reviewpaper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=greenrounded_qty=<fill_after_qty_rounding>; cost_estimate_bps=<fill_after_shadow_snapshot>若 rounded_qty / cost / whitelist / clock 任一未过关,就不要用这张 starter row 冒充 green closeout;必须回到 parity_red / freeze_review。
P2ETH-USDETHUSDTSL-PARITY-paper-rank2-ethusdt-next-001-<yyyymmddhhmm>paper-rank2-ethusdt-next-001shadow-rank2-ethusdt-next-001shadow_paritygreen_when_first_row_landscontinue_shadow_reviewpaper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=greenrounded_qty=<fill_after_qty_rounding>; cost_estimate_bps=<fill_after_shadow_snapshot>若 rounded_qty / cost / whitelist / clock 任一未过关,就不要用这张 starter row 冒充 green closeout;必须回到 parity_red / freeze_review。
P3BTC-USDBTCUSDTSL-PARITY-paper-rank2-btcusdt-next-001-<yyyymmddhhmm>paper-rank2-btcusdt-next-001shadow-rank2-btcusdt-next-001shadow_paritygreen_when_first_row_landscontinue_shadow_reviewpaper_ref_id + live_shadow_ref_id + rounded_qty + cost_estimate_bps + mismatch_status=greenrounded_qty=<fill_after_qty_rounding>; cost_estimate_bps=<fill_after_shadow_snapshot>若 rounded_qty / cost / whitelist / clock 任一未过关,就不要用这张 starter row 冒充 green closeout;必须回到 parity_red / freeze_review。

它补的是哪一格

launch packet 解决的是第一张 parity ticket 怎么开;这张 starter rows 解决的是:开完以后,第一条 green parity row 至少该长什么样。这样 future run 不会只知道 stub 名称,却还得现场临时拼 row 字段。

为什么它算 deployable artifact

因为它已经把 SOL → ETH → BTC 三条腿的 `ticket / paper_ref / live_shadow_ref / operator_action / minimum_writeback` 固定成可直接照抄的 starter rows;当前排序口径同样遵循:若坚持 50U test/no-fill 且把 rounding 损耗预算压到 <=25bps,当前更诚实的 replay 顺序应读成 SOL → ETH → BTC;其中 SOL 已过线,ETH 更适合先把样例抬到 >= 100U,BTC 继续只保留最后备选(约 >= 300U 才接近同档口径)。 后面真的拿到 replay green closeout 时,只需要把 `rounded_qty` 与 `cost_estimate_bps` 这些真实字段补进去。

仍然没变的硬结论

这仍然不是 tiny-live 放行。只要 `rounded_qty / cost / whitelist / clock` 任一没过,就不能用 starter row 冒充 green parity closeout;默认必须回到 parity_red / freeze_review

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_shadow_parity_starter_rows_v1.csv

Rank 2 next status-changing gate(v1)

这张表专门给最近几轮的 Rank 2 doc-chain 设一个止损闸门:现在到底什么动作还会真的改变状态,什么动作已经不该再默认算进展。它不是再发明新流程,而是把当前 desk 最需要钉死的一句实话 reader-facing 化:launch packet 与 starter row 已经够了;接下来若没有真实 whitelist-bound replay 的 receipt refs,状态就不会动。

# gate 当前状态 什么才算 status change 什么不再算 为什么 今天已经就绪的证据 一旦做完会进哪条队列
1当前唯一会改变状态的动作Rank 2 is now a narrow paper candidate with closeout artifacts ready, but it remains blocked at paper_candidate_only until a real dry-run receipt chain is completed without scope drift.only one real test/no-fill receipt-chain replay on BTC/ETH/SOL whitelist, else keep parked at paper_candidate_only再补 launch packet / starter row / review wording / operator packet 近义页,都不算 status change。Rank 2 现在缺的不是字段模板,而是同一条 whitelist-bound replay 的真实 intent/ack/cancel(close) refs;没有真实 refs,state 不会从 blocked 变成 eligible_for_shadow_parity_review。launch_packet_rows=3; starter_rows=3; 第一条 shadow_parity green row 所需 paper_ref/live_shadow_ref/qty/cost 占位字段已齐。eligible_for_shadow_parity_review -> shadow_parity only
2为什么当前默认不再继续补 doc-chaindry_run_only只允许 operator 真跑一次 whitelist-bound replay,并把真实 refs 回填进同一 receipt-chain log / audit。新增 closeout copy、重复写 no-default-append 边界、或继续预写更多 green sample rows。starter rows 已把 replay 成功后的第一条 shadow_parity green row 最小字段压成可照抄模板;继续写更多相邻文档不会再减少真实 blocker。small_live_rank2_shadow_parity_launch_packet_v1.csv + small_live_rank2_shadow_parity_starter_rows_v1.csv若 replay 失败 -> routing_dry_run_replay;若 replay 成功 -> shadow_parity review

当前 hard verdict

继续补 Rank 2 近义 packet / starter / wording,默认已不再减少 blocker。 真正会改状态的只剩一次真实 whitelist-bound test/no-fill replay。

为什么这轮要加这张表

因为 Rank 2 这条线已经连续几轮主要新增 launch packet / starter row / closeout copy。与其继续磨同类 artifact,不如把“文档链到此为止”的闸门写清楚,逼后续只在真实 replay 或新 intake 之间做选择。

对默认排班的影响

除非 operator 真回填 receipt refs,否则 bot3 默认不该再把 Run 3 主资源继续花在 Rank 2 相邻文档;更诚实的下一步要么是真 replay,要么切回新的 paper / repo Scout intake。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_next_status_change_gate_v1.csv

Rank 2 next replay bundle(v1)

这张表把当前 Run 3 真正唯一允许的一腿压成单行执行包:如果现在只做 1 次不会动用真钱的 whitelist-bound test/no-fill replay,到底先做哪条腿、样例金额怎么读、必须抓哪三段 refs、成功后又只允许推进到哪一步。它不再要求 operator 自己在 runsheet、closeout matrix、shadow parity packet 之间来回拼接。

优先级 研究口径 venue symbol 为什么先做这条腿 样例名义金额(USDT) 当前预算读法 唯一允许动作 必须抓到的 refs 当前 log stub 若通过 若通过后建议开的 parity ticket 硬阻断
P1SOL-USDSOLUSDT保留 50U 也可;若想把预算压到 <=10bps,样例名义金额抬到约 100U 更稳。40pass_25bpsone whitelist-bound test/no-fill replay only; cancel_after_ack; capital stays 0intent->ack->cancel/close receipt chain on test/no-fill for at least one whitelisted symbolrank2-solusdt-test-receipt-001dry_run_pass -> eligible_for_shadow_parity_review onlySL-PARITY-paper-rank2-solusdt-next-001-<yyyymmddhhmm>missing any ref / scope drift / capital > 0 / missing cancel-close

当前 hard verdict

当前最诚实的第一腿是 SOL-USD / SOLUSDT。 通过也只意味着 eligible_for_shadow_parity_review;仍不是 tiny-live 放行。

它补的是哪一格

next status-changing gate 已经把“只有真实 replay 才会改状态”写死;这张 bundle 再往前半步,把 那次 replay 该怎样开工 压成一行 deployable artifact。

为什么它比继续磨说明页更值钱

因为它直接回答现在只许做什么、不许做什么,并把 log stub / refs / parity ticket stub 放进同一行,减少 future run 继续长文档链却不减 blocker。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_next_replay_bundle_v1.csv

Rank 2 replay preflight snapshot(v1)

这张表只给上面的 replay bundle 做一个最小 numeric sanity check:同样按当前 venue precision / step-size 读,白名单三条腿在样例金额下各自会损失多少 rounding bps、因此当前更该先碰哪条腿。它不是新的 admission gate,只是把“为什么是这条腿先上”从口头判断压成可复核快照。

优先级 研究口径 venue symbol 样例名义金额(USDT) rounded notional(USDT) rounding loss(bps) 当前优先级 verdict 最小名义金额检查 一句话硬读法
P1ETH-USDETHUSDT50.0049.82091335.8174keep_current_orderpassstepSize=0.0001,50 USDT 测试单 rounding 损耗极小,且 minNotional 余量充足;继续保留首腿更诚实。
P2SOL-USDSOLUSDT50.0049.9791204.1760keep_current_orderpassstepSize=0.01,50 USDT 仍能轻松过最小名义金额;若 ETH 当下 route 条件不顺,SOL 仍是干净替补。
P3BTC-USDBTCUSDT50.0049.361176127.7649keep_last_reserve_legpass同样能过 50 USDT test/no-fill,但单位价格高、展示级别更容易让 operator 误读为“金额很小却价格很大”;继续放最后更稳。

当前数字读法

在当前 50U 示例下,SOL 的 rounding 损耗最干净;ETH 也可做,但若要更稳地压到同一档预算,名义金额抬高会更诚实;BTC 继续只保留最后备选。

它解决什么误读

避免 future run 只因为白名单顺序或主观偏好就先碰高 rounding-loss 的腿。当前选择顺序必须能被最小 precision / notional 快照解释,而不是只靠文字偏好。

边界

这依然不是 venue replay 本身;就算 preflight 最优,也必须等真实 intent -> ack -> cancel/close 三段 refs 落地后才会改状态。

artifact:reports/artifacts/alpha_closure_board/small_live_rank2_replay_preflight_snapshot_v1.csv

Tiny-live live-ledger template(v1)

这张表继续只做 Run 3 的一个紧邻子点:把 live ledger 从“要记哪些字段”的口头提醒,压成 future dry-run / shadow / tiny-live / rollback 都能复用的最小 schema。它不替代交易逻辑,只负责把 paper_ref、route_ack、数量精度、滑点、mismatch、rollback 这些 execution 字段锁进同一张账本。

# 字段 必须出现在哪些阶段 填写规则 缺失时的红旗 为什么重要
1candidate_id / deployment_scopedry-run / shadow parity / tiny-live / rollback只允许引用已批准 candidate spec 里的候选与 scope;例如 `EMA-paper-primary`、`breakout-live-challenger`,不得临时手写新 scope。账本行若无法映射回已批准候选,或同一策略被写成多个随意别名,直接阻断。先把 live row 和研究 admission scope 锁死,避免 paper/live 混账。
2stage_statusall rows只能填 `dry_run` / `shadow_parity` / `tiny_live` / `rollback` 四类之一;状态切换必须按顺序前进。若出现跳过 `dry_run`/`shadow_parity` 直接写 `tiny_live`,或 kill switch 后未落 `rollback` 行,直接判流程失真。把 operator 流程写进账本,而不是只靠口头记忆当前跑到哪一步。
3paper_ref_id / signal_bar_utcshadow parity / tiny-live / rollback每笔 shadow/live 都必须能追溯到对应的 paper 信号行与触发 bar;dry-run 可先留空 paper_ref,但必须记录 signal bar。若 live 行找不到对应 paper row,或 bar 时间与 paper 偏离 > `1 bar` 仍未解释,直接标 `mismatch_red`。这是 `paper vs live` 同步审计的主键;没有它就无法判断 execution mismatch。
4research_symbol / venue_symbol / sidedry-run / shadow parity / tiny-live同时记录研究口径 symbol 与 venue 实际路由 symbol,并写明方向;只允许白名单 pair。symbol mapping 含糊、pair 不在白名单、或 venue_symbol 与 research_symbol 未对齐时,直接阻断发送。crypto live 最容易在 symbol mapping 和合约命名上出错,这列是第一道防呆。
5route_intent_ts_utc / route_ack_ts_utc / ack_latency_msdry-run / shadow parity / tiny-live每次路由都要成对记录 intent 与 ack 时间,并回填延迟;没有 ack 就不能假装‘已发出’。缺 `route_ack_ts_utc`、或时钟漂移 > `60s`、或 ack latency 异常却无说明,直接停在当前阶段。把 routing dry-run 从一句‘测过了’变成可审计回执。
6intended_notional_usd / cap_pct_total / cap_pct_sleeve / remaining_cap_pctshadow parity / tiny-live按当前项目级 cap 规则同步记录目标 notional、占总资金比例、占 sleeve 比例与剩余容量。任何一列缺失、或超过 `<=总可部署资金1%` / `<=sleeve10%` / `单 pair <= pilot 50%`,直接触发 capital breach。让 capital cap 不再只是 policy,而是每笔都能核对的硬字段。
7intended_qty / rounded_qty / min_notional_checkshadow parity / tiny-live先写策略想下的数量,再写 venue rounding 后数量,并记录是否通过最小下单单位 / 最小名义金额检查。若 rounding 后数量偏离 intended 太多、或 min_notional 未通过却仍下发,直接停机。很多 crypto live mismatch 不是方向错,而是数量被交易所精度规则 silently 改写。
8shadow_price / fill_price / fill_qtyshadow parity / tiny-liveshadow 阶段至少留 `shadow_price`;tiny-live 阶段必须补 `fill_price / fill_qty`。有 route ack 却没有 shadow/fill 价格,或 fill_qty 与 rounded_qty 明显不符却没解释,直接标红。没有价格与成交量,就无法算后续偏差、滑点与剩余容量。
9cost_estimate_bps / slippage_bpsshadow parity / tiny-liveshadow 阶段记录预估成本;tiny-live 阶段补真实滑点。若 live 出现未解释滑点 > `50bps`,或 shadow 预估与 live 实际偏离持续 > `25bps`,直接触发 mismatch review。这列把 ‘crypto live mismatch’ 从感觉不对变成量化阈值。
10mismatch_status / mismatch_reasonshadow parity / tiny-live / rollback统一写 `ok` / `yellow` / `red`,并在非 `ok` 时补一句原因,如 `clock_drift`、`precision_gap`、`slippage_spike`。若出现 `parity_red` 或 `execution_mismatch` 却没有原因与后续动作,说明账本不可审计。这是把 mismatch guard 真接进 operator 流程的核心状态列。
11operator_action / live_order_idshadow parity / tiny-live / rollback记录本次动作是 `hold` / `send` / `cancel` / `rollback`;若进入 tiny-live,还必须有 `live_order_id`。若账本写了 tiny-live 但没有订单引用,或标了 rollback 却没执行动作,直接视为流程断链。让审计能直接回答:这笔信号最后到底有没有真的被路由/撤单/回滚。
12trigger_reason / reopen_earliest_ts / operator_noterollback rows一旦 kill switch 触发,必须补这三列:为什么触发、最早何时可重开、操作员备注。若 rollback 行缺原因或重开时间,说明 future run 可能会无约束重启 live。把 rollback / re-entry 也纳入同一张 ledger,避免失败被静默覆盖。

当前作用不是“准备立刻上 live”,而是把 `crypto live mismatch` 继续往前压成可审计 ledger schema。未来若先跑 `routing dry-run` 或 `paper-live shadow parity`,默认也应该沿这张模板落行,而不是临时想起再补字段。

artifact:reports/artifacts/alpha_closure_board/small_live_ledger_template_v1.csv

Routing dry-run checklist(v1)

这张表继续沿同一个 Run 3 主线,只做 routing dry-run 这一刀:把“先做一次 dry-run 再说”压成 operator 真能逐项勾的 checklist。它不假装已经接通交易所,只负责把 候选白名单、symbol/precision 映射、intent→ack→cancel 回执链、时钟对齐、数量舍入与资金上限 这些最容易 silently 出错的步骤先锁死。

# 步骤 必须先拿到什么 什么才算通过 失败时为什么直接阻断 必须落到哪些 ledger 字段
1白名单候选冻结candidate spec / deployment_scope / 允许交易的 research_symbol 清单只允许已批准 candidate 与白名单 pair 进入 dry-run;未批准 symbol 不生成路由 payload。candidate_id、deployment_scope 或 symbol whitelist 任一缺失 / 临时手写,直接停在 dry-run 前。candidate_id / deployment_scope、research_symbol / venue_symbol / side
2venue symbol / precision 映射快照venue_symbol、lot size、tick size、min_notional、price source timestamp研究 symbol 与 venue symbol 一一映射,数量精度 / 最小名义金额规则已落快照。symbol mapping 含糊、precision 缺失、或 min_notional 无法提前校验,直接阻断发送。research_symbol / venue_symbol / side、intended_qty / rounded_qty / min_notional_check
3intent → ack → cancel/close 回执链route_intent_ts_utc、route_ack_ts_utc、cancel_ts 或 close_ack_ts、venue_mode=test/no-fill同一条 dry-run 必须完整留下 intent、ack、cancel/close 三段回执;无真实成交。任一回执缺失、或 venue_mode 不是 dry-run / test / no-fill,直接停机,不进入下一阶段。route_intent_ts_utc / route_ack_ts_utc / ack_latency_ms、operator_action / live_order_id
4时钟 / bar 对齐审计signal_bar_utc、paper_ref_id(若已有)、venue clock、price source clockpaper intent 与路由 payload 的 bar / timestamp 对齐,clock drift <= 60s。bar 对齐偏差 > 1 bar,或 clock drift > 60s 未解释,直接标记 mismatch_red。paper_ref_id / signal_bar_utc、mismatch_status / mismatch_reason
5数量舍入 / 资金占用预检intended_notional_usd、cap_pct_total、cap_pct_sleeve、remaining_cap_pct、rounded_qtydry-run 前先验证 rounding 后数量仍在资金上限内,且通过 min_notional 检查。rounded_qty 偏离 intended 太多、capital cap 超限、或 min_notional 未过仍试图路由,直接阻断。intended_notional_usd / cap_pct_total / cap_pct_sleeve / remaining_cap_pct、intended_qty / rounded_qty / min_notional_check
6同账本留痕 + 红旗动作同一张 live ledger row、mismatch_status、operator_action、operator_note每次 dry-run 都在同一张 live ledger 留痕,并明确写出 `hold` / `cancel` 等 operator 动作。dry-run 结果只出现在终端 / 日志、没有落 ledger,或红旗没有对应动作,视为流程不可审计。mismatch_status / mismatch_reason、operator_action / live_order_id、trigger_reason / reopen_earliest_ts / operator_note

当前读法:这还不是 `paper-live shadow parity`,更不是 tiny-live 放行;它只是把 Step 5 最前面的 `routing dry-run` 从一句抽象提醒压成可审计清单,避免 future run 一上 venue 就先踩 symbol mapping / precision / receipt chain 这些基础坑。

artifact:reports/artifacts/alpha_closure_board/small_live_routing_dry_run_checklist_v1.csv

Routing dry-run sample row(v1)

这张表不是再写一份 checklist,而是把 一条合格的 dry-run 回执到底该怎么落到账本 固定成样例。它回答的不是“能不能 tiny-live”,而是:当 routing dry-run 通过 symbol/precision/cap 检查,且完整留下 `intent -> ack -> cancel` 三段回执后,第一条 green dry-run row 应该长什么样

row_kind candidate stage signal_bar_utc research_symbol venue_symbol side venue_mode route_intent_ts route_ack_ts cancel_ts ack_latency_ms notional_usd intended_qty rounded_qty mismatch_status operator_action operator_note
routing_dry_run_green_examplefuture-crypto-live-challengerdry_run2026-03-16 07:32:00 UTCETHUSDTETH-USDT-SWAPshorttest/no-fill2026-03-16 07:38:12 UTC2026-03-16 07:38:13 UTC2026-03-16 07:38:17 UTC88050.000.02500.0250greencancel_after_ack示例 row:同一条 dry-run 已完整留下 intent->ack->cancel 回执,symbol/precision/cap 检查通过,但 venue_mode 仍是 test/no-fill,不代表 tiny-live 已放行。

当前读法:这张 sample row 仍然只停在 `test/no-fill`,不是 tiny-live 放行,也不是任何真实成交。它的价值是把最前面的 dry-run 留痕方式固定下来,避免 future run 只在日志里说“回执链没问题”,却没有同账本样例。

artifact:reports/artifacts/alpha_closure_board/small_live_routing_dry_run_sample_row_v1.csv

Small-live operator reconciliation sequence(v1)

这张表不是新增一套 live 规则,而是把 dry-run green row → shadow parity checklist → parity_red 分支 → reopen gate → green resume row 串成一条 operator 真能顺着走的对账顺序。它回答的是:future run 真开始对账时,先看哪张 artifact、通过后产出什么、失败后又该停在哪

# operator 阶段 复用哪张 artifact 这一步到底核对什么 通过后应产出什么 失败后必须停在哪 同账本锚点
1dry-run green row 先落账small_live_routing_dry_run_sample_row_v1.csv先确认 route_intent / route_ack / cancel 三段回执完整,且 venue_mode 仍是 test/no-fill,不把 dry-run 误读成 live。保留一条 green dry_run row,并把 candidate 维持在 dry_run_only。若 ack 缺失、cancel 缺失、或 symbol/precision/cap 未过,则停在 routing review,不进入 shadow parity。signal_bar_utc / route_intent_ts_utc / route_ack_ts_utc / cancel_ts_utc / operator_action
2paper_ref 与 shadow payload 对齐paper_live_shadow_parity_checklist_v1.csv把同一条 paper 信号绑定到唯一 live-shadow payload,检查 symbol / side / qty rounding / cost snapshot / clock drift。允许生成一条新的 shadow parity row,并继续做成本/数量 parity 审计。任一 payload、clock、qty、cost 失真就记 parity_red;不得跳过 shadow 审计直接讨论 tiny-live。paper_ref_id / live_shadow_ref_id / rounded_qty / cost_estimate_bps / mismatch_status
3parity_red 时按硬分支处理small_live_parity_red_action_ladder_v1.csv + small_live_shadow_parity_sample_row_v1.csv看到 red row 后,必须按 mismatch_reason 选择 hold / cancel_or_no_send / escalate / freeze review,而不是口头说‘先等等看’。red row 留下清楚 trigger_reason、operator_action 与 reopen_earliest_ts,形成可审计冻结状态。若 red 只出现在日志里、没有账本动作,视为流程失真;candidate 保持 paper only。mismatch_reason / operator_action / trigger_reason / reopen_earliest_ts / operator_note
4reopen gate 逐条过关small_live_reopen_gate_checklist_v1.csv只有 cooldown 到点、root-cause 被单独关单、并重走一次最小 routing receipt 后,才配讨论重开。允许新开一条 green shadow parity row,恢复 shadow review。任一条件未满足都继续 freeze review;reopen_earliest_ts 不是自动赦免。operator_note / route_intent_ts_utc / route_ack_ts_utc / mismatch_status
5green resume row 接回同一审计链small_live_reopen_resume_sample_row_v1.csv恢复行必须显式引用 prior_red_ref_id,并把新的 paper_ref / shadow_ref / qty / cost / operator_action 一次落齐。账本形成 red -> reopen -> green 的闭环,candidate 才算恢复到 resume_shadow_review。若恢复行与 prior red 脱节,或只写‘已恢复’不写引用,视为审计链断裂,不能推进 tiny-live review。prior_red_ref_id / paper_ref_id / live_shadow_ref_id / cost_estimate_bps / operator_action

当前读法:它依然不是 tiny-live 放行卡;价值在于把已有的多个 v1 artifact 压成同一条执行顺序,避免 future run 明明已经有 checklist 和 sample row,却不知道先看哪张、失败后该回退到哪一步。

artifact:reports/artifacts/alpha_closure_board/small_live_operator_reconciliation_sequence_v1.csv

Small-live operator handoff packet(v1)

这张表继续沿同一条 Run 3 执行链,只补一个更贴近开工的切面:当 future run 真要开始一次 venue / shadow review 时,operator 该一口气打开哪几张 artifact、目标写回哪条 row、什么情况下必须立刻停手。它不是替代 sequence,而是把 sequence 压成更像“启动包”的场景化 bundle。

# 当前 review 场景 先打开哪几张 artifact 这次 handoff 的目标 预期写回 什么时候必须停
1准备启动一次新的 venue / route reviewsmall_live_routing_dry_run_checklist_v1.csv + small_live_routing_dry_run_sample_row_v1.csv + small_live_ledger_template_v1.csv先确认 symbol whitelist、precision、intent->ack->cancel 回执链与 live ledger 主键字段都齐,再决定这次 review 只能停在 dry_run 还是能继续往 shadow parity 走。至少留下 1 条 green dry_run row;如果 ack / cancel 缺失或时钟漂移超阈值,就继续 `dry_run_only`,不得伪装成 shadow 通过。只要 route receipt chain 不完整、candidate/scope 对不上,或 ledger 主键字段没写齐,就不允许打开下一张 shadow parity 卡。
2dry-run 已干净,准备核对 paper vs live-shadowpaper_live_shadow_parity_checklist_v1.csv + small_live_green_shadow_parity_sample_row_v1.csv把同一条 paper 信号映射成唯一 live-shadow payload,并一次核对 qty rounding、cap、price snapshot 与 cost snapshot 是否都在允许带内。若全部过关,就写 1 条 `mismatch_status=green` 的 shadow parity row,并把 operator_action 固定成 `continue_shadow_review`。只要 rounded_qty / cost / clock / whitelist 任一不合格,就不能把这次检查描述成‘影子侧基本没问题’。
3shadow parity 出现 red,需要冻结并等待重开small_live_parity_red_action_ladder_v1.csv + small_live_shadow_parity_sample_row_v1.csv + small_live_reopen_gate_checklist_v1.csv把 red 变成清楚的 `hold / escalate / freeze review` 动作,并同时写清 reopen 最早时点与必须补齐的 root-cause 证据。至少留下 1 条 parity_red row,包含 `mismatch_reason / trigger_reason / reopen_earliest_ts / operator_note`;后续是否能重开,由 reopen gate 单独决定。red 不能只留在日志里;若没有 ledger writeback 或没有明确 reopen 条件,就默认继续 `paper only`。
4red cause 已关闭,准备恢复 shadow reviewsmall_live_reopen_gate_checklist_v1.csv + small_live_reopen_resume_sample_row_v1.csv + small_live_operator_reconciliation_sequence_v1.csv确认 cooldown 到点、root-cause 已单独关单、并重新拿到干净 route receipt 后,再把恢复动作接回同一条审计链。写 1 条带 `prior_red_ref_id` 的 green resume row,把 candidate 恢复到 `resume_shadow_review`,而不是开一条与历史断开的新记录。如果 prior_red_ref_id 缺失、route receipt 没重走、或新的 qty/cost parity 还没重新过关,就继续 freeze review。

当前读法:它依旧不是 tiny-live 放行;价值在于把多张已存在的 v1 卡片压成 4 个最常见 review 场景的开工包,减少 future operator 在多张 CSV / 页面之间来回找,结果却没写出同账本 row 的摩擦。

artifact:reports/artifacts/alpha_closure_board/small_live_operator_handoff_packet_v1.csv

Small-live review ticket template(v1)

这张表继续沿 handoff bundle 再往前补一格,但不重新发明规则:它只回答一个更贴近 future venue review 的问题——当 operator 真要开一张 dry-run / parity / reopen 恢复 review 时,这张 ticket 至少要带哪些引用、成功时怎么关单、失败时必须怎么收口。这样 future run 不会只在日志里说“这轮看了哪几张卡”,却没有一张可复用的 review ticket 模板把 artifact 与 writeback 锚在一起。

# 当前 review 场景 ticket stub 必须绑定的引用 开工 bundle 成功时怎么关单 失败时怎么收口
1新的 venue / route dry-run reviewSL-DRYRUN-<candidate>-<yyyymmddhhmm>candidate_id / deployment_scope、symbol whitelist snapshot、small_live_ledger_template 主键字段、dry-run intent->ack->cancel receipt refsmall_live_routing_dry_run_checklist_v1.csv + small_live_routing_dry_run_sample_row_v1.csv + small_live_operator_handoff_packet_v1.csv至少绑定 1 条 green dry_run row ref,并把结论写成 `dry_run_pass -> eligible_for_shadow_parity_review`。若 ack/cancel 缺失、clock drift 超阈值或 candidate/scope 对不上,就把 ticket 关成 `dry_run_only / blocked`,不得口头推进到 shadow parity。
2paper vs live-shadow parity reviewSL-PARITY-<paper_ref>-<yyyymmddhhmm>paper_ref_id、live_shadow_ref_id、shadow price snapshot、qty rounding / cap snapshot、paper_live_shadow_parity_checklist refpaper_live_shadow_parity_checklist_v1.csv + small_live_green_shadow_parity_sample_row_v1.csv + small_live_operator_handoff_packet_v1.csv绑定 1 条 `mismatch_status=green` 的 shadow parity row,并把结论写成 `continue_shadow_review`。若 rounded_qty / cost / clock / whitelist 任一不合格,就必须关成 `parity_red / freeze_review`,并留下 red row ref。
3parity_red 冻结 / reopen 准备 reviewSL-RED-<candidate>-<yyyymmddhhmm>prior parity_red row、trigger_reason、reopen_earliest_ts、root-cause evidence ref、small_live_reopen_gate_checklist refsmall_live_parity_red_action_ladder_v1.csv + small_live_shadow_parity_sample_row_v1.csv + small_live_reopen_gate_checklist_v1.csv把 ticket 关成 `freeze_review_with_reopen_gate`,并显式留下 reopen gate 所需的补件列表。若 red 只有日志没有 ledger writeback,或 reopen 条件没写清,就继续标 `paper_only / blocked`,不得默认可重开。
4red cause 已关闭,恢复 shadow reviewSL-RESUME-<prior_red_ref>-<yyyymmddhhmm>prior_red_ref_id、reopen gate pass ref、最新 dry-run receipt ref、green resume row / operator reconciliation sequence refsmall_live_reopen_gate_checklist_v1.csv + small_live_reopen_resume_sample_row_v1.csv + small_live_operator_reconciliation_sequence_v1.csv绑定 1 条带 `prior_red_ref_id` 的 green resume row,并把结论写成 `resume_shadow_review`。若 prior_red_ref_id 缺失、route receipt 没重走、或新的 qty/cost parity 仍未过关,就继续关成 `freeze_review`。

当前读法:它仍然不是 tiny-live 放行卡;价值在于把 handoff packet 从“知道先开哪几张 artifact”推进到“知道这次 review ticket 至少要绑哪些 ref、结束时必须留哪条 closeout”。

artifact:reports/artifacts/alpha_closure_board/small_live_review_ticket_template_v1.csv

Small-live review writeback matrix(v1)

这张表是 review ticket template 的紧邻下一格:它不再回答“ticket 该带什么”,而是把每种 closeout 结果至少要写回哪些字段、必须留在同一条 review registry / ledger 上的状态、以及下一步该进哪条队列压成固定矩阵。这样 future operator 关单时不只是写一句“绿了/红了”,而是能把 `ticket -> row ref -> next queue` 这条链闭合。

# closeout 场景 ticket 状态 最少要写回什么 必须留在同账本/同 registry 的状态 下一步进入哪条队列 什么时候不能口头过关
1dry_run_pass -> eligible_for_shadow_parity_reviewclosed_greenticket_id、candidate_id / deployment_scope、dry_run_row_ref、route receipt ref、ack_latency_ms、close_reason=dry_run_pass在同一 review registry / ledger row 上补 `review_stage=dry_run`、`closeout_state=eligible_for_shadow_parity_review`、`next_queue=shadow_parity`。排入 shadow parity review;不得因为 ticket 关绿就直接跳 tiny-live。若缺 dry_run row ref 或 route receipt 链不完整,只能回退 `dry_run_only / blocked`。
2shadow parity green -> continue_shadow_reviewclosed_greenticket_id、paper_ref_id、live_shadow_ref_id、green parity row ref、shadow_price / rounded_qty / cost_estimate_bps 快照、close_reason=parity_green同账本写 `review_stage=shadow_parity`、`mismatch_status=green`、`closeout_state=continue_shadow_review`,并保留 paper/live-shadow 主键配对。继续 shadow review 或等待 paper review 达到 small-live eligible;默认不直接切真钱。若 paper/live_shadow 主键断裂、qty/cost 快照缺失,不能关绿。
3shadow parity red -> freeze_review_with_reopen_gateclosed_redticket_id、parity_red row ref、trigger_reason、reopen_earliest_ts、root_cause_owner、close_reason=parity_red同账本写 `mismatch_status=red`、`operator_action=freeze_review`、`closeout_state=freeze_review_with_reopen_gate`,并绑定 prior red row。进入 root-cause / reopen gate 审计;停止新的 shadow parity 尝试。如果 red 只有日志描述、却没有 red row / reopen ts writeback,就不能算真正 freeze。
4freeze review 完成 -> reopen_readyclosed_yellowticket_id、prior_red_ref_id、reopen_gate_pass_ref、missing_docs_checklist、close_reason=reopen_gate_pass同账本写 `review_stage=reopen_gate`、`closeout_state=reopen_ready`、`next_queue=routing_dry_run_replay`,但 candidate 仍保持非 live。必须先重走 routing dry-run,再回 shadow parity;不允许从 freeze 直接跳到 resume green。若 prior_red_ref_id / reopen_gate_pass_ref 任一缺失,只能继续 freeze_review。
5resume green -> resume_shadow_reviewclosed_greenticket_id、prior_red_ref_id、new dry_run receipt ref、green resume row ref、close_reason=resume_shadow_review同账本写 `review_stage=resume`、`mismatch_status=green`、`closeout_state=resume_shadow_review`,并把历史 red 链接到新的 green resume row。恢复 shadow review 连续性,等待后续 paper/live promotion review。若没重走 receipt、或新的 qty/cost parity 仍未过关,就继续 freeze,不得口头宣布恢复。

当前读法:它依旧不是 tiny-live 放行卡;价值在于把 `review ticket -> closeout -> writeback -> next queue` 固定成同一条可审计链,减少 future venue/shadow review 只留下日志、不留下 registry / ledger 状态切换的摩擦。

artifact:reports/artifacts/alpha_closure_board/small_live_review_writeback_matrix_v1.csv

Small-live review registry template(v1)

这张表继续沿 `closeout / registry / writeback` 这条 Run 3 fallback 执行链,只补一格最贴近 future venue review 落表的模板:一张 review ticket 真关掉以后,同一条 registry row 至少该长什么样、哪些状态字段必须一起落、历史 red/ref continuity 要怎样接回去。它不是新规则,而是把 writeback matrix 里提到的“同一条 registry / ledger 状态切换”具体压成可复用的 row schema。

# registry 行类型 最小主键 / 引用 必须同时落下的状态字段 证据 / 附件引用 什么情况下才配进下一队列 什么时候必须继续阻断
1dry_run review rowticket_id、candidate_id / deployment_scope、review_stage=dry_run、dry_run_row_ref、route_receipt_ref、opened_ts / closed_tsticket_status=closed_green 或 blocked、closeout_state=eligible_for_shadow_parity_review / dry_run_only、next_queue=shadow_parity / routing_dry_run_replaysymbol whitelist snapshot、intent->ack->cancel receipt chain、ack_latency_ms、operator_note只有 dry_run row ref 与 receipt chain 都齐,且 candidate/scope 未漂移时,才配排入 shadow_parity。若只写了一句 dry-run 通过、却没有 row ref / receipt ref / next_queue,就不能算 registry closeout 完成。
2shadow parity green rowticket_id、paper_ref_id、live_shadow_ref_id、review_stage=shadow_parity、green_parity_row_ref、candidate_id、closed_tsticket_status=closed_green、mismatch_status=green、closeout_state=continue_shadow_review、next_queue=shadow_monitor / paper_review_gateshadow_price、rounded_qty、cost_estimate_bps、cap snapshot、paper/live-shadow 主键配对 refpaper/live-shadow 主键、qty rounding 与成本快照都齐,才配继续 shadow review 或等待 promotion review。若 green closeout 没绑定 parity row ref 或 paper/live-shadow 主键断裂,就不能口头写成‘影子侧已对齐’。
3parity_red freeze rowticket_id、parity_red_row_ref、prior_green_or_ticket_ref、review_stage=shadow_parity、trigger_reason、reopen_earliest_ts、root_cause_ownerticket_status=closed_red、mismatch_status=red、operator_action=freeze_review、closeout_state=freeze_review_with_reopen_gate、next_queue=root_cause_auditmismatch_reason、root-cause evidence placeholder、operator_note、freeze_ts只有 red 已显式写成 freeze review,且 reopen 最早时点与 root-cause owner 都齐,才算真正进入 root-cause / reopen 队列。如果 red 只留在日志里、registry 没有 freeze row,就不能假装已经完成停机与收口。
4reopen gate rowticket_id、prior_red_ref_id、review_stage=reopen_gate、reopen_gate_pass_ref、missing_docs_checklist、closed_tsticket_status=closed_yellow、closeout_state=reopen_ready、next_queue=routing_dry_run_replay、candidate_live_state=still_blockedreopen gate checklist ref、补件清单、operator_note、cooldown_done_ts只有 prior_red_ref_id 与 reopen_gate_pass_ref 都能追溯,才配回到 routing dry-run replay。若 reopen_ready 没绑定 prior_red_ref_id,就会把恢复动作与历史红单断开,必须继续 freeze_review。
5resume green rowticket_id、prior_red_ref_id、review_stage=resume、green_resume_row_ref、new_dry_run_receipt_ref、closed_tsticket_status=closed_green、mismatch_status=green、closeout_state=resume_shadow_review、next_queue=shadow_monitornew dry-run receipt、qty/cost parity refresh、operator_reconciliation_sequence ref、operator_note只有 receipt replay 与新的 qty/cost parity 都重新过关,才配把历史 red 链接回绿色连续链。若缺 prior_red_ref_id 或新的 receipt / parity ref,就不能把 resume 写成 green continuity。

当前读法:它仍然不是 tiny-live 放行卡;价值在于把 `ticket -> registry row -> next queue` 固定成可以直接复用的记录模板,避免 future run 明明已经有 closeout 结论,却仍把状态切换散落在日志、邮件与多张 CSV 之间。

artifact:reports/artifacts/alpha_closure_board/small_live_review_registry_template_v1.csv

Paper-live shadow parity checklist(v1)

这张表是 Run 3 当前最紧邻的下一刀:把 paper vs live-shadow 的同步审计,压成真正可复用的 checklist。它不回答“现在能不能上 tiny-live”,只回答:当 paper 信号被映射成 live-shadow payload 时,哪些 symbol / qty / cost / clock / ledger 红旗必须先被锁死,否则一律停在 parity review

# 步骤 必须先拿到什么 什么才算通过 失败时为什么直接阻断 必须落到哪些 ledger 字段
1paper signal 配对冻结candidate_id / deployment_scope、paper_ref_id、signal_bar_utc、已批准的 paper candidate row每条 live-shadow 检查都必须先绑定到唯一一条 paper row;bar 时间与 deployment scope 一致,不能临时换候选或换口径。找不到 paper_ref、同一 live-shadow 对应多个 paper row、或 scope 与 candidate spec 不一致,直接停在 shadow parity 前。candidate_id / deployment_scope、paper_ref_id / signal_bar_utc
2payload parity 快照research_symbol、venue_symbol、side、intended_notional_usd、intended_qty、venue precision / pair whitelistlive-shadow payload 必须逐项复用 paper 的 symbol / side / scope,并通过 venue precision 与白名单检查;不允许靠人工临时修 payload。symbol / side / whitelist / precision 任一不一致,或 payload 需要手工改写后才能发出,直接记 `parity_red`。research_symbol / venue_symbol / side、intended_notional_usd、intended_qty / rounded_qty / min_notional_check
3shadow price + 成本快照shadow_price、price_source_ts_utc、cost_estimate_bps、cap_pct_total / cap_pct_sleeve在 hypothetic send 前就锁定 shadow 价格、价格源时间戳与预估成本;价格源与 paper 所见市场状态不得错位超过 `1 bar`。缺 `shadow_price`、price source 过旧、或成本预估根本没落表,说明还不能审计 live vs paper 偏差,直接阻断。shadow_price、cost_estimate_bps / slippage_bps、cap_pct_total / cap_pct_sleeve / remaining_cap_pct
4数量舍入 / 资金占用 parityintended_qty、rounded_qty、min_notional_check、remaining_cap_pct、pilot cap snapshotvenue rounding 后的数量仍应落在同一笔 paper 想表达的资金范围内,并继续满足 min_notional 与 pilot cap 约束。rounded_qty 把 notional 拉出资金上限、min_notional 未过、或 venue rounding 让 exposure 明显偏离 paper 意图,直接记 `parity_red`。intended_qty / rounded_qty / min_notional_check、intended_notional_usd / cap_pct_total / cap_pct_sleeve / remaining_cap_pct
5paper vs live-shadow 时钟 / 路径对齐paper signal ts、shadow payload ts、route/shadow ack ts、price source clock、paper path snapshotpaper 与 live-shadow 必须对齐到同一 decision bar;clock drift <= `60s`,且 shadow 预估成本相对 paper 偏差 <= `25bps`。bar 偏离 > `1 bar`、clock drift > `60s`、或同笔成本差持续 > `25bps` 仍无解释,直接标 `parity_red` 并停止升级。route_intent_ts_utc / route_ack_ts_utc / ack_latency_ms、mismatch_status / mismatch_reason
6同账本留双引用 + 红旗动作paper_ref_id、live_shadow_ref_id、mismatch_status、operator_action、operator_note同一行 ledger 同时留下 paper 与 live-shadow 引用,并明确写出 `hold` / `cancel` / `escalate` 等 operator 动作。shadow parity 结果只留在终端/日志,没有回写 ledger,或出现 `parity_red` 却没有动作与备注,视为流程不可审计。paper_ref_id / live_shadow_ref_id、mismatch_status / mismatch_reason、operator_action / live_order_id、trigger_reason / reopen_earliest_ts / operator_note

当前读法:这仍然不是 tiny-live 放行卡,而是先把 `paper_ref -> live_shadow_ref` 这条同步审计链写死。只有 shadow parity 自己先可审计,后面才谈得上 live mismatch、kill switch 与 rollback 是否靠谱。

artifact:reports/artifacts/alpha_closure_board/paper_live_shadow_parity_checklist_v1.csv

Parity-red action ladder(v1)

这张表继续沿同一个 Run 3 子链,只补一件事:一旦 shadow parity 真出现 `parity_red`,operator 当场到底该怎么做。目标不是写更多原则,而是把 `hold / cancel / escalate / freeze review` 的默认动作锁死,避免 future run 看到红旗后又靠临场解释把它淡化。

# 触发红旗 默认 operator 动作 route / shadow 如何处理 必须怎么回写 ledger 什么条件下才允许重试
1payload / whitelist / precision mismatch立即 `hold` 当前 shadow parity,并把 route 尝试停在 `cancel_or_no_send`;不得手工改 payload 后硬发。若 route 还没出 ack,就不继续发送;若已出 dry-run ack,则补一条 cancel/close 回执并冻结这条 parity row。写 `mismatch_status=red`、`mismatch_reason=payload_or_precision_gap`、`operator_action=hold`,并补 `paper_ref_id / live_shadow_ref_id / operator_note`。只有等 symbol mapping、precision snapshot 与白名单重新核对一致后,才允许重开下一条 shadow row。
2clock drift > 60s / stale price source / bar misalignment直接 `hold`;当前 row 不升级成 tiny-live,也不把这次检查包装成‘只是小延迟’。停止继续沿旧 price source 走下去;重新抓 price snapshot、校对 paper signal bar,再决定是否新开 shadow row。写 `mismatch_reason=clock_drift_or_stale_price`,并记录 `route_intent_ts_utc / route_ack_ts_utc / ack_latency_ms / signal_bar_utc`。只有在 paper 与 shadow 回到同一 decision bar,且 drift 回到 `<=60s`,才允许重试。
3rounded_qty 把 notional 拉出 cap / min_notional 未过 / venue rounding 失真保持 `paper only`,本次 shadow row 记 `hold`;不得临时手改数量凑单。不继续发送新 payload;先回到 sizing / cap review,确认 intended_qty 与 venue rounding 重新一致。写 `mismatch_reason=qty_rounding_or_cap_breach`,并回填 `intended_qty / rounded_qty / min_notional_check / remaining_cap_pct`。只有在 rounded_qty 重新落回 cap 规则内,且 min_notional 检查通过时,才允许开下一条 parity row。
4shadow 成本偏差 > 25bps / 成本快照缺失 / 无法解释的高滑点预估记 `escalate` 到 parity review;当前 row 不进入 tiny-live 资格讨论。停止沿当前成本假设继续;先补 price / fee / slippage 证据,再决定是否重跑 shadow parity。写 `mismatch_reason=cost_gap_or_missing_snapshot`,并保留 `shadow_price / cost_estimate_bps / operator_note`。只有成本快照齐全,且 paper vs shadow 成本差回到 `<=25bps` 或有明确解释,才允许继续。
5连续 `2` 次 parity_red / 未解释 data gap / 未解释 precision mismatch冻结当前 candidate 的 small-live promotion review,明确退回 `paper only`;必要时标记 `rollback_pre_live`。暂停新的 shadow parity 尝试,直到问题被单独审计关闭;不允许靠更多重试稀释红旗。写 `mismatch_status=red`、`operator_action=rollback_or_freeze_review`、`trigger_reason=repeat_parity_red`、`reopen_earliest_ts`。只有完成 root-cause 审计,并重新走 `routing dry-run -> shadow parity`,才允许恢复。

当前读法:`parity_red` 不是一句状态标签,而是会直接改变 operator 动作顺序的硬分支。尤其连续两次 `parity_red` 时,默认动作应是冻结当前 candidate 的 small-live review,而不是靠更多重试稀释问题。

artifact:reports/artifacts/alpha_closure_board/small_live_parity_red_action_ladder_v1.csv

Shadow parity sample row(v1)

这张表不是新规则,而是把前面的 checklist / action ladder 压成 同一行 ledger 长什么样 的最小示例。当前示例故意选 `parity_red` 场景:让 future run 不用再猜,看到成本偏差超阈值时,哪几个字段必须同时出现、这行应停在哪一步、最早何时才允许重开。

row_kind candidate stage paper_ref shadow_ref research_symbol venue_symbol side notional_usd intended_qty rounded_qty shadow_price cost_bps mismatch_status mismatch_reason operator_action trigger_reason reopen_earliest_ts operator_note
parity_red_shadow_examplebreakout-live-challengershadow_paritypaper-20260316-0519-breakout-ethusdt-short-001shadow-20260316-0519-breakout-ethusdt-short-001ETHUSDTETH-USDT-SWAPshort50.000.02500.02001985.2031redcost_gap_or_missing_snapshotholdshadow_cost_delta_gt_25bps2026-03-16 05:35:00 UTCpaper 与 shadow bar 对齐,但当前 shadow 成本预估 31bps,高于 v1 阈值 25bps;本行留在 parity review,不升级 tiny-live。

当前读法:sample row 的作用不是假装已经有真实 live 订单,而是给 future `shadow_parity` 留一份“红旗发生时账本该怎么写”的模板,避免只在日志里说“这次先 hold”。

artifact:reports/artifacts/alpha_closure_board/small_live_shadow_parity_sample_row_v1.csv

Green shadow parity sample row(v1)

这张表补的是另一半:如果 shadow parity 本身通过了,第一条 green row 该怎么写。它回答的是:在还没进入 tiny-live、只允许继续 `shadow review` 的情况下,哪些字段必须一次落齐,才能证明这轮不是“看起来没问题”,而是真的留下了可审计的 green parity 行。

row_kind candidate stage paper_ref shadow_ref research_symbol venue_symbol side notional_usd intended_qty rounded_qty shadow_price cost_bps mismatch_status mismatch_reason operator_action trigger_reason reopen_earliest_ts operator_note
green_shadow_parity_examplefuture-crypto-live-challengershadow_paritypaper-20260316-0820-ema-btcusdt-long-001shadow-20260316-0820-ema-btcusdt-long-001BTCUSDTBTC-USDT-SWAPlong40.000.000920.0009043210.5014greennonecontinue_shadow_reviewshadow_parity_pass2026-03-16 08:40:00 UTCpaper_ref 与 live-shadow payload、qty rounding、cap 与成本快照都已对齐;当前行只表示 shadow parity 通过,可继续 shadow review,仍不代表 tiny-live 已放行。

当前读法:这不是 tiny-live 放行,也不是说某条候选已经过审;它只是把 `paper_ref -> live_shadow_ref` 真过关时的 green ledger 模板写死,让 future run 知道什么时候只该继续 `shadow review`,而不该偷渡成真钱发送。

artifact:reports/artifacts/alpha_closure_board/small_live_green_shadow_parity_sample_row_v1.csv

Parity-red reopen gate checklist(v1)

这张表是前一轮 `parity_red action ladder + sample row` 的紧邻续刀:不是再解释为什么会红,而是明确 红旗之后,什么条件都补齐了,才配重新打开下一条 shadow parity row。目标是防止 future run 把 `reopen_earliest_ts` 误读成“时间到了就能自动重试”。

# 重开前必须过的步骤 什么才算真的满足 如果没满足就该怎么做 必须怎么回写 ledger
1先尊重 cooldown / reopen_earliest_ts当前时间已晚于 ledger 里的 `reopen_earliest_ts`,且没有新的 `parity_red` / route ack 缺失还挂在同一 candidate 上。继续 `paper only`,不新开 shadow parity row,也不把等待包装成‘问题已自然消失’。保留上一条 red row,并在 operator note 明确写 `waiting_reopen_window`。
2root-cause 必须被单独关单前一条 red row 的 `mismatch_reason / trigger_reason` 已有明确解释,且补上对应证据:例如 precision snapshot、fee/slippage snapshot、symbol mapping diff、或 data-gap 修复说明。不得靠‘再试一次也许就好’重开;默认维持 freeze review。新增 `operator_note` 或审计引用,明确是哪条证据把 red cause 关掉。
3先重走 routing dry-run 最小回执同一 candidate / symbol 已重新拿到干净的 `intent -> ack -> cancel/close` 回执链,且 `clock drift <= 60s`。说明基础执行链还不稳;继续停在 dry-run,不回 shadow parity。回填新的 `route_intent_ts_utc / route_ack_ts_utc / ack_latency_ms`,必要时补 `cancel_ts` 备注。
4新 shadow row 必须重新过 qty / cost parity新的 shadow row 在 `rounded_qty / min_notional / cap` 上都重新通过,且 paper vs shadow 成本差回到 `<=25bps`。继续记 `parity_red`,并把 candidate 留在 `paper only`;不能跳过 shadow parity 直接讨论 tiny-live。写新的 `paper_ref_id / live_shadow_ref_id / rounded_qty / cost_estimate_bps / mismatch_status`。
5只有 green shadow parity 才允许恢复 review至少出现一条新的 `mismatch_status=green` shadow parity row,且当前 candidate 仍在 whitelist / capital cap / sleeve cap 内。继续冻结 small-live promotion review;必要时降回更早的 paper review。把 `operator_action` 改回 `resume_shadow_review`,并记录新的 `reopen_earliest_ts`(若仍需观察)。

当前读法:`reopen_earliest_ts` 只是最早时点,不是自动赦免。真正的 reopen 必须先关掉上一条 red cause、重走最小 routing 回执,再拿到新的 green shadow parity row,才允许恢复 small-live review。

artifact:reports/artifacts/alpha_closure_board/small_live_reopen_gate_checklist_v1.csv

Reopen resume sample row(v1)

这张表继续沿同一条 Run 3 子链往前走半步:不是再写一张新 checklist,而是把 reopen gate 真的通过后,第一条 `green shadow parity row` 该长什么样 固定成样例。这样 future run 不会只知道“可以恢复 review 了”,却不知道账上要怎样同时保留 `prior_red_ref_id`、新的 route 回执、以及恢复后的 `resume_shadow_review` 动作。

row_kind candidate prior_red_ref stage paper_ref shadow_ref research_symbol venue_symbol side notional_usd intended_qty rounded_qty shadow_price cost_bps mismatch_status mismatch_reason operator_action trigger_reason reopen_earliest_ts operator_note
reopen_green_shadow_examplebreakout-live-challengershadow-20260316-0519-breakout-ethusdt-short-001resume_shadow_reviewpaper-20260316-0659-breakout-ethusdt-short-002shadow-20260316-0659-breakout-ethusdt-short-002ETHUSDTETH-USDT-SWAPshort50.000.02500.02501984.8018greenresolved_after_fee_snapshot_refreshresume_shadow_reviewreopen_gate_passed2026-03-16 07:20:00 UTC上一条 red row 的成本快照缺口已补齐,并重走 intent->ack->cancel/close 回执;当前 qty/cap/cost 都重新过关,因此恢复 shadow review,但仍保留下一次最早重检时点。

当前读法:这张 green sample row 不是说 tiny-live 已经放行,而是把“red 已被关掉,shadow review 允许恢复”时必须留下的最小审计链一次写清。尤其 `prior_red_ref_id` 不能丢,否则 future run 很容易把恢复动作写成一条与历史断开的新行。

artifact:reports/artifacts/alpha_closure_board/small_live_reopen_resume_sample_row_v1.csv

三条线并排看

V3 final verdict / breakout-short follow-up

bench:一次性 hard verdict 已同步;当前仍只能诚实地读成 up-flat biased conditional alpha / cached evidence challenger,不再占用默认主资源

资源顺序:bench · paper admission:bench · 保留历史证据与条件性 alpha 读法,但默认退出 Live Seat 主资源竞争,等待 genuinely new blocker reduction 再申请重开
当前最强证据
v3 最终收口后留下 `support_breakout_raw / confirm_1 @ h24`;其中最朴素的 `support_breakout_raw @ h24` v0 页面仍有 48 笔、平均单笔约 +1.44%、累计约 +92.45%。更关键的是,最近几轮已把 realism / sizing / shadow honesty 压到更硬的 desk 口径:`20bps` 下 raw 的 per-asset / entry-only equal-weight / hourly portfolio path / 1-slot global 约为 `75.03% / 19.40% / 14.04% / 13.83%`;把 `avoid_fluctuating` 放进同一套 hourly path 后,overall hourly path 约提到 `15.46%`、max drawdown 约改善到 `-9.97%`;再对 `ETH+SOL` 两仓小时做 `0.5x` halfsize,hourly path 可进一步到约 `19.90%`、max drawdown 约收窄到 `-9.04%`。这些都证明 breakout 不是零信息噪音,而是有条件性的 alpha 线索。但 desk 现在更看重能不能继续减少 blocker,而不是继续重复同一样本上的漂亮切片。上一轮已沿 cached latest evidence 落下一次性 hard verdict artifact:`breakout_live_seat_hard_verdict_20260316_0624.csv`。其中关键 blocker 仍保持不变:`pure_down=0/100`、`predown_bridge_12h=0/11`、`downrisk_48h=0/109`、`future_pure_down_48h=0/44`。换句话说,这条线虽然保留了 conditional alpha 价值,但在 desk 资源排序上,已经完成了“最后一枪后仍未降 blocker”的收口条件。
当前不能过度解读什么
这条线当前不该再继续写成 `one_more_gate`,更不该伪装成 ‘再多切一刀也许就能上 shadow/live’。真正的问题已经压成一组很具体的 blocker:默认 `ETH+SOL pair-conditioned halfsize` 虽能改善 path,但对 pure `down` 的覆盖仍是 `0/100`,`48h down-risk zone` 仍是 `0/109`,policy 自己命中的小时在未来 `48h` 里接上 pure `down` 的也仍是 `0/44`。这说明当前样本里并没有新的 blocker reduction 证据,而不是还差一页解释。既然 Live Seat 的“唯一一枪”已经打过,且 hard verdict 仍没有把这些数字压下去,继续把它挂在默认主资源位只会变成近义续命。
下一步最值得做什么
下一步默认不是继续在 breakout 上重跑同类 rerun,而是把默认 bot3 主资源让给 Scout Seat 与 tiny-live plumbing。breakout 这条线从现在起只保留两种重开条件:一是未来拿到 genuinely new `pure-test / down-tail` blocker reduction;二是 Scout Seat 产出更强 challenger 后,再回头做替换比较。换句话说,这页现在要表达的不是‘它下一刀该怎么继续切’,而是‘它为什么被 bench,以及什么证据才配让它回来’。

Fibonacci confirmation / retest_hold

park / archive:正式收口,降级为 optional filter candidate / archived idea

资源顺序:archive · paper admission:park · 当前不再当主 alpha 推进;只保留为小过滤器备选
当前最强证据
它确实能改善一部分‘被打脸率 / invalidation’问题,也曾在某些切片里比 baseline 更平衡;但一旦放到 breakout v0 的同样本 A/B,对主线最关键的问题——‘有没有更值得保留为主策略’——答案是没有。
当前不能过度解读什么
不能继续包装成通用 alpha enhancer。A/B 页显示:`breakout + fib retest_hold` 的平均单笔约 +0.71%、累计约 +20.00%,明显弱于裸 `breakout v0`,而且平均入场还延迟约 12.5 根 bar。
下一步最值得做什么
网页上把它改成清晰的 archived/filter 结论页;如果以后再看,只问一个更窄的问题:在更明确的 down regime 里,它能不能当小过滤器。

EMA / PSAR raw alpha focus

closest to paper:EMA baseline family 已有 paper-trading candidate spec + operating spec + monitoring board + runbook,并已落下首份 day-0 ledger snapshot + first-refresh queue;A股 daily primary/shadow refresh 也已切到 live source,当前账本是在按时等待下一次 market-close refresh,而 PSAR overlay 现已被收紧成 `创业板ETF 1d` 的 narrow shadow-protective protocol

资源顺序:#1 · paper admission:closest to paper · EMA = 主 raw alpha baseline / paper candidate;PSAR = 只配 `创业板ETF 1d` sidecar shadow-protective 观察位,不是默认 runbook overlay
当前最强证据
这条线现在已经不只收成 final survivor map,还进一步压成了一版 deployment-facing 的 `paper-trading candidate spec + operating spec + monitoring board + runbook`。真实结果切片显示:`EMA 60m crypto` 在 `BTC / ETH / SOL` 的 rolling falsification 下已是明确 fail pocket——gross 正窗口仅 `4/30`、扣 `20bps` 后只剩 `2/30`,且 `0/3` 资产达到“多数窗口 net 为正”;进一步叠加 `PSAR exit overlay` 后,net 正窗口反而掉到 `0/30`,median window net20 delta 约 `-6.26pp`。同时,A股 frontier 的 strict holdout 也把 family 边界压清:`A股 weekly` 应移出 EMA family——两格 weekly pocket 共 `14` 个 holdout,`EMA` 正 holdout 占比仅约 `42.86%`,低于 `PSAR` 的约 `85.71%`;但 `A股 daily` 还没一起塌掉——两格 daily pocket 共 `16` 个 holdout,`EMA` 正 holdout 占比约 `62.50%`,高于 `PSAR` 的约 `43.75%`,其中 `创业板ETF 1d` 的 `EMA` median net20 约 `12.05%`,仍明显高于 `PSAR` 的约 `5.13%`。更进一步,这版 spec 已明确:`创业板ETF 1d` 可作 primary paper pilot,`美股/crypto/贵州茅台 1d+1wk` 可作 secondary batch,`沪深300ETF 1d` 只保留 shadow,而 weekly frontier 与 crypto 60m 则直接排除;最新 monitoring board + runbook 则把这些口袋进一步压成 active / shadow / stoplist 的日常盯盘、刷新频率、升降级与 rollback 清单。现在又把这些规则真正落成了首份 `day-0 ledger snapshot`,并继续压成 `first-refresh queue`:固定的 `11` 条 day-0 rows 已按同一时刻写进账本,并分别带上 `paper_status / monitor_status / review_action / data_health`;其中 `创业板ETF 1d` 已明确记成 `start_primary_paper`,front-queue secondary 会在 day-0 就标成 `kickoff_yellow_front_queue` 等待优先复核,`沪深300ETF 1d` 只记成 `stay_shadow_until_promotion_gate`,stoplist 继续 `keep_excluded`;而 queue 又把首刷顺序写死为 primary 先、front-queue secondary 跟上、shadow refresh-only、stoplist audit-only。这说明 EMA 线已经不只是“paper-ready 文档”,而是首笔 `0` 真资金的 paper/shadow 记账动作和首轮执行顺序都已真正落表。最新又把 `创业板ETF 1d / 沪深300ETF 1d` 的 A股日频 refresh 从 frontier cache fallback 升成了可重复的 Eastmoney live source,所以 primary 与同组 shadow 现在默认不再卡在 A股 daily source-risk。最新又把 A股 daily 的 `EMA + PSAR exit overlay` 直接压到 runbook 口径:`创业板ETF 1d` 这格 primary pilot 约 `75%` 的 holdout 能改善 net20、median delta 约 `+2.00pp`,但 `沪深300ETF 1d` 这格 shadow 仅约 `25%` 改善、median delta 约 `-1.51pp`;两格合并后 overall 改善占比约 `50%`、median delta 约 `-0.38pp`。这说明 PSAR 当前最多只配留在 primary pocket 的 shadow protective 观察位,不能焊进 A股 daily 默认 runbook。
当前不能过度解读什么
这不等于 EMA baseline 已经被彻底坐实。当前 fixed boundary 只是把“谁该移出、谁还能保留、谁只能 mixed/watch”说清楚了;其中非前线 non60m backstops 目前主要还是靠长样本 gross/cost 支撑,还没全部经历和 A股 frontier 一样严格的 holdout 复核,所以不能把整条 family 重新吹成‘全面稳固’。同样,PSAR overlay 也还不能凭 `创业板ETF 1d` 这一个 primary pocket 的改善,就偷渡成整个 A股 daily 的默认 protective layer。
下一步最值得做什么
既然 `day-0 ledger snapshot + first-refresh queue` 都已经落表,且 A股 daily 的 primary / shadow source-risk 已显著下降,EMA 默认下一步就该按这张 queue 执行真实 forward refresh / week-1 review。当前更诚实的状态不是‘还缺一页说明’,而是 active `1d` ledger 正在按时等待下一次真实 market close;因此后续默认别再扩近义 board 页面,而是等下一根 completed bar 后继续写账。若还要补研究刀口,也只该围绕 `沪深300ETF 1d` 这种 mixed pocket 的升格诚实度,或抽查 secondary batch backstops 是否需要从 active_secondary_backstop 降回 shadow;`PSAR overlay` 则只保留在 `创业板ETF 1d` 的 shadow protocol 观察位,不改默认持有逻辑。

一张表看当前排优先级

资源顺序 paper admission 研究线 当前角色 当前状态 下一步最值得做什么
benchbenchV3 final verdict / breakout-short follow-up保留历史证据与条件性 alpha 读法,但默认退出 Live Seat 主资源竞争,等待 genuinely new blocker reduction 再申请重开bench:一次性 hard verdict 已同步;当前仍只能诚实地读成 up-flat biased conditional alpha / cached evidence challenger,不再占用默认主资源下一步默认不是继续在 breakout 上重跑同类 rerun,而是把默认 bot3 主资源让给 Scout Seat 与 tiny-live plumbing。breakout 这条线从现在起只保留两种重开条件:一是未来拿到 genuinely new `pure-test / down-tail` blocker reduction;二是 Scout Seat 产出更强 challenger 后,再回头做替换比较。换句话说,这页现在要表达的不是‘它下一刀该怎么继续切’,而是‘它为什么被 bench,以及什么证据才配让它回来’。
archiveparkFibonacci confirmation / retest_hold当前不再当主 alpha 推进;只保留为小过滤器备选park / archive:正式收口,降级为 optional filter candidate / archived idea网页上把它改成清晰的 archived/filter 结论页;如果以后再看,只问一个更窄的问题:在更明确的 down regime 里,它能不能当小过滤器。
#1closest to paperEMA / PSAR raw alpha focusEMA = 主 raw alpha baseline / paper candidate;PSAR = 只配 `创业板ETF 1d` sidecar shadow-protective 观察位,不是默认 runbook overlayclosest to paper:EMA baseline family 已有 paper-trading candidate spec + operating spec + monitoring board + runbook,并已落下首份 day-0 ledger snapshot + first-refresh queue;A股 daily primary/shadow refresh 也已切到 live source,当前账本是在按时等待下一次 market-close refresh,而 PSAR overlay 现已被收紧成 `创业板ETF 1d` 的 narrow shadow-protective protocol既然 `day-0 ledger snapshot + first-refresh queue` 都已经落表,且 A股 daily 的 primary / shadow source-risk 已显著下降,EMA 默认下一步就该按这张 queue 执行真实 forward refresh / week-1 review。当前更诚实的状态不是‘还缺一页说明’,而是 active `1d` ledger 正在按时等待下一次真实 market close;因此后续默认别再扩近义 board 页面,而是等下一根 completed bar 后继续写账。若还要补研究刀口,也只该围绕 `沪深300ETF 1d` 这种 mixed pocket 的升格诚实度,或抽查 secondary batch backstops 是否需要从 active_secondary_backstop 降回 shadow;`PSAR overlay` 则只保留在 `创业板ETF 1d` 的 shadow protocol 观察位,不改默认持有逻辑。

如果这三条线都没过 gate,下一轮该回到哪里找新 alpha?

建议的网页阅读顺序