# Changelog

> **This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.**

## Score

- CAI 59 → 44 (-14.9)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 82 → 90 (+7.8)
- Architecture 100 → 94 (-5.9)
- Maturity 51 → 50 (-0.4)
- Readiness 55 → 23 (-31.8)
- Security 59 → 58 (-0.4)

## Resolved (173)

- ACStrategy.generate_trade_decision (cognitive 25) (qlib/contrib/strategy/rule_strategy.py)
- ADARNN.train_AdaRNN (cognitive 20) (qlib/contrib/model/pytorch_adarnn.py)
- AdaRNN.forward_pre_train (cognitive 18) (qlib/contrib/model/pytorch_adarnn.py)
- Alpha158DL.get_feature_config (cognitive 69) (qlib/contrib/data/loader.py)
- Alpha158DL.get_feature_config (cyclomatic 37) (qlib/contrib/data/loader.py)
- Build action pinned to a mutable branch
- CSIIndex._read_change_from_url (cognitive 21) (scripts/data_collector/cn_index/collector.py)
- ClientDatasetProvider.dataset (cognitive 21) (qlib/data/data.py)
- Concentrated knowledge decay
- Coverage not included — suite not readable by the collector
- DNNModelPytorch.__init__ (cognitive 19) (qlib/contrib/model/pytorch_nn.py)
- DNNModelPytorch.fit (cognitive 49) (qlib/contrib/model/pytorch_nn.py)
- DNNModelPytorch.fit (cyclomatic 21) (qlib/contrib/model/pytorch_nn.py)
- DataHealthChecker.check_large_step_changes (cognitive 16) (scripts/check_data_health.py)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Dimension evaluation failed
- DiskDatasetCache.update (cognitive 21) (qlib/data/cache.py)
- DumpPitData._dump_pit (cognitive 38) (scripts/dump_pit.py)
- DumpPitData._dump_pit (cyclomatic 17) (scripts/dump_pit.py)
- Duplicated block (10 lines × 2) (qlib/contrib/data/highfreq_provider.py)
- …and 153 more

## New (27)

- Coverage not measured — test suite did not build
- Dimension evaluation failed
- Duplicated block (10 lines × 3) (qlib/contrib/data/loader.py)
- Duplicated block (12 lines × 3) (qlib/contrib/data/highfreq_handler.py)
- Duplicated block (12 lines × 4) (qlib/workflow/recorder.py)
- Duplicated block (13 lines × 2) (examples/nested_decision_execution/workflow.py)
- Duplicated block (13 lines × 6) (qlib/contrib/data/loader.py)
- Duplicated block (14 lines × 2) (qlib/contrib/model/pytorch_tra.py)
- Duplicated block (15 lines × 2) (qlib/data/data.py)
- Duplicated block (18 lines × 3) (qlib/contrib/data/loader.py)
- Duplicated block (5 lines × 2) (examples/orderbook_data/example.py)
- Duplicated block (6 lines × 2) (examples/highfreq/highfreq_handler.py)
- Duplicated block (6 lines × 3) (qlib/contrib/model/pytorch_tcts.py)
- Duplicated block (8 lines × 2) (qlib/contrib/model/pytorch_hist.py)
- Duplicated block (8 lines × 2) (qlib/contrib/model/pytorch_tcts.py)
- Duplicated block (8 lines × 2) (qlib/workflow/online/manager.py)
- Duplicated block (9 lines × 2) (qlib/backtest/position.py)
- Duplicated block (9 lines × 2) (qlib/workflow/record_temp.py)
- Duplicated block (9 lines × 2) (tests/data_mid_layer_tests/test_handler_storage.py)
- High: security finding (details withheld)
- …and 7 more
