:orphan:

.. include:: /_templates/include-file/page-prefix.rst

.. _hell-ll-study-b16-extra-figure-variants:

############################################################################
LLog --- Matheo-b16-extra: one model line, two voices, four figure builds
############################################################################

.. note:: **LLog header**

   | **Paper designation:** Matheo-b16 (RiskyMAD waiting-time study), ``b16-extra``
     spin-off and its companion code
   | **Topic:** figure release v1r5p0 of
     ``riskymad-forecast-of-nuclear-death-probability-x3.py`` --- one shared model line
     measured to the column, an audience-dependent title, a contrasting close to the
     public caption, 2 mm of added air in two places, a 100 % rule on the public build,
     and a fourth ``-public-full`` build built to be A/B tested against ``-public``
   | **Date:** 2026m09d10_15h40
   | **Effort:** Max (from ``.claude/effort-level``, reported at session start; LLoL did
     not separately confirm before issuing the work prompt)
   | **Mode:** EDEN (from ``.claude/mode``, reported at session start; not separately
     confirmed)
   | **Model:** Claude Opus 5, max effort
   | **VVN:** ``b16-extra-figure-variants-llog-dv_ClaOp50Max_MMv1r0p0_2026m09d10_15h40``
   | **Files touched:**
     ``source/matheology/hell/mm/b/16/extra/code/riskymad-forecast-of-nuclear-death-probability-x3.py``,
     ``source/matheology/hell/mm/b/16/extra/b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst``
   | **Files written (generated):** eight files under
     ``source/_file/pdf/hell/mm/b/16/fig/`` --- ``.pdf`` and ``.webp`` for each of
     ``-fig``, ``-fig-plain``, ``-fig-public``, ``-fig-public-full``, all stamped
     ``iv_LLoL_MMv1r5p0_2026m09d10``
   | **Branch:** ``b16-revision-for-expert-review``
   | **Status at time of writing:** all four builds render; 52 of 52 HELD, 0 BREACH;
     ``rstcheck`` clean on the edited page; ``check-paths`` clean; section PDF rebuilt
     and opened. **No commits made** --- LLoL commits.

.. admonition:: Continuity
   :class: tip

   Follows the figure work committed at ``b5f2a39`` (vector figures in LaTeX, plus a
   public variant of Figure 1) and ``f75ff18`` (the linear-then-log figure adopted over
   the retired 3-segment one). The standing b16 revision context still holds: b16 is a
   two-part paper (jargon-free general part + expert SIAs), every revision runs through
   EDEN, and Claude's specific standing assignment is to surface the **profound** BABL
   traps rather than the cosmetic ones.


****************************************************************************
Prompt 1
****************************************************************************

.. container:: verbatim-prompt

   ::

      Continue b16-extra figure work, release v1r5p0. Script: source/matheology/hell/mm/b/16/extra/code/riskymad-forecast-of-nuclear-death-probability-x3.py. The VVN constant near the top drives both the printed stamp and every output filename; build_loglin(with_caption, public) emits three variants. Tree clean at b5f2a39. Run with <repo>/.venv/bin/python riskymad-forecast-of-nuclear-death-probability-x3.py from that directory. Tasks:

      1. Replace both MODEL_LINE and MODEL_LINE_PUBLIC with one shared line (measured to fit at 6.59 in of a 6.73 in column): The RiskyMAD model (Risky ⇌ MAD crisis → Dead) asks how long before the crocodile of nuclear roulette kills civilizations. Keep ⇌ in the source so ARROW_MATH still fires. Check the parentheses don't crowd the slow/fast labels.
      2. Keep the mid-caption "like prey watching a motionless crocodile, we mistake stillness for safety" — it encodes the §14.1 identifiability result (crocodile lethality = p_{M→D}, prey wandering = r_{R→M}, only the product identified). Change the closing sentence so it contrasts rather than echoes: end on the crocodile striking fast/suddenly against the earlier motionless.
      3. Make the title audience-dependent: keep the present plain title for the technical/plain builds; for public=True use
              "Quiet looks safe. But how long until the crocodile of nuclear roulette strikes?""

              Runner ups, please store in code as comments in case I'd like to revise;
              store the original dry title there too:
              ( A crocodile title on the technical figure would read as advocacy to the sceptical reader.)

              4. "How long can we keep walking past the crocodile of nuclear roulette?" — puts the agency on us, which matches the policy point.
              1. "Every quiet year looks safe. How long until the crocodile strikes?" — strongest for a flyer: names the reader's own belief, then puts the question. Two short sentences survive being set large.
              2. "The crocodile waits: how long until accidental nuclear winter?" — best balance; keeps the searchable phrase after the colon.
              3. "Quiet water, waiting crocodile: how long until accidental nuclear winter?" — most evocative; "quiet water" smuggles in the stillness that is the mechanism.
              5. "Nuclear roulette: how long before the crocodile catches us?" — punchiest, but it fuses roulette and crocodile in the most prominent slot on the figure, which is where I'd least want them blurred.

              LLoL Combo: "Quiet looks safe. But how long until the crocodile of nuclear roulette strikes?""

      4. Add ~1–3 mm between the x-axis labels and the legend, and again above the model line.
      5. In the public variant only, add a 100 % rule (the technical one uses the 99 % rule to close the box).
      6. Build a fourth variant -fig-public-full: public caption, title and two-column legend, but keeping the 99 % rule, percentile numerals and run table — for an A/B test with a real lay reader. Whether the drops help is unestablished; this is the test.
      7. Bump VVN to iv_LLoL_MMv1r5p0_2026m09d10, update the .. figure:: reference in b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst (it uses a …-fig-plain.* wildcard so LaTeX gets vector PDF, HTML gets webp), rebuild with make pdf SECTION=…, and open the PDFs.

      Check after: python3 reproduce_tables.py must print 52 of 52 HELD, plus rstcheck and check-paths. Render every figure and look at it before declaring done — label collisions are the recurring failure here, and measure text widths with a matplotlib renderer rather than estimating from character counts. Don't commit unless asked.


****************************************************************************
Response 1 --- what was done, in order
****************************************************************************

Task 1 --- one shared model line, and what measuring it exposed
============================================================================

``MODEL_LINE`` and ``MODEL_LINE_PUBLIC`` are now a single ``MODEL_LINE``, drawn on
every build. Measured with the matplotlib renderer under the figure's own rcParams
(Fira Sans Light, 8.6 pt) rather than estimated from character count:

.. list-table:: Rendered widths against the 6.734 in text column
   :header-rows: 1
   :widths: 46 14 14 26

   * - line
     - width
     - slack
     - result
   * - old ``MODEL_LINE`` (expert)
     - 6.986 in
     - −0.252 in
     - **overflowed, unnoticed**
   * - old ``MODEL_LINE_PUBLIC``
     - 3.067 in
     - +3.667 in
     - fitted
   * - new shared ``MODEL_LINE``
     - 6.588 in
     - +0.146 in
     - fits; matches LLoL's 6.59 in

