The Preference Was Only the Beginning

The Preference Was Only the Beginning
Page content

A preference is not only a label on what just happened. When the decision belongs to a continuing trajectory, it can also be evidence about what happens next.

Abstract

Most preference-learning systems stop at the choice.

A model produces two responses. A human selects one. The chosen response becomes positive evidence, the rejected response becomes negative evidence, and the training system moves on.

The work itself usually continues.

The selected answer may later be revised, partially retained, contradicted or abandoned. The rejected alternative may reveal a constraint that remains active long after the immediate decision. The preference is therefore not necessarily the outcome. It may be an event inside a longer trajectory.

This article asks a different question from conventional preference learning:

After accounting for the current state and the selected output, does the rejected alternative improve our prediction of what happens next?

I call the measurable improvement Preference Future Information, or PFI:

$$ \hat P_0 = P(F \mid H,C), \qquad \hat P_1 = P(F \mid H,C,Y) $$$$ \operatorname{PFI} = \mathcal{L}(F,\hat P_0) - \mathcal{L}(F,\hat P_1) $$

where:

  • \(H\) is the current history or state;
  • \(C\) is the candidate or retained-output evidence available at the decision point;
  • \(Y\) is the observed preference evidence, including the rejected alternative;
  • \(F\) is a specified future outcome;
  • \(\hat P_0\) is the baseline forecast made without preference evidence;
  • \(\hat P_1\) is the preference-informed forecast;
  • \(\mathcal{L}(F,\hat P)\) is a held-out probabilistic forecast loss.

Positive PFI means that adding authentic preference evidence reduces forecast error.

The research programme produced three distinct results.

First, a synthetic benchmark returned approximately zero PFI under a strict null and positive PFI when preference-to-future information was deliberately injected.

Second, a full LMArena experiment found no detectable preference information for whether an evaluation session continued. That failure mattered. It showed that an event occurring later is not automatically downstream of the decision.

Third, a full New York Times revision-history experiment produced a reliable positive result. Across 133,872 sentence-revision episodes from 35,816 articles, knowing the authentic sentence that had been replaced improved prediction of whether the retained replacement would be revised again.

The improvement appeared under both log loss and Brier score, survived article-grouped hierarchical bootstrapping, was positive in all ten train/test splits and beat a matched permutation control.

The result does not show that every preference predicts every future.

It supports a narrower and more useful claim:

Preference can be evidence about decision-linked futures.


1. The Preference Record Ends Too Early

A conventional preference record has a simple shape:

prompt
├── response A
├── response B
└── human preference: A

This record is useful for learning which response should become more likely.

It is incomplete as a record of what the decision leads to.

A real interaction may continue like this:

response A selected
user accepts part of it
new constraint appears
response is revised
original wording is partly removed
final artifact stabilises

The conventional training example preserves:

A > B

The full trajectory may be:

A
→ immediate acceptance
→ later correction
→ partial retention
→ another revision
→ stable final form

Those are different training objects.

The first describes a local comparison.

The second describes the life of the decision.

This matters especially in writing systems. A sentence can be preferred now and still be removed two revisions later. Another can appear locally weaker while better preserving voice, structure or room for later development. Immediate preference and eventual utility are related, but they are not identical.

The conventional record ends at the moment when the most interesting question begins:

What tends to happen after a choice like this?


2. From Steering to Forecasting

Modern preference learning is primarily prescriptive.

It asks:

Which output should the system produce?

The observed choice is used to increase the probability of preferred actions:

$$ \pi(a \mid s) \longrightarrow \text{greater probability for preferred actions} $$

PreferenceFutures asks a predictive question instead:

Once the decision has been observed, does it improve our forecast of the later trajectory?

Let:

  • \(H_t\) is the interaction history;
  • \(C_t\) is the candidate set;
  • \(Y_t\) is the observed preference;
  • \(F_{t+1:t+H}\) is the specified future trajectory.

The usual preference problem estimates:

$$ P(Y_t \mid H_t,C_t) $$

Given the history and candidates, predict what the human will prefer.

The future problem estimates:

$$ P(F_{t+1:t+H} \mid H_t,C_t,Y_t) $$

Given the history, candidates and observed preference, predict what follows.

The preference changes roles.

It stops being the target and becomes evidence.

For an editing system, a conventional model might report:

Candidate A preference probability: 0.81

A preference-informed future model might instead report:

Finding closes:                       82%
Reverted within two revision cycles:  27%
Expected retained fraction:           0.68
Expected additional revision cycles:  1.9
Likely next concern:                  pacing

The system is no longer saying only:

This is what you appear to prefer.

It is also saying:

This is what choices like this tend to become.

The difficult part is deciding which later outcomes genuinely belong to the decision. As the Arena experiment will show, something happening later does not necessarily make it downstream.


3. Measuring Incremental Future Information

The core comparison is intentionally simple.

Suppose a baseline model predicts a specified future outcome \(F\) from the current history and available evidence:

$$ \hat P_0 = P(F \mid H,C) $$

A second model receives the same information plus the observed preference:

$$ \hat P_1 = P(F \mid H,C,Y) $$

Let their held-out forecast losses be:

$$ \mathcal{L}_0 = \mathcal{L}(F,\hat P_0) $$

and:

$$ \mathcal{L}_1 = \mathcal{L}(F,\hat P_1) $$

Preference Future Information is defined as:

$$ \operatorname{PFI} = \mathcal{L}_0-\mathcal{L}_1 $$

Positive PFI means that adding the authentic preference evidence reduced held-out forecast error.

Negative PFI means that adding the preference made the forecast worse.

For binary outcomes, the experiments use two proper scoring rules.

Log-loss PFI

$$ \operatorname{PFI}_{\text{log}} = \operatorname{LogLoss}(F,\hat P_0) - \operatorname{LogLoss}(F,\hat P_1) $$

Brier-score PFI

$$ \operatorname{PFI}_{\text{Brier}} = \operatorname{Brier}(F,\hat P_0) - \operatorname{Brier}(F,\hat P_1) $$

Under both scoring rules, lower forecast loss is better. A positive difference therefore means that the preference-informed model performed better.

PFI is not claimed to be formal mutual information.

It is an operational estimate of incremental predictive utility under a specified:

  • dataset;
  • future target;
  • model family;
  • feature representation;
  • train/test protocol;
  • scoring rule.

The measured value is therefore a property of the complete experiment, not an intrinsic universal quantity attached to the preference itself.

That qualification is not a weakness. It makes the claim testable.

Figure 1: In standard preference learning, the preference \(Y\) is the prediction target. In PreferenceFutures, the observed preference becomes an input used to forecast a downstream future \(F\).

    flowchart LR
    subgraph A["Standard Preference Learning"]
        direction LR
        H["History H"] --> M1["Model"]
        C["Candidates C"] --> M1
        M1 --> Y["Preference Y<br/>target"]
    end

    subgraph B["Preference-Informed Forecasting"]
        direction LR
        H2["History H"] --> M2["Model"]
        C2["Candidates C"] --> M2
        Y2["Observed preference Y<br/>input"] --> M2
        M2 --> F["Future F<br/>prediction"]
    end

    style A fill:#f0f0f0,stroke:#333
    style B fill:#e6f3ff,stroke:#0066cc
  

4. The Control That Matters: Authentic Versus Shuffled Preference

A model may improve simply because it receives additional features or additional capacity.

That is not sufficient evidence that the authentic preference contains useful information.

The benchmark therefore compares four systems:

System Current state and context Retained or candidate output Preference evidence
Baseline Yes Yes No
Preference only No or limited No or limited Authentic
Combined Yes Yes Authentic
Matched permutation control Yes Yes Shuffled or permuted

The central PFI comparison is:

state + retained output
versus
state + retained output + authentic preference

This establishes whether adding preference evidence improves the forecast.

The matched permutation control asks a separate question:

Does the authentic preference help because it is correctly linked to this decision, or would any additional preference-shaped input produce the same improvement?

The control should preserve as much of the nuisance structure as possible, including feature dimensions, marginal distributions and relevant matching variables, while breaking the association between the authentic preference and its actual future.

A convincing result therefore requires more than a positive point estimate.

It requires:

combined model beats baseline

and:

authentic preference beats matched permutation

with the comparisons evaluated on the same held-out examples and accompanied by uncertainty estimates.

Without the first comparison, there is no evidence of incremental predictive value.

Without the second, additional features, model capacity or incidental dataset structure can masquerade as preference information.


5. First Validate the Instrument

Before testing real human data, the measurement had to distinguish signal from no signal.

The synthetic generator created:

  • interaction histories;
  • candidate features;
  • an observed preference;
  • a binary future outcome;
  • independent session groups.

Two parameters controlled the relationship:

  • \(\gamma\), the direct preference-to-future effect;
  • \(\rho\), a shared latent effect that could influence both preference and future outcome.

The strict null used:

direct preference effect γ = 0
shared latent effect ρ     = 0

Under this condition, the observed preference carried no incremental information about the generated future.

The positive control used:

direct preference effect γ = 0.75
shared latent effect ρ     = 0

Under this condition, the generator deliberately inserted a preference-to-future relationship.

Across ten seeds, the strict-null confidence intervals included zero:

Condition Statistic Mean 95% interval Positive seeds
Strict null PFI log loss -0.000145 [-0.000439, 0.000105] 4/10
Strict null PFI Brier -0.000069 [-0.000220, 0.000056] 4/10

Under the injected positive condition, PFI was positive in all ten seeds:

Condition Statistic Mean 95% interval Positive seeds
Injected signal PFI log loss 0.009145 [0.006206, 0.012429] 10/10
Injected signal PFI Brier 0.004447 [0.002918, 0.006086] 10/10

The authentic synthetic preference also outperformed the matched shuffled control.

The synthetic experiment established only that the instrument behaved as intended:

  • it returned approximately zero under a strict null;
  • it detected deliberately injected future information;
  • shuffling removed the association;
  • preference was more useful when interpreted alongside the state and candidates than when treated as an isolated label.

It did not establish that real human preferences predict real futures.

That required a public experiment capable of failing.


Figure 2: Each dataset is converted into preference-linked episodes. Four models are evaluated on group-held-out data. PFI compares the baseline with the authentic combined model; the shuffle gap compares the authentic combined model with a matched permutation control.

    flowchart TB
    subgraph Sources["Data sources"]
        direction LR
        S["Synthetic interactions"]
        A["LMArena evaluation sessions"]
        N["NewsEdits article revisions"]
    end

    S --> E["Dataset-specific episode builder"]
    A --> E
    N --> E

    E --> D["Common episode structure:<br/>state or history<br/>available or retained output<br/>preference evidence<br/>future target<br/>group identifier"]

    subgraph Models["Feature-set models"]
        direction LR
        B["Baseline<br/>state + output"]
        P["Preference only"]
        C["Combined<br/>state + output + authentic preference"]
        SH["Matched permutation<br/>state + output + permuted preference"]
    end

    D --> B
    D --> P
    D --> C
    D --> SH

    B --> PFI["PFI<br/>loss(baseline) − loss(combined)"]
    C --> PFI

    SH --> SG["Shuffle gap<br/>loss(permuted) − loss(authentic)"]
    C --> SG

    P --> R["Secondary diagnostic"]
    PFI --> BOOT["Paired hierarchical bootstrap<br/>over complete held-out groups and seeds"]
    SG --> BOOT
    R --> OUT["Per-model metrics"]
    BOOT --> OUT2["Mean gain, 95% interval,<br/>positive-split count"]

    style Sources fill:#fff5e6,stroke:#d9a64a
    style Models fill:#e6f3ff,stroke:#0066cc
    style BOOT fill:#e6ffe6,stroke:#009933
  

6. The First Public Experiment Returned a Null Result

The first public test used the LMArena human-preference dataset.

Each record contained a human vote between two candidate model responses. Session identifiers and evaluation order allowed those records to be arranged into sequences.

The initial future target was:

session_continues_after_vote

The question was:

After accounting for evaluation order, model identities, conversation size, category and candidate information, does the current vote improve prediction of whether another evaluation occurs in the same session?

The full experiment used:

  • 135,634 evaluation records;
  • 115,372 sessions;
  • ten session-grouped train/test splits;
  • 5,000 paired hierarchical-bootstrap draws.

The experiment found no detectable incremental preference information:

Statistic Mean 95% interval Positive seeds
PFI log loss 0.000016 [-0.000057, 0.000085] 5/10
PFI Brier 0.000007 [-0.000008, 0.000022] 6/10
Authentic vs shuffled, log loss 0.000057 [-0.000018, 0.000140] 6/10
Authentic vs shuffled, Brier 0.000010 [-0.000008, 0.000029] 5/10

Every confidence interval included zero. The authentic vote also failed to reliably outperform the shuffled control.

Under this target, representation and evaluation protocol, the explicit vote added essentially no detectable information about whether the session continued.

This was disappointing.

It was also the most important conceptual correction in the project.


7. Later Is Not the Same as Downstream

The Arena experiment had temporal ordering:

vote
→ later evaluation

But an event occurring later is not automatically downstream of the decision.

A person might continue because:

  • they intended to test ten prompts;
  • they had more time;
  • they were following a benchmarking procedure;
  • they wanted to evaluate a different topic;
  • another comparison was already planned.

The current vote and the next evaluation occurred in the same session, but they were not necessarily part of the same decision trajectory.

The null result therefore exposed a weakness in the original formulation:

A preference does not become informative about an event merely because that event happens later.

It suggested a stronger data requirement:

The observed preference and the future target should belong to the same evolving object or decision lineage.

This does not mean that session continuation can never be predicted from preference. It means that the Arena experiment found no detectable signal for that target under the available representation and evaluation protocol.

The missing ingredient was not more chronology.

It was lineage.

A useful preference-future record needs a form like:

state
→ alternatives
→ selection and rejection
→ selected branch persists
→ later outcome of that branch

That is exactly what revision histories provide.


8. The Corrected Test: Sentence Revision Lineage

The second public experiment used the New York Times portion of the NewsEdits revision-history corpus.

Unlike LMArena, NewsEdits does not record an explicit A/B vote. It records a revealed editorial preference: one sentence disappears from the article and another takes its place.

Instead of asking whether a user performed some unrelated action later, the experiment followed the fate of the retained replacement itself.

For three consecutive article versions:

V0: earlier sentence
        ↓ replaced by
V1: retained replacement
        ↓ survives or changes
V2: next observed sentence state

