"use client";

import Link from "next/link";
import { EquityCanvas } from "@/components/EquityCanvas";
import { useExecutionStatus } from "@/components/useExecutionStatus";
import { useLiveSimulation } from "@/components/useLiveSimulation";
import { useMinuteWarehouse } from "@/components/useMinuteWarehouse";
import { useDataLakeStatus } from "@/components/useDataLakeStatus";
import { CN_POINT_IN_TIME_RESULT } from "@/lib/cn-point-in-time.generated";
import { CN_INDEX_REGIME_RESULT } from "@/lib/cn-index-regime.generated";
import { CN_INDEX_REGIME_35Y_RESULT } from "@/lib/cn-index-regime-35y.generated";
import vendorAudit from "@/research/results/vendor-tushare-audit-2026-08-05.json";
import backfillStatus from "@/research/results/vendor-daily-panel-backfill-latest.json";
import intradayAudit from "@/research/results/cn-intraday-shadow-2026-08-05.json";
import longHistoryAudit from "@/research/results/cn-thirty-year-data-coverage-audit.json";
import marketRuleProbe from "@/research/results/vendor-market-rule-probe-2026-08-05.json";
import intradayPermission from "@/research/results/vendor-intraday-permission-recheck-latest.json";
import minutePermission from "@/research/results/vendor-minute-permission-recheck-latest.json";
import ruleBackfillStatus from "@/research/results/vendor-market-rules-backfill-latest.json";
import auctionBackfillStatus from "@/research/results/vendor-auction-backfill-latest.json";
import localArchive from "@/research/results/local-archive-streaming-optimizer-v1.json";
import historicalMinute from "@/research/results/historical-minute-execution-optimizer-v1.json";
import etfMinuteAudit from "@/research/results/etf-full-minute-coverage-audit-latest.json";
import etfRegimeV2 from "@/research/results/etf-intraday-regime-challenger-v2.json";