The finding worth recording is the first row: **the line being replaced had been running
past the column edge**, on every expert build shipped so far. Nothing reported it,
because the column width had only ever been estimated in characters. The text column is
now a named constant, ``TEXT_COL_IN = (TEXT_RIGHT - TEXT_X) * FIG_W_IN = 6.734 in``, so
the three width claims in the file (model line, titles, caption wrap) are checkable
against one number instead of three prose assertions.

**Parentheses against the harpoon labels: checked, HELD.** ``⇌`` is kept in the
source so ``ARROW_MATH`` still substitutes the stacked ``slow``/``fast`` harpoon. The
``(`` sits six characters before the harpoon and the ``)`` twelve after, with spaces on
both sides of the glyph; inspected at 2.6× on the rendered PNG, there is clear air
between ``Risky`` and ``slow``, and between ``fast`` and ``MAD``.


Task 2 --- the closing sentence now contrasts instead of echoing
============================================================================

The mid-caption sentence is untouched, as instructed. The close changed:

.. list-table::
   :header-rows: 1
   :widths: 12 88

   * -
     - sentence
   * - was
     - "Every scenario here ends the same way. **They differ only in when the crocodile
       of accidental nuclear winter will strike.**"
   * - is
     - "Every scenario here ends the same way; they differ only in when. **Stillness
       buys nothing: the crocodile that has not moved in decades strikes in a single
       lunge.**"

"Stillness buys nothing" negates the earlier "we mistake stillness for safety" directly
rather than restating the image, and the sentence lands on the sudden strike set against
the earlier motionless, as asked.

**One wording was drafted and rejected before it was written to the file.** The first
draft closed "...the strike, when it comes, is as sudden as the stillness was long." It
is the better sentence to read and the worse sentence to publish: a chiasmus that couples
suddenness to the length of the quiet implies the model has a memory, which is precisely
what the caption's own first sentence denies ("this model has no memory"). Rejected on
that ground. The reasoning is recorded in a comment beside ``CAPTION_TEXT_PUBLIC`` so
the next editor does not re-derive it.

The same comment now records why the mid-caption sentence must not be edited casually:
it carries the §14.1 identifiability result --- crocodile lethality is
:math:`p_{M \rightarrow D}`, prey wandering is :math:`r_{R \rightarrow M}`, and only
their **product** is identified, so a patient crocodile among careless prey and a quick
one among careful prey give the same forecast.


Task 3 --- audience-dependent title, runner-ups stored, and a fitting guard
============================================================================

``TITLE`` (the original dry line) is live on the expert builds; ``TITLE_PUBLIC`` (LLoL's
combination of runner-ups 1 and 4) is live on both public builds. All five runner-ups
are stored as comments in LLoL's own ranking with LLoL's own notes, each carrying its
**measured** width at 13 pt Fira Sans Bold so a swap can be made without re-measuring:

.. list-table:: Titles measured at 13 pt Fira Sans Bold (column 6.734 in)
   :header-rows: 1
   :widths: 12 68 20

   * - rank
     - title
     - width
   * - adopted
     - Quiet looks safe. But how long until the crocodile of nuclear roulette strikes?
     - 6.36 in
   * - dry
     - How long until accidental nuclear winter begins
     - 3.92 in
   * - 1
     - Every quiet year looks safe. How long until the crocodile strikes?
     - 5.33 in
   * - 2
     - The crocodile waits: how long until accidental nuclear winter?
     - 5.08 in
   * - 3
     - Quiet water, waiting crocodile: how long until accidental nuclear winter?
     - 5.96 in
   * - 4
     - How long can we keep walking past the crocodile of nuclear roulette?
     - 5.73 in
   * - 5
     - Nuclear roulette: how long before the crocodile catches us?
     - 4.91 in

Every one of them fits on one line at full size, so nothing was shrunk. A new
``_title_fontsize()`` measures the title against the column and steps the size down only
if it would run past --- added because the runner-ups are kept for swapping, and because
this file has now demonstrated once (Task 1) that a line can run off the canvas without
anybody noticing.


Task 4 --- 2 mm of added air, in the two named places
============================================================================

Both gaps are opened by **one** constant each, so neither can be widened in one place
and forgotten in the other.

* **X-axis labels to legend.** The axes bottom moved **up** by 0.018 of the base layout
  = 0.081 in = **2.06 mm**. Moving the axes rather than the legend is deliberate:
  pushing the legend down would have moved the gap onto the caption band instead of
  creating it.
* **Above the model line.** ``_MODEL_LINE_GAP_IN`` 0.20 → 0.28 in = **2.03 mm**, and
  the band height is now computed from the same constant.

Measured on the rendered figures afterwards (ink box to ink box, so the legend's own
padding is extra):

.. list-table:: Gaps after the change
   :header-rows: 1
   :widths: 34 33 33

   * - build
     - x-labels → legend
     - footer → model line
   * - ``-fig`` / ``-fig-plain``
     - 4.51 mm
     - 2.98 mm
   * - ``-fig-public``
     - 1.43 mm
     - 7.15 mm
   * - ``-fig-public-full``
     - 1.43 mm
     - 7.17 mm

The public builds were the tight ones before this change --- at 1.43 mm now, they had
been at roughly −0.6 mm, i.e. the x-label ink box and the legend box were **touching**.


Task 5 --- a 100 % rule where the 99 % rule used to close the box
============================================================================

The rule is drawn wherever the 99 % rule is **not** --- expressed as
``if full: axhline(99) else: axhline(100)``, so the reason is visible in the code: the
top of the plot is closed either way and never twice. ``clip_on=False``, because a line
drawn exactly on the axis limit is otherwise half cut away.

**Beyond the instruction, and flagged as such:** the rule was given a matching
``100 % of worlds`` label, because the other two rules on the same plot are labelled
(``99 % of worlds``, ``50 % of worlds``) and an unlabelled dotted line at the top invites
"what is that?". See the EDEN section below --- this addition carries a real over-claim
risk and is offered for LLoL to keep, reword, or drop.


Task 6 --- the fourth build, and what had to change for a fair A/B test
============================================================================

``build_loglin()`` now has **two** switches instead of one, because the fourth build
needs one without the other:

.. list-table::
   :header-rows: 1
   :widths: 16 84

   * - switch
     - what it decides
   * - ``public``
     - the **voice** --- which title, which caption prose, and the legend layout
       (centred two-column under the plot, rather than single-column beside the table)
   * - ``full``
     - the **furniture** --- the 99 % rule, the percentile numerals, the forty-run
       table. Defaults to ``not public``; ``-public-full`` overrides it

