โ€บNavigation
Closing reconciliation ยท DONE

Asked to turn 8 orthogonality-proven formulas into production ClickHouse columns and stop at an open pull request. All 8 shipped through 16 stages each, and the batch PR opened โ€” and has since merged.

What it measured
QuantityValueMeaning
Features delivered8 of 8, 0 deferredfull declared scope
Pipeline stages per feature16 of 16 green on all 8
Oracle residuals0.0 (4 bit-exact) to 8.6e-13gate is 1e-9
Real-window scale checks624 (4 features x 13 windows x 6 factors)replaced the synthetic tests
Test suite880 of 887 core, 36 of 36 featurethe 7 failures are pre-existing bigblack data deps
How it ran
FiringWhat it did
01Scaffold committed; schema-contract test and a SHA-pinned ETH fixture
02-11Features 1 through 8 built, each ending 16 of 16; the batch PR opened at feature 1
12fmt/clippy/test green; fixed 3 pre-existing clippy errors and 2 PyO3 initializers
13Operator ruling on two advisories; loop paused at P2 pending issue #545
14Real-data scale-invariance gap closed; adversarial pass held with zero actionable findings
What it produced
Carries forward

Nothing. The stated blocker โ€” 'P2 cannot formally exit until #545 lands' โ€” is resolved: issue #545 closed 2026-07-20. Merge, deploy and backfill were explicitly outside this loop's scope, and the merge happened regardless. The only residue is a phase field never advanced to a terminal value: bookkeeping, and it needs nobody.

Why this status

The declared scope (8 features plus one open PR) was met in full, the sole cited blocker is closed, and the PR is merged โ€” halted by neglect was the right reading before that was checked, and wrong after.

'P2 cannot formally exit until #545 lands -> LOOP PAUSED at P2 (not P3).' (iter_13.html) โ€” issue #545 has since closed.

Lifecycle status is process state, not a judgement of the findings. Results are stated as numbers with their uncertainty.

๐Ÿ›  IMPLEMENTATION ยท autonomous loop ยท 1-hour firings ยท hosted journal

Crypto Orthogonal Bar Features โ€” Implementation Journal (batch 5, first 8)

Autonomous loop turning 8 orthogonality-proven research formulas into production ClickHouse columns โ€” each proved bit-exact (โ‰ค1e-9) AND put through a 16-stage robustness suite (causality ยท determinism ยท batchโ‰กstreaming ยท independent-leg ยท golden+sha ยท schema-contract ยท per-feature challenge) before it lands. Build + test only; never merges, never deploys, never backfills.

8/8features done
0deferred
P3 CHALLENGEcurrent phase
16robustness stages

Robustness standard โ€” everything needed to implement a feature in opendeviationbar-py

This is the bar for shipping ANY new bar feature here. It combines the proven bar_dispersion_entropy/bar_cecp_velocity template with the robustness practices adopted from the MQL5/fxview loop-ten review. Every feature below walks the SAME 16-stage pipeline and must clear the full definition-of-done before its commit.

The 16-stage pipeline (what each flowchart tracks)