For each clean one-to-one replacement, the experiment recorded:

  • the sentence in \(V_0\) that was replaced;
  • the sentence retained in \(V_1\);
  • the local context surrounding that sentence in \(V_1\);
  • structural and lexical properties of the revision;
  • whether the retained sentence survived unchanged into \(V_2\).

The binary future target was:

revised_again_next_version

A positive target meant that the (V_1) sentence was revised or removed in (V_2). A negative target meant that it survived unchanged.

The baseline model already knew:

  • the local article context;
  • the retained sentence;
  • its sentence position;
  • the current version index;
  • retained-sentence length and token information.

The preference-informed model additionally knew:

  • the authentic sentence that had been replaced;
  • rejected-sentence length and token information;
  • character and token differences;
  • edit similarity;
  • lexical overlap.

Let:

  • (H) represent the current article context and revision metadata;
  • (S_r) represent the retained sentence;
  • (S_j) represent the rejected sentence;
  • (R) represent structural and lexical revision evidence;
  • (F) represent whether the retained sentence is revised again.

The main comparison was therefore:

$$ P(F \mid H,S_r) $$

versus:

$$ P(F \mid H,S_r,S_j,R) $$

Both models already knew what the journalist retained.

The question was whether knowing what had been removed provided additional information about the future of what replaced it.


9. The Full NewsEdits Result

The final experiment began with 51,982 New York Times article histories containing at least three versions. After extracting clean one-to-one sentence replacements with observable next-version outcomes, the evaluation dataset contained:

  • 133,872 sentence-revision episodes;
  • 35,816 contributing article lineages;
  • a future revision rate of 25.0239%;
  • ten article-grouped train/test splits;
  • 5,000 paired hierarchical-bootstrap draws;
  • regularised probabilistic logistic models;
  • log loss and Brier score as the primary scoring rules.

Every article lineage was assigned entirely to either training or testing within each split. No article contributed episodes to both sides of the same evaluation.

All fitted models converged.

Aggregate model performance

Feature set Log loss Brier AUC Average precision
Context + retained sentence 0.502924 0.162714 0.665109 0.499132
Preference evidence only 0.513864 0.167283 0.651889 0.468398
Context + retained + authentic preference evidence 0.499364 0.161486 0.672754 0.509976
Context + retained + shuffled preference evidence 0.503755 0.163021 0.662824 0.496826
Constant-prevalence null 0.562101 0.187392

The context baseline already substantially outperformed the prevalence-only null.

That result matters independently:

The later stability of a sentence was predictable from its present textual and revision state.

Adding authentic rejected-alternative evidence improved log loss, Brier score, AUC and average precision.

Preference Future Information

Statistic Mean Seed SD 95% interval Positive splits
PFI log loss 0.003559 0.000495 [0.003142, 0.003975] 10/10
PFI Brier 0.001228 0.000155 [0.001085, 0.001373] 10/10
Authentic vs shuffled, log loss 0.004391 0.000574 [0.003921, 0.004869] 10/10
Authentic vs shuffled, Brier 0.001535 0.000184 [0.001368, 0.001696] 10/10

Relative to the informed baseline, the authentic preference model reduced log loss by approximately 0.71% and Brier score by approximately 0.75%.

The absolute improvement is modest.

The evidence that the improvement is real is not.

The effect appeared:

  • under both proper scoring rules;
  • in all ten grouped splits;
  • with confidence intervals entirely above zero;
  • against a shuffled-preference control;
  • on held-out article lineages.

This supports a narrow empirical claim:

Knowing the authentic sentence that was replaced improves prediction of whether the retained replacement will be revised again.


10. What the Rejected Evidence Adds

The preference-evidence-only model did not outperform the current-text baseline.

That result should not be interpreted as showing that the rejected sentence contains no useful information on its own. The two models received different evidence.

The baseline knew the retained sentence and its surrounding context. The preference-only model did not.

The stronger conclusion is conditional:

Rejected-alternative evidence improves the forecast when it is added to the retained sentence and the state in which that sentence currently exists.

Formally, the experiment found:

$$ \mathcal{L}(F \mid H,S_{\text{retained}}) > \mathcal{L}(F \mid H,S_{\text{retained}},S_{\text{rejected}},R) $$

where \(R\) represents the measured structural and lexical properties of the revision.

The observed edit is inherently relational:

$$ S_{\text{retained}} \succ S_{\text{rejected}} $$

One sentence remained in the article. The other was removed.

The retained sentence tells us where the editor landed.

The rejected sentence may reveal something about the boundary that was crossed to get there.

Consider:

Rejected:
Sheila was furious with Patrick.

Retained:
Sheila put the mug down without drinking.

The retained sentence suggests an embodied expression of emotion.

Knowing the sentence it replaced offers a possible additional inference:

  • explicit emotional labelling was removed;
  • action replaced explanation;
  • later prose may continue to externalise the emotion;
  • a return to explicit explanation may remain unstable.

This example illustrates the hypothesis. The full NewsEdits experiment does not observe the editor’s intention and cannot determine why a particular sentence was replaced.

What it establishes is that the authentic rejected alternative contains information that is useful in the presence of the current text.

One possible explanation is that the replacement exposes a selection rule or latent constraint that remains active in later revisions.

But several mechanisms could produce the result:

  • the specific words and constructions removed;
  • the magnitude of the edit;
  • the lexical distance between the two sentences;
  • the relationship between the rejected and retained wording;
  • a combination of these signals.

The main experiment establishes that authentic revision evidence matters.

The mechanism ablation asks what, inside that evidence, carries the forecast.


11. The Monty Hall Shape

The closest familiar analogy is the Monty Hall problem.

A contestant selects one of three doors. The host then opens another door, reveals a goat and offers the contestant a chance to switch.

The host’s action is informative because:

  • the host knows where the prize is;
  • the host follows a constrained selection rule;
  • the eliminated door was not chosen independently at random.

The opened door therefore provides information about the doors that remain.

The NewsEdits result has the same broad information shape, although it is not an instance of the Monty Hall theorem.

In editorial revision, one sentence remains and another is removed. That elimination was produced by a selection process operating under constraints that are only partially visible in the final text.

The rejected sentence may therefore reveal something about those hidden constraints.

The permutation control plays the role of an unrelated elimination. It preserves the presence of additional preference-shaped evidence while breaking its authentic connection to the retained sentence and its later fate.

The authentic rejected sentence improved the forecast.

The shuffled preference evidence did not provide the same benefit.

The shared principle is:

An informed elimination can change the probability distribution over the remaining possibilities.

For writing, the corresponding hypothesis is:

The branch rejected can carry information about the future of the branch retained.


12. What the Result Establishes—and What It Does Not

The main NewsEdits experiment establishes operationally that:

  1. later sentence stability is predictable from the present textual and revision state;
  2. authentic rejected-alternative evidence adds incremental predictive information beyond that state;
  3. the improvement appears under both log loss and Brier score;
  4. the effect is positive across all ten article-grouped train/test splits;
  5. authentic linked evidence outperforms shuffled preference evidence.

It supports, but does not by itself prove, the interpretation that a revision exposes constraints not fully visible in the retained sentence alone.

The experiment does not establish that:

  • every preference predicts every future;
  • replacing a sentence causes its replacement to be revised later;
  • explicit A/B votes behave identically to revealed editorial choices;
  • the measured effect transfers unchanged to novels or other writing domains;
  • the rejected sentence reveals the editor’s conscious intention;
  • preference evidence is useful for unrelated events that merely occur later;
  • the model has recovered an abstract semantic rule;
  • the observed relationship is causal rather than predictive.

The main preference bundle contained several forms of evidence:

  • the authentic rejected sentence;
  • rejected-sentence length and token information;
  • character and token differences;
  • edit similarity;
  • lexical overlap.

The full mechanism ablation separates these components.

Across the complete dataset of 133,872 revision episodes, using ten article-grouped splits and 5,000 hierarchical-bootstrap draws, the rejected sentence itself accounted for approximately:

  • 82% of the full log-loss improvement;
  • 81% of the full Brier-score improvement.

Rejected text combined with lexical relationship recovered approximately:

  • 99% of the full log-loss improvement;
  • 99% of the full Brier-score improvement.

Edit geometry alone produced no reliable independent gain.

Lexical relationship—measured through edit similarity and lexical overlap—did provide a smaller but reliable increment beyond rejected text and edit geometry.

The strongest supported conclusion is therefore:

The predictive signal is carried primarily by the particular language removed, with a smaller additional contribution from the relationship between the rejected and retained wording.

The result is not primarily explained by the size of the edit.

This sharpens the original claim, but it does not establish that the model has recovered the editor’s latent reasoning or a deep semantic representation.

The rejected text was represented using TF-IDF unigrams and bigrams. Its predictive value may therefore arise from:

  • particular words and phrases;
  • named entities;
  • attribution language;
  • tense or modality;
  • hedging;
  • stylistic constructions;
  • recurring classes of editorial change.

A contextual representation would be required to determine whether the signal persists at a more abstract semantic level.

The mechanism result therefore establishes something narrower and stronger than the original bundled analysis:

Authentic rejected language contains most of the incremental information about the later stability of the retained sentence, and authentic linkage matters.

It does not yet explain exactly why that language is predictive.


13. What Carries the Preference Signal?

The main NewsEdits experiment established that authentic linked revision evidence improves prediction of later sentence stability.

The mechanism ablation asked which part of that evidence carries the gain.

The full experiment used:

  • 133,872 clean revision episodes;
  • 35,816 article lineages;
  • ten article-grouped train/test splits;
  • 5,000 paired hierarchical-bootstrap draws.

The preference bundle contained three forms of evidence:

  1. Rejected-text content — the actual words and constructions removed.
  2. Lexical relationship — similarity and overlap between the rejected and retained sentences.
  3. Edit geometry — sentence lengths and the magnitude of the change.

Component results

Evidence added to baseline Log-loss gain 95% interval Brier gain 95% interval
Edit geometry 0.000053 [-0.000096, 0.000192] 0.000044 [-0.000011, 0.000098]
Lexical relationship 0.000682 [0.000414, 0.000951] 0.000236 [0.000139, 0.000327]
Rejected text 0.002910 [0.002585, 0.003226] 0.000997 [0.000880, 0.001117]
Rejected text + lexical relationship 0.003530 [0.003102, 0.003955] 0.001215 [0.001061, 0.001364]
Full linked evidence 0.003559 [0.003133, 0.003966] 0.001228 [0.001085, 0.001367]

The rejected sentence itself accounted for approximately:

  • 82% of the full log-loss gain;
  • 81% of the full Brier-score gain.

Rejected text combined with lexical relationship recovered approximately:

  • 99% of the full log-loss gain;
  • 99% of the full Brier-score gain.

Edit geometry added no reliable information once rejected text and lexical relationship were already known:

Increment Log-loss gain 95% interval Brier gain 95% interval
Geometry beyond text + lexical evidence 0.000029 [-0.000069, 0.000122] 0.000013 [-0.000024, 0.000047]

Lexical relationship did add reliable information beyond rejected text and geometry:

Increment Log-loss gain 95% interval Brier gain 95% interval
Lexical relationship beyond text + geometry 0.000561 [0.000325, 0.000797] 0.000171 [0.000085, 0.000255]

The strongest supported interpretation is therefore:

The forecast is carried primarily by the language removed, with a smaller additional contribution from the relationship between that language and what replaced it.

The result is not primarily explained by the size of the edit.

This does not yet establish that the model has recovered an abstract semantic rule. Rejected sentences were represented using TF-IDF unigrams and bigrams, so the content signal may include:

  • particular words and phrases;
  • named entities;
  • attribution language;
  • tense or modality;
  • hedging;
  • stylistic constructions;
  • recurring editorial change types.

A contextual representation is required to determine whether the same result survives beyond lexical features.

Authentic lineage matters

The authentic full model also strongly outperformed the coherent matched-permutation control:

Comparison Log-loss gain 95% interval Brier gain 95% interval
Authentic vs matched permutation 0.004633 [0.004215, 0.005032] 0.001620 [0.001472, 0.001769]

The matched control substituted rejected sentences from nearby structural neighbourhoods and recomputed every pair-derived metric.

An arbitrary but structurally coherent rejected sentence did not reproduce the benefit of the authentic one.

The mechanism result therefore sharpens the original thesis:

The branch rejected carries information about the future of the branch retained, and most of that information is carried by the particular language that was removed.


14. What This Means for AI Applications

Most AI applications preserve the output that was accepted.

They do not preserve the decision that produced it.

A typical record looks like this:

current state
→ candidate outputs
→ one output selected
→ rejected alternatives discarded
→ workflow continues

That is enough for reconstructing the current artifact.

It is not enough for learning what decisions like this tend to become.

A richer application would preserve the decision lineage:

current state
→ candidate alternatives
→ selected candidate
→ rejected candidates
→ reason or evidence for selection
→ immediate outcome
→ later revisions
→ downstream success, failure or reversion

The NewsEdits result suggests that the discarded alternatives may contain predictive information about the future of the selected output.

This matters most in applications where the output remains alive after the immediate choice.

Writing systems

A writing assistant could preserve:

  • the original passage;
  • generated revisions;
  • the accepted revision;
  • rejected alternatives;
  • editorial findings closed;
  • new findings introduced;
  • later edits;
  • eventual retained fraction.

It could then forecast whether a proposed revision is likely to survive, be reverted or create a new editorial problem.

Coding assistants

A coding system could record:

  • the original implementation;
  • candidate patches;
  • the selected patch;
  • rejected approaches;
  • tests passed immediately;
  • later failures;
  • rollbacks;
  • follow-up modifications.

Instead of reporting only that one patch scored highest, it could estimate:

Probability of rollback:             14%
Expected follow-up patches:          1.7
Probability of a new test failure:   22%
Likely next concern:                 concurrency

Design and creative applications

A design tool could preserve:

  • proposed layouts or images;
  • the selected concept;
  • rejected concepts;
  • explicit user feedback;
  • later revisions;
  • final retained elements.

The rejected concepts may help reveal constraints that are not fully visible in the selected design alone.

Support and operational systems

A support assistant could connect:

  • candidate responses;
  • the response sent;
  • alternatives rejected;
  • whether the case reopened;
  • whether it escalated;
  • whether the customer accepted the resolution.

An operational agent could similarly track proposed actions, rejected plans and the eventual outcome of the selected path.

The principle is not that every application should retain every generated token indefinitely.

