Skip to content

Monthly Report Review: 2026-04-01 #11

Closed

Description

@github-actions

Monthly Report Review Input

Use this file as the primary review input for the monthly upstream release package.

Bundle metadata

  • Artifact name: monthly-report-2026-04-01
  • Report month: 2026-04
  • As-of date: 2026-04-01
  • Version / mode: 2026-04-01-core_major / core_major
  • Pool size: 5
  • Symbols: TRXUSDT, ETHUSDT, NEARUSDT, TAOUSDT, LINKUSDT

Release Status Summary

Release Status Summary

Generated: 2026-04-01T07:40:51.383366+00:00

Official release

  • Status: ok
  • As-of date: 2026-04-01
  • Version / mode: 2026-04-01-core_major / core_major
  • Pool size: 5
  • Symbols: TRXUSDT, ETHUSDT, NEARUSDT, TAOUSDT, LINKUSDT
  • Source project: crypto-leader-rotation

Artifact summary

  • latest_universe symbol count: 9
  • latest_ranking row count: 9
  • latest_ranking selected count: 5

Ranking preview

Publish summary

  • dry_run: False
  • publish_enabled: True
  • release_prefix: crypto-leader-rotation/releases/2026-04-01-core_major
  • current_prefix: crypto-leader-rotation/current
  • firestore target: strategy / CRYPTO_LEADER_ROTATION_LIVE_POOL

Validation

  • ok: True
  • manifest_present: True
  • age_days: 0

Errors

  • none

Warnings

  • none

Monthly Review

Monthly Review

Generated: 2026-04-01T07:40:51.785826+00:00

Current release status

  • Status: ok
  • As-of date: 2026-04-01
  • Official profile: baseline_blended_rank
  • Official version / mode: 2026-04-01-core_major / core_major
  • Official pool size: 5
  • Official symbols: TRXUSDT, ETHUSDT, NEARUSDT, TAOUSDT, LINKUSDT
  • Source project: crypto-leader-rotation

Publish summary

  • dry_run: False
  • publish_enabled: True
  • release_prefix: crypto-leader-rotation/releases/2026-04-01-core_major
  • current_prefix: crypto-leader-rotation/current
  • firestore target: strategy / CRYPTO_LEADER_ROTATION_LIVE_POOL

Track coverage

  • official_baseline: not generated in this run
  • challenger_topk_60: not generated in this run

Warnings

  • none

Operator checklist

  1. Run make monthly-shadow-build before generating the extended shadow review package.
  2. Confirm live_pool.json and release_manifest.json point to the same month; if generated, confirm track_summary.csv matches too.
  3. Review warning lines before any manual publish or communication follow-up.
  4. Keep the official baseline as the only production reference unless a separate governance process approves a change.

Telegram Preview

CryptoLeaderRotation monthly release
status: ok
as_of_date: 2026-04-01
official: profile=baseline_blended_rank version=2026-04-01-core_major mode=core_major pool_size=5
shadow: not_generated_in_this_run
manifest: present dry_run=False
validation: ok=True manifest_present=True age_days=0
warnings: none

