BL-D-009: The Rules Register

BIJECTIVE LABS


BIJECTIVE LABS . SEP 7, 2026


BL-D-009: The Rules Register

Status: RELEASED

Classification: PUBLIC

Revision: 1

Date: 2026-09-07


1. Why provenance is attached to every rule

A research rule asserted in the abstract is advice. The same rule with the failure that produced it attached is a constraint, because a reader can see what it costs to break.

Every rule in this register was written after something went wrong. None were adopted because they appeared in a textbook. Where a rule exists because a specific measurement was wrong by a specific amount, the register says so.

The register is grouped into four families. Inference rules govern how a number becomes a conclusion. Programme rules govern how many conclusions may be drawn and in what order. Data-integrity rules govern what a number is allowed to be made of. Engineering rules govern the instruments.


2. Inference

IDRule
R-01Net from day one. Every verdict is computed after fees, spread, slippage, and funding accrual where the position spans a settlement. Gross is never a verdict.
R-02Correlation-aware inference is mandatory. Returns are collapsed to a per-timestamp portfolio before any interval is computed. Per-leg t-statistics are forbidden.
R-03Every result is tested against a matched null that shares everything with the strategy except the claimed edge.
R-04The sample is cut into at least three sequential subperiods and the edge must survive in each.
R-05Multiple-testing correction is mandatory. Benjamini-Hochberg for families of tests, deflation for Sharpe ratios. A naked Sharpe ratio is not reportable.
R-06Statistical power is declared before the test. An interval spanning the threshold produces NOT PROVEN, never FALSIFIED.
R-07An information coefficient may characterise. It may never issue a verdict, and analytic conversion from coefficient to basis points is forbidden anywhere in a decision path.
R-08A kill verdict computed only on unconditional statistics is invalid. The edge must be shown absent on every pre-registered conditioning partition.
R-09Any strategy with a periodic rebalance is tested across every phase of that period before a result is reported.

Provenance

R-01 exists because of the single largest error in the programme's history. For most of the first programme, realised return was computed as the difference between entry and exit mid-price, with no fee, no spread, and no slippage anywhere in the calculation. Every strategy looked marginal and none looked impossible. Corrected, the expectation moved to -5.6 basis points, and the question changed from why nothing works to why nothing had been measured. Documented in BL-IN-002.

R-02 exists because mean pairwise return correlation across the fifteen major perpetuals on this substrate is 0.737, which leaves an effective independent sample of 1.33 per timestamp. Treating 43,209 trades as 43,209 observations overstates significance by roughly the square root of that ratio. One result in the archive moves from a raw mean of +0.86 to a collapsed bootstrap mean of -8.74 under correct treatment, which is a sign change [E-0022].

R-03 exists because a naive time-shuffle null once manufactured an apparent 2,200 basis points of edge out of a series with none. A null that breaks the time index breaks more than the signal. The control must be matched.

R-04 exists because a cross-sectional momentum result reported 338 basis points at a p-value of 0.001 and lived entirely in the final third of its sample. Split into three sequential blocks, it disappeared.

R-06 exists because the distinction between a dead hypothesis and an underpowered one is the distinction between knowledge and its absence, and because the programme conflated them once. A falsification label propagates: it closes the branch, it discourages re-testing, and it gets cited by later work as settled. An underpowered result mislabelled as a kill poisons everything downstream of it.

R-07 is the most expensive rule here and the most specific. Converting an information coefficient into an expected profit over-predicted realised profit by factors of 5.6, 13.7, and 7.3 on three separate occasions [E-0021, E-0039]. The ratio is not merely biased, it is unstable, so no correction factor rescues the conversion. Coefficients describe the shape of information. They do not price it.

R-08 was written the day a verdict was retracted by its own authors. A branch had been closed on unconditional statistics while a conditioned variant, promised in the hypothesis's own economic premise, had never been tested. The closure was withdrawn, the variant was tested, and the branch was closed again from four independent directions rather than one.

R-09 came last and cost the most to learn. The rebalance hour used across nineteen pre-registrations was 00:00 UTC, chosen by nothing more than where the era boundaries happened to fall. Re-run across all twenty-four hourly phases, the final hypothesis produced zero significant positive phases and a median of -3.54 basis points, while the phase actually in use returned +4.28 [E-0029]. A separate momentum result had reported a headline of +14.11 basis points at t=2.49, which turned out to be the maximum of twenty-four unreported phases; the median is +8.72 at approximately t=1.4 [E-0044]. An automated robustness instrument now runs this check by default.


3. Programme discipline

IDRule
R-10The hypothesis budget is fixed before the programme begins and is not extended.
R-11Held-out eras are sealed before any research begins and opened exactly once.
R-12No horizon shopping. The prediction horizon is fixed at pre-registration.
R-13No directional hypothesis below a four-hour horizon.
R-14Every verdict passes a five-angle audit before it is issued: calculation, cost, data, sample, mechanism.
R-15One variable changes at a time.
R-16New research runs as an additive parallel shadow and never disturbs a running strategy.

