| # profilefix-no-short-no-counter-v1 |
|
|
| This candidate composes two causal Profilefix ablations: |
|
|
| 1. `profilefix-no-short-v1`: genuine short emissions are disabled while the |
| original short selector and length-bucket RNG draws are still consumed. |
| 2. `profilefix-no-counter-v1`: rows assigned to |
| `prefix_cumulative_counter` are causally replaced. |
|
|
| Relative to `profilefix-no-short-v1`, it changes only counter-assigned rows. |
| Every emitted array is full-length (4096). |
|
|
| For each such row, the generator: |
|
|
| 1. calls and discards the complete original counter builder on Profilefix's |
| main RNG stream; |
| 2. samples a replacement family from the normalized fourteen-family UID131 |
| composition on a deterministic tagged `SeedSequence` substream; |
| 3. builds a full-length replacement and applies UID131's ordinary measurement |
| artifact path and original seasonal bank on that side stream. |
|
|
| The 2.5% counter selector mass is not renormalized. Consequently all selector |
| draws, all main-stream builder/artifact draws, and every non-counter row remain |
| byte-identical to `profilefix-no-short-v1` into later chunks. A thread-local |
| seasonal-bank selector confines UID131's original bank to replacement calls, |
| without mutating the Profilefix bank observed by non-counter rows or concurrent |
| generator threads. Its thread-local subclass initializes `uid131 = False` for |
| each thread and uses direct attribute reads accepted by the campaign inventory |
| scanner. |
|
|
| The extra discarded build adds a small amount of CPU work on about 2.5% of |
| rows. This is intentional: causal identity is more important at the screening |
| stage than optimizing away unmeasured work. |
|
|
| ## Causal validation |
|
|
| The identity test wraps `profilefix-no-short-v1`'s counter builder with a |
| sentinel while still consuming its original draws. Across 193 rows and four |
| chunks, every non-counter row is byte-identical and every tagged counter row is |
| replaced. A separate test proves replacement-stream determinism and another |
| checks the replacement seasonal path against exact UID131. A two-thread |
| coordination test proves that enabling the UID131 bank in one thread cannot |
| leak into either another worker or the main thread. |
|
|
| From `/root/91`: |
|
|
| ```bash |
| PYTHONPATH=cascade cascade/.venv/bin/pytest -q \ |
| champion/candidate/profilefix-no-short-no-counter-v1/tests |
| cascade/.venv/bin/ruff check \ |
| champion/candidate/profilefix-no-short-no-counter-v1 |
| PYTHONPATH=cascade cascade/.venv/bin/python -m cascade.miner.cli verify \ |
| champion/candidate/profilefix-no-short-no-counter-v1 \ |
| --chain-toml cascade/chain.toml |
| PYTHONPATH=cascade:champion/harness cascade/.venv/bin/python \ |
| -m champion.generic_screen_v040_v1 inventory-candidate \ |
| --workspace /root/91 \ |
| --source-path champion/candidate/profilefix-no-short-no-counter-v1 |
| ``` |
|
|
| Current result: 21 tests pass, Ruff passes, Cascade verify accepts the |
| deterministic seed-0 corpus, and the generic-screen campaign inventory accepts |
| the complete source tree. |
|
|
| Status: **prepared-unscored**. Promotion requires source-disjoint public heat |
| and then a full paired GPU duel against exact UID131. |
|
|