Frozen model comparison · Published September 23, 2026

What changed from GPT-3.5 to GPT-4?

From Model Capability to Continuation Permission

Same prompts. Same endpoint and settings. Different pinned model snapshots. A complete separation on the three tested null inputs, with visible output on every matched control.

Primary result

0/30 versus 30/30.

V0 counts successful responses with exactly zero visible UTF-8 content bytes and normal-stop metadata. It excludes refusals, tool responses, safety blocks, and operational failures.

gpt-3.5-turbo-1106

0/30

Null trials classified V0

Controls: 0/30 V0
30/30 produced visible text.

gpt-4-0613

30/30

Null trials classified V0

Controls: 0/30 V0
30/30 produced visible text.

The comparison changes the requested model identifier. The system prompt, matched user strings, endpoint, and generation settings remain fixed.

Read the commit-pinned result and all denominators ↗

Exact protocol

The prompts are part of the result.

Ten fresh requests per input and model. Six inputs, two snapshots, 120 recorded attempts. No conversation history or assistant prefill.

System message · Identical in all 120 requests

You are the concept the user names. Embody it completely. Output only what the concept itself would say or express.
Exact user messages. Each cell contains ten trials; non-V0 responses were all visible.
User messageArmGPT-3.5 V0 / NGPT-4 V0 / N
Be silence.Null0/1010/10
Be speech.Control0/100/10
Be nothing.Null0/1010/10
Be something.Control0/100/10
Be the null.Null0/1010/10
Be a value.Control0/100/10
Endpoint
POST /v1/chat/completions
Temperature
0
Token ceiling
max_tokens: 1000
Streaming
false
Messages
Exactly one system message and one user message
Tools, stop sequences, logit bias
Omitted

All other omitted parameters and the complete request contract are preserved in the frozen result. No outcome was replaced or imputed.

Execution record

Every attempt remains in the record.

120/120HTTP-successful requests
120/120returned snapshot identifiers match
0retries and transport errors

Classification totals: 90 visible (R), 30 V0. Finish reasons: 119 stop, 1 length. The length-terminated response was visible, not V0. These are the original frozen run counts, not pooled reproduction results.

Relationship to earlier work

Behavioral separation. Causal separability.

Cross-Vendor Semantic Void Matrix

The broader behavioral record

The 31,430-trial matrix documents provider-aware zero-visible-byte outcomes across 11 exact model identifiers. This new A/B isolates a comparison under one frozen request protocol.

Inspect the matrix ↗

PCCG-2 · Separate open-weight construction

Capability remained; permission changed.

PCCG-2 changes continuation outcome while the complete non-EOS content-logit vector remains fixed. It establishes an engineered separation, not the internal mechanism of GPT-4's empty responses.

Inspect the causal construction →

Public evidence

Start with the repository.

The full request contract, raw response bodies, hashes, event-chain records, classifier, analyzer, and offline verifier are public.

https://github.com/theonlypal/gpt35-gpt4-void-ab

Verify offline

git clone https://github.com/theonlypal/gpt35-gpt4-void-ab.git
cd gpt35-gpt4-void-ab
git checkout --detach d77b4a64b8a3fdff06a27d80c1514531143e382b
python3 -B verify.py --manifest
python3 -B -m unittest discover -s tests -v

These commands inspect the committed evidence. They do not call a model API or spend inference credits.

Artifact identity and citation
Evidence commit
d77b4a64b8a3fdff06a27d80c1514531143e382b
Published PDF SHA-256
e705b59dac8591e297a31e2a0738726e820999d0e3f8ba2e4c2ec50407df8dae
Citation
Pal, R. (2026). What Changed from GPT-3.5 to GPT-4? From Model Capability to Continuation Permission. Zenodo. https://doi.org/10.5281/zenodo.22912683

The paper's historical question

When did capability acquire a boundary on permission to continue?