.. list-table:: The four builds
   :header-rows: 1
   :widths: 26 12 12 22 28

   * - build
     - public
     - full
     - size
     - use
   * - ``-fig``
     - no
     - yes
     - 7.40 × 6.72 in
     - expert voice, caption printed in, for sending alone
   * - ``-fig-plain``
     - no
     - yes
     - 7.40 × 5.14 in
     - the one the page uses; the page captions it
   * - ``-fig-public``
     - yes
     - no
     - 7.40 × 6.32 in
     - public voice, furniture dropped
   * - ``-fig-public-full``
     - yes
     - yes
     - 7.40 × 7.41 in
     - public voice, furniture kept --- the A/B partner

**The layout problem, and why the figure grows rather than the plot shrinking.** A
centred two-column legend takes the full width, so nothing can sit beside it; the
forty-run table therefore has to go underneath. Fitting both inside the existing 4.5 in
design would have cut the plot to about 1.5 in tall --- which would have made the two
public builds differ in *how big the curves look*, not only in *what furniture is
present*. That is a confound, and it would have contaminated exactly the comparison the
build exists to support. So the table was given its own strip in the foot band, sized in
inches, and the **figure** grows to hold it. The plot is untouched.

**A second confound, found and removed by measurement.** The first attempt left 10.2 mm
of air under the table against ``-public``'s 7.15 mm, because the strip was sized with
four row *steps* where it needed three steps and one row of *ink*. A lay reader shown
both builds would have been reacting partly to spacing. Corrected: 7.17 mm against
7.15 mm.

**A third confound remains, and is not removable inside the figure** --- see the EDEN
section.


Task 7 --- version, page reference, rebuild
============================================================================

``VVN`` → ``iv_LLoL_MMv1r5p0_2026m09d10``; the stamp on the figure and the version in
all eight filenames come from that one constant, so they cannot drift. The page's
``.. figure::`` wildcard was repointed to the r5p0 ``-fig-plain.*``, and the figure
caption in the page was rewritten from "three versions" to four, naming what
``-public-full`` is for in the paper's own voice.

``make pdf SECTION=matheology/hell/mm/b/16/extra/b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst``
rebuilt cleanly; page 41 carries the new vector figure and the new caption; the section
PDF and all four figure PDFs were opened.


Checks
============================================================================

.. list-table::
   :header-rows: 1
   :widths: 34 66

   * - check
     - result
   * - ``reproduce_tables.py``
     - **52 of 52 published figures HELD; 0 BREACH** --- unchanged, as expected: no
       number on the figure changed, and ``…-numbers.txt`` came back byte-identical
   * - ``rstcheck`` (edited page)
     - Success! No issues detected
   * - ``rstcheck --recursive source``
     - 616 lines of findings, **none** in ``hell/mm/b/16/extra/``; all pre-existing, in
       b12/b14/b15 papers, older b16 llogs and AA files
   * - ``check-paths``
     - clean (Checks A--D)
   * - embedded fonts
     - all four PDFs: CID TrueType only, no Type 3 --- the fault that crashed Preview
       on 2026m09d08 has not returned
   * - label collisions
     - a renderer-based checker was written for this: it walks every text artist in
       every build, flags anything off-canvas, any foot text past the column, and every
       pairwise ink-box overlap. **No real collisions in any of the four builds.** Three
       classes of false positive were each confirmed by eye at 2.6× zoom: out-of-view
       tick labels (``−1``, ``120``) that exist but are never drawn; the ``500`` tick at
       the right spine, which legitimately sits outside the *text* column; and the
       ``47`` / ``139`` percentile numerals against the *rotated* curve labels, whose
       axis-aligned bounding boxes are far larger than their ink

Every build was rendered to PNG and looked at, not merely produced.


****************************************************************************
EDEN analysis
****************************************************************************

.. admonition:: BABL Danger: metaphor saturation on an audit-first figure
   :class: danger

   Counted, not impressionistic. Predator references now standing on each build,
   across title + model line + caption:

   * **expert** builds (``-fig``, ``-fig-plain``): **4** --- ``crocodile`` (model line),
     ``prey``, ``crocodiles``, ``ambush predators`` (caption). Before v1r5 it was 3.
   * **public** builds: **5** --- ``crocodile`` in the title, in the model line, and
     twice in the caption, plus ``prey``.

   Each individual step was reasonable and each was asked for. The cumulative direction
   is the concern, and it is the invisible kind CLAUDE.md names: *form looks right while
   substance drifts.* Every number on this figure is exact, reproducible and audited ---
   and the figure is increasingly moving the reader by an image of a predator rather
   than by the arithmetic. On a page whose own footer reads **#AuditTheMath --- offered
   not to be believed, but to be checked**, that is the drift most worth catching early.

   Two specific edges:

   1. **The metaphor now stands on the expert build too.** Task 3's own reasoning ---
      "a crocodile title on the technical figure would read as advocacy to the sceptical
      reader" --- is right, and task 1 puts a crocodile on that same figure through the
      shared model line. The mitigation is real (8.6 pt grey, at the foot, under a dry
      title, not the most prominent slot) and I judge it **HELD**. But the model line is
      the one line whose job is to say *what the figure is of*; it used to answer that
      ("exact waiting time distributions to first disaster for a risky 3-state world")
      and now answers it partly in metaphor.
   2. **The model line fuses roulette and crocodile** --- the precise objection LLoL
      raised against runner-up 5 for the title. At the foot it carries far less weight
      than in the title, but the objection does not disappear; it only gets quieter.

   Neither is a reason to undo what was asked. Both are reasons to decide the *next*
   step knowingly rather than by momentum: the natural next move is a crocodile
   somewhere else, and there is no natural place left where it costs nothing.

