Objective Projection v7.2: Closing the Pattern F Gap and Extending the Hard Negatives
When I released v7.1, I documented a gap in my own data and said closing it was a priority. This release does that, adds a second batch of hard negatives, and completes the DOI record in the dataset README. None of it is a breakthrough; all of it is the unglamorous work of making a corpus hold together. I'd rather report it plainly than dress it up.
1. The Pattern F gap is closed
Pattern F — "Mundane Parallel Life" — is one of six sub-patterns of the Atmosphere Contradiction rule (Rule 6 of the Bulut Doctrine). It is the case where the contradicting detail is an ordinary person living their ordinary life, indifferent to the character's crisis: a neighbour airing a rug while someone waits for a call that will change their life, a child picking the tomato out of a sandwich in a hospital waiting room.
In v7.1 I defined Pattern F but disclosed, openly, that there were zero pure-corpus examples of it in the 500-scene corpus — it existed only inside hard negative target outputs. A pattern with no clean positive examples is a definition, not data.
v7.2 adds ten pure-corpus Pattern F scenes (pattern_F_pure_corpus_batch1.jsonl, five Turkish and five English, pf_001–pf_010), spanning ten emotion categories. Each scene applies the five-criterion structural signature that distinguishes Pattern F from its neighbours:
- subject_independence — the detail happens whether or not the main character acts
- mundane_category — ordinary daily life, not a professional role (this is what separates F from Pattern B)
- metaphor_load = 0.0 — the detail is literal, not a symbol
- scale_mismatch_ratio = high — the stakes of the scene and the stakes of the detail are wildly mismatched
- transience — the detail enters, exists, and leaves without interacting with the main character
I want to be precise about what this does and does not establish. These ten scenes apply the signature — they were constructed to satisfy the five criteria. That is not the same as validating the signature, which would require testing whether the criteria reliably discriminate Pattern F from neighbouring patterns on data I did not write. That validation is still open. What v7.2 closes is the absence of clean positive examples; it does not, by itself, prove the typology is correct.
2. Hard Negatives Batch 2
The hard negatives corpus targets a failure mode I keep seeing in models trained on the standard corpus: the "I removed the emotion label, so I'm compliant" shortcut. A model learns to drop "she was terrified" and "like a cage," then ports the same emotion into adverbs, into pseudo-objective numbers, into a seven-item cliché inventory, or into atmosphere that reinforces rather than contradicts. Batch 1 covered five such patterns across five emotion categories.
Batch 2 extends the same five violation types into five new emotion categories: shame (cliché inventory), determination (pseudo-objective numbers), awe (hidden simile), remorse (emotion-loaded adverbs), and jealousy (atmospheric reinforcement). Ten new scenes, Turkish and English in parallel, same thirteen-field schema as Batch 1. Each carries load_bearing_elements — explicit spans that must survive an edit operation, because the most common way a model breaks an OP-compliant scene is by "tightening" it and deleting the very detail that was doing the work. That deletion is summarization bias acting directly against the method.
The corpus is still deliberately small — twenty hard negatives total. These are expensive to build correctly; each one needs a bad_output that just fails and a target_output that just succeeds. I'd rather have twenty sharp pairs than two hundred loose ones.
3. A note on transparency
Two honest disclosures, because the method is supposed to be auditable.
First, the Pattern F scenes carry two experimental schema fields (pattern_F_signature and atmosfer_celiskisi_pattern) that are not part of the stable v7.1 schema. They are marked schema_extension: "v8-alpha" so no one mistakes them for settled structure. They are annotated manually (annotation_method: "manual_pattern_F_v1"), not by the rule-based pipeline — apply_rules.py detects atmosphere contradiction at only ~9.8% reliability, and would miss most of these. Labelling them by hand and saying so is the honest call.
Second, the DOI record in the dataset README is now complete: forty-four Zenodo deposits, the Hugging Face primary DOI, and the canonical Narrative Entropy (Sₙ) reference. Earlier versions of the README listed only a subset, which was inconsistent with the full chain. That is now fixed.
What this is for
Everything here is openly licensed and auditable. If you train on it, critique it, or try to break the Pattern F typology with a counterexample, that is exactly the use it is meant for. The dataset lives at huggingface.co/datasets/leventbulut/objective-projection; the full methodology archive is at leventbulut.com.