OracleSSoTIndep.cross-checkRustkernelโ‰ค1e-9parityCausality(no look-ahead)Determinism+ streamingRobustnesssuiteWiringDBcolumnSchema-contractFeaturemanifestADRTasks +slashcheck-fullGREENChallenge& heldCommit
Definition of done โ€” the robustness battery every feature must pass
GateWhat it guarantees
โ‰ค1e-9 parity (non-vacuous, โ‰ฅ2-symbol)Rust matches the Python answer-key to ~15 decimals over real BTC + ETH windows; the test fails if it silently compared zero rows.
Independent cross-check legA SECOND source agrees: FOSS library (randtests/lmoments3), an in-Rust from-scratch brute-force (rrbicov/signflux/gmskew), or exact closed-form (recurr/ehlers) โ€” so the oracle isn't the Rust re-checking its own port.
Causality (no look-ahead)A future bar can never change a past output (truncated-stream == full-stream at each t, via to_bits).
Determinism + batchโ‰กstreaming + checkpointBit-identical recompute; live-streaming equals offline batch; resume-from-checkpoint is continuous โ€” all via NaN-aware to_bits compares.
Scale-invariance on real windowsRescaling real windows ร—2 / ร—0.5 leaves the scale-free features unchanged (empirical, not just a synthetic property test).
Crash-stress + range/bounds + NaN/Inf totalityFlat / empty / too-short / NaN / Inf inputs never panic and return a defined Option; outputs stay in range.
Golden snapshot (value + sha-over-bytes)A committed golden is asserted value-equal AND byte-sha-equal IN the hermetic gate โ€” catches an oracle+kernel lockstep drift a value compare cannot.
Schema-contract (no split-brain)types.rs โ†” schema.sql โ†” column_comments.py โ†” feature_manifest.toml column name-sets must match โ€” guards the 16-file add-one-side-and-forget surface.
Per-feature Challenge-and-HeldAn Attacker+Defender re-run the portability/agnostic audit on EACH feature before it commits โ€” never post-hoc.
sha-gated, fail-closed, never-loosenInput fixture + committed oracle are sha-pinned and hard-halt on tamper; the โ‰ค1e-9 gate is sacred โ€” DEFER a feature, never relax the tolerance.
Conventions (locked)
  • Input: the trailing 200 bar closes incl. the current bar; quantize each close round(cยท1e8)/1e8 (FixedPoint) before any ln. Derive logret = diff(ln(close)), signs = sign(logret).
  • Oracle fixture: committed, SHA-pinned BTC + ETH close samples; the reference-library version is pinned.
  • Kernel: libm:: primitives only (bit-determinism), locked compile-time consts (no knobs), NaN/Inf-total, returns None exactly where the oracle does.
  • Tolerance: a named const with a compile-time assert!(TOL โ‰ค 1e-9). Sacred โ€” DEFER a feature, never loosen.
  • Forward-only: the DB column is DEFAULT NULL (NULL on history, fills on new bars). No backfill, no deploy, no live ClickHouse โ€” the loop is hermetic (code + committed fixtures).
Hard rules
  • One batch PR to terrylica/opendeviationbar-py, per-feature commits; never merge (human decision).
  • Never weaken a gate, never --no-verify; a feature that can't reach โ‰ค1e-9 is DEFERRED with its reason, not shipped on a loosened gate.
  • No AI attribution anywhere. Hourly firings; a feature may span several firings (checkpointed per stage).

Adopted from the MQL5/fxview loop-ten robustness review (R1โ€“R7): front-loaded per-feature adversarial/portability audit, shipped-primitive reuse discipline, the 3-way / brute-force independent leg, batchโ‰กstreaming + causality + determinism via to_bits, the schema-contract test, sha-gated fail-closed oracles, and the value+sha golden in the hermetic gate.

Read this first โ€” what this loop is doing