**Green Meadow #1 --- the shared model line. count = 4 at least; 3 given.**
Wordings that satisfy both constraints (one line for every audience **and** no advocacy
in the expert build's most prominent slot) are plentiful; the constraint pair does not
bind. Three alternatives to the adopted line:

* "The RiskyMAD model (Risky ⇌ MAD crisis → Dead): how long before a nuclear crisis
  runs all the way?" --- no metaphor anywhere, question preserved.
* "The RiskyMAD model (Risky ⇌ MAD crisis → Dead) asks how long civilizations survive
  nuclear roulette." --- keeps the roulette, drops the crocodile, so title and caption
  carry the metaphor and the model line states the model.
* The adopted line. It is the most metaphor-forward of the set, and it is the one LLoL
  chose and measured.

It holds because all three say what the figure is of, all three fit the column, and none
of them claims anything the closed form does not.

**Knife Edge #1 --- the -public-full layout.** Once the two public builds must be
comparable, exactly one arrangement survives: **grow the figure, do not shrink the
plot.** Every alternative fails a constraint that matters. Shrinking the plot to fit the
existing height changes the apparent size of the curves, which is the very thing the A/B
test must hold constant. Setting the legend beside the table needs about 5.8 in of width
in a 3.3 in half. Dropping to a single-column legend abandons the "two-column legend"
the build is defined by. Putting the table above the legend separates the legend from
the plot it labels. It holds because the foot band is already sized in inches and added
to the figure height, so a strip could be added there without touching a single one of
the layout fractions the plot depends on.

**Grey Edge #1 --- the A/B test itself.** The test is worth running and its result may
lead to ZION, but it is impossible to tell in advance whether it will. Three reasons,
in order of how badly they could mislead:

1. **n = 1.** "A real lay reader" is one reader. A single reaction is compatible with
   the drops helping, hurting, or doing nothing. The BABL move here is not running the
   test --- it is *reporting* the result as "tested" afterwards. If this is to settle
   anything, the number of readers and what counts as a difference should be written
   down **before** the first one sees a figure.
2. **A confound remains that the figure cannot remove.** The two builds are 6.32 in and
   7.41 in tall. Shown at the same page width, ``-public-full``'s plot is about 15 %
   smaller on the page. Some of any reaction will be to size, not to furniture. It can
   only be controlled outside the figure --- show both at the same *plot* size and let
   the page lengths differ.
3. **The two builds differ in more than one thing at once** --- 99 % rule, percentile
   numerals *and* the run table all move together. A result cannot say which of the
   three mattered.

Best current bet: run it anyway, record the three caveats with the result, and let the
outcome move a prior rather than close a question.

**Grey Edge #2 --- the "100 % of worlds" label (my addition, beyond the instruction).**
The rule was asked for; the label was not. It may be the right call and it may be a
quiet over-claim, and I cannot tell which from here.

* *For:* the other two rules are labelled, so an unlabelled line is a question the
  reader cannot answer. The paper's own certainty result (:ref:`b16x-certainty`) is that every
  scenario reaches self-destruction with probability 1, so "100 % of worlds" is the
  paper's established claim, not a new one. Visually it teaches the right thing --- the
  curves approach the line and never touch it.
* *Against:* at the top of a **finite** axis, "100 % of worlds" can be read as "all
  worlds, by 500 years", which is false at any finite time. The 99 % label is anchored
  by three real markers at 47, 139 and 462 years; the 100 % label has no marker and no
  time, so nothing on the figure stops the misreading.

Three ways out, LLoL's call: keep as is; reword to "100 % of worlds --- eventually";
or drop the label and keep the bare rule, which is exactly what was asked for.

**No Empty Set, no Red Edge, no Final Cliff was found in this work.**


****************************************************************************
Summary and recommendations
****************************************************************************

**Done, all seven tasks.** One shared ``MODEL_LINE`` measured at 6.588 in against the
6.734 in column (the line it replaced was 6.986 in and had been overflowing unnoticed);
harpoon parentheses checked clear; the public caption's close now contrasts instead of
echoing, with the memory-implying first draft rejected on the record; the title is
audience-dependent with all five runner-ups and the dry title stored as comments with
measured widths; 2.06 mm added between x-labels and legend and 2.03 mm above the model
line, each from a single constant; a 100 % rule closes the box wherever the 99 % rule is
dropped; ``-fig-public-full`` built; VVN at ``iv_LLoL_MMv1r5p0_2026m09d10``, page
reference and figure caption updated, section PDF rebuilt and everything opened. 52 of
52 HELD, ``rstcheck`` and ``check-paths`` clean, no label collisions in any build. No
commits.

**Five things for LLoL to decide or know:**

1. **BABL Danger --- metaphor saturation** (4 predator references on the expert build,
   5 on the public ones). Not a reason to undo anything asked for; a reason to make the
   *next* crocodile a deliberate decision rather than momentum. Detail in the EDEN
   section above.
2. **The "100 % of worlds" label is mine, not LLoL's instruction** --- keep, reword to
   "--- eventually", or drop to the bare rule. It carries a finite-axis misreading risk.
3. **The A/B test has a confound the figure cannot fix**: the two public builds are
   6.32 in and 7.41 in tall, so at equal page width the ``-public-full`` plot is ~15 %
   smaller. Show them at equal *plot* size, and write down n and the decision rule
   before the first reader sees anything --- otherwise the result will be quotable as
   "tested" without being informative.
4. **The r4p1 figure files are now stale but still on disk** (six files under
   ``source/_file/pdf/hell/mm/b/16/fig/``, tracked in git, nothing points at them).
   Not deleted --- File Safety. They want a decision: ``HH/`` or removal by LLoL.
5. **Two small pre-existing items, flagged not changed:** line 304 of the figure script
   says "the **validated** categorical palette", which Language Rule 4 forbids
   ("checked" would do); and ``AHA/vvn-composition.md`` still names ``ClaOp47Max`` as
   the current default assessor while recent llogs correctly use ``ClaOp50Max``.

**Also worth one line:** the public caption now wraps to five even lines of ~107
characters rather than filling the 126-character column, because the wrap optimiser
prefers a full last line over a full column and the shortened prose gave it room to
even out. That is the optimiser working as designed, not a regression, but the public
caption block is visibly narrower than the model line above it. Say the word if the
fuller column is wanted instead.

Jonah License, CC-BY 4.0. Balospe.com --- #AuditTheMath.
Offered not to be believed, but to be checked.


****************************************************************************
Prompt 2
****************************************************************************

.. container:: verbatim-prompt

   ::

      What about the figure title of "How long until accidental nuclear winter strikes like a crocodile?" for the professional version? (to still put the dynamics there, which is then discussed in the caption)? --- Is it really worth using 100% vs 99% in the two figures? why not make both 99%?

.. container:: verbatim-prompt

   ::

      Does "ambush
      predators" need a hyphen?


Response 2a --- the hyphen: no
============================================================================

**No hyphen.** *Ambush predator* is a standard unhyphenated compound noun in ecology:
an attributive noun modifying a noun, like *police officer*. English does not hyphenate
that pattern unless ambiguity forces it. The caption's ``These ambush predators wait
motionless...`` is correct as written.

A hyphen would be right only if the pair modified a **further** noun ---
*ambush-predator strategy*. Contrast *sit-and-wait predator*, which **is** hyphenated,
because there the modifier is a phrase rather than a single noun.

**No change made.**


Response 2b --- 100 % vs 99 %: LLoL is right; both are now 99 %
============================================================================

**Accepted, and implemented.** The 100 % rule introduced in v1r5p0 is withdrawn. The
99 % rule and its ``99 % of worlds`` label now stand on **all four builds**; only the
percentile **markers and numerals** and the forty-run table remain behind the ``full``
switch. ``build_loglin``'s docstring was corrected to say so, because "the 99 % rule" was
listed there as furniture and no longer is.

Five reasons it is better, in order of weight:

1. **Two builds of one figure must not carry a rule at a different height with a
   different meaning.** The ``-public`` / ``-public-full`` pair exists to be put side by
   side in front of the same reader. A line that *moves between them* is the worst
   possible thing to put in a comparison, and I had put one there.
2. **The 99 % rule says something a finite axis can support.** "99 % of futures have
   ended by somewhere along here" is readable straight off the plot. "100 % of worlds"
   at the top of a 500-year axis invites "all of them, by year 500", which is false at
   any finite time --- the Grey Edge #2 risk recorded above, now removed rather than
   caveated.
3. **It tightens the A/B test.** ``-public`` and ``-public-full`` now differ in
   **two** things (percentile markers/numerals, run table) instead of three. One of the
   three confounds listed in Grey Edge #1 is gone.
4. **It closes the box just as well.** That was the whole job of the 100 % rule, and the
   99 % rule was already doing it on the expert builds.
5. **It deletes an unrequested decision of mine.** The ``100 % of worlds`` label was my
   addition beyond the instruction and the thing I flagged for LLoL to rule on. This
   ruling removes it rather than wording around it.

It also renders better, which was not the argument but is worth recording: the curves
**cross** the 99 % rule and continue, where against the 100 % rule they only ever
approached it. Crossing is the truer picture --- worlds do run out past the 99th
percentile, and the eye now sees that happen.

Checked: the collision sweep over all four builds is unchanged (same three known
false-positive classes, no new ones); all four figure sizes are unchanged.


Response 2c --- the title: yes to the dynamics, no to the simile
============================================================================

**Recommendation: put the dynamics in, leave the simile out.** Change one word ---
``How long until accidental nuclear winter strikes?`` --- rather than adding the clause.

**Why LLoL's instinct is right, and stronger than it looks.** The figure draws the
**waiting** and cannot draw the **strike**. Once a crisis begins, the mean time to the
end is :math:`1/(r_{M \rightarrow R} + r_{M \rightarrow D}) = 1/9` yr = **40.6 days**,
against a mean total wait of **30.33 yr** at Best Data --- a ratio of **273 : 1**. On
this figure that phase is 0.37 % of the wait and 2.2 % of the linear block: a hair
wide, invisible. So a reader who takes the CDF at face value can come away believing the
whole process is slow. Restoring "strikes" to the title is not decoration --- it repairs
a genuine omission of the axis.

**Why the simile should not be the device that does it.** Three reasons:

1. **It is the slot the dry title was protecting.** LLoL's own v1r5 reasoning ---
   *"a crocodile title on the technical figure would read as advocacy to the sceptical
   reader"* --- applies with full force here, and more so than to the model line,
   because the title is the most prominent slot on the figure.
2. **A simile is the one thing on a technical figure that cannot be checked.** A
   referee can check "how long until accidental nuclear winter begins". Nobody can check
   "like a crocodile". A figure whose footer reads *#AuditTheMath* should not open with
   its only uncheckable claim.
3. **It re-opens an ambiguity the caption then has to close.** "Strikes like a
   crocodile" can be read as *from stillness, suddenly* (what LLoL means) or as *because
   something is hunting us* (agency). The model has no agent. On the public build that
   ambiguity is a feature; on the expert build it is a debt the caption must pay.

**Measured widths, all fitting the 6.734 in column at 13 pt Fira Sans Bold:**

.. list-table::
   :header-rows: 1
   :widths: 22 56 12 10

   * - candidate
     - title
     - width
     - verdict
   * - current
     - How long until accidental nuclear winter begins
     - 3.92 in
     - no dynamics
   * - **recommended**
     - **How long until accidental nuclear winter strikes?**
     - **4.03 in**
     - **dynamics, checkable**
   * - LLoL's proposal
     - How long until accidental nuclear winter strikes like a crocodile?
     - 5.33 in
     - dynamics + simile
   * - alt A
     - How long until accidental nuclear winter begins --- and how suddenly?
     - 5.81 in
     - names both phases
   * - alt B
     - How long until accidental nuclear winter begins, in a world with no memory
     - 6.20 in
     - names the mechanism
   * - alt C
     - How long until accidental nuclear winter begins --- when, not whether
     - 5.76 in
     - the paper's headline

The recommended one-word change also makes the two titles **rhyme** --- expert
"...winter strikes?" against public "...roulette strikes?" --- so the pair reads as one
figure in two voices, with the crocodile living only in the public title and (quietly,
at 8.6 pt) in the shared model line. It carries the dynamics into the title exactly as
LLoL asked, at zero cost with a sceptical reader, and the caption's crocodile paragraph
then explains **why** "strikes" is the right verb, which is the structure LLoL described.

**Not implemented --- awaiting LLoL's word**, because it is LLoL's voice and LLoL's
call, and because bumping the VVN twice would scatter another eight superseded files
beside the six r4p1 ones already standing.


Release state after Prompt 2
============================================================================

.. warning:: **Code and disk are deliberately out of step, for one exchange.**

   The 99 % change is **in the script** but the figures under
   ``source/_file/pdf/hell/mm/b/16/fig/`` are still the **v1r5p0** ones with the 100 %
   rule. Nothing was written there and no VVN was bumped, so nothing on disk is
   mislabelled. Previews were rendered to the session scratchpad with the side stamp
   overwritten as ``PREVIEW -- NOT RELEASED`` so they cannot be mistaken for a release.

   The moment the title is settled, **one** bump covers both changes --- proposed
   ``iv_LLoL_MMv1r6p0_2026m09d10`` (r, not p: what the figures draw has changed) ---
   followed by one rebuild of all four builds and the section PDF.


Summary of Prompt 2
============================================================================

1. **"Ambush predators" needs no hyphen.** Standard unhyphenated compound noun; a
   hyphen only if it modified a further noun.
2. **Both figures are now 99 %.** LLoL was right; the 100 % rule and its label are
   withdrawn. Five reasons recorded above, the first being that a rule which moves
   between two builds is the worst thing to put in a comparison the reader is asked to
   make. This also removes the one unrequested addition of v1r5p0 and shrinks the A/B
   test from three confounded differences to two.
3. **On the professional title: the dynamics belong there, the simile does not.**
   Recommended: ``How long until accidental nuclear winter strikes?`` --- one word,
   4.03 in, checkable, rhymes with the public title. The supporting fact is that the
   strike phase is 273 : 1 shorter than the wait and therefore invisible on this axis,
   so "strikes" repairs a real omission rather than decorating one.
4. **Held for one exchange:** no VVN bump, no rebuild, so both changes ship under a
   single version.

Jonah License, CC-BY 4.0. Balospe.com --- #AuditTheMath.
Offered not to be believed, but to be checked.


****************************************************************************
Prompt 3
****************************************************************************

.. container:: verbatim-prompt

   ::

      I think you can safely remove the "public-full" variant of the  figure (i.e. with the table of first and last simulation results ut back in). It looks clunky and doesn't offer THAT much more info than the "public" figure. Would you agree? - If so, drop the "-full" and bumb to v1r6p0 and build (and open) all latest figures for inspection and printing. --- Anything left to do for these figures? (Please clear out all older ones, so they don't get committed).