Storage, privacy, consent and data-governance constraints still apply.

The principle is narrower:

When an AI-assisted decision belongs to a continuing trajectory, the application should treat selection and rejection as part of the state—not merely as disposable scaffolding around the final output.

The first useful capability does not have to be automatic decision-making.

It can be forecasting.

For each candidate, an application could estimate:

Immediate task success
Probability of reversion
Expected number of additional cycles
Expected retained fraction
Probability of downstream failure
Likely next concern

A comparison might look like this:

Candidate A

Immediate success:                  84%
Reversion within two cycles:        19%
Expected retained fraction:         0.76
Expected additional cycles:         1.3
Likely next concern:                maintainability

Candidate B

Immediate success:                  78%
Reversion within two cycles:        11%
Expected retained fraction:         0.84
Expected additional cycles:         0.9
Likely next concern:                performance

The system does not have to choose automatically.

The user still decides.

But the decision can be informed by what similar choices tended to become.

The evidence in this article comes from editorial revision, so writing systems are the most immediate application.

The broader research question is whether the same decision-lineage signal appears wherever AI outputs are selected, modified and carried forward through time.


15. Observation, Evaluation, Preference and Forecasting

This suggests a useful separation inside AI applications.

Observation

What is present in the current state?

For a writing system, this might include the text, characters, claims, structure and stylistic patterns.

For a coding system, it might include the implementation, tests, dependencies and current failures.

Evaluation

How well does the current output satisfy the requirements that apply now?

Evaluation may include:

  • conformance to the instruction or specification;
  • consistency with declared constraints;
  • quality checks;
  • regression detection;
  • safety or policy checks.

Preference

Which alternative did the user select?

A preference model may also estimate which option the user is likely to choose, but the observed selection remains a distinct event in the decision lineage.

Forecasting

What is likely to happen after that choice is carried forward?

These are different questions.

A system that collapses them into one quality score hides too much.

An output can be:

  • locally strong;
  • compliant with the immediate instruction;
  • preferred by the user;
  • likely to be reverted later;
  • likely to introduce a new failure elsewhere;
  • likely to require several additional revision cycles.

Evaluation describes the state of an output now.

Preference records the decision made among alternatives.

Forecasting estimates the likely later state of the selected branch.

This gives an AI application a temporal dimension. It no longer asks only:

Is this output good now?

It can also ask:

What do outputs selected under conditions like these tend to become?

That distinction matters because the highest-scoring immediate choice is not always the choice with the most stable downstream trajectory.


16. The Evidence Chain

The research sequence matters more than any single result.

Synthetic strict null

PFI remained approximately zero when the generator contained no preference-to-future relationship.

This established that the instrument did not manufacture a positive result merely because preference features had been added to the model.

Synthetic positive control

PFI became reliably positive when a direct preference-to-future relationship was deliberately injected.

This established that the instrument could detect incremental future information when such information was genuinely present.

Arena session continuation

No detectable PFI was found for a real but weakly linked temporal target.

The vote occurred before the later evaluation, but the two events did not necessarily belong to the same decision trajectory.

The negative result showed that chronology alone was insufficient.

NewsEdits revision stability

PFI became reliably positive when the target followed the later fate of the retained text itself.

Authentic rejected-alternative evidence improved prediction of whether that retained sentence would be revised again.

The result was positive under both log loss and Brier score and across all ten article-grouped train/test splits.

Full mechanism ablation

The full-corpus mechanism ablation showed that most of the improvement was carried by the actual rejected text.

Rejected text alone accounted for approximately:

  • 82% of the full log-loss improvement;
  • 81% of the full Brier-score improvement.

Rejected text combined with lexical relationship recovered approximately 99% of the full effect.

Edit geometry produced no reliable independent gain.

The mechanism result therefore narrows the location of the signal:

The useful information is carried primarily by the particular language removed, with a smaller contribution from its relationship to the retained wording—not merely by the magnitude of the edit.

The experiment does not yet determine exactly why that language is predictive.

It may encode editorial constraints, unstable facts, developing-story volatility, uncertainty, attribution structure or some combination of these. That distinction matters for interpretation, but not for the operational result that authentic rejected language contains incremental information about the later fate of the retained branch.

Figure 4: The PreferenceFutures evidence chain. The instrument returned approximately zero under a strict synthetic null, detected deliberately injected information, found no detectable signal for LMArena session continuation, produced positive PFI when the target followed the retained branch, and located most of that gain in the authentic rejected text.

    flowchart LR
    N["Synthetic strict null<br/><b>PFI log loss: −0.000145</b><br/>95% CI [−0.000439, 0.000105]<br/><i>No detectable signal</i>"]

    P["Synthetic positive control<br/><b>PFI log loss: 0.009145</b><br/>95% CI [0.006206, 0.012429]<br/><i>Injected signal detected</i>"]

    A["LMArena continuation<br/><b>PFI log loss: 0.000016</b><br/>95% CI [−0.000057, 0.000085]<br/><i>No detectable signal</i>"]

    E["NewsEdits lineage<br/><b>PFI log loss: 0.003559</b><br/>95% CI [0.003133, 0.003966]<br/><i>Decision-linked signal detected</i>"]

    M["Full mechanism ablation<br/><b>Rejected-text gain: 0.002910</b><br/>95% CI [0.002585, 0.003226]<br/><i>Rejected-text-dominant signal</i>"]

    N -->|"Inject preference-to-future signal"| P
    P -->|"Test on public human data"| A
    A -->|"Replace chronology with lineage"| E
    E -->|"Decompose the preference bundle"| M

    classDef null fill:#f2f2f2,stroke:#666,stroke-width:2px,color:#111;
    classDef positive fill:#e7f7ec,stroke:#21884a,stroke-width:2px,color:#111;
    classDef mechanism fill:#e8f1fb,stroke:#276aa5,stroke-width:2px,color:#111;

    class N,A null;
    class P,E positive;
    class M mechanism;
  

This sequence is stronger than a collection of uniformly positive experiments.

The benchmark did not merely confirm the hypothesis wherever it was applied.

It distinguished among:

no generated preference-to-future signal
deliberately injected signal
real but weakly linked chronology
real decision-linked lineage
rejected-text-dominant future information

That gives the negative Arena result a central role.

Arena did not merely fail to produce a positive result.

It exposed a weakness in the original target and forced the research question to become more precise:

A later event is not automatically a downstream outcome of the decision.

In this research programme, useful preference-future targets appear to require more than chronology.

They require a traceable connection between:

  1. the decision;
  2. the branch retained;
  3. the alternative rejected;
  4. the later fate of the retained branch.

Once that lineage exists, the rejected alternative can carry information about what happens next.


17. The Contribution

The contribution is not another preference optimiser.

It consists of five linked pieces.

A new forecasting task

Predict specified downstream outcomes from decision-linked preference trajectories.

Instead of stopping at:

Which alternative was preferred?

the task continues:

What happened to the selected branch after the preference was observed?

An operational metric

Preference Future Information measures the reduction in held-out forecast loss when authentic preference evidence is added to an informed baseline:

$$ \operatorname{PFI} = \mathcal{L}_0-\mathcal{L}_1 $$

Positive PFI means that the preference-informed model forecasts the specified future more accurately.

A falsifiable evaluation design

The primary comparisons are:

state + selected output
versus
state + selected output + authentic preference evidence

and:

state + selected output + shuffled preference evidence
versus
state + selected output + authentic preference evidence

A preference-only model provides an additional diagnostic, but it is not the primary PFI comparison.

This design distinguishes incremental predictive value from improvements caused merely by adding more features or model capacity.

A lineage requirement

The Arena null result showed that temporal ordering alone is not sufficient.

A later event is not automatically downstream of the decision.

The useful record has a stronger structure:

alternatives
→ selection and rejection
→ selected branch persists
→ later fate of that branch

PreferenceFutures therefore treats decision lineage as part of the data model, not merely as metadata.

A public empirical result

On a large real-world revision corpus, authentic rejected-alternative evidence improved prediction of whether a retained sentence would be revised again.

The effect:

  • appeared under log loss and Brier score;
  • was positive across all ten grouped splits;
  • survived article-grouped hierarchical bootstrapping;
  • outperformed shuffled preference evidence.

A preliminary mechanism ablation further suggested that much of the gain was carried by the actual rejected text rather than by edit magnitude alone.

The conceptual change is simple:

Preference is no longer only the thing to be predicted, optimised or obeyed.

It can also become evidence about the future of the branch that was selected.


18. Conclusion: The Choice Was Only the Beginning

A preference record appears to describe the past.

It says:

A was preferred to B

But a real decision also opens a branch.

The selected output enters the evolving artifact. The rejected alternative falls out of the visible state. The work continues. New constraints appear. New problems emerge. Some of the selected output survives. Some of it is revised again.

Conventional preference data usually preserves the local comparison and discards the later life of the decision.

PreferenceFutures begins by preserving that lineage.

The experiments do not support the universal claim that a preference predicts whatever happens later. The Arena result showed why chronology alone is not enough.

They support something narrower:

When a preference and a future belong to the same decision lineage, the rejected alternative can contain information about what happens next.

The effect is modest, but measurable.

It is consequential enough to change what AI applications should preserve.

The retained output is not the entire information state.

The branch not taken can still cast a shadow over the branch that follows.


Current Status

Component Status
Core hypothesis Refined
Preference Future Information Defined
Synthetic strict null Passed
Synthetic positive control Passed
Shuffled-preference control Passed
Full LMArena continuation test Null result
Full NYT NewsEdits test Positive result
Article-grouped hierarchical bootstrap Completed
Preliminary mechanism ablation Positive rejected-text signal
Matched-permutation mechanism control Passed
Full-corpus mechanism ablation In progress
Cross-publisher replication Planned
Contextual semantic ablation Planned
Decision-lineage application prototype Planned
Preference-informed forecasting runtime Planned

References


Appendix 1: Synthetic Validation

This appendix validates the Preference Future Information measurement before it is applied to public human-feedback data. The synthetic experiment is a controlled methodological test: it asks whether the probe detects preference-to-future information when that information is deliberately injected, and whether it returns approximately zero under a strict null condition.


A1.1 Experimental Protocol

Dataset track

The experiment uses the synthetic track in preference_futures_probe.py.

Each synthetic example represents one evaluation event inside a session. At every event, the generator produces:

  • the evaluation order;
  • a session topic;
  • history length;
  • candidate A and candidate B lengths;
  • a candidate-length difference;
  • a response-quality-gap proxy;
  • a difficulty proxy;
  • a binary preference between candidates A and B;
  • a binary future target indicating whether the session continues.

Sessions stop when the generated continuation target is false or when the configured maximum number of rounds is reached.

Synthetic data-generating process

The preference is generated from candidate evidence and a latent session regime:

preference_logit =
    0.8 × response_gap
  - 0.25 × candidate_length_delta
  + 0.65 × latent_regime
  + preference_noise

The future continuation target is generated separately:

future_logit =
   -0.25 × evaluation_order
   +0.45 × difficulty
   +0.35 × patience
   +γ × observed_preference
   +ρ × latent_regime
   +future_noise

The two experimental controls are:

  • γ, configured by --synthetic-preference-effects, which controls the direct preference-to-future signal;
  • ρ, configured by --synthetic-shared-latent-effect, which optionally introduces a shared hidden cause of preference and future outcome.

For the strict null experiment:

γ = 0
ρ = 0

Under this condition, the preference has no direct effect on the future and no hidden latent variable is shared between preference and future generation.

For the positive control:

γ = 0.75
ρ = 0

This deliberately injects incremental future information into the preference signal.

Grouping unit

The grouping unit is:

evaluation_session_id

All rows belonging to one session are assigned entirely to either training or testing. No session is split across both sets.

Target variable

The binary target is:

session_continues_after_vote

It equals 1 when another synthetic evaluation follows the current preference event and 0 when the session stops.

Train/test split

For every seed:

  • synthetic sessions are shuffled;
  • 80% of complete sessions are assigned to training;
  • 20% of complete sessions are assigned to testing.

The split is regenerated independently for each run seed.

Base features

The history-and-candidate baseline uses:

evaluation_order
topic
history_len
candidate_a_len
candidate_b_len
candidate_len_delta
response_gap_proxy
difficulty_proxy

Preference features

The preference is represented as a one-hot vector:

pref_a
pref_b
pref_tie
pref_both_bad

Only pref_a and pref_b occur in the current synthetic generator. The complete vector is retained so that the synthetic and Arena tracks share the same interface.

Model

Every feature set is evaluated using the same scikit-learn pipeline:

  • median imputation for numeric features;
  • standardisation of numeric features;
  • most-frequent imputation for categorical features;
  • one-hot encoding of categorical features;
  • logistic regression with max_iter=1000 and balanced class weights.

The purpose of this appendix is to validate the measurement and controls, not to establish the strongest possible classifier.

Feature-set ablation

Four systems are compared:

Feature set History and candidates Real preference
History and candidates Yes No
Preference only No Yes
History, candidates and preference Yes Yes
History, candidates and shuffled preference Yes Shuffled

The decisive comparison is:

history + candidates
versus
history + candidates + real preference

Preference Future Information

For log loss:

PFI_log_loss =
    log_loss(history + candidates)
  - log_loss(history + candidates + preference)

For Brier score:

PFI_Brier =
    Brier(history + candidates)
  - Brier(history + candidates + preference)

Positive PFI means the real preference improved held-out forecasting.

Shuffled-preference control

The full one-hot preference vector is shuffled within evaluation-order buckets. This preserves:

  • the marginal preference distribution;
  • the one-hot structure;
  • broad evaluation-order effects.

It destroys the connection between an individual preference event and its actual future.

The shuffled-control gap is:

shuffle_gap =
    loss(history + candidates + shuffled preference)
  - loss(history + candidates + real preference)

A positive gap means the real preference outperformed the shuffled control.

Multiple seeds

The publication run uses ten seeds:

1,2,3,4,5,6,7,8,9,10

The appendix reports:

  • mean performance across seeds;
  • sample standard deviation across seeds;
  • the number of seeds producing a positive PFI value.

Confidence intervals

The probe uses a paired hierarchical bootstrap.

For each bootstrap draw:

  1. run seeds are sampled with replacement;
  2. complete held-out sessions are sampled with replacement within each selected seed;
  3. the no-preference and full-model losses are recomputed over the same sampled sessions;
  4. their paired difference is recorded.

The reported interval is the central 95% interval over 5,000 bootstrap draws.

This preserves the dependence between rows from the same session and between predictions evaluated on the same examples.


A1.2 Reproduction Commands

Install the required packages:

pip install pandas numpy scikit-learn datasets
python preference_futures_probe.py `
  --track synthetic `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --synthetic-preference-effects 0,0.75 `
  --synthetic-shared-latent-effect 0 `
  --synthetic-sessions 5000 `
  --synthetic-max-rounds 6 `
  --bootstrap-samples 2000 `
  --confidence-level 0.95 `
  --out synthetic_v2_runs.csv `
  --summary-out synthetic_v2_summary.csv

Results from running this test

track,condition,statistic,n_seeds,mean,seed_std,ci_low,ci_high,positive_seeds,confidence_level,bootstrap_samples,synthetic_preference_effect,synthetic_shared_latent_effect
synthetic,synthetic_effect_0_shared_latent_0,pfi_log_loss,10,-0.00014505803912394643,0.0003487944507193624,-0.0004392778269523355,0.00010463670773702795,4,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,pfi_brier,10,-6.889867047648324e-05,0.00017331939861817125,-0.00022031821873664525,5.64308591877636e-05,4,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,shuffle_gap_log_loss,10,-0.0001695674122893065,0.0004377404690562548,-0.0005551064075560879,0.00014298983743070358,5,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,shuffle_gap_brier,10,-7.820216195617291e-05,0.00021106826639264345,-0.00026088045945995685,6.747508537585623e-05,5,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,pfi_log_loss,10,0.009144853815541143,0.0043547100314081195,0.0062059663464994076,0.012428542634658295,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,pfi_brier,10,0.004447275539616999,0.0020788071342587484,0.0029175061524299196,0.006086424655378792,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,shuffle_gap_log_loss,10,0.009162544876129086,0.004359953542983772,0.005973584065596881,0.012469144141266243,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,shuffle_gap_brier,10,0.004453196267028181,0.0020849119756767643,0.002861114097542318,0.0060266169520219485,10,0.95,2000,0.75,0.0

Optional effect-strength sweep

This run tests whether measured PFI increases as more preference-to-future information is injected:

python preference_futures_probe.py `
  --track synthetic `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --synthetic-preference-effects 0,0.25,0.50,0.75 `
  --synthetic-shared-latent-effect 0 `
  --bootstrap-samples 2000 `
  --out synthetic_effect_runs.csv `
  --summary-out synthetic_effect_summary.csv

Results from running this test

track,condition,statistic,n_seeds,mean,seed_std,ci_low,ci_high,positive_seeds,confidence_level,bootstrap_samples,synthetic_preference_effect,synthetic_shared_latent_effect
synthetic,synthetic_effect_0_shared_latent_0,pfi_log_loss,10,-0.00014505803912394643,0.0003487944507193624,-0.0004392778269523355,0.00010463670773702795,4,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,pfi_brier,10,-6.889867047648324e-05,0.00017331939861817125,-0.00022031821873664525,5.64308591877636e-05,4,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,shuffle_gap_log_loss,10,-0.0001695674122893065,0.0004377404690562548,-0.0005551064075560879,0.00014298983743070358,5,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0_shared_latent_0,shuffle_gap_brier,10,-7.820216195617291e-05,0.00021106826639264345,-0.00026088045945995685,6.747508537585623e-05,5,0.95,2000,0.0,0.0
synthetic,synthetic_effect_0.25_shared_latent_0,pfi_log_loss,10,0.0009256890888677094,0.0011059865936443537,-1.2460728319809799e-05,0.00177726438295601,8,0.95,2000,0.25,0.0
synthetic,synthetic_effect_0.25_shared_latent_0,pfi_brier,10,0.00045163966211933526,0.0005303562332402276,1.892924666134748e-05,0.0008728247412379263,8,0.95,2000,0.25,0.0
synthetic,synthetic_effect_0.25_shared_latent_0,shuffle_gap_log_loss,10,0.0009197355382685069,0.0011020116324434138,2.9037902481826333e-06,0.0018402167316012535,8,0.95,2000,0.25,0.0
synthetic,synthetic_effect_0.25_shared_latent_0,shuffle_gap_brier,10,0.0004472449188401534,0.0005315405771002249,-2.4412753166215185e-05,0.0008935193995777746,8,0.95,2000,0.25,0.0
synthetic,synthetic_effect_0.5_shared_latent_0,pfi_log_loss,10,0.0043731800020611385,0.0023550916585796467,0.002500669286656158,0.006215256685562962,10,0.95,2000,0.5,0.0
synthetic,synthetic_effect_0.5_shared_latent_0,pfi_brier,10,0.002104494602766194,0.0011133661714045123,0.0012165939136448206,0.0030198195315489077,10,0.95,2000,0.5,0.0
synthetic,synthetic_effect_0.5_shared_latent_0,shuffle_gap_log_loss,10,0.00440943714134383,0.0024879497796613664,0.002540825278081853,0.006401660015823088,10,0.95,2000,0.5,0.0
synthetic,synthetic_effect_0.5_shared_latent_0,shuffle_gap_brier,10,0.0021210253873070297,0.0011787385693420806,0.0011939194572222584,0.0030960911591255387,10,0.95,2000,0.5,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,pfi_log_loss,10,0.009144853815541143,0.0043547100314081195,0.00591242232467542,0.012461739451549646,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,pfi_brier,10,0.004447275539616999,0.0020788071342587484,0.0029547823035258585,0.005944454490750794,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,shuffle_gap_log_loss,10,0.009162544876129086,0.004359953542983772,0.006004536049912379,0.012483735323210938,10,0.95,2000,0.75,0.0
synthetic,synthetic_effect_0.75_shared_latent_0,shuffle_gap_brier,10,0.004453196267028181,0.0020849119756767643,0.002974238418073472,0.006057091357919324,10,0.95,2000,0.75,0.0

Optional shared-latent experiment

This is not the strict null. It tests whether a preference can forecast the future by revealing additional information about a hidden regime shared with the future outcome:

python preference_futures_probe.py `
  --track synthetic `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --synthetic-preference-effects 0 `
  --synthetic-shared-latent-effect 0.25 `
  --bootstrap-samples 2000 `
  --out synthetic_latent_runs.csv `
  --summary-out synthetic_latent_summary.csv

Results from running this test

track,condition,statistic,n_seeds,mean,seed_std,ci_low,ci_high,positive_seeds,confidence_level,bootstrap_samples,synthetic_preference_effect,synthetic_shared_latent_effect
synthetic,synthetic_effect_0_shared_latent_0.25,pfi_log_loss,10,1.7884066389539655e-05,0.00017257819641572066,-0.00030701790875002323,0.0003233827324734645,6,0.95,2000,0.0,0.25
synthetic,synthetic_effect_0_shared_latent_0.25,pfi_brier,10,4.421471610022154e-06,8.755701050881721e-05,-0.00014545787586480848,0.00015299374255968754,6,0.95,2000,0.0,0.25
synthetic,synthetic_effect_0_shared_latent_0.25,shuffle_gap_log_loss,10,0.00012037548830117206,0.00022810961780284924,-0.0002238885311543839,0.00048324024586530046,7,0.95,2000,0.0,0.25
synthetic,synthetic_effect_0_shared_latent_0.25,shuffle_gap_brier,10,5.4345349050291535e-05,0.00011470063891450199,-0.00010995834625931848,0.0002324927679494203,7,0.95,2000,0.0,0.25

Public Arena experiment

python preference_futures_probe.py `
  --track arena `
  --seeds 1,2,3,4,5 `
  --bootstrap-samples 2000 `
  --out arena_runs.csv `
  --summary-out arena_summary.csv

Results of running this test

track,condition,statistic,n_seeds,mean,seed_std,ci_low,ci_high,positive_seeds,confidence_level,bootstrap_samples,synthetic_preference_effect,synthetic_shared_latent_effect
arena,arena,pfi_log_loss,5,4.346097140957017e-05,0.00017043055520419344,-0.00010835609658635066,0.00018420853367457596,3,0.95,2000,,
arena,arena,pfi_brier,5,1.638000479894375e-05,7.821844075205915e-05,-5.383887271100342e-05,7.692842106064652e-05,3,0.95,2000,,
arena,arena,shuffle_gap_log_loss,5,6.30485585070284e-05,7.266621722672477e-05,-2.9082509614200977e-05,0.00016349438273835653,4,0.95,2000,,
arena,arena,shuffle_gap_brier,5,2.9633047919269683e-05,4.578329676106099e-05,-1.741030244454746e-05,8.238633486858826e-05,3,0.95,2000,,

Arena smoke test

python preference_futures_probe.py `
  --track arena `
  --limit-rows 50000 `
  --seeds 1,2,3 `
  --bootstrap-samples 500 `
  --out arena_smoke_runs.csv `
  --summary-out arena_smoke_summary.csv

Output files

--out contains one row for each feature set, seed and experimental condition.

--summary-out contains:

  • mean PFI across seeds;
  • sample standard deviation across seeds;
  • 95% hierarchical-bootstrap interval;
  • positive-seed count;
  • shuffled-control gap;
  • synthetic effect parameters.

A1.3 Results

Ten-seed PFI summary

Condition Statistic Mean Seed SD 95% bootstrap interval Positive seeds
Strict null: γ = 0, ρ = 0 PFI log loss -0.000145 0.000349 [-0.000439, 0.000105] 4/10
Strict null: γ = 0, ρ = 0 PFI Brier -0.000069 0.000173 [-0.000220, 0.000056] 4/10
Positive control: γ = 0.75, ρ = 0 PFI log loss 0.009145 0.004355 [0.006206, 0.012429] 10/10
Positive control: γ = 0.75, ρ = 0 PFI Brier 0.004447 0.002079 [0.002918, 0.006086] 10/10

The strict-null confidence intervals include zero. The positive-control intervals exclude zero, and PFI is positive in all ten run seeds.

Positive-control feature metrics across seeds

Feature set Log loss Brier AUC Accuracy
History and candidates 0.674857 ± 0.005503 0.241015 ± 0.002671 0.606953 ± 0.016062 0.576872 ± 0.017063
Preference only 0.682888 ± 0.004778 0.244886 ± 0.002369 0.572058 ± 0.014370 0.572146 ± 0.015143
History, candidates and preference 0.665712 ± 0.005532 0.236568 ± 0.002595 0.632896 ± 0.011309 0.594401 ± 0.009273
Shuffled preference 0.674875 ± 0.005498 0.241021 ± 0.002670 0.606940 ± 0.016009 0.576054 ± 0.017107

Values are mean ± sample standard deviation across ten seeds.

Shuffled-control summary

For the positive-control condition:

mean shuffled-gap log loss = 0.009163
95% bootstrap interval     = [0.005974, 0.012469]
positive seeds              = 10/10

For Brier score:

mean shuffled-gap Brier = 0.004453
95% bootstrap interval  = [0.002861, 0.006027]
positive seeds           = 10/10

The shuffled-preference system returns almost exactly to the history-and-candidate baseline. The improvement therefore depends on the association between the real preference event and its future rather than on the presence of additional columns.

Interpretation

The upgraded synthetic experiment satisfies the required controls:

  1. Under the strict null, measured PFI is approximately zero and its confidence interval includes zero.
  2. Under the injected positive condition, PFI is positive in all ten seeds.
  3. The positive-control confidence intervals exclude zero.
  4. The real preference outperforms a matched shuffled-preference control.
  5. Preference alone remains weaker than contextual preference.

This establishes that the probe can distinguish:

no preference-to-future information

from:

preference-to-future information deliberately injected by the generator

It does not establish that real human preferences predict downstream behaviour. That claim is tested separately on the Hugging Face datasets.


A1.4 Important Source Components

The complete executable probe should remain the canonical source. The article appendix documents the mechanisms that determine the reported result rather than reproducing every loader and utility function inline.

Strict-null and positive-control mechanism

future_logit = (
    -0.25 * order
    + 0.45 * difficulty
    + 0.35 * patience
    + preference_effect * preference_a
    + shared_latent_effect * latent_regime
    + rng.normal(0, 0.8)
)

The strict null sets both configurable coefficients to zero:

preference_effect = 0.0
shared_latent_effect = 0.0

Session-grouped split

groups = np.asarray(
    sorted(df[group_column].dropna().astype(str).unique())
)
rng.shuffle(groups)

n_test_groups = max(
    1,
    int(round(len(groups) * test_fraction)),
)
test_groups = set(groups[:n_test_groups])

group_values = df[group_column].astype(str)
train_df = df[~group_values.isin(test_groups)].copy()
test_df = df[group_values.isin(test_groups)].copy()

PFI calculation

pfi_log_loss = no_preference_log_loss - full_model_log_loss
pfi_brier = no_preference_brier - full_model_brier

The implementation also records session-level sufficient statistics:

session_pfi_log_sum = (
    no_preference_log_loss_sum
    - full_model_log_loss_sum
)

These paired values are used by the hierarchical bootstrap.

Hierarchical bootstrap

for bootstrap_draw in range(bootstrap_samples):
    sampled_seeds = rng.choice(
        seed_values,
        size=len(seed_values),
        replace=True,
    )

    for sampled_seed in sampled_seeds:
        sampled_sessions = rng.choice(
            sessions_for_seed,
            size=len(sessions_for_seed),
            replace=True,
        )

    bootstrap_pfi[bootstrap_draw] = (
        sampled_no_preference_loss
        - sampled_full_model_loss
    )

The executable implementation uses NumPy sufficient-statistic arrays to avoid repeatedly reconstructing full pandas frames.

Shuffled preference

values = part[preference_features].sample(
    frac=1.0,
    random_state=seed + bucket_index,
).to_numpy()

The complete preference vector is shuffled as a unit within evaluation-order buckets.

Important functions

Function Responsibility
make_synthetic_dataset Generates strict-null, positive-control and shared-latent conditions
evaluate_binary_feature_sets Performs session-grouped splitting and evaluates all four feature sets
shuffle_preference_columns Builds the matched shuffled-preference control
build_session_loss_stats Preserves paired per-session loss sufficient statistics
hierarchical_bootstrap_interval Resamples seeds and complete sessions
build_summary_rows Produces mean, seed SD, confidence intervals and positive-seed counts
run_synthetic_matrix Runs multiple seeds and multiple synthetic effect conditions

Complete source:

👉PreferenceFutures probe source


A1.5 Reproducibility Record

Setting Value
Script preference_futures_probe.py
Track synthetic
Seeds 1,2,3,4,5,6,7,8,9,10
Sessions per seed 5,000
Maximum rounds 6
Test fraction 0.20
Null preference effect 0.0
Positive preference effect 0.75
Shared latent effect 0.0
Bootstrap draws 2,000
Confidence level 0.95
Bootstrap unit complete held-out session, nested within seed
Classifier logistic regression
Primary losses log loss and Brier score

Appendix 2: PreferenceFutures on NewsEdits

A2.1 Research question

The main article asks whether an observed preference contains incremental information about what happens next.

The NewsEdits experiment tests a narrow textual version of that claim:

Given the current article context and the sentence that a journalist retained, does knowing the sentence they replaced improve prediction of whether the retained sentence will be revised again in the next article version?

The experiment does not treat every later event as a meaningful future. It requires a direct revision lineage:

version V0: earlier sentence
        ↓ replaced by
version V1: retained sentence
        ↓ survives or changes
version V2: next observed sentence state

The rejected sentence and the future target therefore belong to the same evolving textual object.


A2.2 Dataset

The experiment uses the New York Times portion of the public NewsEdits revision-history corpus.

The source database contained:

  • 51,982 article entries with at least three observed versions;
  • 133,872 clean sentence-revision episodes after filtering;
  • 35,816 distinct articles represented in those episodes;
  • a future revision rate of 25.0239%.

The extraction retained only one-to-one sentence replacements. Sentence splits, merges, insertions, deletions without a retained replacement, and highly ambiguous alignments were excluded from this first test.

For each qualifying sequence of three consecutive versions, the probe reconstructed:

  • the sentence in version V0 that was replaced;
  • the sentence occupying its aligned position in version V1;
  • the surrounding context in V1;
  • whether that retained V1 sentence was unchanged or revised/removed in V2.

The binary target was:

revised_again_next_version

A value of 1 means that the retained sentence was revised or removed in the next observed article version. A value of 0 means that it survived unchanged.


A2.3 Operational definition

Let:

  • \(H\) be the current article context and revision metadata;
  • \(S_r\) be the retained sentence in version V1;
  • \(S_j\) be the rejected sentence from version V0;
  • \(R\) be structural evidence about the revision, including edit similarity and length/token differences;
  • \(F\) be the future sentence-stability target in version V2.

The baseline forecast is:

$$ P(F \mid H, S_r) $$

The preference-informed forecast is:

$$ P(F \mid H, S_r, S_j, R) $$

Preference Future Information is defined operationally as the reduction in held-out forecast loss:

$$ \mathrm{PFI} = \mathcal{L}(F \mid H,S_r) - \mathcal{L}(F \mid H,S_r,S_j,R) $$

Positive PFI means that the authentic revision evidence improved prediction of the future target for this dataset, model family, feature representation and split protocol.

This is a predictive quantity. It is not presented as formal mutual information or as a causal estimate.


A2.4 Feature sets

Four feature sets were evaluated.

Context and retained sentence

The baseline model received:

  • preceding context;
  • retained sentence;
  • following local context;
  • sentence position;
  • current version index;
  • retained sentence length and token count;
  • source label.

Rejected preference only

This model received:

  • rejected sentence text;
  • rejected sentence length and token count;
  • retained-minus-rejected length and token differences;
  • edit similarity;
  • lexical overlap.

This model tests whether the rejected alternative carries predictive information independently, but it is not the primary comparison.

Context, retained sentence and authentic preference

This model combined the baseline features with the authentic rejected sentence and structural edit evidence.

Context, retained sentence and shuffled preference

This control used the same architecture and feature dimensions, but the preference bundle was shuffled within source and retained-length buckets.

The shuffled control tests whether any improvement comes merely from adding another text field and edit-feature block. A genuine linked-preference effect requires the authentic preference model to outperform this control.


A2.5 Model

Text fields were represented using word-level TF-IDF features with unigrams and bigrams. Numeric variables were median-imputed and scaled. Categorical variables were one-hot encoded.

The classifier was L2-regularised logistic regression:

  • solver: saga;
  • inverse regularisation strength: C = 0.1;
  • no class weighting;
  • maximum iterations: 10,000;
  • maximum TF-IDF features per text field: 40,000;
  • minimum document frequency: 3.

All models converged in every split.

The use of unweighted probabilistic classification is important because log loss and Brier score are proper scoring rules. Earlier development runs using an unstable weakly regularised classifier produced badly saturated probabilities and were discarded before the final experiment.


A2.6 Split and evaluation protocol

Articles, not individual sentence episodes, were assigned to train and test sets.

This prevents sentence revisions from the same article lineage appearing in both training and test data.

The final experiment used:

  • 10 independent article-grouped train/test splits;
  • approximately 28,653 training articles and 7,163 test articles per split;
  • approximately 107,000 training episodes and 26,000–27,000 test episodes per split;
  • 5,000 paired hierarchical-bootstrap draws;
  • 95% confidence intervals.

The hierarchical bootstrap resampled both split seeds and complete held-out articles. This preserved within-article dependence among sentence-revision episodes.

Primary metrics:

  • log loss;
  • Brier score.

Secondary metrics:

  • area under the ROC curve;
  • average precision;
  • classification accuracy;
  • probability calibration diagnostics.

A2.7 Final results

Aggregate model performance

Feature set Log loss Brier AUC Average precision
Context + retained sentence 0.502924 0.162714 0.665109 0.499132
Rejected preference only 0.513864 0.167283 0.651889 0.468398
Context + retained + authentic preference 0.499364 0.161486 0.672754 0.509976
Context + retained + shuffled preference 0.503755 0.163021 0.662824 0.496826
Constant-prevalence null 0.562101 0.187392

The context baseline was already substantially better than the constant-prevalence model. This establishes that future sentence stability was predictable from the current textual state.

Adding authentic preference evidence produced the best performance under every principal forecasting metric.

Preference Future Information

Statistic Mean Seed SD 95% CI Positive splits
PFI, log loss 0.003559 0.000495 [0.003142, 0.003975] 10/10
PFI, Brier 0.001228 0.000155 [0.001085, 0.001373] 10/10
Authentic versus shuffled, log loss 0.004391 0.000574 [0.003921, 0.004869] 10/10
Authentic versus shuffled, Brier 0.001535 0.000184 [0.001368, 0.001696] 10/10

The log-loss reduction from 0.502924 to 0.499364 is approximately a 0.71% relative improvement beyond the informed textual baseline.

The Brier-score reduction from 0.162714 to 0.161486 is approximately a 0.75% relative improvement.

The authentic preference model also improved AUC by approximately 0.00765 and average precision by approximately 0.01084 over the baseline.


A2.8 Interpretation

The result supports the following narrow claim:

In New York Times revision histories, knowing the authentic sentence that was replaced improves prediction of whether the retained replacement will be revised again, beyond knowing the retained sentence and its surrounding context.

The shuffled control is central to this interpretation.

A randomly substituted rejected sentence did not reproduce the improvement. The shuffled-preference model was slightly worse than the baseline on mean log loss and Brier score, while the authentic preference model was reliably better.

The result is therefore not explained by simply adding:

  • another text field;
  • another group of numeric variables;
  • additional model capacity;
  • an arbitrary rejected sentence.

The useful evidence came from the rejected alternative being linked to the actual revision decision.

The rejected sentence by itself was weaker than the current-text baseline. The information is therefore relational rather than self-contained:

$$ S_r \succ S_j $$

The retained sentence tells us where the writer landed. The rejected sentence helps reveal the constraint or editorial boundary that produced that landing.


A2.9 Relation to the Monty Hall intuition

The result has a Monty Hall-like information structure, although it is not the Monty Hall theorem.

In Monty Hall, the host’s elimination is informative because the host knows the hidden state and follows a constrained rule. A random door opening would not carry the same information.

In revision lineage, the eliminated sentence is informative because it was rejected by an actor operating under partially hidden editorial constraints. A randomly selected discarded sentence does not carry the same information.

The shared principle is:

An informed elimination changes the probability distribution over the remaining futures.

For writing, this can be stated more directly:

The branch rejected carries information about the future of the branch retained.


A2.10 What the result establishes

The experiment establishes, operationally, that:

  1. later sentence stability is predictable from the present textual state;
  2. authentic rejected-alternative evidence adds incremental predictive information;
  3. this improvement is present under both log loss and Brier score;
  4. the improvement is consistent across all ten grouped splits;
  5. authentic linked preference evidence outperforms a matched shuffled control.

This is a publishable empirical result because it is:

  • falsifiable;
  • measured on a large real-world corpus;
  • evaluated out of sample;
  • replicated across multiple grouped splits;
  • supported by two proper scoring rules;
  • accompanied by a negative control;
  • bounded by explicit limitations.

A2.11 What the result does not establish

The experiment does not establish that:

  • every preference predicts a future;
  • the rejected sentence causes the later revision;
  • the effect generalises unchanged to novels or other writing domains;
  • the semantic content of the rejected sentence accounts for the entire gain;
  • explicit human A/B votes behave identically to revealed revision preferences;
  • preference information is useful for arbitrary events that merely occur later.

The preference bundle includes both rejected text and structural edit variables. The current result therefore establishes that the authentic linked revision event is informative, but it does not yet fully separate semantic preference from edit magnitude.


A2.12 Required follow-up ablations

The next experiment should separate the preference bundle into:

  1. structural edit evidence only;
  2. rejected sentence text only;
  3. full structural and semantic preference;
  4. authentic structure with shuffled rejected text;
  5. authentic rejected text with shuffled structural evidence.

These ablations will distinguish:

  • “large edits predict more edits”;
  • “the words rejected predict later instability”;
  • “the relationship between semantic and structural change predicts the future.”

Replication on additional NewsEdits sources would test whether the effect is specific to New York Times editorial practice or generalises across publishers.

The final application test should use Writer’s own revision lineage:

document state
→ candidate revisions
→ selected and rejected alternatives
→ later findings
→ further revisions
→ retention or reversion

That would test the same mechanism in the domain for which PreferenceFutures is intended.


A2.13 Source code and data

The complete experiment is implemented in:

What the source code does

The script performs the complete experiment from the official NewsEdits SQLite database to the final PFI summary:

  1. detects the official split_sentences schema;
  2. reconstructs complete article versions from sentence rows;
  3. selects article histories containing at least three versions;
  4. identifies clean one-to-one sentence replacements between consecutive versions;
  5. records the rejected sentence, retained sentence and local article context;
  6. labels whether the retained sentence is revised or removed in the next version;
  7. constructs the baseline, authentic-preference, preference-only and shuffled-preference feature sets;
  8. splits data by complete article lineage to prevent train/test leakage;
  9. trains regularised probabilistic logistic models;
  10. evaluates log loss, Brier score, AUC, average precision and calibration;
  11. runs the paired hierarchical bootstrap over seeds and held-out articles;
  12. writes the episode cache, per-seed metrics, confidence intervals and console audit.

The source includes the shuffled-preference control used to determine whether predictive improvement comes from the authentic rejected alternative rather than merely from adding another sentence or another block of features.

Software requirements

The experiment requires Python and the following packages:

pandas
numpy
scikit-learn

The NewsEdits data is distributed separately by the dataset authors. The Gist contains the experimental probe, not a redistributed copy of the corpus.


A2.14 Reproduction command

python preference_futures_newsedits_v3_1.py `
  --db C:\data\newsedits\nyt-matched-sentences.db `
  --source-name nyt `
  --max-articles 0 `
  --max-episodes 0 `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --bootstrap-samples 5000 `
  --confidence-level 0.95 `
  --tfidf-max-features 40000 `
  --tfidf-min-df 3 `
  --logistic-c 0.1 `
  --logistic-solver auto `
  --logistic-max-iter 10000 `
  --episode-cache newsedits_nyt_full_episodes.csv.gz `
  --out newsedits_nyt_full_runs.csv `
  --summary-out newsedits_nyt_full_summary.csv `
  2>&1 | Tee-Object -FilePath newsedits_nyt_full_output.txt

The final artefacts were:

newsedits_nyt_full_episodes.csv.gz
newsedits_nyt_full_runs.csv
newsedits_nyt_full_summary.csv
newsedits_nyt_full_output.txt

A2.15 Compact conclusion

The Arena experiment showed that preference does not predict an arbitrary event merely because it occurs later.

The NewsEdits experiment shows the complementary result:

When preference evidence and the future belong to the same revision lineage, the authentic rejected alternative improves prediction of what happens next.

This does not prove a universal law of preference. It provides direct empirical support for a narrower and more useful principle:

Preference is evidence about decision-linked futures.


Appendix 3: Is the Preference Signal Semantic, Structural, or Relational?

The full-corpus ablation shows that the NewsEdits preference signal is primarily content-driven. The authentic rejected sentence accounts for approximately 82% of the full improvement under both log loss and Brier score. Scalar lexical relationship contributes a smaller but reliable additional signal, while edit geometry provides no detectable independent gain. Together, rejected text and lexical relationship recover approximately 99% of the full preference effect.

A3.1 Purpose

The NewsEdits experiment established that authentic, decision-linked revision evidence improves prediction of whether a retained sentence will be revised again.

It did not establish which part of that evidence carries the improvement.

The successful preference bundle contained three distinct forms of information:

  1. Rejected-text content — the actual words and constructions removed by the journalist.
  2. Edit geometry — rejected length, rejected token count, and the magnitude of the character/token change.
  3. Lexical relationship — scalar similarity and token overlap between the rejected and retained sentences.

These components support different interpretations.

If edit geometry explains the result, the mechanism may be that large or unusual revisions remain unstable.

If rejected-text content remains predictive after controlling for edit geometry and lexical similarity, the specific words eliminated carry future information.

If several components add independent value, the authentic revision event contains complementary semantic and structural evidence.

This appendix defines the mechanism-ablation experiment required to distinguish those possibilities.


A3.2 Research questions

The experiment asks five narrower questions.

  1. Does edit geometry improve forecasting beyond the current article state?
  2. Does the lexical relationship between rejected and retained wording improve forecasting?
  3. Does the authentic rejected text improve forecasting beyond context alone?
  4. Does rejected text still add information after all non-text preference evidence is already available?
  5. Does the authentic linked bundle outperform a structurally matched but incorrectly linked rejected alternative?

The fifth question is the closest mechanism-level analogue of the original shuffled-preference control.


A3.3 Baseline

Every mechanism model is conditioned on the same current-text baseline:

context_before
retained_sentence
context_after
version_index
sentence_position
retained_chars
retained_tokens
source

This baseline represents the information available after the revision has been made but without access to the eliminated alternative.

All reported mechanism gains are incremental to this baseline.


A3.4 Feature groups

Rejected-text content

rejected_sentence

This is the semantic content of the eliminated alternative, represented using word-level TF-IDF unigrams and bigrams.

Edit geometry

rejected_chars
rejected_tokens
char_delta
token_delta

These variables describe the size and directional shape of the change without exposing the rejected words themselves.

Lexical relationship

edit_similarity
lexical_jaccard

These are pair-derived scalar features. They indicate how closely the retained and rejected sentences resemble one another, but do not preserve the words that differ.

The lexical group is separated from edit geometry because it already contains information about the relationship between the two sentences.


A3.6 Mechanism-ablation status

Experiment Status
Full-corpus mechanism ablation Completed
Rejected-text mechanism Strong positive result
Lexical-relationship mechanism Smaller independent positive result
Edit-geometry mechanism No reliable independent effect
Coherent matched-permutation control Passed in 10/10 splits
Contextual semantic replication Planned
Cross-publisher replication Planned

A3.6 Why an ordinary shuffled-structure control is invalid

A naive control might keep the authentic rejected sentence while shuffling values such as edit similarity, lexical overlap and length difference.

That would create internally impossible examples.

For example, a model could receive two nearly identical sentences while being told that their similarity was low, or receive a short rejected sentence alongside a rejected-token count copied from a much longer sentence.

A performance change under that control could reflect detection of inconsistent inputs rather than loss of preference information.

The upgraded probe therefore does not generate independently shuffled pair metrics.

Instead it uses component ablations for structural evidence and a coherent matched-text permutation for the linked-alternative control.


A3.7 Coherent matched rejected-text control

The matched_shuffled_full_preference condition replaces each rejected sentence with a rejected sentence from a structurally nearby revision episode.

Within each source, episodes are sorted using:

retained_chars
rejected_chars
edit_similarity
lexical_jaccard
version_index
sentence_position

The sorted episodes are divided into local blocks. A non-zero cyclic permutation assigns a different rejected sentence within each block.

After substitution, the probe recomputes every value derived from the new sentence pair:

rejected_chars
rejected_tokens
char_delta
token_delta
edit_similarity
lexical_jaccard

This ensures that the shuffled sentence and its numeric evidence remain mutually consistent.

The control preserves approximate structural neighbourhood while breaking the authentic decision linkage.

It is a stronger control than unrestricted shuffling, but it is not claimed to be a formal exact conditional-randomisation test. The probe reports diagnostics showing:

  • the rate at which shuffled rejected text accidentally remains identical;
  • the mean absolute change in rejected length;
  • the mean absolute change in edit similarity.

The control should be interpreted only when these diagnostics show that the permutation changed the rejected alternative while remaining reasonably close to the original structural distribution.


A3.8 Primary comparisons

For every comparison, gain is defined as:

$$ \Delta\mathcal{L} = \mathcal{L}(\text{reference}) - \mathcal{L}(\text{candidate}) $$

A positive value means the candidate model improved the forecast.

Full linked evidence

full_vs_baseline

This should reproduce the original positive NewsEdits result.

Individual component gains

geometry_vs_baseline
lexical_vs_baseline
rejected_text_vs_baseline

These estimate whether each feature family is independently useful beyond the current text.

Semantic increment beyond non-text evidence

semantic_increment_beyond_nontext

Reference:

plus_geometry_lexical

Candidate:

full_preference

A positive result means that the actual rejected words add predictive value after edit geometry and scalar lexical relationship are already present.

This is the most important test of a content-driven rejection signal.

Geometry increment beyond text and lexical evidence

geometry_increment_beyond_text_lexical

A positive result means edit-size information adds value after the rejected words and lexical relationship are known.

Lexical increment beyond text and geometry

lexical_increment_beyond_text_geometry

A positive result means scalar relationship measures add value beyond the two sentence texts and edit geometry.

Authentic linkage versus matched permutation

authentic_vs_matched_shuffle

A positive result means the correctly linked rejected alternative outperforms a coherent but incorrectly linked alternative drawn from a nearby structural neighbourhood.


A3.9 Evaluation protocol

The mechanism experiment reuses the final NewsEdits episode cache generated for Appendix 2.

The recommended publication run uses:

  • 133,872 revision-lineage episodes;
  • 35,816 complete article groups;
  • ten independent article-grouped 80/20 splits;
  • TF-IDF unigrams and bigrams;
  • L2-regularised logistic regression;
  • saga on the full corpus;
  • no class weighting;
  • 5,000 paired hierarchical-bootstrap draws;
  • log loss and Brier score as primary metrics.

The bootstrap resamples complete held-out articles within resampled seeds. Each mechanism comparison is evaluated on the same examples under the same split, preserving paired loss differences.

All models must report convergence before the result is interpreted.


A3.10 Upgraded source

The mechanism experiment is implemented in:

preference_futures_newsedits_v4_ablation.py

Public source after publication:

https://gist.github.com/ernanhughes/5a85c57f56fbe29d8f8d562570b2465d

The upgraded probe:

  1. loads the existing NewsEdits episode cache or reconstructs it from SQLite;
  2. defines semantic, geometric and lexical feature groups explicitly;
  3. evaluates the full mechanism matrix under common article-grouped splits;
  4. creates the coherent local matched rejected-text control;
  5. recomputes every metric derived from a shuffled sentence pair;
  6. records model convergence and calibration diagnostics;
  7. computes paired per-article loss sufficient statistics;
  8. performs hierarchical bootstrap comparisons for each mechanism claim;
  9. writes per-seed metrics and a mechanism-comparison summary CSV.

Dependencies remain:

pandas
numpy
scikit-learn

A3.11 Smoke run

The existing full episode cache means the ablation does not need to repeat SQLite extraction.

A three-seed core smoke run is:

python preference_futures_newsedits_v4_ablation.py `
  --episode-cache newsedits_nyt_full_episodes.csv.gz `
  --db e:\data\newsedits\nyt-matched-sentences.db `
  --ablation-profile core `
  --seeds 1,2,3 `
  --bootstrap-samples 500 `
  --tfidf-max-features 20000 `
  --tfidf-min-df 3 `
  --logistic-c 0.1 `
  --logistic-solver saga `
  --logistic-max-iter 10000 `
  --matched-shuffle-block-size 32 `
  --out newsedits_ablation_smoke_runs.csv `
  --summary-out newsedits_ablation_smoke_summary.csv `
  2>&1 | Tee-Object -FilePath newsedits_ablation_smoke_output.txt

This run evaluates the principal component models and validates the permutation diagnostics.


A3.12 Full publication run

python preference_futures_newsedits_v4_ablation.py `
  --episode-cache newsedits_nyt_full_episodes.csv.gz `
  --ablation-profile full `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --bootstrap-samples 5000 `
  --confidence-level 0.95 `
  --tfidf-max-features 40000 `
  --tfidf-min-df 3 `
  --logistic-c 0.1 `
  --logistic-solver saga `
  --logistic-max-iter 10000 `
  --matched-shuffle-block-size 32 `
  --out newsedits_ablation_full_runs.csv `
  --summary-out newsedits_ablation_full_summary.csv `
  2>&1 | Tee-Object -FilePath newsedits_ablation_full_output.txt

A3.13 Result table

Fill this table from newsedits_ablation_full_summary.csv.

Comparison Metric Mean gain Seed SD 95% CI Positive seeds
Full preference vs baseline Log loss Pending Pending Pending Pending
Full preference vs baseline Brier Pending Pending Pending Pending
Edit geometry vs baseline Log loss Pending Pending Pending Pending
Edit geometry vs baseline Brier Pending Pending Pending Pending
Lexical relationship vs baseline Log loss Pending Pending Pending Pending
Lexical relationship vs baseline Brier Pending Pending Pending Pending
Rejected text vs baseline Log loss Pending Pending Pending Pending
Rejected text vs baseline Brier Pending Pending Pending Pending
Semantic increment beyond non-text evidence Log loss Pending Pending Pending Pending
Semantic increment beyond non-text evidence Brier Pending Pending Pending Pending
Geometry increment beyond text and lexical evidence Log loss Pending Pending Pending Pending
Geometry increment beyond text and lexical evidence Brier Pending Pending Pending Pending
Lexical increment beyond text and geometry Log loss Pending Pending Pending Pending
Lexical increment beyond text and geometry Brier Pending Pending Pending Pending
Authentic vs matched shuffled preference Log loss Pending Pending Pending Pending
Authentic vs matched shuffled preference Brier Pending Pending Pending Pending

A3.14 Interpretation rules

Primarily geometric mechanism

Evidence would favour a geometric account when:

  • geometry_vs_baseline is positive and robust;
  • plus_edit_geometry approaches full_preference performance;
  • semantic_increment_beyond_nontext is approximately zero;
  • the authentic matched-shuffle gap becomes small after structural matching.

The refined conclusion would be:

The shape and magnitude of an informed revision predict the future stability of its replacement.

Specific rejected content matters

Evidence would favour a semantic account when:

  • rejected_text_vs_baseline is positive;
  • semantic_increment_beyond_nontext is positive under both proper scores;
  • authentic linked preference beats the matched shuffled control;
  • the result is consistent across seeds.

The refined conclusion would be:

The specific words a writer eliminates contain future information beyond the size and similarity of the edit.

Complementary semantic and structural evidence

Evidence would favour complementary mechanisms when:

  • rejected text and edit geometry each improve the baseline;
  • the full model outperforms the strongest component model;
  • semantic and geometric incremental comparisons are both positive.

This would show that multiple feature families contribute distinct information.

It would not, by itself, prove a mathematical interaction. A formal interaction claim would require explicit cross-features, a sentence-pair representation, or comparison against an additive model constrained not to learn interactions.

Primarily lexical-distance mechanism

Evidence would favour a lexical-distance account when:

  • lexical_vs_baseline captures most of the full gain;
  • the lexical increment remains positive beyond text and geometry;
  • rejected text adds little after the similarity variables are present.

The refined conclusion would be:

The distance between discarded and retained wording, rather than the discarded wording itself, predicts later instability.

No stable isolated mechanism

The full bundle may remain predictive while no individual incremental comparison is stable.

That would imply that the current representation cannot cleanly identify the source of the signal, or that many weak components jointly produce it.

The correct response would be to retain the Appendix 2 claim and avoid a stronger mechanism claim.


A3.15 Falsification conditions

The semantic interpretation would be weakened if:

  1. rejected text does not beat the baseline;
  2. semantic increment beyond geometry and lexical evidence is approximately zero;
  3. matched shuffled rejected text performs as well as authentic rejected text;
  4. gains appear only in AUC but not in log loss or Brier score;
  5. the result changes direction across grouped splits;
  6. the matched control substantially alters the structural distribution;
  7. any model fails to converge or becomes badly calibrated.

The structural interpretation would be weakened if edit geometry adds no reliable forecast improvement.

The broad Appendix 2 result would be weakened only if the upgraded probe fails to reproduce the original full-versus-baseline and authentic-versus-control gains under the same episode cache and split protocol.


A3.16 Claims permitted by each outcome

Outcome Defensible claim
Full bundle positive; components unresolved Authentic linked revision evidence predicts later stability.
Geometry explains most gain Revision magnitude and shape predict later stability.
Rejected text adds beyond non-text evidence Specific eliminated wording contains incremental future information.
Authentic beats matched shuffle Correct decision linkage matters beyond a nearby alternative.
Several components add independently Semantic and structural revision evidence are complementary.
Explicit interaction model later wins The relation between components contains information beyond additive evidence.

A3.17 Compact conclusion

Appendix 2 established that the authentic revision event carries future information.

Appendix 3 asks what kind of information it is.

The experiment is deliberately capable of producing a less exciting answer. The signal may be semantic, geometric, lexical, complementary or unresolved.

Any clean result improves the theory by replacing the general phrase “rejected alternative” with an identified predictive mechanism.


Appendix 4: Contextual Replication and the Volatility-Controlled Mechanism Test

A4.1 Purpose

Appendix 2 established that authentic rejected-alternative evidence improves prediction of the later stability of the retained sentence. Appendix 3 established that most of that gain is carried by the rejected text itself, with a smaller independent contribution from the lexical relationship between rejected and retained wording and no reliable independent contribution from edit geometry.

Those results were obtained with word-level TF-IDF unigrams and bigrams plus regularised logistic regression.

This appendix asks two different questions that must be kept separate.

  1. Representation replication: does Preference Future Information remain detectable when the current state and rejected alternative are represented contextually rather than lexically?
  2. Mechanism stress test: after strengthening the current-state model with explicit proxies for story volatility, and after removing high-salience entity and numerical content from the rejected sentence, does authentic rejected language still add forecast information?

The first question tests the generality of the published result across representations.

The second tests competing explanations for why rejected text predicts later revision.

A positive result under the original lexical model could arise because the rejected sentence exposes a persistent editorial constraint. It could also arise because rejected sentences contain markers of developing stories—changing casualty counts, dates, named entities, attributed claims, estimates and other unstable facts—that predict further revision whether or not the rejection itself reveals an editorial rule.

The competing readings are therefore:

Linked-language reading:
The authentic rejected sentence exposes information
about the active decision lineage that is not fully
recoverable from the retained sentence and current context.

Volatility-marker reading:
The rejected sentence identifies a developing or unstable
story through entities, figures, attribution and topic cues
that also predict another revision.

These readings are not mutually exclusive.

The protocol is designed to measure how much of the forecast gain survives:

  1. a stronger contextual representation of the present state;
  2. an outcome-free volatility-proxy block constructed only from information available at the forecast origin;
  3. entity masking;
  4. numeral masking;
  5. combined entity-and-numeral masking;
  6. a structurally matched permutation;
  7. a harder topic-matched permutation.

The experiment does not claim that masking and topic controls can prove the recovery of a conscious editorial intention. A surviving residual is consistent with information beyond obvious volatility markers; it is not, by itself, proof of a latent semantic rule.


A4.2 Research questions

The experiment answers the following questions.

  1. Can the published TF-IDF result be reproduced exactly from the frozen episode cache?
  2. Is a contextual current-state baseline stronger than the published lexical baseline?
  3. Does authentic rejected-alternative evidence still improve a contextual forecast?
  4. How much forecast value is carried by current-state volatility proxies alone?
  5. Does authentic rejected evidence remain useful after those proxies are added to the baseline?
  6. How much of the rejected-text gain is removed by masking:
    • named entities;
    • numerals and quantities;
    • both together?
  7. Does the residual gain remain positive on the subset of episodes that masking actually changes?
  8. Does authentic rejected evidence outperform:
    • the original structurally matched permutation;
    • a harder topic-matched permutation?
  9. Are the conclusions robust under both log loss and Brier score?
  10. Are the results stable across all ten article-grouped splits rather than being driven by one or two partitions?

Questions 1 to 3 test the representation foundation.

Questions 4 to 8 test alternative mechanisms.

Questions 9 and 10 test robustness.


A4.3 Two-stage design

The appendix contains two stages.

Stage I: contextual replication

Stage I changes only the text representation.

It compares:

TF-IDF baseline
TF-IDF full preference
contextual baseline
contextual full preference

The episode cache, split seeds, non-text features, classifier family, regularisation, scoring rules and bootstrap remain fixed.

This is the clean representation test.

Stage II: volatility-controlled mechanism test

Stage II begins only after the contextual replication is available.

It adds:

  • current-state volatility proxies;
  • entity masking;
  • numeral masking;
  • combined masking;
  • structurally matched permutation;
  • topic-matched permutation;
  • an optional same-article decoy diagnostic.

Stage II does not change the claim established in Stage I. It asks what kinds of information carry the contextual preference gain.

This separation is important. The complete protocol changes more than one component, but the primary contextual replication does not.


A4.4 Data and forecast origin

The experiment reuses the frozen NewsEdits episode cache from Appendices 2 and 3:

  • 133,872 one-to-one revision-lineage episodes;
  • 35,816 complete article groups;
  • one source: The New York Times;
  • ten independent article-grouped 80/20 train/test splits;
  • target prevalence: approximately 0.250239.

For each episode:

V0 → V1 → V2

the variables are:

rejected sentence: sentence in V0
retained sentence: its one-to-one replacement in V1
future target: whether that retained V1 sentence is
               revised or removed in V2

The forecast origin is the completed transition from V0 to V1.

Every feature must be observable at that point.

No feature may use:

  • V2 text;
  • later versions;
  • final article length;
  • final number of versions;
  • later revision counts;
  • target labels from the test fold;
  • aggregates computed using held-out articles.

The original n_versions field is excluded from every primary model because the final number of observed versions is not available at the forecast origin.

The baseline may use only the current version index—equivalently, the number of versions observed so far.

A feature-availability audit is written before model fitting. Any future-derived feature causes the run to fail rather than emit a warning and continue.


A4.5 Text representations

A4.5.1 TF-IDF anchor

The TF-IDF systems reproduce the published Appendix 3 implementation exactly:

lowercase:        yes
ngrams:           unigrams and bigrams
sublinear TF:     yes
normalisation:    L2
minimum DF:       published value
maximum features: published value

The TF-IDF anchor is not reimplemented approximately. It must call the same feature-construction code used for the published result or a byte-for-byte equivalent extracted into shared code.

A4.5.2 Frozen contextual encoder

The primary contextual encoder is:

encoder:       sentence-transformers/all-mpnet-base-v2
output size:   768 dimensions
fine-tuning:   none
pooling:       model default
normalisation: record and hold fixed
revision:      exact model revision recorded

The encoder remains frozen.

This appendix tests whether the result survives a stronger general-purpose representation of the same evidence. It does not yet test preference-specific representation learning.

The following fields are embedded separately:

context_before
retained_sentence
context_after
rejected_sentence

The baseline receives only the first three.

The preference-informed systems additionally receive the rejected-sentence embedding and pairwise relationship features.

A4.5.3 Pairwise contextual relationship

A linear classifier over concatenated embeddings cannot create arbitrary interactions between the retained and rejected fields. The contextual preference block therefore includes explicit pairwise features:

cosine similarity
elementwise absolute difference
elementwise product
L2 distance

The absolute-difference and product vectors are each 768-dimensional.

The original scalar lexical features remain available:

edit_similarity
lexical_jaccard

This prevents the contextual comparison from accidentally discarding the small but reliable pairwise contribution established in Appendix 3.

A4.5.4 Truncation diagnostics

Contextual encoders have finite input lengths.

Before fitting any model, the run reports for every field:

  • maximum tokenised length;
  • median and 95th-percentile length;
  • fraction truncated;
  • mean number of truncated tokens.

If more than 5% of any field is truncated, the primary run must either:

  1. use a predeclared chunk-and-pool strategy; or
  2. report the affected field as a limitation and repeat the comparison with a longer-context encoder.

No silent truncation is permitted.

A4.5.5 Embedding cache

Embeddings are computed once per unique tuple:

encoder revision
field name
masking condition
normalised text hash

The cache records:

  • encoder name and revision;
  • tokenizer revision;
  • masking-pipeline version;
  • text hash;
  • output dtype;
  • normalisation choice.

The run refuses to mix incompatible cache entries.


A4.6 Shared non-text baseline

Every primary system receives the same temporally valid non-text baseline:

current_version_index
sentence_position
retained_chars
retained_tokens
source

Because the dataset contains one publisher, source is constant and contributes no predictive information. It is retained only for schema compatibility and must be reported as a constant feature.

The final number of article versions is excluded.

Numeric features are median-imputed on the training fold and scaled using training-fold statistics only.

Categorical encoders are fit on the training fold only.


A4.7 Volatility-proxy block

The volatility block gives the no-preference model stronger access to developing-story information already visible at V1.

It is a proxy block, not direct observation of latent volatility.

The primary block is outcome-free and contains only contemporaneous features:

nonfocal_edits_this_transition
    Number of sentence-level V0 → V1 changes elsewhere
    in the article, excluding the focal replacement.

current_article_length_tokens
    Length of V1 at the forecast origin.

current_entity_density
    Named-entity tokens per 100 tokens in V1 or the
    available current article context.

current_numeric_density
    Numeral and quantity tokens per 100 tokens.

current_attribution_count
    Count of attribution constructions available at V1.

current_uncertainty_count
    Count of predeclared uncertainty and hedging markers.

topic_cluster
    Split-local k-means cluster over current-state
    contextual embeddings, fit on training articles only.

If the frozen episode cache does not contain the complete V1 article needed for article-level features, the cache must be augmented from the original source database using only V0 and V1. The augmentation step records a content hash and cannot inspect V2.

A4.7.1 Topic clustering

The primary topic model is:

input:       mean current-state article/context embedding
algorithm:   k-means
k:           50
fit scope:   training articles only
application: test articles assigned to nearest centroid

The cluster identifier is one-hot encoded.

Sensitivity runs at:

k ∈ {25, 50, 100}

are diagnostic and do not replace the preregistered primary value.

A4.7.2 No target encoding in the primary block

The primary volatility block does not include cluster outcome rates.

A cluster revision rate is a target-encoded feature and can leak the training label into the training design matrix unless it is cross-fitted.

A secondary diagnostic may add:

cross_fitted_cluster_revision_rate

under the following rules:

  • training rows receive rates generated by inner article-grouped out-of-fold predictions;
  • test rows receive rates computed from the complete outer training fold;
  • smoothing and minimum cluster support are predeclared;
  • no row contributes to its own encoded target statistic.

The secondary target-encoded result is reported separately and never substitutes for the outcome-free primary analysis.


A4.8 Masking interventions

Masking is deterministic and fit-free.

The exact NER model package, tokenizer, spaCy version and model checksum are recorded.

The default entity recogniser is:

spaCy en_core_web_trf

Masked entity types are:

PERSON
ORG
GPE
LOC
NORP
FAC
DATE
TIME
MONEY
CARDINAL
ORDINAL
PERCENT
QUANTITY
EVENT

Entities are replaced with typed placeholders:

[PERSON]
[ORG]
[GPE]
[DATE]
[NUM]
...

Residual numerical forms are then masked by deterministic patterns covering:

  • standalone integers;
  • decimals;
  • percentages;
  • currency values;
  • ranges;
  • dates not captured by NER;
  • ordinal and decade forms such as 7th and 1990s.

Three masking conditions are evaluated:

entity_masked
numeral_masked
entity_and_numeral_masked

The retained sentence and current context are never masked in the primary analysis. The baseline is entitled to everything visible in the current state.

Only the rejected sentence is altered.

A4.8.1 Masking diagnostics

For each masking condition, report:

  • fraction of rejected sentences changed;
  • number of changed episodes;
  • mean and median fraction of tokens replaced;
  • 25th, 75th and 95th percentiles of masked-token share;
  • distribution of replacement-token types;
  • fraction of sentences unchanged;
  • mean contextual embedding shift between original and masked text;
  • target prevalence among changed and unchanged episodes.

A4.8.2 Full-sample and changed-only analyses

Every masked comparison is reported twice:

  1. over the complete held-out sample;
  2. over the held-out subset whose rejected sentence was actually changed by that masking condition.

The changed-only analysis uses the same outer article groups and does not resplit the data.

This avoids interpreting a weak intervention as evidence merely because many examples were unchanged.

The former 40% alteration threshold is retained as a preregistered diagnostic, not as an automatic proof rule:

alteration rate < 40%
→ aggregate masked result is labelled weak-intervention

The changed-only result remains reportable regardless of the aggregate alteration rate, provided it contains adequate article and class support.


A4.9 Permutation and decoy controls

A4.9.1 Structural matched permutation

The first control reproduces Appendix 3.

Rejected sentences are reassigned within structural neighbourhoods defined by training-split-available variables such as:

source
retained length
rejected length
edit similarity
lexical overlap
current version index
sentence position

A non-zero cyclic shift prevents self-assignment where group size permits.

After reassignment, every pair-derived feature is recomputed against the new retained sentence.

A4.9.2 Topic-matched permutation

The harder control additionally matches on:

topic cluster
current numeric-density band
current entity-density band
nonfocal edit-count band
current version-index band

The topic cluster is fit on the outer training split and then applied to the held-out split.

The control asks whether an authentic rejected sentence beats a rejected sentence from a comparably volatile and topically similar decision lineage.

If sparse matching cells occur, the algorithm backs off through a predeclared hierarchy and records the back-off level for every reassignment.

Required diagnostics:

  • self-assignment rate;
  • exact-cell match rate;
  • back-off distribution;
  • mean absolute change in rejected length;
  • mean absolute change in numeric density;
  • mean absolute change in entity density;
  • mean change in contextual similarity;
  • effective donor-pool size.

A4.9.3 Optional same-article decoy diagnostic

Where V0 contains another eligible non-retained sentence, an additional diagnostic substitutes a same-article decoy matched on position and length.

This is not part of the primary claim because coverage may be incomplete and candidate selection can introduce its own bias.

It is nevertheless informative:

authentic rejected sentence
versus
same-story non-focal sentence

A positive authentic-versus-decoy gap would be difficult to explain by article topic alone.


A4.10 Model matrix

The primary matrix contains eleven systems.

# Feature set Text representation Volatility block Rejected-text condition Control
1 tfidf_baseline TF-IDF No None
2 tfidf_full_preference TF-IDF No Authentic
3 ctx_baseline Contextual No None
4 ctx_full_preference Contextual No Authentic
5 ctx_baseline_volatility Contextual Yes None
6 ctx_full_preference_volatility Contextual Yes Authentic
7 ctx_entity_masked_volatility Contextual Yes Entity-masked
8 ctx_numeral_masked_volatility Contextual Yes Numeral-masked
9 ctx_both_masked_volatility Contextual Yes Entity-and-numeral-masked
10 ctx_structural_shuffle_volatility Contextual Yes Reassigned Structural permutation
11 ctx_topic_shuffle_volatility Contextual Yes Reassigned Topic-matched permutation

The optional same-article decoy is reported separately because it may have lower coverage.

The authentic contextual preference systems retain the complete published preference bundle:

  • rejected-text representation;
  • rejected character and token counts;
  • character and token deltas;
  • edit similarity;
  • lexical overlap.

Keeping the full bundle makes Stage I a genuine representation substitution.

Appendix 3 already established that geometry contributes no reliable independent gain. A secondary ctx_text_relation diagnostic may omit geometry, but it does not define contextual PFI.


A4.11 Classifier and regularisation

The classifier remains L2-regularised logistic regression:

solver:          saga
class weighting: none
maximum iterations: 10,000
tolerance:       fixed and recorded
random seed:     split seed

Contextual embedding blocks are standardised using training-fold statistics.

The primary run holds:

C = 0.1

for continuity with the published protocol.

Because a fixed C may interact differently with sparse TF-IDF and dense contextual features, a secondary training-only sensitivity analysis evaluates:

C ∈ {0.01, 0.1, 1.0}

The sensitivity analysis uses an inner article-grouped split inside each outer training fold.

It is reported as robustness evidence and does not replace the preregistered fixed-C result.

Every model reports:

  • convergence;
  • iteration count;
  • coefficient norm;
  • probability quantiles;
  • calibration gap;
  • proportion of probabilities below 0.01 or above 0.99.

A non-converged or badly saturated model cannot support a mechanism claim.


A4.12 Primary comparisons

For every comparison:

gain = loss(reference) − loss(candidate)

Positive gain means the candidate lowered held-out loss.

A directional claim requires agreement under both log loss and Brier score.

Reproduction anchor

tfidf_pfi:
tfidf_baseline
vs
tfidf_full_preference

Expected published values:

log-loss gain: 0.003559
Brier gain:    0.001228

The observed result must fall within the published bootstrap uncertainty, subject to deterministic implementation tolerance.

If the anchor fails, the contextual and mechanism results are not interpreted until the discrepancy is resolved.

Contextual baseline strength

contextual_baseline_gain:
tfidf_baseline
vs
ctx_baseline

This measures whether the contextual representation improves forecasting from the current state alone.

Contextual PFI

ctx_pfi:
ctx_baseline
vs
ctx_full_preference

This is the Stage I gate.

It asks whether authentic rejected evidence adds information to a contextual current-state model.

Volatility-proxy gain

volatility_gain:
ctx_baseline
vs
ctx_baseline_volatility

This measures how much forecast information the contemporaneous volatility proxies carry without rejected evidence.

Contextual PFI beyond volatility proxies

ctx_pfi_beyond_volatility:
ctx_baseline_volatility
vs
ctx_full_preference_volatility

This asks whether authentic rejected evidence remains useful after the baseline receives an explicit volatility-proxy block.

Entity-masked increment

entity_masked_increment:
ctx_baseline_volatility
vs
ctx_entity_masked_volatility

Numeral-masked increment

numeral_masked_increment:
ctx_baseline_volatility
vs
ctx_numeral_masked_volatility

Combined-masked increment

combined_masked_increment:
ctx_baseline_volatility
vs
ctx_both_masked_volatility

These comparisons are reported on the full sample and the changed-only subset.

Masking costs

entity_masking_cost:
ctx_entity_masked_volatility
vs
ctx_full_preference_volatility

numeral_masking_cost:
ctx_numeral_masked_volatility
vs
ctx_full_preference_volatility

combined_masking_cost:
ctx_both_masked_volatility
vs
ctx_full_preference_volatility

A positive masking cost means the removed entity or numerical content carried forecast information.

Authentic versus structural permutation

authentic_vs_structural_shuffle:
ctx_structural_shuffle_volatility
vs
ctx_full_preference_volatility

Authentic versus topic-matched permutation

authentic_vs_topic_shuffle:
ctx_topic_shuffle_volatility
vs
ctx_full_preference_volatility

The topic-matched comparison is the harder control.


A4.13 Evaluation protocol

The experiment uses:

  • the same 133,872 episodes;
  • the same 35,816 article groups;
  • the same ten outer split seeds;
  • the same article-grouped 80/20 partitions;
  • 5,000 paired hierarchical-bootstrap draws;
  • complete held-out articles as the resampling unit.

Every system in a split is evaluated on the identical held-out episodes.

Per-row losses are aggregated to complete article-level sufficient statistics before bootstrap resampling.

Primary metrics:

log loss
Brier score

Secondary diagnostics:

ROC AUC
average precision
accuracy
calibration gap
expected calibration error
probability quantiles
prevalence-only null

For every comparison report:

  • mean gain;
  • seed standard deviation;
  • 95% hierarchical-bootstrap interval;
  • positive-seed count;
  • median per-seed gain;
  • minimum and maximum per-seed gain.

Positive-seed count is a stability diagnostic, not a mechanical significance threshold. A result is not rejected merely because one of ten point estimates is slightly negative when the paired interval remains clearly positive.


A4.14 Source and reproducibility

The experiment is implemented in:

preference_futures_newsedits_v5_contextual.py

Required capabilities:

  1. load the frozen NewsEdits episode cache;
  2. validate feature availability at V1;
  3. reproduce the TF-IDF anchor through shared published code;
  4. augment current-state article features without inspecting V2;
  5. apply entity, numeral and combined masking;
  6. compute complete masking diagnostics;
  7. construct structural and topic-matched permutations;
  8. compute and resume content-addressed contextual embedding caches;
  9. fit split-local topic clusters on training articles only;
  10. fit every model under identical outer splits;
  11. write paired article-level loss sufficient statistics;
  12. perform hierarchical bootstrap comparisons;
  13. write per-seed, comparison, masking, permutation and convergence outputs;
  14. emit tqdm progress and stage-level elapsed-time estimates;
  15. resume safely after interruption.

Dependencies:

pandas
numpy
scikit-learn
sentence-transformers
torch
spacy
tqdm

The exact Python, package, model and CUDA versions are written to the run manifest.

Required output artifacts:

newsedits_ctx_full_runs.csv
newsedits_ctx_full_summary.csv
newsedits_ctx_masking_diagnostics.csv
newsedits_ctx_permutation_diagnostics.csv
newsedits_ctx_convergence.csv
newsedits_ctx_manifest.json
newsedits_ctx_full_output.txt

A4.15 Smoke run

A three-seed smoke run validates implementation and feasibility:

python preference_futures_newsedits_v5_contextual.py `
  --episode-cache newsedits_nyt_ablation_full_episodes.csv.gz `
  --profile smoke `
  --seeds 1,2,3 `
  --bootstrap-samples 500 `
  --encoder sentence-transformers/all-mpnet-base-v2 `
  --topic-k 50 `
  --logistic-c 0.1 `
  --logistic-solver saga `
  --logistic-max-iter 10000 `
  --matched-shuffle-block-size 32 `
  --embedding-cache newsedits_ctx_embeddings `
  --batch-size 128 `
  --resume `
  --out newsedits_ctx_smoke_runs.csv `
  --summary-out newsedits_ctx_smoke_summary.csv `
  2>&1 | Tee-Object -FilePath newsedits_ctx_smoke_output.txt

Before the publication run, the smoke test must confirm:

  • the TF-IDF anchor reproduces within expected uncertainty;
  • no forbidden future-derived feature is present;
  • truncation diagnostics are acceptable;
  • masking diagnostics are populated;
  • permutation self-assignment is negligible;
  • every model converges;
  • cached embeddings reproduce exactly after restart;
  • the expected runtime and storage requirements are recorded.

The smoke run is an implementation check. Its mechanism estimates are not published as final results.


A4.16 Full publication run

python preference_futures_newsedits_v5_contextual.py `
  --episode-cache newsedits_nyt_ablation_full_episodes.csv.gz `
  --profile full `
  --seeds 1,2,3,4,5,6,7,8,9,10 `
  --bootstrap-samples 5000 `
  --confidence-level 0.95 `
  --encoder sentence-transformers/all-mpnet-base-v2 `
  --topic-k 50 `
  --logistic-c 0.1 `
  --logistic-solver saga `
  --logistic-max-iter 10000 `
  --matched-shuffle-block-size 32 `
  --embedding-cache newsedits_ctx_embeddings `
  --batch-size 128 `
  --resume `
  --out newsedits_ctx_full_runs.csv `
  --summary-out newsedits_ctx_full_summary.csv `
  2>&1 | Tee-Object -FilePath newsedits_ctx_full_output.txt

Hardware, wall-clock time, peak memory and embedding-cache size are recorded in the manifest.


A4.17 Result tables

Fill from the final output artifacts.

Primary comparisons

Comparison Metric Mean gain Seed SD 95% CI Positive seeds
TF-IDF reproduction anchor Log loss Pending Pending Pending Pending
TF-IDF reproduction anchor Brier Pending Pending Pending Pending
Contextual baseline gain Log loss Pending Pending Pending Pending
Contextual baseline gain Brier Pending Pending Pending Pending
Contextual PFI Log loss Pending Pending Pending Pending
Contextual PFI Brier Pending Pending Pending Pending
Volatility-proxy gain Log loss Pending Pending Pending Pending
Volatility-proxy gain Brier Pending Pending Pending Pending
Contextual PFI beyond volatility Log loss Pending Pending Pending Pending
Contextual PFI beyond volatility Brier Pending Pending Pending Pending
Entity-masked increment Log loss Pending Pending Pending Pending
Entity-masked increment Brier Pending Pending Pending Pending
Numeral-masked increment Log loss Pending Pending Pending Pending
Numeral-masked increment Brier Pending Pending Pending Pending
Combined-masked increment Log loss Pending Pending Pending Pending
Combined-masked increment Brier Pending Pending Pending Pending
Authentic vs structural shuffle Log loss Pending Pending Pending Pending
Authentic vs structural shuffle Brier Pending Pending Pending Pending
Authentic vs topic-matched shuffle Log loss Pending Pending Pending Pending
Authentic vs topic-matched shuffle Brier Pending Pending Pending Pending

Masking costs

Comparison Metric Mean gain 95% CI Positive seeds
Entity masking cost Log loss Pending Pending Pending
Entity masking cost Brier Pending Pending Pending
Numeral masking cost Log loss Pending Pending Pending
Numeral masking cost Brier Pending Pending Pending
Combined masking cost Log loss Pending Pending Pending
Combined masking cost Brier Pending Pending Pending

Masking diagnostics

Diagnostic Entity Numeral Combined
Rejected sentences altered Pending Pending Pending
Mean token share replaced Pending Pending Pending
Median token share replaced Pending Pending Pending
95th-percentile token share replaced Pending Pending Pending
Changed episodes Pending Pending Pending
Unchanged episodes Pending Pending Pending
Mean embedding shift Pending Pending Pending

Permutation diagnostics

Diagnostic Structural Topic-matched
Self-assignment rate Pending Pending
Exact-cell match rate Pending
Mean donor-pool size Pending Pending
Mean absolute length change Pending Pending
Mean numeric-density change Pending Pending
Mean entity-density change Pending Pending
Mean contextual-similarity change Pending Pending

A4.18 Interpretation rules

The protocol distinguishes four principal outcomes.

Outcome 1: contextual non-replication

Evidence:

  • the TF-IDF anchor reproduces;
  • ctx_pfi is not detectably positive under the contextual pipeline.

Permitted conclusion:

The published preference gain was not replicated with this frozen contextual representation. The original lexical result remains valid within its tested model family, but the claim cannot yet be generalised across representations.

This result does not prove that contextual models eliminate PFI universally. It blocks stronger transfer claims until replicated with another well-specified contextual pipeline.

Outcome 2: contextual replication, volatility absorption

Evidence:

  • ctx_pfi is positive;
  • the volatility block substantially improves the baseline;
  • ctx_pfi_beyond_volatility shrinks toward zero;
  • masking costs account for most of the authentic gain.

Permitted conclusion:

Authentic rejected text remains predictive under a contextual representation, but most of its incremental value is accounted for by contemporaneous volatility proxies and high-salience entity or numerical content.

This supports a developing-story explanation for most of the measured effect.

Outcome 3: residual linked-language signal

Evidence:

  • ctx_pfi is positive;
  • ctx_pfi_beyond_volatility remains positive;
  • one or more masked increments remain positive on both the full and changed-only samples;
  • authentic evidence beats the topic-matched permutation.

Permitted conclusion:

Authentic rejected language contains future information that is not exhausted by the tested volatility proxies, named entities, numerals or topic-matched decoys.

This is consistent with a persistent decision-lineage constraint.

It does not prove conscious editorial intent or an abstract semantic rule.

Outcome 4: mixed mechanism

Evidence:

  • contextual and volatility-controlled PFI remain positive;
  • masking costs are also positive;
  • masked increments remain smaller but still positive;
  • authentic linkage beats both permutations.

Permitted conclusion:

The preference signal has at least two measurable components: a volatility-marker component carried by entities, numerals or topic cues, and a residual linked-language component that survives their removal.

Shares may be reported descriptively as:

masking-cost share
residual-masked share

but they must not be described as a unique causal decomposition. Feature components overlap, and nonlinear information can be shared across blocks.


A4.19 Falsification and failure conditions

The contextual generalisation claim is weakened if:

  1. the TF-IDF anchor reproduces but contextual PFI is not detectably positive;
  2. contextual preference gains appear under AUC but not under either proper scoring rule;
  3. the contextual preference model fails to converge;
  4. the contextual pipeline produces badly saturated probabilities;
  5. results depend entirely on one split or one encoder configuration.

The residual linked-language interpretation is weakened if:

  1. volatility proxies absorb the contextual preference gain;
  2. combined masking removes the gain on both the full and changed-only samples;
  3. the topic-matched permutation reproduces the authentic result;
  4. apparent masked gains occur only where masking did not change the rejected sentence.

The volatility-marker interpretation is weakened if:

  1. the volatility block adds little to the baseline;
  2. masking costs are negligible;
  3. authentic evidence continues to beat a topic-matched permutation by a similar margin.

The original Appendix 2 result is invalidated only if its exact reproduction anchor fails after implementation discrepancies are ruled out.

A contextual non-replication limits generality; it does not retroactively erase the lexical result.


A4.20 Claims permitted by each result

Result Defensible claim
TF-IDF anchor reproduces The published pipeline has been recovered correctly.
Contextual baseline improves A stronger representation extracts more future information from the present state.
Contextual PFI positive Authentic rejected evidence adds information under the tested contextual representation.
Contextual PFI approximately zero The lexical PFI did not replicate under this contextual pipeline.
Volatility block improves baseline Contemporaneous story-volatility proxies predict later revision.
PFI survives volatility block Rejected evidence adds information beyond the tested current-state volatility proxies.
Entity-masked increment positive Rejected evidence remains informative without recognised named entities.
Numeral-masked increment positive Rejected evidence remains informative without explicit numerical content.
Combined-masked increment positive A residual rejected-language signal survives both interventions.
Authentic beats structural permutation Correct decision linkage matters beyond structural similarity.
Authentic beats topic-matched permutation Correct linkage matters beyond the tested topic and volatility matching.
Same-article decoy loses Article topic alone does not reproduce the authentic rejected-sentence gain on the covered subset.

A4.21 Relation to the second post

This appendix is a gate for the representation-transfer programme proposed in the second post.

TF-IDF anchor fails
→ repair the implementation before interpretation.

Contextual PFI does not replicate
→ do not claim preference-representation transfer;
  publish the representation boundary.

Contextual PFI replicates but is absorbed by volatility controls
→ the next post concerns decision-lineage volatility,
  not a general preference-conditioned world model.

Contextual PFI survives volatility controls and hard permutations
→ proceed to the frozen-encoder transfer experiment.

Mixed result
→ proceed, but design the transfer experiment with separate
  volatility and linked-language targets.

The next representation-transfer experiment must compare at least:

A. base encoder
B. matched in-domain non-preference pretraining
C. preference-prediction pretraining
D. joint preference-and-trajectory pretraining

The critical comparison is:

C versus B

Without the matched in-domain control, an apparent preference benefit may be ordinary domain adaptation.

No conclusion about preference-specific representation transfer should be written before this appendix is complete.


A4.22 Compact conclusion

Appendix 2 showed that authentic rejected-alternative evidence improves prediction of the later fate of the retained sentence. Appendix 3 showed that most of that gain is carried by the rejected language.

This appendix asks what those results survive.

First, it replaces the lexical text representation with a frozen contextual one while preserving the original data, splits, model family and proper scoring rules.

Second, it gives the baseline explicit, temporally valid proxies for story volatility.

Third, it removes named entities and numerical content from the rejected sentence and tests authentic linkage against both structural and topic-matched permutations.

The possible outcomes are deliberately asymmetric.

A contextual non-replication limits the original result to its tested representation. Volatility absorption identifies the gain as developing-story information. A surviving masked and topic-controlled increment establishes a stronger residual: the authentic rejected branch contains future information not exhausted by the current state, obvious volatility markers or a comparably topical decoy.

The table decides which claim survives.