Experiment A105 / local preflight only

Hold the chess still.
Move the access.

Does redundant access to the root board or complete legal-move list change system regret when the underlying chess state, action universe, response contract, and request length stay fixed?

2 × 2 factorial2 panel orders0 observed model outcomes

01 / Treatment geometry

One position.
Four access patterns.

Select an arm to inspect what changes. The experiment crosses board-panel content with legal-list content while holding the underlying task fixed.

Board information →Legal-list information →
Active arm

Masked + masked

Board: maskedLegal list: masked

Both treatment panels preserve their shape but replace chess identities with equal-length masks.

Board panel64 equal-length masksRegistered board-content span
Legal-action panelequal-length move masksRegistered legal-content spans

Invariant substrate

The “no information” arm is still full of chess.

This is deliberately a redundant representation/access experiment. It is not a state-versus-no-state comparison.

  1. 01Full root FEN and side-to-move task
  2. 02Complete legal-action universe
  3. 03Identical submit-move response schema
  4. 04Identical request parameters and byte length
  5. 05Identical panel labels, delimiters, slots, and token lengths
  6. 06The same position in both panel orders

02 / Byte contract

Change only what was registered.

Shape-matched masks make the treatment auditable at byte level. Any unregistered difference invalidates the block.

Common requestBoard spanCommonLegal spansCommon response contract
01

Board-content span

Only the 64 registered square-token bytes may switch between piece symbols and one-byte masks.

02

Legal-action span

Only registered move-token bytes may switch between sorted UCI actions and equal-length masks.

03

Everything else

Any difference outside the two registered spans is an automatic no-go.

16edge fixtures
128rendered cells
32matched blocks
0contract failures

Across the local fixture pass, 2,048 board-treatment bytes and 2,104 legal-treatment bytes were allowlisted inside 110,640 total canonical request bytes. These are compiler measurements, not model observations.

03 / Outcome compiler

The analysis existed before the result.

The synthetic preflight verifies how every future cell flows through failure handling, dependence-aware uncertainty, multiplicity, and mandatory sensitivity reporting.

Step 01 / 06

Freeze and blind

Write only frozen condition codes to outcome rows. Hold the code key separately until the complete cell grid and analysis digest are frozen.

Primary estimandITT on provider-complete pairs
Execution failureMaximal regret 1.0
Provider failureMissing + attrition bounds
IntervalsSource-game cluster bootstrap
Primary p-valuesCluster sign-flip randomization
MultiplicityHolm across four tests

04 / Systems boundary

A clean payload still has edges.

Four provider-free stress tests make the remaining uncertainty visible instead of silently promoting local bytes into provider facts.

R0S

Mask sensitivity

4 opaque families preserved the byte/span contract across 512 cells. Equal bytes and registered spans do not imply equal tokenization, salience, or semantic difficulty. Exact offline tokenizers were unavailable, so proxy counts were prohibited.

R2

Transport capture

256 captured requests crossed 2 frozen profiles with zero registered drift. The repository adapter reached an in-memory sink without arm-dependent route, header, tool, parameter, or out-of-span body drift. This is not proof of AutoGen, HTTP, proxy, router, or provider-received bytes.

R3

Client boundary: chat pass, Responses NO-GO

256 installed-stack requests were arm-invariant at the injected pre-network HTTP boundary. Chat preserved required submit_move semantics; Responses did not. The installed AutoGen Responses adapter rewrote required submit_move tool choice to auto before HTTP serialization. Captured at an injected httpx transport after installed AutoGen normalization and OpenAI SDK serialization, before network transport. This is not proof of provider-received bytes or provider compatibility; paid execution remains unauthorized.

AutoGen 0.11.2 · OpenAI Python 2.30.0 · httpx 0.28.1
R3A

Isolated repair candidate—not a repaired history

128 remediated Responses captures formed 32 arm-invariant blocks and preserved required submit_move. An isolated wrapper changed only the installed adapter's tool_choice=auto output to required submit_move before SDK serialization. R3 remains the observed installed-stack NO-GO; this candidate is not in the live harness, proves no provider compatibility or provider-received bytes, and does not authorize paid execution.

R3 status preserved: partial_chat_pass_responses_no_go

05 / Claim boundary

A passing instrument is not a positive result.

AuthorizedThe local request compiler, stipulated synthetic analysis contract, capture-only adapter, installed chat client boundary, and isolated Responses remediation candidate pass their respective version-bound local gates.

Not authorizedR3's installed Responses path remains the observed NO-GO; R3A is isolated and not integrated into the live harness. No provider-received bytes, provider compatibility, provider behavior, model effect, chess-quality effect, power result, final-position result, paid execution, or causal benefit has been observed.

Every arm still contains the same full FEN and action universe. A105 tests redundant representation and access—not whether the model can play chess without state.