Provenance

R-10 caps the second programme at twelve tested hypotheses in total. The cap is not a resource constraint, it is a multiple-testing constraint made structural. A programme that can test without limit will eventually find something, and will have no way to say what that finding is worth. Eight of the twelve were used.

R-11 partitions the substrate into a research era and two sealed held-out eras, opened once at a single pre-registered gate. The reason it is written as a rule rather than a habit is that the temptation to peek arrives exactly when a result is marginal, which is exactly when peeking destroys it. The seal was opened once, and the hypothesis it was opened for died on the held-out data after surviving everything before it.

R-13 exists because below four hours, on this venue and this cost structure, the plausible magnitude of a directional signal is smaller than the round trip. It is layer 0 of the falsification chain expressed as a standing constraint, and it saved the second programme from re-testing a class the first programme had already closed at considerable expense.

R-14 was adopted after the research team noticed that adversarial audit had only ever been applied when it was specifically requested, rather than by default. Making it default caught, among other things, a sigma used to close two economic doors that was too small by a factor of 2.6, and a risk-gate lift reported as 1.52 that was 1.49 once the labels were made causal.

R-15 exists because a four-variable redesign broke a working configuration with a measured edge, and no post-mortem could say which of the four did it.

R-16 protects the sample. A strategy accumulating a clean forward record is an asset that a container restart destroys, so new work runs as an isolated sidecar and never touches a running machine.


4. Data integrity

IDRule
R-17Defaulting a missing value to zero is forbidden wherever zero is a meaningful value. Carry the last known value or fail.
R-18Every input is cross-checked against a second source before a verdict is issued.
R-19No verdict is issued without decomposition by symbol and by subperiod, and without evidence that every cost component was populated from a live source.
R-20Safety filters do not depend on a single upstream field that can be absent. A denylist backs every filter.
R-21Stale or impossible data fails closed. The consumer skips the symbol rather than proceeding on a stale value.
R-22Before any consumer of a data field is built, the field is extracted live and compared against the design assumption.
R-23Incidents are logged the day they are found.
R-24A code comment may not claim more than has been verified. A known compromise is tagged as one.

Provenance

The governing principle behind this family is one sentence: a wrong number is more dangerous than a missing number. A missing number stops the pipeline. A wrong number produces a confident verdict.

R-17 exists because a websocket parser defaulted a missing funding rate to zero. The venue only sends that field when it changes, so nearly every delta message silently overwrote a correct value with zero, in both the cache and the in-memory state. The effects were invisible and wide: a funding-crowding feature was silently disabled, an accrual calculation overstated a strategy's return, and a manifest claim that the data had been verified live became retroactively false.

R-19 exists because a verdict was once issued on a sample in which 87 percent of 39,250 events came from a single symbol, and that symbol was a low-quality listing selected by the universe filter precisely because it moved a lot. The verdict was retracted. Universe hygiene is not housekeeping; it is signal quality. Documented in BL-IN-004.

R-22 is the cheapest rule in the register and it has already paid for itself. A strategy design assumed seven to fourteen days of open-interest history. The field held roughly one hour. The check took minutes and was run before any code was written, so the redesign cost nothing.


5. Engineering

IDRule
R-25A verdict is valid only when it comes from an in-repository instrument with tests written before the measurement.
R-26An instrument that is found to be wrong retracts its own output and is retained alongside its replacement.
R-27Envelope parameters are configuration, never constants in logic.
R-28Research logic lives in tested modules. Scripts are glue only.

Provenance

R-25 exists because an ad-hoc acceptance script, written outside the repository and never tested, reported a coverage figure of zero percent that was false, and then was lost entirely. Nothing about that measurement could be reconstructed or checked. Every acceptance instrument since has lived in the repository with tests attached.

R-26 is why an execution cost instrument in this record carries the status SUPERSEDED rather than being deleted. It double-counted adverse selection, found the error itself, and marked its own output invalid. Both it and its replacement are published [E-0013, E-0014], because the pair is the evidence that the retraction happened.

R-28 exists because a sign error inside a research script is invisible. Moving the logic into a tested module and leaving the script as glue makes the sign a thing that a test asserts rather than a thing a reviewer squints at.


6. How the register is used

A verdict that violates a rule in this register is not issued. Where a rule was adopted after work that predates it, the affected documents say so and state whether the earlier result survives re-checking under the current rule.

Three results in this record were re-checked against rules adopted after they were produced. Two survived unchanged. One, the momentum headline in R-09 above, was revised downward and the revision is published.


Copyright (c) 2026 Bijective Labs. All rights reserved.