Activity

  1. github-actions commented on Apr 1, 2026

    @github-actions
    Author

    AI Monthly Review

    Claude Primary Review

    Claude Primary Review


    English

    Release Consistency

    The release passes all mechanical checks cleanly. Metadata is internally consistent: the artifact name, as-of date (2026-04-01), version (2026-04-01-core_major), mode (core_major), pool size (5), and symbol list all agree across the bundle metadata, release status, monthly review, and Telegram preview sections. Validation reports ok=True, manifest_present=True, age_days=0. No errors or warnings are present. dry_run=False and publish_enabled=True confirm a live publish was intended and executed. Contract health is fully satisfied.

    One minor display anomaly is worth noting: in the ranking preview, TAOUSDT is listed as rank #5 and LINKUSDT as rank #4, yet TAOUSDT appears above LINKUSDT in the printed order. Both carry the same score (0.500000). This is a tie-breaking rendering artifact, not a data integrity issue, but it is worth confirming that the tie-breaking rule (whatever secondary sort is used) is deterministic and documented, because it controls which symbol would be dropped first if pool size were reduced.


    Selector Quality

    Score distribution: The top two symbols show strong, well-separated scores — TRXUSDT at 0.9167 and ETHUSDT at 0.8889 — suggesting genuine multi-signal alignment for those names. NEARUSDT sits at 0.5556, a meaningful step down. TAOUSDT and LINKUSDT both land at exactly 0.5000, implying they are at or near a scoring floor or a natural midpoint in the blended rank formula.

    Score clustering concern: The bottom two selections are tied at 0.500 and the third selection is only 11% above them (0.556 vs 0.500). This tight clustering in the lower half of the selection window raises two questions: (a) Are the two symbols ranked 6th and 7th in the universe also near 0.500? If so, the bottom three or four selected/unselected symbols are effectively indistinguishable by the current scoring. (b) Is 0.500 a natural score-floor artifact of the blended rank formula (e.g., normalized rank mid-point), making true differentiation impossible at that level?

    Composition sanity: ETHUSDT and LINKUSDT are established large-cap Binance Spot names with deep liquidity — low concern. TRXUSDT is high-volume but crowded/low-volatility; its dominance at rank #1 every month could indicate a scoring bias toward high-turnover stable names. NEARUSDT is a mid-cap L1 with acceptable Binance Spot liquidity. TAOUSDT (Bittensor) is the highest-risk name: it is smaller cap, higher volatility, and more susceptible to low-liquidity periods. Downstream execution on TAOUSDT may face wider spreads or sudden illiquidity events that the upstream scoring does not penalize.

    No pool-change delta is available from this report. Whether this pool is the same as March 2026 or changed significantly cannot be determined from this artifact alone.


    Research Coverage Gaps

    Shadow and challenger tracks were not generated in this run. The monthly review explicitly states official_baseline: not generated in this run and challenger_topk_60: not generated in this run.

    This means strategy-optimization evidence is incomplete for this cycle. The following claims cannot be evaluated:

    • Whether the official baseline_blended_rank profile is outperforming or underperforming its challengers on any held-out metric.
    • Whether a topk_60 or any alternative ranking window would have selected a different or better pool.
    • Whether the 0.500 tie at the bottom is systematically worse than what a rival profile would produce.

    The operator checklist itself flags make monthly-shadow-build as step one — that step was not completed before this review was generated. Until shadow/challenger data exists for at least two or three consecutive months, it is not possible to make evidence-based selector change recommendations.


    Downstream Impact (BinancePlatform)

    BinancePlatform consumes this 5-symbol pool and selects its own live targets from it. Key implications this month:

    1. ETHUSDT and LINKUSDT at rank 2 and 4/5 are stable Binance Spot names; downstream rotation in or out of these is low-friction.
    2. TAOUSDT at rank 5 with a 0.500 score is the most operationally fragile pool member. If BinancePlatform applies any additional liquidity filter, TAOUSDT may be excluded from live targets. Downstream should validate that TAOUSDT meets its own minimum ADV or spread threshold before executing.
    3. The tied 4–5 slot means if BinancePlatform ever uses upstream rank position (not just membership) for weighting or priority ordering, the TAOUSDT vs. LINKUSDT display-order artifact described above could produce inconsistent priority assignments month to month if they remain tied.
    4. Without a pool-change delta, BinancePlatform cannot automatically detect whether turnover occurred this month. A symbols-in / symbols-out changelog in the release artifact would reduce operator cognitive load downstream.

    Strategy Optimization Directions

    1. Run and track the shadow / challenger build monthly (highest priority)
    The single most valuable action is completing make monthly-shadow-build every cycle and archiving track_summary.csv. Without a parallel challenger_topk_60 track running for at least 3–6 months, there is no evidence base to evaluate whether the current baseline_blended_rank profile is producing better or worse pool quality than alternatives. This is not a scoring change — it is an evidence-collection step that costs nothing in production.

    2. Investigate the 0.500 scoring floor and tie behavior
    Both TAOUSDT and LINKUSDT score exactly 0.500. Determine whether this is a formula artifact (e.g., a normalized rank mid-point that collapses scores) or a genuine tied signal outcome. If it is an artifact, consider whether a finer-grained tie-breaking signal (e.g., momentum, volume rank, or trailing volatility) should be surfaced as a secondary sort to make the bottom-of-pool selection more defensible. This is a low-risk, explainable, testable change.

    3. Add a liquidity / market-cap filter gate for smaller-cap symbols (TAOUSDT class)
    Upstream scoring does not appear to penalize thin-liquidity symbols. Consider adding a pass-fail universe filter (minimum 30-day ADV on Binance Spot, or minimum market cap threshold) as a pre-ranking gate. This would prevent a 0.500-scored small-cap symbol from occupying a pool slot that a more liquid name could hold. A shadow run with and without the filter would quantify the impact before any production change.


    Operator Action Items

    Safe to keep production as-is (no blocking issues found):

    • Release artifact is valid, published, and consistent. No action needed on the publish itself.
    • ETHUSDT, TRXUSDT, NEARUSDT, LINKUSDT are defensible pool members.
    • Confirm BinancePlatform received the updated pool and that TAOUSDT passes its own downstream liquidity filter.

    Needs more research evidence before any selector change:

    • Run make monthly-shadow-build immediately and archive track_summary.csv for this month. Do not skip this step next cycle.
    • Investigate and document the tie-breaking rule for equal-scored symbols; verify it is deterministic.
    • Review whether TAOUSDT is consistently near the 0.500 floor or whether this is a one-month anomaly — pull its score history if available.
    • Do not change the production selector based on this single snapshot. Accumulate at least 2–3 months of shadow/challenger data before evaluating any profile switch.

    中文

    发布一致性检查

    本次发布通过了所有机械性一致性检查。制品名称、基准日期(2026-04-01)、版本号(2026-04-01-core_major)、模式(core_major)、池大小(5)与代币列表,在 bundle 元数据、发布状态、月度评审和 Telegram 预览各节中完全一致。验证结果为 ok=True、manifest_present=True、age_days=0,无错误、无警告。dry_run=False 与 publish_enabled=True 均确认为正式发布,发布合约完整满足。

    有一处细节需关注:排名预览中,TAOUSDT 标注为第 #5 位,LINKUSDT 标注为第 #4 位,但 TAOUSDT 在打印顺序上排在 LINKUSDT 前面,二者得分均为 0.500000。这是平局时的排序显示问题,不是数据完整性缺陷,但应确认二级排序(tie-breaking)规则是确定性的且有文档记录,因为该规则决定在池大小缩减时哪个代币会被首先移出。


    选币器质量评估

    得分分布: 前两名得分强劲且间距明显——TRXUSDT 0.9167、ETHUSDT 0.8889,说明这两个代币在多信号融合评分上存在真实一致性。NEARUSDT 以 0.5556 明显低一档。TAOUSDT 与 LINKUSDT 均精确落在 0.5000,意味着它们处于评分下限或混合排名公式的自然中点附近。

    得分聚集风险: 后两名并列 0.500,第三名仅高出 11%(0.556 vs 0.500)。这在选择窗口下半区形成了明显的得分聚集,引出两个问题:(a)宇宙中排名第 6、7 的代币是否也接近 0.500?若是,则实际上有三至四个代币在当前评分下无法被区分。(b)0.500 是否是混合排名公式的结构性下限(例如归一化排名中点),导致在该水平上无法产生真实分化?

    成分合理性: ETHUSDT 和 LINKUSDT 为成熟大市值 Binance 现货品种,流动性充足,风险低。TRXUSDT 成交量高,但存在高换手低波动的拥挤风险,其连续排名第一可能反映评分对高流量稳定代币的系统性偏好。NEARUSDT 为中市值 L1,在 Binance 现货上流动性尚可。TAOUSDT(Bittensor)风险最高:市值较小、波动较大,更容易出现流动性不足的阶段性事件,而上游评分目前对此似乎没有惩罚项。下游执行 TAOUSDT 时可能面临更宽的价差或突发流动性收紧。

    本报告未提供池变动对比(前月 vs 本月),无法判断本次发布相对 2026 年 3 月是否有代币轮换。


    研究覆盖缺口

    本次运行未生成影子跟踪与挑战者跟踪。 月度评审明确显示 official_baseline: not generated in this run 与 challenger_topk_60: not generated in this run。

    这意味着本周期的策略优化证据不完整,以下判断目前均无法进行:

    • 官方 baseline_blended_rank 档案是否在任何保留指标上优于或劣于挑战者档案。
    • topk_60 或其他排名窗口是否会选出不同或更优的代币池。
    • 底部 0.500 并列是否在系统性上劣于竞争档案的表现。

    操作员清单本身已将 make monthly-shadow-build 列为第一步——而该步骤在本次评审生成前尚未完成。在至少连续两到三个月积累影子/挑战者数据之前,无法基于证据对选币器提出变更建议。


    下游影响(BinancePlatform)

    BinancePlatform 消费该 5 代币池并从中选取自己的实盘交易目标,本月主要影响如下:

    1. ETHUSDT 和 LINKUSDT 为成熟 Binance 现货品种,下游轮换摩擦低。
    2. TAOUSDT 排名第 5 且得分仅 0.500,是池中操作上最脆弱的成员。若 BinancePlatform 本身设有流动性门槛过滤,TAOUSDT 可能被排除在实盘目标之外。下游应在执行前验证 TAOUSDT 是否满足自身的最低日均成交量或价差要求。
    3. 第 4–5 位的平局:如果 BinancePlatform 以上游排名位次(而非仅成员资格)用于权重或优先级排序,上述 TAOUSDT vs LINKUSDT 的显示顺序问题可能在两者持续并列时导致月度之间的优先级不一致。
    4. 本报告缺乏池变动对比信息,BinancePlatform 无法自动检测本月是否发生代币轮换。在发布制品中加入"新进/移出代币"变更日志,将降低下游操作员的认知负担。

    策略优化方向

    1. 每月执行并归档影子/挑战者构建(最高优先级)
    最有价值的单一行动是每个周期完成 make monthly-shadow-build 并归档 track_summary.csv。若 challenger_topk_60 跟踪不能连续运行至少 3–6 个月,就没有任何证据基础来评估当前 baseline_blended_rank 档案的质量优劣。这不是评分逻辑变更——而是零生产风险的证据积累步骤。

    2. 排查 0.500 评分下限与平局行为
    TAOUSDT 与 LINKUSDT 均精确得 0.500。需确认这是公式结构性产物(例如归一化排名中点导致得分折叠)还是真实的信号并列。若为公式产物,可考虑引入粒度更细的二级排序信号(如动量、成交量排名或近期波动率),使池底代币的选择更具可解释性。此改动风险低、可解释、可测试。

    3. 为小市值代币类(TAOUSDT 类)添加流动性/市值过滤门槛
    上游评分目前对流动性薄弱的代币似乎没有惩罚项。可考虑将最低 30 日日均成交量(ADV)或最低市值阈值作为排名前的准入过滤器,防止一个得分 0.500 的小市值代币占据本可由流动性更好的代币持有的池位。通过加/不加过滤器的影子对比运行,可在任何生产变更之前量化其影响。


    操作员待办事项

    当前生产可安全保留(无阻塞性问题):

    • 发布制品有效、已发布、内部一致,发布本身无需任何操作。
    • ETHUSDT、TRXUSDT、NEARUSDT、LINKUSDT 均为可辩护的池成员。
    • 确认 BinancePlatform 已接收更新后的代币池,并确认 TAOUSDT 通过下游自身的流动性过滤器。

    需要更多研究证据后方可决策选币器变更:

    • 立即执行 make monthly-shadow-build 并归档本月 track_summary.csv;下周期不得跳过此步骤。
    • 调查并文档化等分代币的平局排序规则,验证其确定性。
    • 核查 TAOUSDT 是否持续处于 0.500 附近或仅为本月异常——如有历史评分数据,请调取其评分走势。
    • 不要基于本月单一快照更改生产选币器。 积累至少 2–3 个月的影子/挑战者数据后,再评估是否切换档案。

    Secondary Review (GPT Secondary Review)

    • Verdict: agree
    • Risk Level: low
    • Production Recommendation: keep_production_as_is
    • Summary: Claude's conclusion is mostly right on release safety: the bundle is mechanically consistent, published cleanly, and there is no evidence here that production should be blocked. However, the selector-quality assessment is only weakly supported because this month provides no shadow/challenger coverage, so claims about whether the baseline is better than alternatives are not yet evidence-backed. The main issue is research completeness, not a release defect. I agree with keeping production as-is, while treating the selector optimization commentary as provisional rather than decision-grade.

    Key Findings

    • Release metadata is internally consistent across the artifact, status, monthly review, and Telegram preview.
    • Validation is clean: ok=True, manifest_present=True, age_days=0, with no errors or warnings.
    • The ranking preview shows a tie at 0.500 between TAOUSDT and LINKUSDT, but the inconsistent display order versus rank labels suggests a deterministic tie-breaker should be documented.
    • No shadow or challenger tracks were generated in this run, so there is no evidence base for comparing baseline_blended_rank against alternatives.
    • TAOUSDT is the most operationally fragile pool member, but the report does not provide downstream execution failures or liquidity metrics that would justify a production change now.

    Recommended Actions

    • Document and verify tie-breaking for equal scores (CryptoLeaderRotation, risk=low) [auto-pr-safe]: Confirm the secondary sort used for equal scores is deterministic, stable, and documented so rank labels and display order cannot confuse downstream consumers.
    • Run monthly shadow build and archive challenger summaries (CryptoLeaderRotation, risk=low) [auto-pr-safe, experiment-only]: Generate official_baseline and challenger_topk_60 coverage each month and retain track_summary.csv so selector comparisons become evidence-based.
    • Add downstream liquidity validation for TAOUSDT-class assets (BinancePlatform, risk=medium) [experiment-only]: Ensure BinancePlatform applies its own ADV/spread checks before trading low-liquidity or more volatile pool members.

    Follow-up Checks

    • Confirm whether TAOUSDT/LINKUSDT tie behavior is consistent across reruns and not just a rendering artifact.
    • Check next month's report for official_baseline and challenger_topk_60 generation before inferring selector quality.
    • Review release history to see whether the 0.500 floor appears systematically across multiple months.
    • Verify BinancePlatform received the updated pool and did not reject TAOUSDT for liquidity reasons.

    Generated by AI Monthly Review workflow: https://github.com/QuantStrategyLab/CryptoLeaderRotation/actions/runs/23870201453

  2. Pigbibi commented on May 10, 2026

    @Pigbibi
    Collaborator

    Closing after historical review. The April monthly review found a valid release and identified missing shadow/challenger coverage plus deterministic tie-break documentation as follow-ups. Those were addressed by merged PR #14 (require monthly shadow build and deterministic tiebreak), and later monthly runs now include same-cycle shadow/challenger coverage. No separate fix remains for this issue.

  3. Pigbibi commented on May 23, 2026

    @Pigbibi
    Collaborator

    Crypto Codex Audit

    Verdict

    review_only: no files edited. One low-risk release/reporting validation gap remains; no production selector or allocation change is justified.

    Findings

    • Low: the release contract still does not validate live-pool order against ranking order. The April issue showed the exact symptom: TAOUSDT rendered before LINKUSDT while carrying rank #5 vs #4. Current generation now uses deterministic sorting, but src/release_contract.py only checks that live_pool.json symbols are present and selected in latest_ranking.csv; it does not require the ordered live_pool.json.symbols list to match selected rows sorted by current_rank or the deterministic tie-break. scripts/run_release_status_summary.py also renders preview rows from raw CSV order via ranking.head(...). A stale or malformed artifact can therefore still validate as ok while showing rank/order divergence in the monthly report.

    Changes Made

    None.

    Verification

    • Ran python -m unittest tests.test_monthly_review_briefing tests.test_monthly_report_bundle tests.test_monthly_build_telegram tests.test_monthly_publish_workflow_config: 11 tests passed.
    • Ran python -m compileall -q scripts src tests: passed.
    • Pandas-backed release-contract repro/tests were not run because this checkout has no .venv and system Python lacks pandas.

    Residual Risk

    Shadow/challenger coverage and deterministic generation appear implemented on main, but the validator should still add an order check so future monthly artifacts cannot silently regress into the April rank-preview inconsistency.

  4. Pigbibi commented on May 23, 2026

    @Pigbibi
    Collaborator

    Crypto Codex Audit

    Verdict

    review_only: no files edited. The April tie-break/shadow-build follow-ups appear implemented on main, but I found one release-contract validation gap and one low-risk workflow hygiene issue.

    Findings

    • Medium: src/release_contract.py does not require latest_ranking.csv selected_flag=True row count to equal the published live pool size. I reproduced a 6-selected-row ranking with a 5-symbol live_pool.json; validation still returned ok=true. This can let monthly reports show latest_ranking_selected_count inconsistent with the official pool while still reporting release validation as OK.

    • Low: .github/workflows/monthly_publish.yml sets GITHUB_OUTPUT: ${{ github.output }} in the issue creation step. github.output is not a documented GitHub context, and GitHub documents GITHUB_* variables as default environment variables that workflows should not set directly: https://docs.github.com/actions/reference/workflows-and-actions/variables. Remove this line and rely on the runner-provided $GITHUB_OUTPUT.

    Changes Made

    None.

    Verification

    • python -m unittest tests.test_release_contract tests.test_release_status_summary tests.test_monthly_review_briefing tests.test_monthly_publish_workflow_config tests.test_monthly_report_bundle: 17 tests passed.
    • python -m compileall -q scripts src tests: passed.
    • Ran a temp-dir release-contract repro for extra selected_flag=True rows; current validator incorrectly accepted it.

    Residual Risk

    I did not run data downloads, monthly shadow builds, publish jobs, or browser/UI checks due VPS guardrails and review_only. A safe follow-up would add a contract check plus focused test for selected-count equality, and a workflow config test rejecting github.output.

  5. Pigbibi commented on May 23, 2026

    @Pigbibi
    Collaborator

    Crypto Codex Audit

    Verdict

    review_only: no files edited. Current release validation and shadow/tie-break fixes appear present, but one documentation defect remains.

    Findings

    • Low: README.zh-CN.md still documents the legacy Claude/API monthly review path as the automatic flow and says only ANTHROPIC_API_KEY is needed. It also says GCP_PROJECT_ID / GCS_BUCKET secrets remain compatible at README.zh-CN.md. Current workflow uses Codex bridge by default and reads publish targets only from vars.* in .github/workflows/monthly_publish.yml, with tests explicitly rejecting secret fallback. This can mislead Chinese operators into configuring the monthly publish/review flow incorrectly.

    Changes Made

    None.

    Verification

    • python -m unittest tests.test_release_contract tests.test_release_status_summary tests.test_monthly_review_briefing tests.test_monthly_build_telegram tests.test_monthly_report_bundle tests.test_monthly_publish_workflow_config: 22 passed.
    • python -m compileall -q scripts src tests: passed.
    • Skipped data downloads, shadow builds, publish jobs, and browser checks due VPS guardrails and review_only.

    Residual Risk

    I did not validate live GCS/Firestore publishing or self-hosted Codex bridge dispatch. The stale Chinese README section should be aligned with the English README and current workflow before relying on it for operator setup.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    monthly-reviewAutomated monthly report AI review

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions