GOVINDFROM commited on
Commit
8b23e00
·
verified ·
1 Parent(s): 9533ad7

selection run

Browse files
Files changed (1) hide show
  1. GENERATION_FINDINGS.md +101 -95
GENERATION_FINDINGS.md CHANGED
@@ -1,102 +1,108 @@
1
  # Generation findings
2
 
3
- Two runs, 9,000 generated chapters. 30 stories × 20 chapters, Qwen2.5-3B.
4
- Canon is planted in chapter 1 and withheld afterwards; violations are
5
- deterministic string tests near a mention of the subject; paired bootstrap over
6
- stories. No LLM judge anywhere.
7
-
8
- **Bottom line: a maintained graph state does not help long-form generation. The
9
- single most effective memory is the previous chapter.** Reported here because
10
- the result is clean, not because it is welcome.
11
-
12
- ## 1. Results after both fixes
13
-
14
- Run 2 applies the two fixes the first run's diagnosis pointed at — ordering the
15
- digest by durability so canon is not truncated in favour of churn, and dropping
16
- the artificial digest-*or*-text choice. All conditions write about the premise
17
- in ~100% of chapters, so these are like-for-like.
18
-
19
- | memory | violation rate ↓ | canon capture ↑ | prompt tokens |
20
- | --- | --- | --- | --- |
21
- | none | 0.504 | — | 112 |
22
- | **previous chapter** | **0.308** | — | 1,009 |
23
- | full transcript | 0.329 | — | 5,398 |
24
- | graph digest | 0.588 | 0.342 | 357 |
25
- | digest + previous chapter | 0.379 | 0.487 | 1,194 |
26
- | digest + previous chapter + guard | 0.367 | 0.512 | 1,196 |
27
-
28
- | comparison | Δ violation | 95% CI | wins |
29
- | --- | --- | --- | --- |
30
- | digest − none | **+0.083** | [+0.025, +0.142] | 6–16 |
31
- | digest − transcript | **+0.258** | [+0.192, +0.325] | 0–24 |
32
- | hybrid − digest alone | **−0.208** | [−0.263, −0.154] | 25–1 |
33
- | hybrid − previous chapter | **+0.071** | [+0.021, +0.121] | 5–18 |
34
- | hybrid − transcript | +0.050 | [+0.000, +0.100] | ns |
35
- | guard − no guard | −0.013 | [−0.046, +0.013] | ns |
36
-
37
- ## 2. What this says
38
-
39
- **The digest alone is worse than no memory at all** (+0.083, interval excludes
40
- zero). Handing a writer a partial, confident-looking summary is worse than
41
- handing it nothing: it crowds the prompt while carrying a third of what it is
42
- supposed to protect.
43
-
44
- **The fixes worked, and were still not enough.** Durability ordering plus the
45
- hybrid raised canon capture from 0.342 to 0.512 and cut violations by 0.208 —
46
- a large, reliable improvement (25 of 30 stories). But the hybrid still loses to
47
- simply pasting the previous chapter (+0.071, interval excludes zero). The
48
- digest adds cost and subtracts accuracy.
49
-
50
- **The graph guard does nothing measurable** (−0.013, ns). It fired on 76
51
- chapters and repaired 50, but at that rate it cannot move a corpus-level number.
52
-
53
- **More context is not better.** The previous chapter alone (0.308, 1,009
54
- tokens) beats the whole transcript (0.329, 5,398 tokens). Recency, not volume,
55
- is what protects continuity — consistent with what is already known about
56
- models using long contexts unevenly, and worth reporting in its own right.
57
-
58
- The one thing in the method's favour is narrow: the hybrid is statistically
59
- indistinguishable from the full transcript (CI touches zero) at **4,204 fewer
60
- prompt tokens**. That is a real efficiency property. It is not a reason to
61
- prefer the digest, because the previous chapter is cheaper *and* better.
62
-
63
- ## 3. Why the state fails here
64
-
65
- Extraction, as in the reading study. Capture by canon type at chapter 20:
66
-
67
- | type | captured |
68
- | --- | --- |
69
- | eye colour | 0.50 |
70
- | trade | 0.38 |
71
- | hair | 0.33 |
72
- | birthplace | 0.23 |
73
- | **object material** | **0.12** |
74
-
75
- The extractor is character-centric and largely ignores objects, so half the
76
- planted canon never enters the state. A representation cannot protect what it
77
- never captured, and no amount of work on the calculus changes that.
78
-
79
- ## 4. The artefact caught in run 1
80
-
81
- Run 1 also included a LoRA fine-tuned on 6,876 state-conditioned examples. Its
82
- violation rate was **0.054** against 0.367 for the base model — apparently a 7×
83
- win. It was not real. The model had degenerated into pastiche of its training
84
- corpus, reproducing even Project Gutenberg's hard-wrap indentation, and a model
85
  that stops writing about the premise cannot violate its canon.
86
 
87
- Two measurements expose it: base conditions write about the premise in 100% of
88
- chapters against 77–81% for the tuned ones, and restate canon at 0.84 against
89
- 0.09. `on_premise` is now a first-class metric so this cannot be reported as a
90
- win again. The tuned arm is excluded from every conclusion above.
91
 
92
- ## 5. What stands
 
93
 
94
- The **reading** result is unaffected and remains well evidenced: the revision
95
- calculus holds a read state at 0.000 self-contradictory slots against
96
- 0.370–0.423 for an append-only store, replicated at 1.5B / 3B / 7B, scored
97
- against human annotation on 28 novels.
98
 
99
- The **generation** result is negative and now has two independent runs and a
100
- diagnosed cause behind it. On this evidence a maintained narrative graph is a
101
- good instrument for *measuring* a text and a poor conditioning signal for
102
- *writing* one.
 
 
 
 
 
 
 
 
 
 
1
  # Generation findings
2
 
3
+ Four runs, 18,600 generated chapters, 30 stories, conditions paired within
4
+ story. Canon is planted in chapter 1 and withheld afterwards; violations are
5
+ deterministic string tests near a mention of the subject. No language model
6
+ appears in any metric.
7
+
8
+ **Summary. Five ways of using a narrative graph at generation time were tested.
9
+ None of them helps. The fifth, ranking candidates, is the one the project's own
10
+ negative results predicted should work, and it does not either.**
11
+
12
+ ## 1. What was tried
13
+
14
+ | use of the graph | design | outcome |
15
+ |---|---|---|
16
+ | carried as context | serialised state digest in the prompt | worse than no memory |
17
+ | carried plus recent text | digest and the previous chapter | loses to the previous chapter alone |
18
+ | queried by the next beat | retrieve only what the beat implicates | worse than no memory |
19
+ | queried plus recent text | retrieval and the previous chapter | ties the previous chapter alone |
20
+ | used to rank candidates | draw four, pick the most consistent | indistinguishable from picking blind |
21
+
22
+ ## 2. The ranking result, and why the control mattered
23
+
24
+ Ranking was motivated by the finding in `METHODOLOGY.md` section 5 that absolute
25
+ contradiction counts are dominated by extraction noise while relative
26
+ comparisons on identical input are sound. Ranking four candidates for the same
27
+ chapter position is the relative case, so the noise should cancel in the
28
+ ordering.
29
+
30
+ | condition | violations | prompt tokens |
31
+ |---|---|---|
32
+ | previous chapter, one sample | 0.354 | 1,005 |
33
+ | previous chapter, four samples chosen blind | 0.296 | 1,012 |
34
+ | previous chapter, four samples ranked by the graph | 0.300 | 1,017 |
35
+ | full transcript, one sample | 0.400 | 5,360 |
36
+
37
+ | comparison | difference | interval | excludes zero |
38
+ |---|---|---|---|
39
+ | graph ranked minus one sample | -0.054 | [-0.129, +0.025] | no |
40
+ | blind choice minus one sample | -0.058 | [-0.142, +0.025] | no |
41
+ | **graph ranked minus blind choice** | **+0.004** | [-0.058, +0.063] | **no** |
42
+
43
+ The graph adds nothing over choosing blind from the same four candidates. Any
44
+ apparent gain belongs to the extra sampling, and even that does not clear the
45
+ interval.
46
+
47
+ Without the blind arm this would have been reported as a reduction of 0.054
48
+ from graph ranking. The control is what separates a mechanism from a budget.
49
+
50
+ ## 3. A correction, and a limit of the benchmark
51
+
52
+ Earlier notes in this project stated that the previous chapter beats the full
53
+ transcript, and separately that the full transcript is best. Both were read from
54
+ single runs and neither is safe.
55
+
56
+ | condition | run 2 | run 3 | run 4 | spread |
57
+ |---|---|---|---|---|
58
+ | no memory | 0.504 | 0.487 | not run | 0.017 |
59
+ | previous chapter | 0.308 | 0.312 | 0.354 | 0.046 |
60
+ | **full transcript** | 0.329 | 0.254 | 0.400 | **0.146** |
61
+
62
+ The full transcript condition moves by 0.146 across runs, which is larger than
63
+ almost every effect discussed in this project. Its ordering against the previous
64
+ chapter is therefore **not established**, and the honest statement is that both
65
+ beat no memory while their ranking against each other is unresolved at this
66
+ sample size.
67
+
68
+ What survives the variance is the part that is large and repeated: no memory is
69
+ clearly worst, and every graph conditioning design lands at or below the memory
70
+ baselines rather than above them.
71
+
72
+ **Implication for the benchmark.** Conditions whose prompt grows without bound
73
+ are unstable across seeds. Effects below roughly 0.15 on such conditions need
74
+ several seeds before they are reported. Within run paired comparisons remain
75
+ valid, because premises and sampling seeds are shared; cross run comparisons of
76
+ a single condition are not.
77
+
78
+ ## 4. The false positive caught in run 1
79
+
80
+ Run 1 included a LoRA fine tuned on 6,876 state conditioned examples. It scored
81
+ 0.054 against 0.367 for the base model, an apparent sevenfold win. It was not
82
+ real: the model had degenerated into pastiche of its training corpus,
83
+ reproducing even the hard wrap indentation of Project Gutenberg, and a model
 
84
  that stops writing about the premise cannot violate its canon.
85
 
86
+ | | base conditions | tuned conditions |
87
+ |---|---|---|
88
+ | chapters mentioning any premise character | 1.000 | 0.765 to 0.812 |
89
+ | canon facts actively restated | 0.838 to 0.887 | 0.092 to 0.163 |
90
 
91
+ `on_premise` is now a first class metric. The tuned arm is excluded from every
92
+ conclusion.
93
 
94
+ ## 5. Why the conditioning line is closed
 
 
 
95
 
96
+ Five designs, four runs, 18,600 chapters, each falsifier stated in advance.
97
+ Three separate controls each removed an apparent effect: `on_premise` removed a
98
+ sevenfold win, the blind selection arm removed a 0.054 gain, and the cross run
99
+ spread removed a baseline ordering.
100
+
101
+ The state held 0.492 of the planted canon at the moment of writing and
102
+ conditioning on it still added nothing, so this is not an extraction ceiling.
103
+ The serialised digest result also replicates a published negative, the Narrative
104
+ World Model paper's State Memory condition, with a 3B open model.
105
+
106
+ The reading result in `METHODOLOGY.md` section 2 is unaffected. It compares
107
+ policies on identical input, where a shared noise floor cancels, and it holds at
108
+ three extractor sizes.