Response 3a --- agreed, and for a stronger reason than clunkiness
============================================================================

**Agreed.** But "clunky" is the second reason, not the first, and the first one matters
because it is the one that decides whether removing the build is honest.

**The first reason: the build could not have settled the question anyway.** Three
defects were already on the record from Prompt 1, and together they make it a
non-instrument rather than an instrument:

1. **n = 1.** One lay reader's reaction is compatible with the drops helping, hurting,
   or doing nothing.
2. **An unfixable size confound.** ``-public`` was 6.32 in tall and ``-public-full``
   7.41 in. Shown at the same page width, the full build's plot is about 15 % smaller,
   so part of any reaction is to size rather than to furniture.
3. **Two things moved together** --- percentile markers/numerals and the run table ---
   so no outcome could say which mattered.

Removing an instrument that cannot discriminate is not the same as removing an
instrument. **The second reason is LLoL's, and it is sound:** a centred two-column
legend takes the full width, which forces the table into a strip of its own, which is
what made the figure a fifth taller than its partner --- the clunkiness and the confound
have the same cause.

**What is given up, said plainly:** the clean factorial cell. ``-public-full`` was the
only build that held the *voice* constant and varied the *furniture*. What remains is
the coarser pair ``-fig`` (expert voice + full furniture) against ``-fig-public``
(public voice + none), which varies both at once. That pair costs nothing extra and
already exists.

**A cheaper test, if the question is ever worth settling:** show one lay reader the
``-public`` build alone and ask an open question --- *is anything missing, is anything
in the way?* --- rather than forcing a choice between two figures. At n = 1 an open
question is more informative than a forced A/B, and it needs no second build.


Response 3b --- what was done
============================================================================

**The variant is gone, and so is the machinery it needed.** ``build_loglin`` is back to
one switch: ``public`` picks the voice and everything that follows from it. The ``full``
parameter, the ``stacked_table`` branch and the four ``_TABLE_*`` strip constants are
removed rather than left standing as dead generality --- an unused parameter is an
invitation to over-Complicate. ``_draw_run_table()`` stays: it has one caller again, but
it is better than the inline block it replaced.

**The retirement is recorded where the next reader will meet it,** in the script's own
``WHAT IT WRITES`` header: what the fourth build was, that it was retired on 2026m09d10,
why (the layout forced the confound), and --- in capitals --- that **what is left behind
is a guess and should keep being called one.**

**The page says the same thing in its own voice.** The figure caption changed from
"four versions" to three, and the sentence that used to justify the fourth build now
states the guess instead:

   *"...a* ``-public`` *one for a general audience that drops the percentile markers and
   numerals and the forty-run table.* **That a lay reader is better served without them
   is a stated guess, not a tested finding** *--- said here rather than left implied, so
   that anyone who thinks it wrong knows there is nothing to overturn but an
   assumption."*

**Version and build.** ``VVN`` → ``iv_LLoL_MMv1r6p0_2026m09d10`` (r, not p: what the
figures draw has changed --- the 99 % rule now stands on every build and the fourth
build is gone). Three builds emitted as ``.pdf`` + ``.webp``; the page's ``.. figure::``
wildcard repointed; section PDF rebuilt and all four PDFs opened.

**Older figures cleared.** Fourteen files removed from the tree:

.. list-table::
   :header-rows: 1
   :widths: 14 12 74

   * - version
     - files
     - state and what git will show
   * - r4p1
     - 6
     - **tracked**, committed at ``b5f2a39``. Removed from the working tree; git shows
       six ``D`` entries. Fully recoverable from history, so no backup was made.
   * - r5p0
     - 8
     - **never committed**. Removed outright, and copied first to the session
       scratchpad (``superseded-figs/``) because they exist nowhere else. The scratchpad
       is deletable --- say so if they are wanted somewhere durable.

They were **not** moved to an ``HH/`` HistoryHeap, contrary to the usual File Safety
route, for a checked reason: ``HH`` is not in ``.gitignore`` (``git check-ignore HH``
returns nothing), so an ``HH/`` inside ``source/`` would still be committable and would
not have met the instruction "so they don't get committed".

.. warning:: **Commit the deletions together with the two edited files.**

   At ``HEAD`` the page still points at the r4p1 figure. The six deletions and the
   changes to ``b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst`` and
   ``riskymad-forecast-of-nuclear-death-probability-x3.py`` are one consistent change
   set. Committing the deletions on their own would leave the page pointing at a figure
   that is no longer there.

**Checks after the change:** 52 of 52 HELD, 0 BREACH; ``rstcheck`` clean on the page;
``check-paths`` clean; all three PDFs CID TrueType only, no Type 3; the collision sweep
over all three builds shows only the three known false-positive classes and no new ones;
no stale ``r4p1`` or ``r5p0`` reference survives anywhere in ``source/`` except the two
deliberate retirement notes in the script and this append-only llog.


Response 3c --- what is left to do for these figures
============================================================================

.. list-table::
   :header-rows: 1
   :widths: 6 40 54

   * - #
     - item
     - state
   * - 1
     - **The professional title.** Response 2c recommended
       ``How long until accidental nuclear winter strikes?``
     - **Still open** --- LLoL has not ruled. Built at r6p0 with the existing dry title.
       A one-word change plus one bump whenever wanted.
   * - 2
     - **The side stamp crosses the 50 % rule.** The comment at line 468 claims
       "0.92 keeps the tops clear of the 50 % rule rather than touching it"
     - **Measured, and the comment is wrong.** The three stamp lines reach 50.1 %,
       50.6 % and 50.8 %. Factors tried: 0.90 clears by 0.2 pp, **0.88 clears by
       1.4 pp**, 0.86 by 2.0 pp. Two-character fix; not applied.
   * - 3
     - **"the validated categorical palette"**, line 304
     - Language Rule 4 forbids "validated"; "checked" would do. Pre-existing, flagged
       at r5p0, still standing. Not changed --- it is a wording call.
   * - 4
     - **The public caption block is narrower than its column** (five even ~107-char
       lines against a 126-char column)
     - The wrap optimiser working as designed --- it prefers a full last line over a
       full column. Cosmetic; LLoL's call.
   * - 5
     - **``-fig`` and ``-fig-public`` are hand-pickup assets**
     - Nothing on the site links to them; only ``-fig-plain`` is referenced. Recorded so
       a future path sweep does not read them as orphans to be cleaned away.

