{
  "addendum_of": {
    "file": "prereg-v1.json",
    "sha256": "414490f68e292fd6db92b2b50dc448d7b504f5f1e5fe28330beca219e34d0edb",
    "url": "https://pruviq.com/verify/forward/prereg-v1.json"
  },
  "amendments": [
    {
      "direction": "stricter for every slot (k <= 9 is a subset of the old k <= 24); candidate settings and the trial count N are unchanged",
      "holm_final_table": {
        "derivation": "calibrated by no-edge simulation with the same bootstrap weights, AR(1) phi=0.1, R=200,000; +/-1 uncertainty in the small-k steps",
        "k_thresholds_by_step": [
          9,
          9,
          10,
          11,
          12,
          13,
          14,
          16,
          17,
          19,
          22,
          26,
          30,
          36,
          44,
          56,
          74,
          104,
          172,
          400
        ],
        "what": "The final Holm table over all 20 slots, published once after every slot is settled, rejects at step j (1..20, slots ordered by p ascending) when k <= the j-th threshold below."
      },
      "id": "Q-H659",
      "implementation_status": "rule recorded here; the verifier file that applies it (verify_b1) is updated separately and its sha256 is still the prereg-v1.json commitment at recording",
      "replaces": "prereg-v1.json judgment_criteria.edge_claim: \"per-candidate claim needs p <= 0.05/20 = 0.0025\"",
      "scope": "edge test at each candidate's first 52 full weeks, all 20 slots (S01..S20); a program judgment rule, not a candidate setting",
      "what": "Per-slot edge claim needs p <= 0.001, i.e. k <= 9, where k is the number of the B=10000 stationary block bootstrap resampled means at or above the observed mean and p = (1+k)/(B+1). The same p = max(p vs cash, p vs exposure-matched hold) as before.",
      "why": "Measured null size of the stationary block bootstrap as implemented (block length 10, n=364 days, fixed seed, B=10000), no-edge Monte Carlo R=200,000: at the nominal 0.0025 threshold the actual size was ~0.0048 (iid) and ~0.0052 (AR(1) phi=0.1), about twice nominal. At the 0.001 threshold it is 0.00228 (iid) and 0.00256 (AR(1) phi=0.1)."
    },
    {
      "engine_sha256": {
        "b1core_new": "649fe9b184b128a46de127520598ed17f441bc39eb709ebd792d43e5d052f03b",
        "b1core_old": "f58ad4de80ffe2e527b76ff5b62204ed30a996218e4fe9e85a8d12d0435b7547"
      },
      "id": "Q-H658-1",
      "repin_note": "in each pin file only the b1core value changed",
      "repinned_files_sha256": {
        "forward/batch1/b3/pins.json": "40ccea5dbeb0e8cebe3fce056fb7f6ba294514e32cdf1af0199768ddac12f2eb",
        "forward/batch1/pins.json": "17f6325fb9b464412c06755f67e0e4e278883d6d795789e71081544f87885e3a",
        "forward/batch2/b5/pins.json": "0bc7ca73859166f76863a553e35c3dbd189d7c94925b3e973e3260289ddccc5c"
      },
      "scope": "judged engine b1core.py, shared by the B1, B2, B3 and B5 engines (B4 was dropped before start)",
      "what": "Hourly ledger funding charge: when the panel open price at a funding stamp is missing, the exchange-backfilled open is used; if it is still missing, no charge is made and the hour is flagged source_missing (previously: charged 0 and not flagged). The charge formula is unchanged.",
      "why": "Rule horizon.missing_days requires a day to be recomputed from exchange-confirmed bars and funding history; the previous code ignored the backfill for the funding charge. The pre-registered historical pre-filter results are unchanged (they are gross of costs and funding)."
    }
  ],
  "canonical_url": "https://pruviq.com/verify/forward/prereg-v1-addendum-1.json",
  "commitments_unchanged": [
    "b3core",
    "batch1_prereg",
    "f5p_governing_prereg",
    "f5p_paper_plan",
    "f5p_tracker",
    "forward_rules",
    "tracker_b1",
    "verifier_readings_v1",
    "verify_b1",
    "verify_b3"
  ],
  "forward_journal_evidence": {
    "checked_utc": "2026-09-27T16:21:24Z",
    "earliest_scheduled_start": "2026-10-01T00:00:00Z",
    "locations_checked": {
      "B1, B2": "journals/B1.jsonl, journals/B2.jsonl under the batch-1 tracker root: no journals directory exists",
      "B3": "journals/B3.jsonl under the B3 tracker root: no journals directory exists",
      "B5": "journals/ under the B5 tracker root: directory exists and is empty (0 files)",
      "F5-P (and F1-P, F3-P, F5-V1)": "journal.jsonl under the F5-P tracker root: file does not exist"
    },
    "method": "direct file-system check of every production tracker journal location at recording time"
  },
  "forward_journal_lines_at_recording": 0,
  "how_to_verify": [
    "shasum -a 256 prereg-v1-addendum-1.json",
    "ots verify prereg-v1-addendum-1.json.ots"
  ],
  "other_commitment_changes_since_prereg_v1": [
    {
      "key": "tracker_b3",
      "new": "492ddc1017eff3c8817d88a43aef9712fbab9eb03ab8e520964ff93066927d1c",
      "old": "f117011e420b1801a1e6401e051588abc080e523ce48644353a1d399be598dea",
      "recorded_utc": "2026-09-27T13:40Z",
      "what": "B3 tracker funding-snapshot step: a partial paging failure now returns a distinct partial-failure code instead of success. Tracker only; the judged engine and rules are unchanged."
    }
  ],
  "rc": 0,
  "recorded_utc": "2026-09-27T16:21:24Z",
  "review_chain": {
    "Q-H658-1": [
      "critic (independent reviewer)",
      "Codex (second model, cross-check)",
      "jepo-11 (independent reviewer)",
      "Fable (independent reviewer)"
    ],
    "Q-H659": [
      "validation-analyst (finding)",
      "jepo-11 (independent reviewer)",
      "Codex (second model, cross-check)",
      "Fable (independent reviewer)"
    ],
    "tracker_b3": [
      "critic (independent reviewer)",
      "jepo-11 (independent reviewer)",
      "Fable (independent reviewer)"
    ]
  },
  "schema": "pruviq.prereg.addendum.v1",
  "timestamps": "third-party: OpenTimestamps proof published next to this file",
  "what_this_is": "Addendum 1 to the forward-trading pre-registration prereg-v1.json. It records two rule/engine amendments made before any forward data existed. prereg-v1.json is intentionally left unchanged so that its OpenTimestamps proof stays valid; where this addendum and prereg-v1.json differ, this addendum governs from its recorded_utc."
}