const money = (value: number) => `¥${value.toLocaleString("zh-CN", { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
const percent = (value: number) => `${value >= 0 ? "+" : ""}${(value * 100).toFixed(2)}%`;
const stamp = (value: string | null | undefined) => value ? new Date(value).toLocaleString("zh-CN", { hour12: false, timeZone: "Asia/Shanghai" }) : "—";
const compactCny = (value: number) => value >= 100_000_000 ? `${(value / 100_000_000).toFixed(1)}亿` : `${(value / 10_000).toFixed(0)}万`;
const compactBytes = (value: number) => value >= 1073741824 ? `${(value / 1073741824).toFixed(2)} GiB` : `${(value / 1048576).toFixed(1)} MiB`;
const dataLakeDatasetLabel: Record<string, string> = {
  "a-share-sse-szse-1m": "沪深A股历史1分钟",
  "a-share-bse-1m": "北交所历史1分钟",
  "index-1m-yearly": "指数历史1分钟",
  "a-share-2026-minute-daily": "2026 A股分钟日文件",
  "index-etf-complete": "指数与ETF完整目录",
  "a-share-daily-continuous": "A股日线持续更新",
  "vendor-tushare-15000-package": "TuShare 15000历史包",
};
const cloudEventLabel: Record<string, string> = {
  ORDER_SUBMITTED: "委托提交",
  CANCEL_REQUESTED: "撤单请求",
  ORDER_PARTIAL: "部分成交",
  ORDER_FILLED: "全部成交",
  ORDER_CANCELED: "委托已撤",
  ORDER_EXPIRED: "委托超时",
  ORDER_REJECTED: "委托拒绝",
  MARKET_DATA_ERROR: "行情故障",
  MARKET_DATA_RECOVERED: "行情恢复",
};

function StatusDot({ ok, label }: { ok: boolean; label: string }) {
  return <span className={`execution-status ${ok ? "ok" : "hold"}`}><i />{label}</span>;
}

export function ExecutionControlCenter() {
  const execution = useExecutionStatus();
  const simulation = useLiveSimulation();
  const warehouse = useMinuteWarehouse();
  const dataLake = useDataLakeStatus();
  const status = execution.data;
  const mirror = simulation.data.cnLiveMirror;
  const registry = simulation.data.cnUniverseRegistry;
  const optimizer = simulation.data.cnPortfolioStrategy;
  const etfScanner = simulation.data.cnEtfScanner;
  const fullMarketScanner = simulation.data.cnFullMarketScanner;
  const independent = simulation.data.cnIndependentAccounts;
  const liveEngine = status.liveEngine;
  const eastmoney = status.eastmoneyGateway;
  const brokerSelection = status.brokerSelection;
  const researchEvidence = status.researchEvidence;
  const automaticExecution = status.automatedExecution;
  const autoOptimizer = status.autoOptimizer;
  const mirrorHealthy = Boolean(mirror?.account.running) && !mirror?.account.killed && mirror?.marketDataStatus !== "error";
  const averageLatency = mirror?.executionStats.fillEvents
    ? mirror.executionStats.modeledLatencyTotalMs / mirror.executionStats.fillEvents
    : 0;
  const latestCommittee = mirror?.universe.map((instrument) => ({ instrument, result: mirror.committee[instrument.symbol] })) ?? [];
  const pointInTime = CN_POINT_IN_TIME_RESULT;
  const indexRegime = CN_INDEX_REGIME_RESULT;
  const indexRegime35y = CN_INDEX_REGIME_35Y_RESULT;
  const pointBenchmark = pointInTime.benchmarks.find((item) => item.symbol === "000300.SH") ?? pointInTime.benchmarks[0];
  const pointAccepted = pointInTime.gates.allowedForLiveCapital;
  const cnSession = mirror?.session ?? automaticExecution.session;
  const minutePermissionAvailable = minutePermission.success;
  const minutePermissionLabel = minutePermissionAvailable ? "已取得" : "仍未取得";
  const localWinner = localArchive.winner;
  const localEnsemble = localArchive.validationSelectedEnsemble;
  const localDoubleCost = localArchive.winnerDoubleCostStress.finalHoldout;
  const minuteBaseline = historicalMinute.dailyReplay.baseline.finalHoldout;
  const minuteExecution = historicalMinute.selectedExecutionPolicy;
  const minuteCombined = historicalMinute.combined.finalHoldout;
  const minuteWarehouse = warehouse.data;
  const minuteWarehouseProgress = minuteWarehouse.discovered
    ? Math.min(100, minuteWarehouse.processed / minuteWarehouse.discovered * 100)
    : 0;
  const minuteWarehouseHealthy = warehouse.connected && !["blocked", "degraded"].includes(minuteWarehouse.status);
  const minuteWarehouseLabel = minuteWarehouse.status === "collecting" ? "正在盘后回填"
    : minuteWarehouse.status === "complete" ? "当日数据封存完成"
      : minuteWarehouse.status === "degraded" ? "部分缺口待补"
        : minuteWarehouse.status === "blocked" ? "等待云存储授权"
          : "等待收盘启动";
  const dataLakeSummary = dataLake.data.summary;
  const dataLakeProgress = dataLakeSummary?.fileCount
    ? Math.min(100, dataLakeSummary.verifiedFiles / dataLakeSummary.fileCount * 100)
    : 0;
  const aShareSleeve = independent?.aShareT1;
  const etfSleeve = independent?.intradayEtfT0;
  const convertibleSleeve = independent?.convertibleBondT0;
  const aShareSleeveReturn = aShareSleeve ? aShareSleeve.equity / aShareSleeve.startingCash - 1 : 0;
  const etfSleeveReturn = etfSleeve ? etfSleeve.equity / etfSleeve.startingCash - 1 : 0;
  const convertibleSleeveReturn = convertibleSleeve ? convertibleSleeve.equity / convertibleSleeve.startingCash - 1 : 0;

  return <div className="execution-center cn-execution-center">
    <section className="execution-hero cn-execution-hero">
      <div><span className="kicker">CHINA SECURITIES UNIVERSE / SHADOW LIVE</span><h1>实盘策略</h1><p>A股个股遵守T+1，次日起根据趋势、利润保护与硬风险动态退出，不设第5日机械卖出；ETF与可转债分别建立T+0日内策略。三套影子账户的现金、持仓、委托和熔断互不影响，所有真实订单仍为0。</p></div>
      <div className="execution-master-state"><span>MASTER STATE</span><b>A股实盘未武装</b><small>{mirror?.strategyVersion ?? "cn-t0-risk-managed-v4"}</small><button type="button" disabled>中国券商适配器 LOCKED</button></div>
    </section>

    <section className="live-trading-disclosure" aria-label="真实交易状态说明">
      <div><span>REAL-MONEY STATUS</span><b>真实资金订单：0</b></div>
      <p>这不是已经连接券商的实盘账户。公开行情源仅适合策略研究，不能替代券商交易行情；真实启用前还必须完成券商API接入、程序化交易报告、小资金Paper/仿真验收以及再次人工授权。</p>
    </section>

    <section className="dual-sleeve-return-summary three-sleeve-summary" id="sleeve-performance" aria-label="个股、ETF与可转债独立收益摘要">
      <header>
        <div><span>INDEPENDENT SLEEVE PERFORMANCE</span><h2>个股、ETF、可转债独立收益</h2><p>三套影子账户不共享现金、持仓、订单或熔断；以下是模拟账本，不是真实资金收益。</p></div>
        <strong>REAL ORDERS 0</strong>
      </header>
      <div className="dual-sleeve-return-grid">
        <article>
          <div className="sleeve-return-heading"><div><span>A-SHARE T+1</span><h3>个股策略</h3></div><em>{aShareSleeve?.runtimeStatus ?? "DATA GATED"}</em></div>
          <b className={aShareSleeveReturn >= 0 ? "positive" : "negative"}>{percent(aShareSleeveReturn)}</b>
          <p>启用以来影子收益率</p>
          <dl><div><dt>独立权益</dt><dd>{money(aShareSleeve?.equity ?? 1_000_000)}</dd></div><div><dt>持仓 / 成交</dt><dd>{aShareSleeve?.positions ?? 0} / {aShareSleeve?.trades ?? 0}</dd></div><div><dt>持有规则</dt><dd>次日起可卖；强势延长，回撤与硬风险退出</dd></div></dl>
        </article>
        <article>
          <div className="sleeve-return-heading"><div><span>INTRADAY ETF T+0</span><h3>日内 ETF 策略</h3></div><em>{etfRegimeV2.selectedPolicy}</em></div>
          <b className={etfSleeveReturn >= 0 ? "positive" : "negative"}>{percent(etfSleeveReturn)}</b>
          <p>启用以来影子收益率</p>
          <dl><div><dt>独立权益</dt><dd>{money(etfSleeve?.equity ?? mirror?.account.equity ?? 1_000_000)}</dd></div><div><dt>当日收益 / 回撤</dt><dd>{percent(etfSleeve?.performance.dailyReturn ?? 0)} / {percent(etfSleeve?.performance.drawdown ?? 0)}</dd></div><div><dt>持仓 / 成交</dt><dd>{etfSleeve?.positions ?? 0} / {etfSleeve?.trades ?? mirror?.tradeCount ?? 0}</dd></div></dl>
        </article>
        <article>
          <div className="sleeve-return-heading"><div><span>CONVERTIBLE BOND T+0</span><h3>可转债日内策略</h3></div><em>{convertibleSleeve?.runtimeStatus ?? "DATA GATED"}</em></div>
          <b className={convertibleSleeveReturn >= 0 ? "positive" : "negative"}>{percent(convertibleSleeveReturn)}</b>
          <p>启用以来影子收益率</p>
          <dl><div><dt>独立权益</dt><dd>{money(convertibleSleeve?.equity ?? 1_000_000)}</dd></div><div><dt>当日收益 / 回撤</dt><dd>{percent(convertibleSleeve?.performance.dailyReturn ?? 0)} / {percent(convertibleSleeve?.performance.drawdown ?? 0)}</dd></div><div><dt>数据状态</dt><dd>等待分钟、强赎与溢价率</dd></div></dl>
        </article>
      </div>
      <footer><span>收益为包含模拟费用、延迟、排队、部分成交与撤单竞态的影子账本结果。</span><a href="#independent-accounts">查看三套账户的执行细节 ↓</a></footer>
    </section>

    <nav className="execution-focus-nav" aria-label="实盘策略页面重点导航">
      <div className="execution-focus-title"><span>QUICK READ</span><b>一眼看懂当前状态</b><small>先看结论，再按需查看技术细节</small></div>
      <a href="#sleeve-performance"><span>三套独立收益</span><b className={aShareSleeveReturn >= 0 && etfSleeveReturn >= 0 && convertibleSleeveReturn >= 0 ? "positive" : "hold"}>个股 {percent(aShareSleeveReturn)} · ETF {percent(etfSleeveReturn)} · 转债 {percent(convertibleSleeveReturn)}</b><small>影子账本 · 互不影响 · 真单 0</small></a>
      <a href="#session-scheduler"><span>现在是否交易</span><b>{cnSession.strategyEvaluationEnabled ? "自动评估信号" : "自动等待"}</b><small>{cnSession.phase} · 真单 0</small></a>
      <a href="#historical-validation"><span>风险与验证</span><b className={(mirror?.account.drawdown ?? 0) < 0 ? "negative" : "positive"}>回撤 {percent(mirror?.account.drawdown ?? 0)}</b><small>分钟重放与样本外检验</small></a>
      <a href="#broker-selection"><span>下一步</span><b>继续影子测试</b><small>暂不连接券商或资金</small></a>
    </nav>

    <section className="execution-card automatic-session-card" id="session-scheduler" aria-label="交易日自动执行调度器">
      <header><div><span>UNATTENDED CN MARKET SCHEDULER</span><h2>交易日交易时间自动执行</h2></div><StatusDot ok={cnSession.strategyEvaluationEnabled} label={cnSession.strategyEvaluationEnabled ? "SHADOW EXECUTING" : "AUTO WAITING"} /></header>
      <div className="automatic-session-metrics"><article><span>当前阶段</span><b>{cnSession.phase}</b><small>{cnSession.isTradingDay ? "交易日" : "非交易日 / 休市"}</small></article><article><span>策略评估</span><b>{cnSession.strategyEvaluationEnabled ? "自动运行" : "自动等待"}</b><small>连续竞价时每2秒循环</small></article><article><span>新开仓</span><b>{cnSession.entriesAllowed ? "允许" : "禁止"}</b><small>10:00–14:35，午休除外</small></article><article><span>退出 / 清仓</span><b>{cnSession.flattenOnly ? "只许清仓" : cnSession.exitsAllowed ? "允许退出" : "禁止委托"}</b><small>14:55起仅日内清仓</small></article><article><span>下次切换</span><b>{stamp(cnSession.nextTransitionAt)}</b><small>上海时区 · 日历至 {cnSession.calendarValidThrough}</small></article></div>
      <div className="automatic-session-timeline"><article><time>09:15–09:25</time><b>开盘集合竞价</b><small>只观察，不自动开仓；9:20后不可撤单</small></article><article><time>09:30–11:30</time><b>上午连续竞价</b><small>自动取行情、评估信号与模拟执行</small></article><article><time>11:30–13:00</time><b>午间休市</b><small>停止委托，保留状态并自动等待</small></article><article><time>13:00–14:35</time><b>下午执行窗口</b><small>自动评估；符合信号与风控才模拟委托</small></article><article><time>14:35–14:55</time><b>退出优先</b><small>禁止新开仓，只处理退出与风险指令</small></article><article><time>14:55–15:00</time><b>清仓窗口</b><small>日内ETF只许清仓；不留主动隔夜仓</small></article></div>
      <footer><b>无人访问也运行：</b><span>云端闹钟按交易日历自动唤醒；周末、2026年交易所公告休市日、午休、行情陈旧或断线时均默认禁止委托。</span><em>真实资金路由仍为 LOCKED · 真实订单 0</em></footer>
    </section>

    <section className="execution-card full-market-shadow-card" id="full-market-shadow-test" aria-label="全市场盘中影子策略测试">
      <header><div><span>ALL-MARKET FORWARD SHADOW TEST</span><h2>8月10日全市场盘中测试</h2></div><StatusDot ok={fullMarketScanner?.status === "scanning"} label={fullMarketScanner?.status === "scanning" ? "SCANNING" : "AUTO READY"} /></header>
      <div className="full-market-shadow-summary">
        <article><span>下次自动唤醒</span><b>{stamp(cnSession.nextTransitionAt)}</b><small>09:15观察；09:30开始全市场轮询</small></article>
        <article><span>全市场目录</span><b>{(fullMarketScanner?.totalUniverse ?? ((registry?.totals.listedAStocks ?? 0) + (registry?.totals.verifiedT0Funds ?? 0) + (registry?.totals.verifiedT0ConvertibleBonds ?? 0))).toLocaleString("zh-CN")}</b><small>个股 + 核验T+0 ETF + 可转债</small></article>
        <article><span>本轮已评估</span><b>{(fullMarketScanner?.totalScannedThisCycle ?? 0).toLocaleString("zh-CN")}</b><small>目标约4分钟；限流或失败会延长并留痕</small></article>
        <article><span>完整轮次</span><b>{fullMarketScanner?.fullMarketCycles ?? 0}</b><small>盘中参数冻结，不按当日盈亏追参</small></article>
        <article><span>真实订单</span><b>0</b><small>只做实盘摩擦影子测试</small></article>
      </div>
      <div className="full-market-shadow-sleeves">
        {(["A_SHARE_T1", "ETF_T0", "CONVERTIBLE_BOND_T0"] as const).map((key) => {
          const sleeve = fullMarketScanner?.sleeves[key];
          const fallbackUniverse = key === "A_SHARE_T1" ? registry?.totals.listedAStocks : key === "ETF_T0" ? registry?.totals.verifiedT0Funds : registry?.totals.verifiedT0ConvertibleBonds;
          return <article key={key}><header><span>{key}</span><b>{sleeve?.label ?? (key === "A_SHARE_T1" ? "全量A股 T+1" : key === "ETF_T0" ? "全量核验T+0 ETF" : "全量可转债 T+0")}</b></header><dl><div><dt>覆盖进度</dt><dd>{sleeve?.scannedThisCycle ?? 0} / {sleeve?.universeCount ?? fallbackUniverse ?? 0}</dd></div><div><dt>有效报价</dt><dd>{sleeve?.validQuotesThisCycle ?? 0}</dd></div><div><dt>深度候选</dt><dd>{sleeve?.shortlist.length ?? 0}</dd></div><div><dt>执行边界</dt><dd>{key === "A_SHARE_T1" ? "T+1 · 点时数据闸门" : key === "ETF_T0" ? "T+0 · 分钟/IOPV/成本闸门" : "T+0 · 分钟/强赎/溢价率闸门"}</dd></div></dl><small>{sleeve?.lastError ?? "未通过数据与风控的标的只记录评估，不生成影子委托。"}</small></article>;
        })}
      </div>
      <footer><b>“对全市场运行”的准确含义：</b><span>全量证券都进入资格扫描；只有合格短名单进入分钟级深度策略与拟真实撮合。不会把六千只证券同时买卖，也不会用缺失数据伪造成交。</span><em>排队 · 延迟 · 部分成交 · 撤单竞态</em></footer>
    </section>

    <section className="execution-card optimizer-governance-card" aria-label="自动优化治理">
      <header><div><span>CHAMPION / CHALLENGER GOVERNANCE</span><h2>盘中冻结执行 · 盘后受控训练</h2></div><StatusDot ok={autoOptimizer.operatingMode === "RESEARCH_CHALLENGERS_AFTER_CLOSE"} label={autoOptimizer.operatingMode} /></header>
      <div className="optimizer-governance-grid">
        <article><span>当前冠军</span><b>{autoOptimizer.champion.id}</b><small>只在影子账户运行；盘中禁止改参</small></article>
        <article><span>盘中模式</span><b>FROZEN</b><small>交易时段每2秒执行，不训练</small></article>
        <article><span>盘后研究</span><b>{automaticExecution.session.researchOptimizationAllowed ? "RUNNING" : "15:30–17:30"}</b><small>只生成挑战者，不自动替换冠军</small></article>
        <article><span>晋级冷却</span><b>{autoOptimizer.promotionGate.minimumNewSessions} 日</b><small>重新做点时样本外与成本压力</small></article>
        <article><span>自动晋级</span><b className="negative">禁止</b><small>防止短期盈亏触发过拟合</small></article>
        <article><span>真实订单</span><b>0</b><small>冠军没有真实下单权</small></article>
      </div>
      <footer><b>为什么不边交易边自动改参数：</b><span>短期表现噪声很大；盘中追参会把随机波动当规律。系统只允许盘后训练，并要求新数据、独立留出、成本压力和人工批准。</span></footer>
    </section>

    <section className="cn-universe-summary" aria-label="全量A股与基金标的池摘要">
      <header><div><span>OFFICIAL UNIVERSE REGISTRY</span><h2>全量标的目录与执行候选分离</h2></div><Link href="/execution/universe">打开完整标的池 →</Link></header>
      <div><article><span>已上市A股</span><b>{registry?.totals.listedAStocks.toLocaleString("zh-CN") ?? "同步中"}</b><small>沪 / 深 / 北 · T+1研究</small></article><article><span>场内基金</span><b>{registry?.totals.listedFunds.toLocaleString("zh-CN") ?? "同步中"}</b><small>全量研究目录</small></article><article><span>已核验T+0基金</span><b>{registry?.totals.verifiedT0Funds.toLocaleString("zh-CN") ?? "同步中"}</b><small>仍需流动性二次过滤</small></article><article><span>已上市可转债</span><b>{registry?.totals.listedConvertibleBonds.toLocaleString("zh-CN") ?? "同步中"}</b><small>沪 / 深 · T+0二次过滤</small></article><article><span>待上市观察</span><b>{registry?.totals.upcoming.toLocaleString("zh-CN") ?? "同步中"}</b><small>上市前禁止交易</small></article><article><span>官方来源</span><b>{registry ? `${registry.officialSources}/${registry.sourceCount}` : "0/10"}</b><small>{registry?.status === "ready" ? "全量同步完成" : registry?.status === "degraded" ? "部分来源降级" : "分批同步中"}</small></article></div>
      <p>{registry?.policy ?? "目录正在初始化；未核验证券默认禁止自动下单。"} · 完整目录每6小时重新核对，新代码在官方目录出现后自动发现。</p>
    </section>

    <section className="execution-card minute-warehouse-card" id="minute-warehouse" aria-label="全量A股与日内基金未来分钟数据仓库">
      <header><div><span>CN MINUTE WAREHOUSE / CONTINUOUS RESEARCH</span><h2>全量未来分钟数据仓库</h2></div><StatusDot ok={minuteWarehouseHealthy} label={minuteWarehouseLabel} /></header>
      <div className="minute-warehouse-callout">
        <div><b>采集边界</b><p>每个交易日收盘后自动拉取全部已上市 A 股和已核验 T+0 场内基金的当日 1 分钟 OHLCV，新上市标的会随官方目录自动加入。当前 3 只激活基金仍由独立盘中链路秒级更新。</p></div>
        <div><b>为什么不是全市场每分钟轮询</b><p>公共接口没有全市场分钟批流；对约六千只证券逐分钟请求会被限流且无法保证同一时点。仓库采用“盘后完整分钟回填”，不把延迟数据冒充实时行情。</p></div>
      </div>
      <div className="minute-warehouse-metrics">
        <article><span>运行日期</span><b>{minuteWarehouse.activeDate ?? "等待收盘"}</b><small>{minuteWarehouse.phase} · 第 {minuteWarehouse.page}/{minuteWarehouse.pageCount} 页</small></article>
        <article><span>目录发现</span><b>{minuteWarehouse.discovered.toLocaleString("zh-CN")}</b><small>A股 {minuteWarehouse.discoveredAShares.toLocaleString("zh-CN")} · T+0基金 {minuteWarehouse.discoveredVerifiedT0.toLocaleString("zh-CN")}</small></article>
        <article><span>已存分区</span><b>{minuteWarehouse.processed.toLocaleString("zh-CN")}</b><small>{minuteWarehouseProgress.toFixed(1)}% · {minuteWarehouse.storedBars.toLocaleString("zh-CN")} 根分钟K</small></article>
        <article><span>研究级通过</span><b className={minuteWarehouse.accepted ? "positive" : ""}>{minuteWarehouse.accepted.toLocaleString("zh-CN")}</b><small>A级完整OHLCV；拒绝/降级 {minuteWarehouse.rejected.toLocaleString("zh-CN")}</small></article>
        <article><span>采集失败尝试</span><b className={minuteWarehouse.failures ? "negative" : "positive"}>{minuteWarehouse.failures.toLocaleString("zh-CN")}</b><small>失败会重试并保留缺口，不会伪造</small></article>
        <article><span>云端存储</span><b>{minuteWarehouse.archiveBackend === "R2" ? "D1 + R2" : minuteWarehouse.archiveBackend === "DURABLE_OBJECT_SHARDS" ? "D1 + DO分片" : "待绑定"}</b><small>累计 {(minuteWarehouse.totalStoredBytes / 1048576).toFixed(1)} MiB · 免费软上限 {(minuteWarehouse.storageSoftLimitBytes / 1073741824).toFixed(0)} GiB</small></article>
      </div>
      <div className="minute-warehouse-research">
        <div><span>固定测试</span><b>{minuteWarehouse.latestResearch?.strategy ?? "CN_T0_FIXED_20_60_VWAP_V1"}</b><small>盘中参数冻结；每日新分区只做前向比较，不自动追参</small></div>
        <div><span>最近样本</span><b>{minuteWarehouse.latestResearch ? `${minuteWarehouse.latestResearch.tradedPartitions} 笔 / 胜率 ${minuteWarehouse.latestResearch.winRate == null ? "样本不足" : `${(minuteWarehouse.latestResearch.winRate * 100).toFixed(1)}%`}` : "等待首日数据"}</b><small>{minuteWarehouse.latestResearch?.averageNetReturn == null ? "暂无可报告收益" : `单笔平均净收益 ${percent(minuteWarehouse.latestResearch.averageNetReturn)}`} · 影子研究，不是真实收益</small></div>
        <div><span>最新成功</span><b>{stamp(minuteWarehouse.lastSuccessAt)}</b><small>{minuteWarehouse.lastError ?? warehouse.error ?? "暂无错误"}</small></div>
        <div><span>真实订单</span><b>0</b><small>数据采集与研究流水线没有券商下单权</small></div>
      </div>
      <footer><b>质量规则：</b><span>完整 1 分钟 OHLCV 才进入测试；缺分钟、重复、非法价或备用收盘代理只归档，不进入绩效统计。</span><em>页面状态每15秒刷新 · 后台云端闹钟自主运行，不消耗 Codex 监控额度</em></footer>
    </section>

    <section className="execution-card data-lake-card" id="historical-data-lake" aria-label="R2私有历史数据湖">
      <header><div><span>PRIVATE R2 HISTORICAL DATA LAKE</span><h2>历史分钟数据云端迁移与删除闸门</h2></div><StatusDot ok={dataLake.connected && dataLake.data.phase !== "degraded"} label={dataLake.data.deletionReady ? "CLOUD VERIFIED" : dataLake.connected ? "UPLOADING" : "CONNECTING"} /></header>
      <div className="data-lake-verdict">
        <div><span>当前结论</span><b className={dataLake.data.deletionReady ? "positive" : "hold"}>{dataLake.data.deletionReady ? "允许按清单删除本地副本" : "暂时不要删除本地文件夹"}</b><p>只有最终重扫后全部对象上传、逐段校验、云端完整取回及分析读取均通过，删除闸门才会打开。</p></div>
        <div className="data-lake-progress" aria-label={`R2迁移进度 ${dataLakeProgress.toFixed(1)}%`}><span style={{ width: `${dataLakeProgress}%` }} /></div>
      </div>
      <div className="data-lake-metrics">
        <article><span>计划文件</span><b>{dataLakeSummary?.fileCount.toLocaleString("zh-CN") ?? "同步中"}</b><small>{dataLakeSummary ? compactBytes(dataLakeSummary.totalBytes) : "等待云端状态"}</small></article>
        <article><span>已完整上传</span><b>{dataLakeSummary?.completedFiles.toLocaleString("zh-CN") ?? "—"}</b><small>{dataLakeSummary ? compactBytes(dataLakeSummary.uploadedBytes) : "—"}</small></article>
        <article><span>已抽样校验</span><b>{dataLakeSummary?.verifiedFiles.toLocaleString("zh-CN") ?? "—"}</b><small>{dataLakeProgress.toFixed(2)}%</small></article>
        <article><span>R2隐私</span><b>PRIVATE</b><small>仅鉴权 Worker 可读写</small></article>
        <article><span>真实订单</span><b>0</b><small>存储与研究没有下单权</small></article>
      </div>
      <div className="data-lake-datasets" aria-label="本地数据目录云端迁移明细">
        {(dataLake.data.datasets ?? []).map((dataset) => {
          const ready = dataset.files > 0 && dataset.verified === dataset.files;
          return <article key={dataset.id}><div><span>{dataLakeDatasetLabel[dataset.id] ?? dataset.id}</span><b className={ready ? "positive" : "hold"}>{ready ? "CLOUD VERIFIED" : "UPLOADING"}</b></div><strong>{dataset.verified.toLocaleString("zh-CN")} / {dataset.files.toLocaleString("zh-CN")}</strong><small>{compactBytes(dataset.bytes)} · 私有R2</small></article>;
        })}
      </div>
      <footer><b>云端可用性：</b><span>已对一个完整年度压缩包做 R2 下载、SHA-256 一致性和压缩包完整性验证；全量迁移仍在断点续传，新增文件会在最终重扫补齐。<br/><Link href="/vault/full-minute-data-cloud-readiness-and-deletion-gate-2026-08-06-md">打开完整数据与删除闸门审计 →</Link></span><em>{dataLake.error ?? `更新于 ${stamp(dataLake.data.generatedAt)}`}</em></footer>
    </section>

    <section className="execution-card portfolio-objective-card" aria-label="A股、ETF与可转债三策略组合">
      <header><div><span>THREE-SLEEVE PORTFOLIO OPTIMIZER V11</span><h2>全量研究 · 分层筛选 · 少量执行</h2></div><StatusDot ok={false} label="MIRROR ONLY" /></header>
      <div className="portfolio-objectives">
        {["扣除成本后的收益", "控制尾部风险", "跨周期稳定性", "制度允许下的速度"].map((item, index) => <article key={item}><span>0{index + 1}</span><b>{item}</b><small>{index === 0 ? "净收益而非毛收益" : index === 1 ? "日亏与回撤硬闸门" : index === 2 ? "分散、低波动与样本外检验" : "A股T+1；ETF与转债按规则T+0"}</small></article>)}
      </div>
      <p className="portfolio-formula"><b>{optimizer?.objective.name ?? "净风险调整收益优先"}</b><span>{optimizer?.objective.formula ?? "max[净收益 / 下行风险]，同时满足成本、流动性、回撤和合规硬约束"}</span></p>
      <div className="portfolio-sleeves">
        <article>
          <header><div><span>A-SHARE T+1 SLEEVE</span><h3>全量A股横截面策略</h3></div><em>LOCAL CHALLENGER</em></header>
          <dl><div><dt>研究范围</dt><dd>{optimizer?.sleeves.aShare.universeCount.toLocaleString("zh-CN") ?? registry?.totals.listedAStocks.toLocaleString("zh-CN") ?? "同步中"} 只</dd></div><div><dt>执行制度</dt><dd>T+1 · 次日限价</dd></div><div><dt>目标持仓</dt><dd>{optimizer?.sleeves.aShare.config.targetHoldings ?? 24} 只</dd></div><div><dt>退出规则</dt><dd>次日起动态退出 · 强趋势可延长</dd></div><div><dt>当前入选</dt><dd>0 · 不伪造数据</dd></div></dl>
          <p>{optimizer?.sleeves.aShare.blocker ?? "等待点时财务、复权、停复牌和历史成分数据，未通过样本外检验前不生成交易。"}</p>
        </article>
        <article>
          <header><div><span>INTRADAY ETF T+0 SLEEVE</span><h3>全量日内ETF扫描策略</h3></div><em>{etfRegimeV2.selectedPolicy}</em></header>
          <dl><div><dt>核验候选</dt><dd>{optimizer?.sleeves.intradayEtf.universeCount.toLocaleString("zh-CN") ?? registry?.totals.verifiedT0Funds.toLocaleString("zh-CN") ?? "同步中"} 只</dd></div><div><dt>研究短名单</dt><dd>最多 {optimizer?.sleeves.intradayEtf.researchShortlistCapacity ?? 12} 只</dd></div><div><dt>最大激活</dt><dd>{optimizer?.sleeves.intradayEtf.config.maximumActiveSymbols ?? 6} 只</dd></div><div><dt>当前镜像</dt><dd>{optimizer?.sleeves.intradayEtf.activeSymbols.join(" / ") ?? "510900 / 511010 / 518880"}</dd></div><div><dt>真实订单</dt><dd>0 · LOCKED</dd></div></dl>
          <p>{optimizer?.sleeves.intradayEtf.blocker ?? "全量候选先进入研究目录；扩大动态执行名单前仍需逐只历史、IOPV及券商Level-2验收。"}</p>
        </article>
        <article>
          <header><div><span>CONVERTIBLE BOND T+0 SLEEVE</span><h3>可转债日内策略</h3></div><em>DATA GATED</em></header>
          <dl><div><dt>官方目录候选</dt><dd>{optimizer?.sleeves.convertibleBond.universeCount.toLocaleString("zh-CN") ?? registry?.totals.verifiedT0ConvertibleBonds.toLocaleString("zh-CN") ?? "同步中"} 只</dd></div><div><dt>执行制度</dt><dd>T+0 · 限价排队</dd></div><div><dt>研究短名单</dt><dd>最多 {optimizer?.sleeves.convertibleBond.researchShortlistCapacity ?? 12} 只</dd></div><div><dt>最大激活</dt><dd>{optimizer?.sleeves.convertibleBond.config.maximumActiveSymbols ?? 4} 只</dd></div><div><dt>当前镜像</dt><dd>0 · 历史/事件数据闸门</dd></div><div><dt>真实订单</dt><dd>0 · LOCKED</dd></div></dl>
          <p>{optimizer?.sleeves.convertibleBond.blocker ?? "等待可信的历史分钟、盘中目录、转股溢价率与强赎状态。"}</p>
        </article>
      </div>
      <div className="etf-scanner-panel">
        <header><div><span>FULL T+0 ETF LIQUIDITY PREFILTER</span><b>全量日内基金流动性预筛选</b></div><small>{etfScanner ? `${etfScanner.status.toUpperCase()} · ${stamp(etfScanner.lastScanAt)}` : "等待首次扫描"}</small></header>
        <div>{(etfScanner?.shortlist ?? []).slice(0, 6).map((candidate, index) => <article key={candidate.symbol}><span>{String(index + 1).padStart(2, "0")}</span><div><b>{candidate.symbol} · {candidate.name}</b><small>{candidate.venue} · 成交额 {compactCny(candidate.amount)} · 换手 {candidate.turnoverPct.toFixed(2)}%</small></div><em>{candidate.liquidityScore.toFixed(2)}</em></article>)}{!etfScanner?.shortlist.length && <p>首轮公开行情批量扫描尚未完成；当前3只验收基金继续独立镜像，真实订单仍为0。</p>}</div>
        <footer><span>候选 {etfScanner?.universeCount ?? optimizer?.sleeves.intradayEtf.universeCount ?? registry?.totals.verifiedT0Funds ?? 0}</span><span>滚动覆盖 {etfScanner?.coverageCount ?? etfScanner?.validQuoteCount ?? 0}</span><span>完整轮次 {etfScanner?.completedCycles ?? 0}</span><span>展示前6 / 研究短名单最多12</span><small>{etfScanner?.lastError ?? etfScanner?.disclosure ?? "预筛选不等于交易名单。"}</small></footer>
      </div>
      <div className="etf-history-verdict">
        <div><span>ETF历史分钟</span><b>{etfMinuteAudit.minute.totals.rows.toLocaleString("zh-CN")} 行</b><small>{etfMinuteAudit.minute.totals.firstDate}–{etfMinuteAudit.minute.totals.lastDate} · 历史出现 {etfMinuteAudit.minute.totals.historicalCodes.toLocaleString("zh-CN")} 只</small></div>
        <div><span>当前T+0覆盖</span><b className="positive">{etfMinuteAudit.minute.totals.currentVerifiedT0Seen} / {etfMinuteAudit.minute.totals.currentVerifiedT0Requested}</b><small>均有历史分钟；最新日缺1只，待核实停牌/无成交</small></div>
        <div><span>第二轮研究</span><b className="hold">{etfRegimeV2.selectedPolicy}</b><small>验证年化 {(etfRegimeV2.bestRiskyCandidate.validation.annualizedReturn * 100).toFixed(2)}% · 不强迫交易</small></div>
        <div><span>最终留出审计</span><b>{(etfRegimeV2.bestRiskyCandidate.finalHoldout.annualizedReturn * 100).toFixed(2)}%</b><small>未参与选参 · 最大回撤 {(etfRegimeV2.bestRiskyCandidate.finalHoldout.maxDrawdown * 100).toFixed(2)}%</small></div>
      </div>
      <div className="portfolio-risk-strip"><span>目标年化波动 {((optimizer?.riskLimits.targetAnnualVolatility ?? .08) * 100).toFixed(0)}%</span><span>最高总敞口 {((optimizer?.riskLimits.maxPortfolioGrossWeight ?? .4) * 100).toFixed(0)}%</span><span>现金储备 ≥ {((optimizer?.riskLimits.minimumCashReserve ?? .6) * 100).toFixed(0)}%</span><span>日亏停止 {((optimizer?.riskLimits.dailyLossLimit ?? .004) * 100).toFixed(2)}%</span><span>硬回撤 {((optimizer?.riskLimits.hardDrawdown ?? .04) * 100).toFixed(0)}%</span><span>公网下单接口 0</span></div>
    </section>

    <section className="execution-card research-evidence-card" aria-label="外部金融研究方法与真实数据能力">
      <header><div><span>RESEARCH EVIDENCE GOVERNANCE V7</span><h2>外部研究方法已吸收，订单权限仍隔离</h2></div><StatusDot ok={researchEvidence.currentVerdict.realPublicMarketDataAvailable} label="PUBLIC QUOTES LIVE" /></header>
      <div className="research-data-state">
        <article><span>真实公开报价</span><b>已连接</b><small>东方财富 / 腾讯 · 研究级</small></article>
        <article><span>证券目录</span><b>已连接</b><small>沪 / 深 / 北交易所目录</small></article>
        <article><span>点时每日估值</span><b className="positive">本地已接入</b><small>{localArchive.dataset.dailyValuationRows.toLocaleString("zh-CN")}条 · 云端仍隔离</small></article>
        <article><span>券商 L2 / IOPV</span><b className="hold">未连接</b><small>不能还原真实队列</small></article>
        <article><span>真实资金订单</span><b className="hold">0</b><small>券商路由保持锁定</small></article>
      </div>
      <p className="research-evidence-verdict">{researchEvidence.currentVerdict.reason}</p>
      <div className="research-source-grid">
        {researchEvidence.sources.map((source) => <article key={source.id}>
          <header><b>{source.name}</b><em className={source.disposition.toLowerCase()}>{source.disposition === "ADOPTED_METHOD" ? "已吸收方法" : source.disposition === "OPTIONAL_READ_ONLY" ? "可选只读" : source.disposition === "REJECTED_LIVE_INPUT" ? "不进入实盘" : "只限研究"}</em></header>
          <p>{source.adopted.slice(0, 2).join(" · ")}</p>
          <small>{source.dataGrade} · {source.license}</small>
        </article>)}
      </div>
      <footer className="research-evidence-policy"><span>独立来源 ≥ {researchEvidence.policy.minimumIndependentSources}</span><span>强制点时 as-of</span><span>单仓风险贡献 ≤ {(researchEvidence.policy.maximumSinglePositionRiskContribution * 100).toFixed(0)}%</span><span>压力相关性 ≤ {researchEvidence.policy.maximumStressedPairCorrelation.toFixed(2)}</span><span>LLM 下单权：无</span><Link href="/vault/external-finance-skills-integration-2026-08-04-md">完整审查 →</Link></footer>
    </section>

    <section className="execution-card independent-accounts-card" id="independent-accounts" aria-label="个股、ETF与可转债独立影子账户">
      <header><div><span>INDEPENDENT SHADOW LEDGERS</span><h2>个股、ETF、可转债分账运行</h2></div><StatusDot ok label="3 LOOPS / 2 DATA GATES" /></header>
      <p className="account-isolation-note">{independent?.isolation.note ?? "三个账户不共享现金、持仓、保证金、订单或熔断状态；只在只读摘要中汇总。"}</p>
      <div className="independent-account-grid">
        <article>
          <header><div><span>A-SHARE T+1</span><h3>个股独立影子账户</h3></div><em className="gated">{independent?.aShareT1.runtimeStatus ?? "RUNNING_DATA_GATED"}</em></header>
          <div className="account-ledger-metrics"><div><span>权益</span><b>{money(independent?.aShareT1.equity ?? 1_000_000)}</b></div><div><span>持仓 / 成交</span><b>{independent?.aShareT1.positions ?? 0} / {independent?.aShareT1.trades ?? 0}</b></div><div><span>真实订单</span><b>0</b></div></div>
          <dl><div><dt>信号与提交</dt><dd>{independent?.aShareT1.waitingModel.earliestSubmit ?? "T日收盘信号；T+1集合或连续竞价"}</dd></div><div><dt>T+1卖出锁</dt><dd>{independent?.aShareT1.waitingModel.sellLock ?? "买入后最早下一交易日可卖"}</dd></div><div><dt>排队等待</dt><dd>{independent?.aShareT1.waitingModel.queueWaitMs ?? "0–整场；封板时可能不成交"}</dd></div><div><dt>队列模型</dt><dd>{independent?.aShareT1.waitingModel.queueModel ?? "竞价分段+价格时间优先代理"}</dd></div></dl>
          <p>{independent?.aShareT1.blocker ?? "循环已启动；点时数据闸门拦截所有选股与委托。"}</p>
        </article>
        <article>
          <header><div><span>INTRADAY ETF T+0</span><h3>ETF 独立影子账户</h3></div><em className="active">{independent?.intradayEtfT0.runtimeStatus ?? "STARTING"}</em></header>
          <div className="account-ledger-metrics"><div><span>权益</span><b>{money(independent?.intradayEtfT0.equity ?? mirror?.account.equity ?? 1_000_000)}</b></div><div><span>持仓 / 成交</span><b>{independent?.intradayEtfT0.positions ?? 0} / {independent?.intradayEtfT0.trades ?? mirror?.tradeCount ?? 0}</b></div><div><span>真实订单</span><b>0</b></div></div>
          <dl><div><dt>循环</dt><dd>{independent?.intradayEtfT0.waitingModel.cycleSeconds ?? 2} 秒</dd></div><div><dt>四段延迟</dt><dd>行情 + 决策 + 券商网关 + 交易所确认</dd></div><div><dt>排队 / 撤单</dt><dd>{independent?.intradayEtfT0.waitingModel.queueWaitMs ?? "0–15秒，撤单前仍可能成交"}</dd></div><div><dt>队列模型</dt><dd>{independent?.intradayEtfT0.waitingModel.queueModel ?? "L1可见量+容量代理+部分成交"}</dd></div></dl>
          <p>{independent?.intradayEtfT0.note ?? "云端镜像持续运行；公开行情仅供研究，非券商成交。"}</p>
        </article>
        <article>
          <header><div><span>CONVERTIBLE BOND T+0</span><h3>可转债独立影子账户</h3></div><em className="gated">{independent?.convertibleBondT0.runtimeStatus ?? "RUNNING_DATA_GATED"}</em></header>
          <div className="account-ledger-metrics"><div><span>权益</span><b>{money(independent?.convertibleBondT0.equity ?? 1_000_000)}</b></div><div><span>持仓 / 成交</span><b>{independent?.convertibleBondT0.positions ?? 0} / {independent?.convertibleBondT0.trades ?? 0}</b></div><div><span>真实订单</span><b>0</b></div></div>
          <dl><div><dt>循环</dt><dd>{independent?.convertibleBondT0.waitingModel.cycleSeconds ?? 2} 秒</dd></div><div><dt>交易规则</dt><dd>T+0 · 14:55前退出</dd></div><div><dt>研究闸门</dt><dd>价差、容量、溢价率、强赎和到期</dd></div><div><dt>队列模型</dt><dd>{independent?.convertibleBondT0.waitingModel.queueModel ?? "公开L1+容量代理；无Level-2不声称真实队位"}</dd></div></dl>
          <p>{independent?.convertibleBondT0.blocker ?? "等待可信转债分钟与强赎状态源；未生成影子委托。"}</p>
        </article>
      </div>
      <footer><span>共享现金：否</span><span>交叉保证金：否</span><span>跨账户熔断：否</span><span>自动资金划转：否</span><span>公网写接口：0</span></footer>
    </section>

    <section className="execution-card data-backfill-card" aria-label="方案一数据与八月五日盘中测试证据">
      <header><div><span>DATA PROVENANCE / 2026-08-05</span><h2>方案一实测 · 十年面板回填 · 盘中前向审计</h2></div><StatusDot ok={vendorAudit.verdict.usableForResearch} label="READ-ONLY VERIFIED" /></header>
      <div className="data-backfill-grid">
        <article><span>方案一接口审计</span><b>{vendorAudit.summary.successful} / {vendorAudit.summary.tests}</b><small>日线、复权、上市/退市、ST与停牌研究数据可用</small></article>
        <article><span>方案二独立测试</span><b className="hold">尚未进行</b><small>没有独立Token、接口地址和权限清单；不把宣传当结果</small></article>
        <article><span>十年交易日</span><b>{backfillStatus.run.completed} / {backfillStatus.tradingDaysDiscovered}</b><small>逐日全市场真实日线；复权因子抽样核验；断点续传</small></article>
        <article><span>全量点时记录</span><b>{pointInTime.dataset.totalRows.toLocaleString("zh-CN")}</b><small>{pointInTime.dataset.securitiesObserved.toLocaleString("zh-CN")}只历史出现证券；含已退市样本</small></article>
        <article><span>本地26年日线</span><b>{localArchive.dataset.rows.toLocaleString("zh-CN")}</b><small>{localArchive.dataset.securitiesObserved.toLocaleString("zh-CN")}只 · {localArchive.dataset.start} 至 {localArchive.dataset.end}</small></article>
        <article><span>本地估值候选</span><b>{localArchive.configsEvaluated}</b><small>最终留出不选参 · 真金仍锁定</small></article>
        <article><span>历史规则实测</span><b>{marketRuleProbe.tests.filter((item) => item.ok).length} / {marketRuleProbe.tests.length}</b><small>2016 / 2020 / 2026：涨跌停、停牌、ST只读探测</small></article>
        <article><span>交易规则逐日回填</span><b>{ruleBackfillStatus.run.completed} / {ruleBackfillStatus.run.selected}</b><small>失败 {ruleBackfillStatus.run.failed} · 涨跌停 {ruleBackfillStatus.rows.priceLimits.toLocaleString("zh-CN")} 条</small></article>
        <article><span>历史竞价权限</span><b className="positive">已恢复</b><small>开盘 {intradayPermission.tests[4].rows.toLocaleString("zh-CN")} · 盘中 {intradayPermission.tests[5].rows.toLocaleString("zh-CN")} · 收盘 {intradayPermission.tests[6].rows.toLocaleString("zh-CN")}</small></article>
        <article><span>开盘竞价逐日回填</span><b>{auctionBackfillStatus.run.completed} / {auctionBackfillStatus.run.selected}</b><small>失败 {auctionBackfillStatus.run.failed} · 开盘记录 {auctionBackfillStatus.rows.opening.toLocaleString("zh-CN")} 条</small></article>
        <article><span>历史分钟权限</span><b className={minutePermissionAvailable ? "positive" : "hold"}>{minutePermissionLabel}</b><small>{minutePermissionAvailable ? "权限已验证；停止重复检查并转入历史回填" : `17:00终检 ${stamp(minutePermission.checkedAt)} · 权限仍未开通，未启动虚假回填`}</small></article>
        <article><span>A股与指数历史分钟</span><b className="positive">58 个年度ZIP</b><small>沪深2000–2025 · 京市2020–2025 · 已持有区间连续</small></article>
        <article><span>ETF历史1分钟</span><b className="positive">{etfMinuteAudit.minute.totals.rows.toLocaleString("zh-CN")}</b><small>2010–2026 · 2,683只历史代码 · 当前T+0覆盖227/227</small></article>
        <article><span>分钟订单匹配</span><b>{historicalMinute.minuteAudit.ordersWithMinuteBars.toLocaleString("zh-CN")}</b><small>请求 {historicalMinute.minuteAudit.ordersRequested.toLocaleString("zh-CN")} · 首价差P95 {(historicalMinute.minuteAudit.minuteVsDailyOpenP95AbsoluteDifference * 100).toFixed(3)}%</small></article>
        <article><span>三十年数据验证</span><b>{longHistoryAudit.earliestDate}</b><small>{longHistoryAudit.totalDailyRows.toLocaleString("zh-CN")}条退市样本日线；全市场长回测仍未冒充完成</small></article>
        <article><span>8月5日模拟委托</span><b>{intradayAudit.executionStats.submitted}</b><small>成交 {intradayAudit.executionStats.fillEvents} · 超时 {intradayAudit.executionStats.expired}</small></article>
        <article><span>8月5日真实订单</span><b>0</b><small>行情 {intradayAudit.marketData.status} · 下单路由未武装</small></article>
      </div>
      <div className="data-provenance-notes"><p><b>已解决：</b>本地TuShare压缩包已完成2000–2026全量日期排序研究，覆盖{localArchive.dataset.rows.toLocaleString("zh-CN")}条日线和{localArchive.dataset.dailyValuationRows.toLocaleString("zh-CN")}条每日估值；A股/指数年度分钟与ETF 2010–2026一分钟数据均已进入研究。</p><p><b>仍未解决：</b>2000年前全量A股分钟、2010年前全量ETF分钟、历史逐日官方T+0资格快照、历史IOPV、券商Level-2真实队位、订单编号和券商成交回报仍缺；这些缺口阻止真实资金晋级。</p></div>
      <footer><Link href="/vault/vendor-tushare-readonly-audit-2026-08-05-md">方案一完整审计 →</Link><Link href="/vault/cn-intraday-shadow-audit-2026-08-05-md">8月5日盘中审计 →</Link><span>真实资金继续 LOCKED</span></footer>
    </section>

    <section className="execution-card walkforward-card" id="historical-validation" aria-label="二十六年历史分钟成交与风险覆盖层审计">
      <header><div><span>2000–2025 MINUTE REPLAY / FROZEN ALPHA</span><h2>历史分钟重放 · 执行策略优化</h2></div><StatusDot ok={historicalMinute.gates.minuteDataAcceptedForResearch} label="MINUTE RESEARCH ACCEPTED" /></header>
      <div className="walkforward-metrics"><article><span>年度ZIP</span><b>{historicalMinute.inventories.stock.archives + historicalMinute.inventories.beijing.archives + historicalMinute.inventories.index.archives}</b><small>{(Object.values(historicalMinute.inventories).reduce((sum, item) => sum + item.archiveBytes, 0) / 1073741824).toFixed(2)} GiB · 75,601个正文成员</small></article><article><span>冻结成员</span><b>{historicalMinute.dailyReplay.frozenMembers.length}</b><small>分钟研究前已冻结；留出不重选</small></article><article><span>订单重放</span><b>{historicalMinute.minuteAudit.ordersWithMinuteBars.toLocaleString("zh-CN")}</b><small>共请求 {historicalMinute.minuteAudit.ordersRequested.toLocaleString("zh-CN")} 笔</small></article><article><span>选中执行</span><b>09:31 / 15m</b><small>1%成交额参与上限 · 不足部分受罚</small></article><article><span>理想开盘留出</span><b>{(minuteBaseline.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {minuteBaseline.sharpe.toFixed(3)} · DD {(minuteBaseline.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>分钟执行留出</span><b className="positive">{(minuteExecution.finalHoldout.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {minuteExecution.finalHoldout.sharpe.toFixed(3)} · DD {(minuteExecution.finalHoldout.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>低回撤覆盖层</span><b>{(minuteCombined.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {minuteCombined.sharpe.toFixed(3)} · DD {(minuteCombined.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>真实资金</span><b className="negative">LOCKED</b><small>分钟K线 ≠ Level-2 · 转债分钟仍缺</small></article></div>
      <div className="walkforward-verdict"><b>结论：A股分钟执行方案保留为影子挑战者；ETF新分钟研究选择现金控制</b><p>09:31起、1%成交额参与上限、15分钟窗口是在A股校准/验证期选出的固定执行规则。ETF 2010–2026分钟数据已完成全量扫描，但两轮T+0策略在验证期均未产生正净优势；第二轮最优风险候选验证年化仍为{(etfRegimeV2.bestRiskyCandidate.validation.annualizedReturn * 100).toFixed(2)}%，因此选择CASH_CONTROL，不扩大激活仓位。指数覆盖层不自动替换主方案，只保留为保守模式；禁止用最终留出反向追参。</p><Link href="/vault/etf-intraday-regime-challenger-v2-2026-08-06-md">打开ETF第二轮研究 →</Link></div>
    </section>

    <section className="execution-card walkforward-card" aria-label="十年全市场点时日线三段隔离研究结果">
      <header><div><span>2016–2026 POINT-IN-TIME / FULL A-SHARE PANEL</span><h2>全市场点时截面 · 十年优化</h2></div><StatusDot ok={pointAccepted} label={pointAccepted ? "ACCEPTED" : "SHADOW ONLY"} /></header>
      <div className="walkforward-metrics"><article><span>本地历史证券</span><b>{localArchive.dataset.securitiesObserved.toLocaleString("zh-CN")} 只</b><small>2000–2026点时日期分区</small></article><article><span>本地日线记录</span><b>{localArchive.dataset.rows.toLocaleString("zh-CN")}</b><small>{localArchive.dataset.sessions}个交易日</small></article><article><span>本地候选网格</span><b>{localArchive.configsEvaluated}</b><small>价格＋估值＋低波；留出不选参</small></article><article><span>前五集成验证年化</span><b>{(localEnsemble.validation.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {localEnsemble.validation.sharpe.toFixed(2)} · DD {(localEnsemble.validation.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>前五集成最终留出</span><b>{(localEnsemble.finalHoldout.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {localEnsemble.finalHoldout.sharpe.toFixed(2)} · DD {(localEnsemble.finalHoldout.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>集成留出日胜率</span><b>{(localEnsemble.finalHoldout.dailyWinRate * 100).toFixed(2)}%</b><small>正收益年份 {(localEnsemble.finalHoldout.positiveYearRate * 100).toFixed(0)}%</small></article><article><span>单模型2倍成本留出</span><b>{(localDoubleCost.annualizedReturn * 100).toFixed(2)}%</b><small>Sharpe {localDoubleCost.sharpe.toFixed(2)} · DD {(localDoubleCost.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>同期沪深300留出年化</span><b>{pointBenchmark ? `${(pointBenchmark.finalHoldout.annualizedReturn * 100).toFixed(2)}%` : "—"}</b><small>{pointBenchmark ? `DD ${(pointBenchmark.finalHoldout.maxDrawdown * 100).toFixed(2)}%` : "基准加载中"}</small></article><article><span>指数轮动最终留出</span><b>{(indexRegime.challenger.finalHoldout.annualizedReturn * 100).toFixed(2)}%</b><small>DD {(indexRegime.challenger.finalHoldout.maxDrawdown * 100).toFixed(2)}%</small></article><article><span>35年最终留出年化</span><b className="negative">{(indexRegime35y.challenger.finalHoldout.annualizedReturn * 100).toFixed(2)}%</b><small>2016–2026 · 旧规律失效风险 · DD {(indexRegime35y.challenger.finalHoldout.maxDrawdown * 100).toFixed(2)}%</small></article></div>
      <div className="walkforward-years">{pointInTime.challenger.fullResearch.yearly.map((year) => <article key={year.year}><span>{year.year}</span><b className={year.return >= 0 ? "positive" : "negative"}>{(year.return * 100).toFixed(2)}%</b><small>点时日线 · 含摩擦</small></article>)}</div>
      <div className="walkforward-verdict"><b>结论：验证期前五等权集成降低单模型偶然性，但仍不准入真实资金</b><p>只按校准与2014–2021验证期选择的前五集成，验证年化 {(localEnsemble.validation.annualizedReturn * 100).toFixed(2)}%，在完全不参与选参的2022–2026留出期衰减至 {(localEnsemble.finalHoldout.annualizedReturn * 100).toFixed(2)}%，留出日胜率 {(localEnsemble.finalHoldout.dailyWinRate * 100).toFixed(2)}%。单模型在2倍成本压力下留出年化进一步降至 {(localDoubleCost.annualizedReturn * 100).toFixed(2)}%。ETF历史分钟已经补齐并完成独立研究，但冠军选择CASH_CONTROL；可转债历史分钟、券商Level-2、历史IOPV和真实成交回报仍缺失。禁止用留出结果反向追参，不晋级真实资金。系统没有用随机游走预测股价。</p><Link href="/vault/local-three-folders-streaming-strategy-optimization-v1-2026-08-05-md">打开本地三目录完整报告 →</Link></div>
    </section>

    <section className="execution-card broker-selection-card" id="broker-selection" aria-label="中国券商候选比较">
      <header><div><span>BROKER DECISION / DEFERRED · 性能闸门未通过</span><h2>券商选择：等策略通过后再决定</h2></div><StatusDot ok={false} label="NO WINNER" /></header>
      <div className="broker-decision-summary"><div><span>当前动作</span><b>{brokerSelection.currentRecommendation}</b></div><div><span>东方财富结论</span><b>可用候选，但不是当前最优结论</b></div><div><span>现有账号</span><b>保留，不迁移，不提交给门户</b></div></div>
      <div className="broker-candidate-grid">{brokerSelection.candidates.map((candidate) => <article key={candidate.id}><header><div><span>{candidate.id}</span><h3>{candidate.name}</h3></div><em>{candidate.complexity}</em></header><p>{candidate.fit}</p><small>{candidate.limitations}</small>{candidate.official && <a href={candidate.official} target="_blank" rel="noreferrer">官方资料 →</a>}</article>)}</div>
      <footer><b>你现在什么都不用准备：</b><span>继续内部影子测试 → 通过后比较个人QMT/PTrade仿真 → 再做券商仿真与断线对账 → 最后才考虑极小资金。</span></footer>
    </section>

    <div className="active-universe-heading"><div><span>ACTIVE MIRROR POOL</span><h2>当前镜像激活标的</h2></div><small>全量目录不会自动扩大风险；当前仅3只已验收基金参与信号与撮合</small></div>
    <section className="cn-universe" aria-label="当前激活A股场内T+0基金池">
      {(mirror?.universe ?? [
        { symbol: "510900", name: "H股ETF", assetClass: "HK_EQUITY", maxWeight: .08, targetAnnualVolatility: .08 },
        { symbol: "511010", name: "国债ETF", assetClass: "CNY_GOVERNMENT_BOND", maxWeight: .12, targetAnnualVolatility: .025 },
        { symbol: "518880", name: "黄金ETF", assetClass: "GOLD", maxWeight: .10, targetAnnualVolatility: .06 },
      ]).map((instrument) => <article key={instrument.symbol}><span>{instrument.symbol}</span><div><b>{instrument.name}</b><small>{instrument.assetClass === "HK_EQUITY" ? "港股重叠交易 · 权益收益源" : instrument.assetClass === "GOLD" ? "黄金现货映射 · 分散风险" : "人民币国债 · 防御资产"}</small></div><em>上限 {(instrument.maxWeight * 100).toFixed(0)}%</em></article>)}
    </section>

    <section className="execution-pipeline cn-pipeline">
      {[
        { code: "UV", title: "官方全量目录", state: registry?.status ?? "同步中" },
        { code: "MD", title: "公开L1与分钟行情", state: mirror?.marketDataStatus ?? "连接中" },
        { code: "TA", title: "趋势与VWAP", state: "EMA 20 / 60" },
        { code: "AG", title: "多角色研究", state: "多头·空头·流动性" },
        { code: "RK", title: "确定性硬风控", state: "日亏·回撤·仓位" },
        { code: "OM", title: "拟真实撮合", state: "延迟·部分成交·撤单" },
        { code: "BR", title: "中国券商", state: "LOCKED" },
      ].map((item, index, list) => <article key={item.code}><span>{item.code}</span><div><b>{item.title}</b><small>{item.state}</small></div>{index < list.length - 1 && <i>→</i>}</article>)}
    </section>

    <section className="execution-card live-mirror-card" id="live-mirror">
      <header><div><span>CN T+0 LIVE MIRROR / SIMULATION ONLY</span><h2>A股场内T+0实盘映射账户</h2></div><StatusDot ok={mirrorHealthy} label={mirror ? (mirror.account.daily_halt ? "DAILY HALT" : mirror.account.killed ? "KILLED" : mirror.marketDataStatus.toUpperCase()) : "STARTING"} /></header>
      {mirror ? <>
        <div className="execution-metrics"><div><span>镜像账户权益</span><b>{money(mirror.account.equity)}</b></div><div><span>启用以来收益率</span><b className={mirror.account.equity >= mirror.account.starting_cash ? "positive" : "negative"}>{percent(mirror.account.equity / mirror.account.starting_cash - 1)}</b></div><div><span>当日收益率</span><b className={mirror.account.daily_return >= 0 ? "positive" : "negative"}>{percent(mirror.account.daily_return)}</b></div><div><span>当前回撤</span><b className={mirror.account.drawdown >= 0 ? "positive" : "negative"}>{percent(mirror.account.drawdown)}</b></div></div>
        <div className="execution-sim-metrics"><div><span>累计模拟成交</span><b>{mirror.tradeCount}</b><small>仅内部账本，不是券商成交</small></div><div><span>平均模拟延迟</span><b>{averageLatency ? `${Math.round(averageLatency)} ms` : "—"}</b><small>行情+信号+网关+交易所回报</small></div><div><span>部分成交事件</span><b>{mirror.executionStats.partial}</b><small>可见盘口与分钟量双重容量</small></div><div><span>撤单 / 超时 / 拒单</span><b>{mirror.executionStats.canceled} / {mirror.executionStats.expired} / {mirror.executionStats.rejected}</b><small>撤单竞态成交 {mirror.executionStats.cancelRaceFills ?? 0}</small></div></div>
        <div className="mirror-body">
          <div className="mirror-chart"><EquityCanvas curve={mirror.equityCurve} points={mirror.equityPoints} /></div>
          <div className="mirror-map"><b>实盘映射边界</b><dl><div><dt>市场 / 币种</dt><dd>中国场内基金 / CNY</dd></div><div><dt>行情</dt><dd>公开L1五档+分钟 · 非券商Level-2</dd></div><div><dt>信号</dt><dd>EMA20/60 · VWAP · 波动率</dd></div><div><dt>研究闸门</dt><dd>TradingAgents启发的六角色复核</dd></div><div><dt>订单</dt><dd>100份整数倍 · 千分位限价</dd></div><div><dt>排队 / 延迟</dt><dd>可见量+隐藏量代理 · 四段延迟</dd></div><div><dt>撤单</dt><dd>15秒请求 · 成交/撤单回报竞态</dd></div><div><dt>仍无法复现</dt><dd>Level-2真实队位 · IOPV · 券商风控</dd></div></dl></div>
        </div>
        <p className="engine-decision">{mirror.lastDecision}{mirror.marketDataError ? ` · ${mirror.marketDataError}` : ""} · 行情 {stamp(mirror.marketDataTimestamp)}</p>
	        <div className="mirror-positions responsive-table"><table><thead><tr><th>代码</th><th>基金</th><th>数量</th><th>最新价</th><th>涨跌</th><th>平均成本</th><th>市值</th><th>未实现盈亏</th></tr></thead><tbody>{mirror.positions.map((position) => { const change = position.previous_close > 0 ? position.price / position.previous_close - 1 : 0; return <tr key={position.symbol}><td><b>{position.symbol}</b></td><td>{position.name}</td><td>{position.qty}</td><td>¥{position.price.toFixed(3)}</td><td className={change > 0 ? "positive" : change < 0 ? "negative" : ""}>{percent(change)}</td><td>{position.avg_cost ? `¥${position.avg_cost.toFixed(3)}` : "—"}</td><td>{money(position.market_value)}</td><td className={position.unrealized_pnl > 0 ? "positive" : position.unrealized_pnl < 0 ? "negative" : ""}>{position.qty ? money(position.unrealized_pnl) : "—"}</td></tr>; })}</tbody></table></div>
	        {mirror.openOrders.length > 0 && <div className="mirror-open-orders responsive-table"><table><thead><tr><th>提交时间</th><th>标的</th><th>方向</th><th>已成交 / 委托</th><th>限价</th><th>队列代理量</th><th>分段延迟</th><th>状态</th><th>撤单请求</th></tr></thead><tbody>{mirror.openOrders.map((order) => <tr key={order.id}><td>{stamp(order.submittedAt)}</td><td><b>{order.symbol}</b></td><td className={order.side === "BUY" ? "buy" : "sell"}>{order.side}</td><td>{order.filledQty} / {order.requestedQty}</td><td>¥{order.limitPrice.toFixed(3)}</td><td>{order.queueAheadQty}</td><td>{order.latencyBreakdown ? `${order.latencyBreakdown.marketDataTransportMs}+${order.latencyBreakdown.signalDecisionMs}+${order.latencyBreakdown.brokerGatewayMs}+${order.latencyBreakdown.exchangeAckMs}ms` : "—"}</td><td><span className={`order-phase ${order.status.toLowerCase()}`}>{order.status}</span></td><td>{order.cancelRequestedAt ? stamp(order.cancelRequestedAt) : stamp(order.expiresAt)}</td></tr>)}</tbody></table></div>}
	        <div className="cloud-execution-log">
	          <header><div><span>CLOUD EXECUTION LEDGER</span><b>云端逐笔事件日志</b></div><small>云端引擎持久化 · 网页秒级同步 · 不调用 Codex</small></header>
	          {(mirror.executionEvents ?? []).length > 0 ? <div className="responsive-table"><table><thead><tr><th>北京时间</th><th>事件</th><th>标的 / 方向</th><th>已成交 / 委托</th><th>限价 / 成交价</th><th>排队 / 延迟</th><th>费用 / 已实现盈亏</th><th>说明</th><th>真实订单</th></tr></thead><tbody>{mirror.executionEvents.slice(0, 24).map((event) => <tr key={`${event.sequence}-${event.timestamp}`} className={event.event === "MARKET_DATA_ERROR" || event.event === "ORDER_REJECTED" ? "cloud-event-warning" : ""}><td>{stamp(event.timestamp)}</td><td><b>{cloudEventLabel[event.event] ?? event.event}</b><small>{event.status ?? "—"}</small></td><td><span>{event.symbol ?? "系统"}</span><em className={event.side === "BUY" ? "buy" : event.side === "SELL" ? "sell" : ""}>{event.side ?? "—"}</em></td><td>{event.filledQty ?? 0} / {event.requestedQty ?? "—"}</td><td>{event.limitPrice !== undefined ? `¥${event.limitPrice.toFixed(3)}` : "—"} / {event.fillPrice !== undefined ? `¥${event.fillPrice.toFixed(3)}` : "—"}</td><td>{event.queueAheadQty ?? "—"} / {event.modeledLatencyMs !== undefined ? `${event.modeledLatencyMs}ms` : "—"}</td><td>{event.fee !== undefined ? money(event.fee) : "—"} / <span className={(event.realizedPnl ?? 0) > 0 ? "positive" : (event.realizedPnl ?? 0) < 0 ? "negative" : ""}>{event.realizedPnl !== undefined ? money(event.realizedPnl) : "—"}</span></td><td>{event.detail ?? "—"}</td><td><strong>0</strong></td></tr>)}</tbody></table></div> : <div className="execution-empty compact"><b>当前没有委托或成交事件</b><p>系统会在云端记录行情故障、恢复、委托、排队、部分成交、撤单、拒单和成交；没有事件时不产生聊天消息。</p></div>}
	        </div>
	        <div className="intent-list mirror-trades">{mirror.trades.slice(0, 8).map((trade) => <article key={trade.id}><time>{stamp(trade.ts)}</time><b>{trade.symbol}</b><span className={trade.side === "BUY" ? "buy" : "sell"}>{trade.side}</span><em>{trade.qty} × ¥{trade.price.toFixed(3)} · {trade.orderStatus}</em><small>{trade.modeledLatencyMs}ms · 价差{trade.modeledSpreadBps.toFixed(1)}bp · {trade.signal}</small></article>)}{!mirror.trades.length && <div className="execution-empty compact"><b>准实盘镜像已启动，当前没有成交</b><p>休市、行情陈旧、趋势证据不足、流动性不合格或风险委员会否决时，系统保持空仓。</p></div>}</div>
      </> : <div className="execution-empty"><b>正在创建人民币独立镜像账户</b><p>它不复用美股SPY、QQQ、GLD的资金、持仓或收益曲线。</p></div>}
    </section>

    <section className="execution-card agent-committee-card" id="research-committee">
      <header><div><span>TRADINGAGENTS-INSPIRED RESEARCH GATE</span><h2>多角色研究与反方复核</h2></div><a href="https://github.com/TauricResearch/TradingAgents" target="_blank" rel="noreferrer">查看参考项目 ↗</a></header>
      <p className="committee-disclosure">GitHub项目不是Codex Skill，而是Apache-2.0开源的多智能体研究框架。本系统借鉴其角色分工、牛熊辩论和风险经理审批，但为了可复现与安全，生产信号使用结构化确定性评分；AI观点不能直接下单，也不能放宽仓位或熔断线。</p>
      <div className="committee-symbols">{latestCommittee.map(({ instrument, result }) => <article key={instrument.symbol}><header><div><b>{instrument.symbol} · {instrument.name}</b><small>{result?.framework ?? "等待60分钟样本"}</small></div><span className={`committee-decision ${(result?.decision ?? "HOLD").toLowerCase()}`}>{result?.decision ?? "HOLD"}</span></header><div className="committee-votes">{(result?.reports ?? []).map((report) => <div key={report.role}><span>{report.role}</span><b className={report.vote.toLowerCase()}>{report.vote}</b><small>{report.summary}</small></div>)}</div></article>)}</div>
    </section>

    <section className="execution-card eastmoney-gateway-card" id="eastmoney-gateway">
      <header><div><span>EASTMONEY EMT / SIMULATION PREFLIGHT</span><h2>东方财富接入准备</h2></div><StatusDot ok={false} label="INTERNAL SHADOW" /></header>
      <div className="eastmoney-summary"><article><span>候选券商</span><b>{eastmoney.broker}</b><small>已有资金账户；并未选中</small></article><article><span>候选接口</span><b>EMT API</b><small>东方财富官方接口</small></article><article><span>是否现在接QMT</span><b>不需要</b><small>策略未通过，不接任何券商</small></article><article><span>真实订单</span><b>0</b><small>EMT下单方法未编译</small></article></div>
      <div className="eastmoney-body">
        <div><h3>当前可以继续运行</h3><p>云端两个独立影子账户照常使用公开实盘行情和拟真实撮合，不需要资金账号、QMT或EMT密钥。它们不会触碰东方财富账户资金。</p><dl><div><dt>当前路由</dt><dd>{eastmoney.currentRoute}</dd></div><div><dt>账户号码</dt><dd>未收集 · 未存储 · 未显示</dd></div><div><dt>运行环境</dt><dd>{eastmoney.platform.currentHost}</dd></div><div><dt>真实委托代码</dt><dd>ABSENT / HARD LOCKED</dd></div></dl></div>
        <div><h3>以后接券商仿真需要</h3><ul><li className={eastmoney.checks.emtTrialApproved ? "done" : "hold"}>EMT API测试权限</li><li className={eastmoney.checks.emtSdkInstalledOnWindows ? "done" : "hold"}>Windows x64 EMT SDK</li><li className={eastmoney.checks.windowsRelayConfigured ? "done" : "hold"}>本地隔离桥与心跳</li><li className={eastmoney.checks.encryptedSecretsConfigured ? "done" : "hold"}>加密Secrets</li><li className={eastmoney.checks.programTradingReportConfirmed ? "done" : "hold"}>程序化交易报告确认</li><li className={eastmoney.checks.brokerSimulationVerified ? "done" : "hold"}>仿真查询、断线与对账验收</li></ul><p>{eastmoney.nextAction}</p></div>
      </div>
      <footer><a href={eastmoney.official.application} target="_blank" rel="noreferrer">申请EMT测试权限 ↗</a><a href={eastmoney.official.apiDocumentation} target="_blank" rel="noreferrer">官方API文档 ↗</a><a href={eastmoney.official.reconnectFaq} target="_blank" rel="noreferrer">断线重连说明 ↗</a><span>请勿在聊天或网页输入资金账号、密码、验证码</span></footer>
    </section>

    <div className="execution-grid">
      <section className="execution-card live-account-card" id="live-account"><header><div><span>CHINA BROKER EXECUTION ADAPTER</span><h2>真实资金执行状态（未连接）</h2></div><StatusDot ok={false} label="LOCKED" /></header><div className="execution-metrics"><div><span>真实订单</span><b>0</b></div><div><span>券商账户</span><b>未连接</b></div><div><span>程序化交易报告</span><b>待完成</b></div><div><span>公网写接口</span><b className="positive">0</b></div></div><p className="engine-decision">{liveEngine.lastDecision}</p></section>
      <aside className="execution-card risk-envelope"><header><div><span>RISK ENVELOPE</span><h2>不可逾越的边界</h2></div></header><dl><div><dt>当前激活标的</dt><dd>{status.safety.allowedSymbols.join(" / ")}</dd></div><div><dt>全量目录</dt><dd>不等于允许下单</dd></div><div><dt>订单类型</dt><dd>人民币限价单</dd></div><div><dt>单标的最高</dt><dd>8% / 12% / 10%</dd></div><div><dt>组合总敞口</dt><dd>25%</dd></div><div><dt>当日亏损停止</dt><dd>0.35%</dd></div><div><dt>永久回撤熔断</dt><dd>1.50%</dd></div><div><dt>公开下单接口</dt><dd className="safe-value">0</dd></div></dl></aside>
    </div>

    <section className="execution-card preflight-card"><header><div><span>RESEARCH & COMPLIANCE</span><h2>策略改造依据与限制</h2></div><span>盈利能力不能承诺，只能提高研究纪律</span></header><div className="preflight-grid"><article><StatusDot ok label="PASS"/><b>全量目录 ≠ 全量交易</b><p>沪深北A股和场内基金持续更新；普通A股严格按T+1，待上市证券和未核验基金默认禁止下单。</p></article><article><StatusDot ok label="PASS"/><b>T+0品种规则</b><p>债券、黄金、货币、符合条件的跨境与商品基金可按规则当日回转；逐只资格不明时保持VERIFY_REQUIRED。</p></article><article><StatusDot ok label="PASS"/><b>波动率缩仓</b><p>高波动时自动降低目标权重；仍保留固定总敞口、日亏与最大回撤上限。</p></article><article><StatusDot ok={false} label="HOLD"/><b>券商Level-2行情</b><p>公开L1只能近似可见盘口，无法知道自己的真实排队位置；实盘启用前必须接券商合规行情。</p></article><article><StatusDot ok={false} label="DEFERRED"/><b>中国券商API</b><p>东方财富EMT、个人QMT/PTrade和专业接口均保留为候选；策略未通过前不选券商、不连接账户。</p></article><article><StatusDot ok={false} label="HOLD"/><b>程序化交易报告</b><p>券商选定后再确认报告、协议、频率和账户权限；当前真实订单为0。</p></article></div></section>

    <section className="activation-roadmap"><div><span className="kicker">ACTIVATION ROADMAP</span><h2>从策略验收到中国市场真实资金</h2></div><ol><li className="done"><span>01</span><b>A股T+0镜像上线</b><small>行情、信号、风控和逐笔账本</small></li><li className="current"><span>02</span><b>策略验收</b><small>性能6/8、数据1/3；继续扩大样本</small></li><li><span>03</span><b>券商比较与仿真</b><small>QMT/PTrade/EMT等候选再评分</small></li><li><span>04</span><b>极小资金启用</b><small>需再次明确授权，逐级扩大</small></li></ol></section>

    <p className="risk-note execution-note">策略改造目标是降低不必要风险、成本和过拟合，并不意味着能够获得“低风险、高收益、稳定盈利”。基金仍可能亏损、停牌、涨跌停或出现折溢价；自动化系统也会遇到行情、网络、券商与软件故障。<Link href="/vault">查看完整策略、研究来源与成果档案 →</Link>{!execution.connected && <span> 状态接口：{execution.error ?? "正在连接"}</span>}</p>
  </div>;
}