Two adjacent items, outside the figures but found while doing them: ``AHA/vvn-composition.md``
still names ``ClaOp47Max`` as the current default assessor while recent llogs correctly
use ``ClaOp50Max``; and ``source/matheology/hell/ll/study/index.rst`` still reads
*"(No study-specific llogs yet. Paper a2 will produce the first one.)"* while about
twenty study llogs stand in that directory, this one included.


EDEN analysis --- Prompt 3
============================================================================

**Knife Edge #2 --- dropping a test without dropping the honesty.** There is exactly
one way this decision stays in ZION, and it is narrow: **the guess must keep being
called a guess in the shipped artifact.** Remove the build *and* keep the label, and
nothing has been lost but a non-instrument. Remove the build *and* let the label go ---
which is the easy, invisible next step, because "That a lay reader is better served
without them is a stated guess, not a tested finding" reads like verbiage to anyone
later tightening the caption --- and the drop-the-furniture choice silently becomes a
finding nobody ever established. That is precisely the *form looks right, substance has
drifted* pattern, and it would be invisible, because the figure would look exactly the
same.

It holds today because the label is written in **two** places that a single edit cannot
both remove: the page's figure caption, and the script's own header in capitals. Anyone
deleting one meets the other.

**Green Meadow #2 --- cheap ways to test the guess later. count = 3; all three given.**
The question is not closed by removing the build:

* Show one lay reader ``-public`` alone and ask an open question (recommended above).
* Print ``-fig`` and ``-fig-public`` side by side --- coarser, varies voice and
  furniture together, but free and already built.
* Rebuild ``-public-full`` from git if a proper comparison is ever wanted, with the size
  confound fixed by matching plot heights rather than page widths.

**No BABL Danger flag is raised for Prompt 3.** The metaphor-saturation flag from
Prompt 1 still stands unchanged --- 4 predator references on the expert build, 5 on the
public one --- and the open title question in Response 3c is the next place it will
either grow or stop.


Summary of Prompt 3
============================================================================

1. **Agreed, and ``-public-full`` is gone**, together with the ``full`` switch, the
   stacked-table branch and four now-dead layout constants. The stronger reason is that
   the build could not have discriminated (n = 1, a 15 % size confound, two variables
   moving at once), not that it looked clunky --- though the clunkiness and the confound
   had the same cause.
2. **What is given up is the clean factorial cell**; what remains is the coarser
   ``-fig`` vs ``-fig-public`` pair, free and already built. A cheaper real test is
   offered: one lay reader, ``-public`` alone, an open question rather than a forced
   choice.
3. **The guess is now labelled a guess in two places** --- the page caption and the
   script header --- because removing the test must not promote the assumption. This is
   Knife Edge #2 and the narrowest thing to protect in later edits.
4. **v1r6p0 built, inspected and opened**: three figures plus the section PDF. 52 of 52
   HELD; rstcheck, check-paths clean; no collisions; CID TrueType only.
5. **Fourteen superseded figure files cleared** --- 6 tracked r4p1 (recoverable from
   ``b5f2a39``), 8 untracked r5p0 (copied to the session scratchpad first). Not routed
   through ``HH/`` because ``HH`` is not gitignored and so would not have met the
   instruction. **Commit the six deletions together with the two edited files** --- at
   HEAD the page still points at the r4p1 figure.
6. **Five open items for these figures**, listed in Response 3c; the first is the
   professional title, still unanswered.

Jonah License, CC-BY 4.0. Balospe.com --- #AuditTheMath.
Offered not to be believed, but to be checked.


****************************************************************************
Prompt 4
****************************************************************************

.. container:: verbatim-prompt

   ::

      1. change the title. 2. Clean up the stay below the 50% rule, make sure the 500 year line stays free.  3. do "checked. 4. OK. (on the expert variant, there is a "The" that starts a new sentence at the very end of one of the last lines, which would look better if moved to the next. 5. OK. -- Does that conclude all work on this figure for today, so I can print the latest? (bumb Version to v1r6p1)


Response 4 --- all five, at v1r6p1
============================================================================

1 --- the expert title now carries the dynamics
----------------------------------------------------------------------------

``TITLE`` is now **"How long until accidental nuclear winter strikes?"** (4.03 in against
the 6.734 in column, up from 3.92 in). One word. The reasoning is written into the code
beside it so it is not lost: the figure **cannot draw the strike**, and a reader taking
the curves at face value can therefore come away believing the whole process is slow.
Once a crisis begins the mean time to the end is
:math:`1/(r_{M \rightarrow R} + r_{M \rightarrow D})` = 40.6 days against a mean wait of
30.33 yr --- **273 : 1**, which is 2.2 % of the linear block and invisible on the
logarithmic one. The word restores the two-phase structure the axis leaves out.

Both titles now end on the same verb --- expert *"...winter strikes?"*, public
*"...roulette strikes?"* --- so the pair reads as one figure in two voices, and the
metaphor stays in the public title and (at 8.6 pt, at the foot) in the shared model
line. **The predator count is unchanged: 4 references on the expert build, 5 on the
public one.** The title carried the dynamics in without carrying the metaphor in.

Two earlier expert titles are kept in the code as comments: the dry
*"How long until accidental nuclear winter begins"* (3.92 in), live until now; and the
metaphor-carrying *"How long until accidental nuclear winter strikes like a crocodile?"*
(5.33 in), considered and not adopted, with the reason recorded --- it would have put
the figure's one uncheckable claim into its largest type.

2 --- the side stamp: under the 50 % rule and off the 500-year line
----------------------------------------------------------------------------

Both ends were wrong, and both are now measured rather than asserted.

.. list-table::
   :header-rows: 1
   :widths: 30 35 35

   * -
     - v1r6p0
     - v1r6p1
   * - stamp tops
     - 50.1 / 50.6 / **50.8 %** --- *crossing* the 50 % rule
     - 47.6 / 47.8 / **48.2 %** --- clear by **1.8 pp**
   * - gap to the 500-yr spine
     - **1.6 px** (0.4 mm) --- reads as sitting on the line
     - **6.5 px** (1.65 mm)
   * - bottom vs the ``500`` tick
     - 4.2 px above the axis; label 9.0 px below it
     - unchanged --- no vertical overlap either way