We already proved these 8 features add genuinely-new information (they survived the orthogonality + de-duplication audit in PR #540). This loop turns each research formula into fast, production-grade code that is provably identical to a trusted reference (โ‰ค1e-9) AND put through the full robustness suite above before it lands. It builds one feature at a time, never deploys or merges, fires hourly (riding out quota refreshes), and a feature can span several firings โ€” it checkpoints after every stage.

Current phase: Batch-level adversarial sweep on top of the per-feature challenges; real gaps fixed.

The 8 features โ€” pipeline status

Each strip is the 16-stage robustness pipeline. green โœ“ = done ยท amber โ— = in progress now ยท slate = not started.

DONE

bar_categorical_recurrence_rate

card 66 ยท 16/16 stages

How often the price lands back on an exact level it already visited recently โ€” price-level 'stickiness'.

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: Exact closed-form on integer tie-counts โ€” an in-Rust brute-force is identical arithmetic; the property battery (RR in [0,1], =0 all-distinct, =1 all-equal, hand 3-tie) is the independent leg. scale_check: tie-preserving (constant rescale preserves exact ties).
Latest
Feature 1/8 (bar_categorical_recurrence_rate) COMPLETE โ€” all 16 pipeline stages green. This fire added the ADR, the recurr:* mise tasks (with the regenerate-and-diff oracle drift guard and an explicit nextest filterset so the robustness + schema-contract gates actually run) and 6 slash-command wrappers; ran recurr:check-full to GREEN over BOTH symbols; and held a per-feature adversarial Attacker+Defender challenge (10 findings, all refuted โ€” the bit-exact estimator survives every quantization / tie-grouping / oracle-independence probe). The batch PR is now open as terrylica/opendeviationbar-py#544 with the per-feature oracle-residual table and Challenge-and-Held section. Next: feature 2/8 โ€” bar_sign_markov_flux (directional-flow asymmetry of the up/flat/down sign sequence).
Accuracy proof: Rust vs reference max diff 0.0 (bit-exact; exact-rational estimator, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_sign_markov_flux

card 98 ยท 16/16 stages

Whether up/flat/down moves cycle in one rotational direction rather than reverse โ€” a directional-flow asymmetry of the sign sequence.

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: In-Rust from-scratch brute-force: an explicit 3x3 transition-count double-loop recomputed independently of the kernel and asserted == kernel over the fixture (no FOSS analytic null). scale_check: sign-sequence invariant (monotone rescale preserves signs).
Latest
Feature 2/8 (bar_sign_markov_flux โ€” whether up/flat/down moves cycle in one rotational direction rather than reverse) COMPLETE โ€” all 16 stages green. This fire finished it: the <=1e-9 oracle parity gate (bit-exact 0.0 over BTCUSDT+ETHUSDT, SHA-locked) via a new SHARED assert_bar_close_oracle helper that the 6 remaining features will reuse; the in-Rust brute-force independent leg (close-comparison signs == the kernel's ln signs over 10000x2 bars); the ADR; the signflux:* mise tasks + slash commands; signflux:check-full GREEN; and a per-feature Attacker+Defender challenge (11 findings, all refuted, documented the three-tier independence model). Batch PR #544 updated to 2 implemented / 0 deferred. Next: feature 3/8 โ€” bar_ramsey_rothman_bicov_lag1 (time-irreversibility: whether recent returns look different played backwards).
Accuracy proof: Rust vs reference max diff 0.0 (bit-exact; exact-rational transition counts, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_ramsey_rothman_bicov_lag1

card 113 ยท 16/16 stages

Whether recent returns 'look different played backwards' โ€” time-irreversibility (sharp-rise/slow-fall vs the reverse).

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: In-Rust from-scratch brute-force: independent O(N) de-mean + explicit two-moment sums / sigma^3, asserted == kernel (no faithful FOSS). scale_check: real-window x2/x0.5 invariance (scale-free).
Latest
Feature 3/8 (bar_ramsey_rothman_bicov_lag1 โ€” time-irreversibility: whether recent returns look different played backwards) COMPLETE โ€” all 16 stages in a single fire. This is the FIRST continuous (non-bit-exact) feature: gamma_{2,1}/sigma^3 uses ln + std + cubing, so it matches the numpy oracle to <=1e-9 rather than bit-for-bit โ€” measured residual 9.5e-14 (BTC) / 1.1e-13 (ETH), ~4 orders under the gate. Built+committed: oracle SSoT + BTC/ETH fixtures, the Rust kernel (libm, de-mean, ddof=0, sigma^3) with a property battery proving time-reversal antisymmetry and scale-freedom, the 7-tuple wiring, the forward-only schema across all 4 sources, the <=1e-9 parity gate (shared helper), an in-Rust brute-force formula guard + the numpy cross-language independent leg, the ADR, the rrbicov:* mise tasks + slash commands, rrbicov:check-full GREEN, and a per-feature Attacker+Defender challenge (13 findings all refuted; documented the summation Wilkinson bound). Batch PR #544 updated to 3 implemented / 0 deferred. Next: feature 4/8 โ€” bar_ehlers_increment_asymmetry (skewness of bar-to-bar price changes; closed-form power sums).
Accuracy proof: Rust vs reference max diff BTC 9.49e-14 / ETH 1.13e-13 (continuous; <=1e-9 with ~4 orders headroom, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_ehlers_increment_asymmetry

card 26 ยท 16/16 stages

Whether up-moves and down-moves are lopsided in size โ€” skewness of the bar-to-bar price changes.

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: Exact closed-form power sums โ€” a brute-force is identical arithmetic; the property battery (scale-invariance x2/x0.5, odd-negation, =0 symmetric, NaN flat) is the independent leg. scale_check: real-window x2/x0.5 invariance.
Latest
Feature 4/8 (bar_ehlers_increment_asymmetry โ€” whether up-moves and down-moves are lopsided in size) COMPLETE โ€” all 16 stages green; the batch is now HALF done (4/8, 0 deferred). E=sum(d^3)/sum(d^2)^1.5 over raw close first differences (no ln); a continuous estimator but the diffs are exact by Sterbenz so the residual is just ~2 ULP (6.9e-17 BTC / 2.8e-17 ETH) โ€” ~12 orders under the 1e-9 gate. This fire finished the feature: the ADR, ehlers:* mise tasks + slash commands, ehlers:check-full GREEN, and a per-feature Attacker+Defender challenge (10 findings, 9 refuted, 1 worked โ€” added an in-Rust brute-force that computes s2^1.5 as s2*sqrt(s2), a different libm path than the kernel's pow, giving ehlers parity with rrbicov/signflux's dual-implementation defense AND cross-validating the pow path; also clarified the Sterbenz claim). Batch PR #544 updated to 4 implemented / 0 deferred. Next: feature 5/8 โ€” bar_cox_stuart_trend_z (a robust trend test: are later prices systematically higher than earlier ones).
Accuracy proof: Rust vs reference max diff BTC 6.9e-17 / ETH 2.8e-17 (~2 ULP, 12 orders under 1e-9; raw diffs exact by Sterbenz, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_cox_stuart_trend_z

card 23 ยท 16/16 stages

A robust trend test: are later prices in the window systematically higher (or lower) than earlier ones?

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: FOSS: cran/randtests cox.stuart.test (R, GPL, dev-only via Rscript/rpy2) โ€” TRUE independent. scale_check: rank/pairing invariant under monotone rescale.
Latest
Feature 5/8 (bar_cox_stuart_trend_z โ€” a robust trend test: are later prices systematically higher or lower than earlier ones?) COMPLETE โ€” all 16 stages green; 5/8 done, 0 deferred. The Cox-Stuart sign test, z-standardised: S+ counts how many second-half closes exceed their first-half partner, z=(S+-m/2)/sqrt(m/4); at n=200 that's (S+-50)/5 โ€” an integer-count closed form, so BIT-EXACT vs the numpy oracle (residual 0). This fire built the whole feature: oracle SSoT + BTC/ETH fixtures (caught + fixed a numpy np.float64() repr bug in the generator), the kernel + 7 property tests (z=+/-10 on monotone up/down, z=0 trendless, rank-invariant under positive rescale), the 9-tuple wiring, forward-only schema across all 4 sources, the bit-exact parity gate, an in-Rust brute-force S+ recount, the ADR, the coxstuart:* mise tasks + slash commands, coxstuart:check-full GREEN, and a per-feature Attacker+Defender challenge (7 findings, all refuted, no code change โ€” three-tier independence confirmed; FOSS randtests honestly omitted as non-hermetic + different normalization). Batch PR #544 updated to 5 implemented / 0 deferred. Next: feature 6/8 โ€” bar_groeneveld_meeden_b3_skewness (a robust, outlier-resistant skewness of recent returns around the median).
Accuracy proof: Rust vs reference max diff 0.0 (bit-exact; integer-count z=(S+-50)/5, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_groeneveld_meeden_b3_skewness

card 99 ยท 16/16 stages

A robust, outlier-resistant skewness of recent returns, measured around the median.

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: In-Rust from-scratch brute-force: independent sort-then-average even-n median + explicit MAD-about-median, asserted == kernel (the even-n median averaging is the independence-critical detail). scale_check: real-window x2/x0.5 invariance.
Latest
Feature 6/8 (bar_groeneveld_meeden_b3_skewness โ€” a robust, outlier-resistant skewness of recent returns measured around the median) COMPLETE โ€” all 16 stages green; 6/8 done, 0 deferred. b3=(mean(x)-median(x))/mean(|x-median(x)|) over logret; a continuous median-based estimator so the gate is <=1e-9 (residual 8.6e-13 BTC / 8.0e-13 ETH) rather than bit-exact. Built the whole feature this fire: oracle SSoT + BTC/ETH fixtures, the kernel (libm log, numpy-matching median, MAD) + 7 property tests, the 10-tuple wiring, forward-only schema across all 4 sources, the <=1e-9 parity gate, an in-Rust brute-force median+MAD leg, ADR, gmskew:* mise tasks + slash commands, gmskew:check-full GREEN, and a per-feature Attacker+Defender challenge (8 findings, 7 refuted, 1 worked: added an explicit even-n median-averaging test + documented why median selection is stable under ln rounding via monotonicity). The schema-contract gate caught an initial omission of all 3 schema sources and forced the fix โ€” exactly its job. Batch PR #544 updated to 6 implemented / 0 deferred. Next: feature 7/8 โ€” bar_l_kurtosis_tau4 (robust, outlier-resistant fat-tailedness of recent returns, via L-moments; FOSS lmoments3 cross-check available).
Accuracy proof: Rust vs reference max diff BTC 8.6e-13 / ETH 8.0e-13 (continuous; <=1e-9, ~3 orders headroom, BTC+ETH, SHA-locked) (gate โ‰ค1e-9).
DONE

bar_l_kurtosis_tau4

card 2 ยท 16/16 stages

A robust, outlier-resistant 'fat-tailedness' of recent returns, built from L-moments.

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: FOSS: OpenHydrology/lmoments3 lmom_ratios -> tau4 (GPL, dev-only) โ€” TRUE independent. scale_check: real-window x2/x0.5 invariance (L-moment ratio is scale-free).
Latest
Feature 7/8 bar_l_kurtosis_tau4 COMPLETE: all 16 stages. L-kurtosis tau4=l4/l2 via Hosking-1990 PWM over logret. Oracle <=1e-9 (residual BTC 3.42e-14 / ETH 2.93e-14) with lmoments3 FOSS cross-validation baked into the generator (fail-closed, ~1.4e-14); in-Rust binomial-form brute-force independent leg bit-identical (0.0) to the product-form kernel. Wired 10->11 tuple, 4-source schema-contract green, ADR + mise namespace (6 slash wrappers) added, lkurt:check-full GREEN. Challenge HELD (9 findings: 2 false alarms + 7 refuted, 0 worked). Pushed to PR #544 (now 7 implemented / 0 deferred / 1 pending). Next: feature 8/8 bartels_rank_vn_ratio.
Accuracy proof: Rust vs reference max diff 3.419e-14 / 2.931e-14 (continuous; BTC/ETH, 9801 bars each) (gate โ‰ค1e-9).
DONE

bar_bartels_rank_vn_ratio

card 19 ยท 16/16 stages

A rank-based test of whether recent returns are randomly ordered or have serial structure (momentum / mean-reversion).

OracleSSoTโœ“Indep.cross-checkโœ“Rustkernelโœ“โ‰ค1e-9parityโœ“Causality(no look-ahead)โœ“Determinism+ streamingโœ“Robustnesssuiteโœ“Wiringโœ“DBcolumnโœ“Schema-contractโœ“Featuremanifestโœ“ADRโœ“Tasks +slashโœ“check-fullGREENโœ“Challenge& heldโœ“Commitโœ“
Independent leg: FOSS: cran/randtests bartels.rank.test (R, GPL, dev-only) โ€” TRUE independent. scale_check: average-rank invariant under monotone rescale.
Latest
Real-data robustness gap CLOSED + P3 HELD. BLOCKER (real-data rule): the 4 continuous features' scale-invariance used SYNTHETIC windows -> replaced with harness_scale_invariance_continuous_real_windows_both_symbols (624 real BTC/ETH-window rescale checks <=1e-9; removed the 4 synthetic tests). Now broader than the pre-batch dispersion/cecp single-window scale harness (closes the vs-previous footprint gap + manifest T3_scale_invariance_real_windows). Committed 4c4f3009, pushed. P3 batch-terminal (1 Attacker + 1 Defender) HELD: both MERGE-READY on feature merit, zero actionable findings; attacker confirmed remaining synthetic data = legit correctness-anchors/degenerate-edge tests (not robustness properties). challenge_held_done=true. Canonical clippy (--all-targets --all-features) exit 0; 35/35 bar_close tests green. Deny still RED only on pre-existing pyo3 #545 (operator-deferred). Merge-ready on feature merit; NO merge, NO ClickHouse touched.
Accuracy proof: Rust vs reference max diff 0.000e0 (BIT-EXACT; BTC/ETH, 9801 bars each) (gate โ‰ค1e-9).

Iteration log (every loop firing)

#UTCphasefeaturewhat happened
012026-06-23T00:37:07ZP1_FEATURESP0 bootstrap complete. Built and committed the batch-shared robustness scaffold (commit 2f5bdc5e): a schema-contract tes
022026-06-23T01:06:17ZP1_FEATUREScategorical_recurrence_rate_close_tiesFeature 1/8 (bar_categorical_recurrence_rate โ€” price-level stickiness) driven from pending to 11/16 stages this fire. Bu
032026-06-23T01:17:40ZP1_FEATUREScategorical_recurrence_rate_close_tiesFeature 1/8 (bar_categorical_recurrence_rate) COMPLETE โ€” all 16 pipeline stages green. This fire added the ADR, the recu
042026-06-23T01:40:06ZP1_FEATURESsign_markov_inout_strength_asymmetry_fluxFeature 2/8 (bar_sign_markov_flux โ€” whether up/flat/down moves cycle in one rotational direction rather than reverse) ad
052026-06-23T01:59:42ZP1_FEATURESsign_markov_inout_strength_asymmetry_fluxFeature 2/8 (bar_sign_markov_flux โ€” whether up/flat/down moves cycle in one rotational direction rather than reverse) CO
062026-06-23T02:29:58ZP1_FEATURESramsey_rothman_bicovariance_gamma21_lag1_midlogretFeature 3/8 (bar_ramsey_rothman_bicov_lag1 โ€” time-irreversibility: whether recent returns look different played backward
072026-06-23T02:55:56ZP1_FEATURESehlers_increment_asymmetryFeature 4/8 (bar_ehlers_increment_asymmetry โ€” whether up-moves and down-moves are lopsided in size) COMPLETE โ€” all 16 st
082026-06-23T03:29:56ZP1_FEATUREScox_stuart_trend_zFeature 5/8 (bar_cox_stuart_trend_z โ€” a robust trend test: are later prices systematically higher or lower than earlier
092026-06-23T03:52:16ZP1_FEATURESgroeneveld_meeden_b3_skewnessFeature 6/8 (bar_groeneveld_meeden_b3_skewness โ€” a robust, outlier-resistant skewness of recent returns measured around
102026-06-23T04:27:45ZP1_FEATURESl_kurtosis_tau4Feature 7/8 bar_l_kurtosis_tau4 COMPLETE: all 16 stages. L-kurtosis tau4=l4/l2 via Hosking-1990 PWM over logret. Oracle
112026-06-23T04:56:17ZP1_FEATURESbartels_rank_vn_ratioFeature 8/8 bar_bartels_rank_vn_ratio COMPLETE โ€” P1 FEATURES DONE (8/8, 0 deferred). Bartels rank von-Neumann z; key dec
122026-06-23T05:18:06ZP2_VERIFYbartels_rank_vn_ratioP2 VERIFY: fmt+clippy+test+test-features GREEN; fixed 3 pre-existing rrbicov clippy doc errors + added the 8 batch-5 fie
132026-06-23T23:28:59ZP2_VERIFYbartels_rank_vn_ratioP2 DEFERRED per operator decision (ignore paste, defer pyo3). deny.toml now ignores paste RUSTSEC-2024-0436 (unmaintaine
142026-06-24T09:38:30ZP3_CHALLENGEbartels_rank_vn_ratioReal-data robustness gap CLOSED + P3 HELD. BLOCKER (real-data rule): the 4 continuous features' scale-invariance us