Repository navigation
Closed
Labels
monthly-reviewAutomated monthly report AI reviewAutomated monthly report AI review
Description
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
- Repo hygiene: add validation CI and governance files #1 TRXUSDT score=0.916667 selected=True
- chore(deps): bump actions/upload-artifact from 4 to 7 #2 ETHUSDT score=0.888889 selected=True
- chore(deps): bump actions/checkout from 5 to 6 #3 NEARUSDT score=0.555556 selected=True
- chore(deps): bump google-github-actions/auth from 2 to 3 #5 TAOUSDT score=0.500000 selected=True
- chore(deps): bump scikit-learn from 1.6.1 to 1.8.0 #4 LINKUSDT score=0.500000 selected=True
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
- Run
make monthly-shadow-buildbefore generating the extended shadow review package. - Confirm
live_pool.jsonandrelease_manifest.jsonpoint to the same month; if generated, confirmtrack_summary.csvmatches too. - Review warning lines before any manual publish or communication follow-up.
- 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
Metadata
Metadata
Assignees
Labels
monthly-reviewAutomated monthly report AI reviewAutomated monthly report AI review
Activity
github-actions commentedon Apr 1, 2026
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 reportsok=True,manifest_present=True,age_days=0. No errors or warnings are present.dry_run=Falseandpublish_enabled=Trueconfirm 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
#5and 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 runandchallenger_topk_60: not generated in this run.This means strategy-optimization evidence is incomplete for this cycle. The following claims cannot be evaluated:
baseline_blended_rankprofile is outperforming or underperforming its challengers on any held-out metric.topk_60or any alternative ranking window would have selected a different or better pool.The operator checklist itself flags
make monthly-shadow-buildas 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:
Strategy Optimization Directions
1. Run and track the shadow / challenger build monthly (highest priority)
The single most valuable action is completing
make monthly-shadow-buildevery cycle and archivingtrack_summary.csv. Without a parallelchallenger_topk_60track running for at least 3–6 months, there is no evidence base to evaluate whether the currentbaseline_blended_rankprofile 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):
Needs more research evidence before any selector change:
make monthly-shadow-buildimmediately and archivetrack_summary.csvfor this month. Do not skip this step next cycle.中文
发布一致性检查
本次发布通过了所有机械性一致性检查。制品名称、基准日期(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或其他排名窗口是否会选出不同或更优的代币池。操作员清单本身已将
make monthly-shadow-build列为第一步——而该步骤在本次评审生成前尚未完成。在至少连续两到三个月积累影子/挑战者数据之前,无法基于证据对选币器提出变更建议。下游影响(BinancePlatform)
BinancePlatform 消费该 5 代币池并从中选取自己的实盘交易目标,本月主要影响如下:
策略优化方向
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 的小市值代币占据本可由流动性更好的代币持有的池位。通过加/不加过滤器的影子对比运行,可在任何生产变更之前量化其影响。
操作员待办事项
当前生产可安全保留(无阻塞性问题):
需要更多研究证据后方可决策选币器变更:
make monthly-shadow-build并归档本月track_summary.csv;下周期不得跳过此步骤。Secondary Review (GPT Secondary Review)
agreelowkeep_production_as_isKey Findings
Recommended Actions
Follow-up Checks
Generated by AI Monthly Review workflow: https://github.com/QuantStrategyLab/CryptoLeaderRotation/actions/runs/23870201453
Pigbibi commentedon May 10, 2026
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.Pigbibi commentedon May 23, 2026
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
TAOUSDTrendered beforeLINKUSDTwhile carrying rank#5vs#4. Current generation now uses deterministic sorting, but src/release_contract.py only checks thatlive_pool.jsonsymbols are present and selected inlatest_ranking.csv; it does not require the orderedlive_pool.json.symbolslist to match selected rows sorted bycurrent_rankor the deterministic tie-break. scripts/run_release_status_summary.py also renders preview rows from raw CSV order viaranking.head(...). A stale or malformed artifact can therefore still validate asokwhile showing rank/order divergence in the monthly report.Changes Made
None.
Verification
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.python -m compileall -q scripts src tests: passed..venvand system Python lackspandas.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.Pigbibi commentedon May 23, 2026
Crypto Codex Audit
Verdict
review_only: no files edited. The April tie-break/shadow-build follow-ups appear implemented onmain, 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=Truerow count to equal the published live pool size. I reproduced a 6-selected-row ranking with a 5-symbollive_pool.json; validation still returnedok=true. This can let monthly reports showlatest_ranking_selected_countinconsistent 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.outputis not a documented GitHub context, and GitHub documentsGITHUB_*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.selected_flag=Truerows; 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 rejectinggithub.output.Pigbibi commentedon May 23, 2026
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
ANTHROPIC_API_KEYis needed. It also saysGCP_PROJECT_ID/GCS_BUCKETsecrets remain compatible at README.zh-CN.md. Current workflow uses Codex bridge by default and reads publish targets only fromvars.*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.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.