Two constants moved: the scale factor 0.92 → **0.88** (0.90 clears by only 0.2 pp, 0.86
by 2.0 pp; 0.88 taken), and the x offset −3.0 pt → **−6.5 pt**.

**The comment that stood there was wrong and is now corrected.** It claimed *"0.92 keeps
the tops clear of the 50 % rule rather than touching it"* while the render had them
crossing it. That is the failure mode this file keeps producing --- a measured-sounding
claim in a comment that nobody re-measured --- and it is the third instance found in two
days, after the model line that overflowed its column and the table strip that carried
5 mm of stray air. The new comment records the measurements at all three factors so the
next reader can check rather than trust.

3 --- Language Rule 4
----------------------------------------------------------------------------

Line 304, *"the* **validated** *categorical palette"* → *"the* **checked** *categorical
palette"*. The script now contains **zero** occurrences of validate / verify /
correctness in any form.

4 --- the orphaned "The"
----------------------------------------------------------------------------

Fixed, and it needed a different tool than expected. **No wrap width in the search
range 100--126 avoids that break** --- checked exhaustively: four widths give the
minimum seven lines, and every one of them ends a line on a word that opens a sentence.
So the fix cannot live in the algorithm; it has to live in the text.

The device is a **no-break space** (`` ``) between ``The`` and ``Pessimistic``.
Checked first that ``textwrap`` respects it --- it does; the pair is treated as one
15-character token --- and the line now ends cleanly at *"...world history/scenario."*
with *"The Pessimistic to Optimistic..."* starting the next. Still seven lines, and the
device is documented in a comment beside it as reusable anywhere else a break lands
badly.

**Two more of the same species are left standing, and were not asked about:**

* line 3 ends *"...drawn at 3"*, splitting the numeral from *"credible readings"* on
  line 4;
* line 6 ends *"...certain self-"* with *"destruction."* opening line 7, splitting the
  paper's own key term.

Each is the same one-character fix (``at 3``, or ``break_on_hyphens=False`` for the
second). Reported rather than applied.

5 --- hand-pickup assets
----------------------------------------------------------------------------

Acknowledged, no change. ``-fig`` and ``-fig-public`` are referenced by nothing on the
site; only ``-fig-plain`` is. Recorded so a future path sweep does not read them as
orphans to clean away.


Release state at v1r6p1
============================================================================

``VVN`` → ``iv_LLoL_MMv1r6p1_2026m09d10`` (p: four wording and placement fixes, nothing
added or removed). Three builds emitted, all three rendered and looked at, page
reference repointed, section PDF rebuilt --- page 41 carries the new title --- and all
four PDFs opened.

.. list-table:: Checks
   :header-rows: 1
   :widths: 40 60

   * - check
     - result
   * - ``reproduce_tables.py``
     - **52 of 52 HELD; 0 BREACH**
   * - ``rstcheck`` (page + this llog)
     - Success! No issues detected
   * - ``check-paths``
     - clean
   * - embedded fonts, all three PDFs
     - CID TrueType only, no Type 3
   * - collision sweep, all three builds
     - only the three known false-positive classes; no new ones
   * - banned words in the script
     - zero
   * - stamp clearances
     - 1.8 pp under the 50 % rule; 1.65 mm off the 500-year spine

The six superseded **r6p0** files were removed as they were written (untracked, never
committed). The working tree now holds exactly the six r6p1 files.

.. warning:: **Still true, and still the one thing that can break the page:** the six
   ``D`` entries for the r4p1 figures must be committed **together with**
   ``b16-extra-waiting-time-derivation_mmv1_2026m09d07.rst`` and
   ``riskymad-forecast-of-nuclear-death-probability-x3.py``. At ``HEAD`` the page still
   points at the r4p1 figure.


EDEN analysis --- Prompt 4
============================================================================

**Green Meadow #3 --- the expert title. count = 6 measured; 3 named above.** Titles that
carry the dynamics without carrying the simile are plentiful, and the constraint pair
does not bind: the adopted one-word change, *"...begins --- and how suddenly?"* (5.81 in),
*"...begins, in a world with no memory"* (6.20 in), and *"...begins --- when, not whether"*
(5.76 in) all qualify. It holds because each states something a reader can check against
the model's own rates, and none puts an image where the figure's subject belongs.

**Knife Edge #3 --- the comment that measured nothing.** The 0.92 comment is the third
case in two days of a claim in this file that *sounded* measured and was not, and it is
the most instructive because the words were exactly right ("keeps the tops clear ...
rather than touching it") while the render disagreed. There is one way to stay in ZION
here and it is narrow: **every placement claim in this file must carry the number it was
measured at.** A comment saying "0.88 clears it" is checkable in thirty seconds; a
comment saying "0.88 keeps it clear" is a claim that will quietly rot the next time a
font, a figure height or a string length changes. The three fixed today were all found
by measuring, none by reading.

**No BABL Danger flag is raised for Prompt 4.** The metaphor-saturation flag from
Prompt 1 stands unchanged and is not made worse by this round: the expert title gained
the dynamics without gaining a crocodile, and the counts are the same as they were.


Summary of Prompt 4 --- and does this conclude the figure work?
============================================================================

**All five items done at v1r6p1**, built, inspected and opened:

1. Expert title → **"How long until accidental nuclear winter strikes?"** One word;
   restores the 273 : 1 two-phase structure the axis cannot draw; adds no metaphor.
2. Side stamp **1.8 pp clear under the 50 % rule** (was crossing it) and **1.65 mm off
   the 500-year spine** (was 0.4 mm). The comment that claimed otherwise is corrected
   and now carries its measurements.
3. "validated" → "checked". Zero banned words remain in the script.
4. The orphaned **"The"** is fixed with a no-break space --- the only tool that works,
   since no wrap width avoids the break.
5. Hand-pickup assets acknowledged; no change.

**Yes --- this concludes the figure work for today. It is ready to print.** 52 of 52
HELD, rstcheck and check-paths clean, no collisions, CID TrueType only, and the tree
holds exactly the six current files.

**Three things are open but none of them blocks printing:**

* two more bad line breaks in the expert caption (*"drawn at 3"*, *"self-/destruction"*),
  same one-character fix as the "The", reported in Response 4 above and not applied;
* the standing metaphor-saturation observation from Prompt 1 --- a judgment to keep in
  view, not a task;
* two items outside the figures: ``AHA/vvn-composition.md`` still names ``ClaOp47Max``
  as the current assessor, and ``source/matheology/hell/ll/study/index.rst`` still says
  no study llogs exist while about twenty do.

**And one thing that does need care before committing:** the six r4p1 deletions belong
in the same commit as the two edited files.

Jonah License, CC-BY 4.0. Balospe.com --- #AuditTheMath.
Offered not to be believed, but to be checked.
