:orphan:

.. _hell-ll-infra-b45-path-case-sweep-manifest:

===========================================================================================================
TELES Sweep Manifest --- path-case migration of 2026m08d03 (Double Caps in prose, lowercase in paths)
===========================================================================================================

| **Date:** 2026m08d03_15h42
| **Effort:** Max (from file ``.claude/effort-level``)
| **Mode:** EDEN (from file ``.claude/mode``)
| **Model:** Claude Opus 5 --- proposed VVN nick ``ClaOp5Max`` (PENDING LLoL confirmation)
| **Kind:** TELES **path-segment migration** under the PROBATIONARY clause added to
  :ref:`teles-renaming-policy` on 2026m08d03.
| **Companion:** :ref:`hell-ll-infra-b45-path-case-drift-link-integrity-llog` --- diagnosis,
  independent check of the prior agent's brief, EDEN analysis, and the plan this executes.

.. warning::

   **This file exists INSTEAD OF per-file migration reports.**

   The TELES renaming policy (Execution step 3) normally requires a migration report
   appended to *every* modified file. For this sweep that would have meant ~90 admonition
   boxes announcing "a directory above this file was renamed" --- burying the content they
   annotate while telling the reader nothing useful. LLoL approved a probationary
   relaxation: **one sweep llog carrying a complete manifest replaces the per-file reports.**

   Transparency (:math:`h^* = h_0`) is relocated, not weakened --- the record below is
   complete, and every substitution is counted. The clause is **probationary and may be
   revoked**; there is virtually no experience with sweeps of this kind in this project.
   See :ref:`teles-renaming-policy`, Amendment 2026m08d03.


The rule this sweep enforces
=============================

**POST codes are Double Caps in PROSE, lowercase in PATHS.**

This was not a new rule. It was already in force across the overwhelming majority of the
site --- ``ff``, ``mm``, ``ll``, ``vv``, ``ww``, ``aa``, ``aaa``, ``dd``, ``ee``, ``gg``,
``si``, ``hell``, ``heaven``, ``zion``, ``babl``, ``post``, ``teles``, ``stayvs``,
``stayc``, ``joli``, ``jub``, ``pet``, ``aha``, ``llog``, ``llol`` are all lowercase URL
segments today, while the prose forms stay capitalised. Even ``HELL`` and ``HEAVEN``, the
most identity-laden codes in the system, publish at ``/en/matheology/hell/`` and
``/en/matheology/heaven/``. Stability codes in filenames were already **185 lowercase**
(``_oov2``, ``_mmv3``) against **3** uppercase.

Seven directories had drifted from that rule. This sweep aligned them.

Prose was NOT touched. After the sweep, 1466 occurrences of ``OOv2``, 1261 of ``OOv1`` and
577 of ``OOv2r0p0`` remain capitalised in running text --- exactly as intended. A
path-segment migration that cannot demonstrate that separation has not met condition 1 of
the probationary clause.


Two distinct faults, one sweep
================================

**Fault 1 --- git-index-vs-disk case drift (2 directories).** ``source/ff`` and
``source/license/joli`` were already lowercase *on disk*, but git's index still held
``source/FF`` and ``source/license/JoLi``. macOS is case-INsensitive, so every local build
resolved fine; the case-SENSITIVE deploy server checked out the GIT spelling and published
``/en/FF/`` and ``/en/license/JoLi/`` while **563** ``:doc:`` references across the site
pointed at the lowercase paths and silently died. Fixed by correcting the index only ---
nothing moved on disk::

   git rm -r --cached source/license/JoLi && git add source/license/joli
   git rm -r --cached source/FF          && git add source/ff

**Fault 2 --- deliberate capitalisation that had drifted from the convention (5
directories).** ``_POST``, ``_POST/DD``, ``_POST/AnyAims``, ``good-news-pack/AA`` and
``hell/mm/b/14/OOv1|OOv2|OOv3`` agreed between git and disk but disagreed with the site
rule. ``AnyAims`` became ``aa`` because ``AA`` is the documented shortform (CLAUDE.md
writes "AnyAims (AA)") and ``hell/aa`` / ``compiler/post/aa`` were the existing precedent.
Fixed with the two-step rename that a case-insensitive filesystem requires::

   git mv <PATH> <path>.casetmp && git mv <path>.casetmp <path>


StayVS --- published URLs redirected, not revoked
==================================================

12 rules added to ``_redirects`` (9 splat, 3 exact). Only ``/en/`` rules were needed:
``LANGUAGES = en`` in the Makefile (translations currently disabled), and ``/de/FF/`` /
``/es/license/JoLi/`` were confirmed 404 before this change, so no non-English capitalised
URL was ever published.

.. note::

   This is the **first use of splat (``:splat``) syntax** in ``_redirects``. It must be
   tested after the first deploy. If splats do not behave as expected, fall back to
   enumerating the affected URLs explicitly.


Machine check
==============

``make check-paths`` (new; ``scripts/check-paths.py``, ~1 s) exits **clean** --- 0 failing
findings outside HELL for all three checks. This satisfies condition 4 of the probationary
clause. The guard caught two regressions introduced by this very sweep
(``source/_post/index.rst`` still holding relative ``:doc:`AnyAims/index``` and
``:doc:`DD/index```), which is the clearest available evidence that it works.


Manifest part 1 --- directory renames (43 files, 0 content change)
====================================================================

::

   source/_POST/.gitkeep
     -> source/_post/.gitkeep
   source/_POST/AnyAims/.gitkeep
     -> source/_post/aa/.gitkeep
   source/_POST/AnyAims/aa-llog-done.rst
     -> source/_post/aa/aa-llog-done.rst
   source/_POST/AnyAims/b/11/b11-evolvix-integration-into-paper-sequence.rst
     -> source/_post/aa/b/11/b11-evolvix-integration-into-paper-sequence.rst
   source/_POST/AnyAims/b/12/b12-central-intro-page-for-balospe-framework.rst
     -> source/_post/aa/b/12/b12-central-intro-page-for-balospe-framework.rst
   source/_POST/AnyAims/b/13/b13-adversarial-review-evolvix-bridge.rst
     -> source/_post/aa/b/13/b13-adversarial-review-evolvix-bridge.rst
   source/_POST/AnyAims/b/14/b14-adversarial-review-zenodo-mirror.rst
     -> source/_post/aa/b/14/b14-adversarial-review-zenodo-mirror.rst
   source/_POST/AnyAims/b/15/b15-vvn-marker-mistake-prevention.rst
     -> source/_post/aa/b/15/b15-vvn-marker-mistake-prevention.rst
   source/_POST/AnyAims/b/16/b16-sgir-paper-finalization-tasks.rst
     -> source/_post/aa/b/16/b16-sgir-paper-finalization-tasks.rst
   source/_POST/AnyAims/b/17/b17-b16-riskymad-revision-tasks.rst
     -> source/_post/aa/b/17/b17-b16-riskymad-revision-tasks.rst
   source/_POST/AnyAims/index.rst
     -> source/_post/aa/index.rst
   source/_POST/DD/b/11/b11-trifecta-italics-no-commas.rst
     -> source/_post/dd/b/11/b11-trifecta-italics-no-commas.rst
   source/_POST/DD/b/12/b12-ladder-pedagogy-for-acronyms.rst
     -> source/_post/dd/b/12/b12-ladder-pedagogy-for-acronyms.rst
   source/_POST/DD/b/13/b13-trifecta-registry.rst
     -> source/_post/dd/b/13/b13-trifecta-registry.rst
   source/_POST/DD/b/14/b14-tetrad-registry.rst
     -> source/_post/dd/b/14/b14-tetrad-registry.rst
   source/_POST/DD/b/25/b25-fused-pattern-overview.rst
     -> source/_post/dd/b/25/b25-fused-pattern-overview.rst
   source/_POST/DD/index.rst
     -> source/_post/dd/index.rst
   source/_POST/index.rst
     -> source/_post/index.rst
   source/FF/archive/index.rst
     -> source/ff/archive/index.rst
   source/FF/contact/index.rst
     -> source/ff/contact/index.rst
   source/FF/index.rst
     -> source/ff/index.rst
   source/FF/philosophy/index.rst
     -> source/ff/philosophy/index.rst
   source/FF/system/index.rst
     -> source/ff/system/index.rst
   source/good-news-pack/AA/index.rst
     -> source/good-news-pack/aa/index.rst
   source/license/JoLi/index.rst
     -> source/license/joli/index.rst
   source/matheology/hell/mm/b/14/OOv1/capitalism-communism.rst
     -> source/matheology/hell/mm/b/14/oov1/capitalism-communism.rst
   source/matheology/hell/mm/b/14/OOv1/theodicy.rst
     -> source/matheology/hell/mm/b/14/oov1/theodicy.rst
   source/matheology/hell/mm/b/14/OOv2/axioms.rst
     -> source/matheology/hell/mm/b/14/oov2/axioms.rst
   source/matheology/hell/mm/b/14/OOv2/overview.rst
     -> source/matheology/hell/mm/b/14/oov2/overview.rst
   source/matheology/hell/mm/b/14/OOv2/quest.rst
     -> source/matheology/hell/mm/b/14/oov2/quest.rst
   source/matheology/hell/mm/b/14/OOv2/symbols.rst
     -> source/matheology/hell/mm/b/14/oov2/symbols.rst
   source/matheology/hell/mm/b/14/OOv2/theorems.rst
     -> source/matheology/hell/mm/b/14/oov2/theorems.rst
   source/matheology/hell/mm/b/14/OOv3/axioms.rst
     -> source/matheology/hell/mm/b/14/oov3/axioms.rst
   source/matheology/hell/mm/b/14/OOv3/overview.rst
     -> source/matheology/hell/mm/b/14/oov3/overview.rst
   source/matheology/hell/mm/b/14/OOv3/quest.rst
     -> source/matheology/hell/mm/b/14/oov3/quest.rst
   source/matheology/hell/mm/b/14/OOv3/symbols.rst
     -> source/matheology/hell/mm/b/14/oov3/symbols.rst
   source/matheology/hell/mm/b/14/OOv3/theorems.rst
     -> source/matheology/hell/mm/b/14/oov3/theorems.rst


Manifest part 2 --- reference rewrites (51 files, 200 substitutions)
=====================================================================

Substitutions applied, in order (compound patterns first so they are not shadowed):

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

   * - From
     - To
     - Count
   * - ``_POST/DD``
     - ``_post/dd``
     - 58
   * - ``_POST/AnyAims``
     - ``_post/aa``
     - 46
   * - ``b/14/OOv1``
     - ``b/14/oov1``
     - 44
   * - ``_POST``
     - ``_post``
     - 26
   * - ``b/14/OOv3``
     - ``b/14/oov3``
     - 15
   * - ``b/14/OOv2``
     - ``b/14/oov2``
     - 9
   * - ``good-news-pack/AA``
     - ``good-news-pack/aa``
     - 2

Per-file counts (file paths shown in their POST-sweep form):

   ============================================================================================================ ===== =======================================
   File                                                                                                         Subs  Patterns                               
   ============================================================================================================ ===== =======================================
   AHA/POST.md                                                                                                  4     _POST×4                                
   source/_post/aa/aa-llog-done.rst                                                                             10    _POST/AnyAims×9, _POST×1               
   source/_post/aa/b/11/b11-evolvix-integration-into-paper-sequence.rst                                         10    _POST/AnyAims×9, _POST×1               
   source/_post/aa/b/12/b12-central-intro-page-for-balospe-framework.rst                                        7     _POST/DD×6, _POST/AnyAims×1            
   source/_post/aa/b/13/b13-adversarial-review-evolvix-bridge.rst                                               8     _POST/DD×6, _POST/AnyAims×2            
   source/_post/aa/b/14/b14-adversarial-review-zenodo-mirror.rst                                                5     _POST/DD×3, _POST/AnyAims×2            
   source/_post/aa/b/15/b15-vvn-marker-mistake-prevention.rst                                                   4     _POST/DD×2, _POST/AnyAims×2            
   source/_post/aa/b/16/b16-sgir-paper-finalization-tasks.rst                                                   2     _POST/AnyAims×2                        
   source/_post/aa/b/17/b17-b16-riskymad-revision-tasks.rst                                                     1     _POST/AnyAims×1                        
   source/_post/aa/index.rst                                                                                    2     _POST/DD×1, _POST/AnyAims×1            
   source/_post/dd/b/11/b11-trifecta-italics-no-commas.rst                                                      2     _POST/AnyAims×1, _POST×1               
   source/_post/dd/b/12/b12-ladder-pedagogy-for-acronyms.rst                                                    4     _POST/DD×3, _POST/AnyAims×1            
   source/_post/dd/b/13/b13-trifecta-registry.rst                                                               8     _POST/DD×8                             
   source/_post/dd/b/14/b14-tetrad-registry.rst                                                                 12    _POST/DD×12                            
   source/_post/dd/b/25/b25-fused-pattern-overview.rst                                                          6     _POST/DD×5, _POST/AnyAims×1            
   source/_post/dd/index.rst                                                                                    2     _POST/DD×2                             
   source/_templates/extra-footer.html                                                                          1     _POST×1                                
   source/_templates/site-footer-links.html                                                                     1     _POST×1                                
   source/choice/war-of-algorithms/index.rst                                                                    2     _POST/DD×2                             
   source/good-news-pack/vv/mmv3/index.rst                                                                      1     good-news-pack/AA×1                    
   source/matheology/axioms/axioms-vsec.rst                                                                     2     b/14/OOv1×2                            
   source/matheology/hell/ll/infra/b/13/b13-evolvix-zenodo-and-post-infrastructure-llog.rst                     25    _POST/DD×8, _POST/AnyAims×8, _POST×9   
   source/matheology/hell/ll/infra/b/14/b14-wwv-sgir-bibtex-migration-llog.rst                                  4     _POST/AnyAims×4                        
   source/matheology/hell/ll/infra/b/31/b31-promotion-prompt-set-and-disclosure-deferral_2026m05d28_12h39.rst   1     _POST×1                                
   source/matheology/hell/ll/infra/b/35/b35-newcomer-streamlining-landing-intro-llog_2026m06d01_08h06.rst       1     good-news-pack/AA×1                    
   source/matheology/hell/ll/infra/index.rst                                                                    2     _POST×2                                
   source/matheology/hell/ll/jub/b/11/jub_ll_2026m03d16_theodicy-details-final-memory.rst                       5     _POST/AnyAims×1, _POST×4               
   source/matheology/hell/ll/jub/b/32/jub_ll_2026m03d21_restructuring-phase1-consolidate.rst                    2     b/14/OOv1×2                            
   source/matheology/hell/ll/jub/index.rst                                                                      5     b/14/OOv1×2, b/14/OOv3×3               
   source/matheology/hell/ll/other/b/14/fix-duplicate-labels.py                                                 6     b/14/OOv2×3, b/14/OOv3×3               
   source/matheology/hell/ll/other/b/14/fix-vv-links.py                                                         3     b/14/OOv1×3                            
   source/matheology/hell/ll/other/b/14/migration-report-v2.txt                                                 2     b/14/OOv1×2                            
   source/matheology/hell/ll/other/b/14/other_ll_2026m04d03_vv-to-hell-migration-prompt.rst                     4     b/14/OOv1×3, b/14/OOv2×1               
   source/matheology/hell/ll/other/b/14/other_ll_2026m04d04_vv-to-hell-migration-execution-llog.rst             10    b/14/OOv1×3, b/14/OOv2×3, b/14/OOv3×4  
   source/matheology/hell/ll/other/b/14/ready-to-paste-prompts.rst                                              2     b/14/OOv1×1, b/14/OOv3×1               
   source/matheology/hell/ll/other/b/14/vv-migration-map.html                                                   5     b/14/OOv1×4, b/14/OOv3×1               
   source/matheology/hell/ll/other/b/14/vv_to_hell_migrate.py                                                   4     b/14/OOv1×3, b/14/OOv2×1               
   source/matheology/hell/ll/other/b/14/vv_to_hell_migrate_v2.py                                                3     b/14/OOv1×3                            
   source/matheology/hell/ll/other/b/15/other_ll_2026m04d03_teles-b15-execution-llog.rst                        4     b/14/OOv1×1, b/14/OOv2×1, b/14/OOv3×2  
   source/matheology/hell/ll/other/b/25/other_ll_2026m06d23_17h59_crisis-science-socialcard-options.rst         1     _POST×1                                
   source/matheology/hell/ll/study/b/14/b14-prompt-writing-v2.rst                                               1     b/14/OOv3×1                            
   source/matheology/hell/ll/study/b/17/b17-prompt-naming-transition-v1.rst                                     1     b/14/OOv1×1                            
   source/matheology/hell/mm/b/11/ppv1/axioms.rst                                                               2     b/14/OOv1×2                            
   source/matheology/hell/mm/b/14/oov1/capitalism-communism.rst                                                 1     b/14/OOv1×1                            
   source/matheology/hell/mm/b/14/oov1/theodicy.rst                                                             2     b/14/OOv1×2                            
   source/matheology/hell/mm/b/14/oov2/overview.rst                                                             1     b/14/OOv1×1                            
   source/matheology/hell/mm/b/14/oov3/overview.rst                                                             1     b/14/OOv1×1                            
   source/matheology/hell/mm/b/19/index.rst                                                                     1     _POST/AnyAims×1                        
   source/matheology/socialcards/active.rst                                                                     2     b/14/OOv1×2                            
   source/matheology/socialcards/comparison/expert.rst                                                          2     b/14/OOv1×2                            
   source/matheology/socialcards/comparison/flags.rst                                                           3     b/14/OOv1×3                            
   ============================================================================================================ ===== =======================================

   51 files, 200 substitutions



Manifest part 3 --- hand edits (not part of the mechanical sweep)
==================================================================

These required judgement and are listed separately so they are not mistaken for
mechanical substitutions:

.. list-table::
   :header-rows: 1
   :widths: 46 54

   * - File
     - Change
   * - ``source/license/index.rst``
     - ``Cycrus`` -> ``Cyrus`` ×5 (typo; the licence honours Cyrus the Great, and the
       typo sat in the same sentence as its own etymology). ``CyLi`` unchanged.
   * - ``source/sitemap/index.rst``
     - ``Cycrus`` -> ``Cyrus`` ×1
   * - ``source/_post/index.rst``
     - ``:doc:`AnyAims/index``` -> ``:doc:`aa/index```; ``:doc:`DD/index``` ->
       ``:doc:`dd/index``` (regressions from this sweep, caught by ``make check-paths``)
   * - ``source/_post/dd/b/12/b12-ladder-pedagogy-for-acronyms.rst``
     - ``:doc:`Trifecta Registry <b3-trifecta-registry>``` -> ``</_post/dd/b/13/b13-trifecta-registry>``.
       Pre-existing dead ref: **b3 does not exist**; b11--b24 are the usable range and b13 is
       the trifecta registry.
   * - ``source/_post/dd/b/13/b13-trifecta-registry.rst``
     - two sibling ``:doc:`` refs given absolute ``/_post/dd/b/NN/`` paths (pre-existing dead)
   * - ``source/good-news-pack/references/loewe-1935-kosmos-und-aion.rst``
     - dropped the invalid ``.rst`` suffix from a ``:doc:`` target (pre-existing dead)
   * - ``_redirects``
     - 12 rules added (StayVS)
   * - ``Makefile``
     - ``check-paths`` target added; chained into ``lint``; added to ``.PHONY``
   * - ``AHA/linting.md``
     - documented the guard, its three checks, its known limits, and the ``-W`` vs ``-n`` correction
   * - ``source/matheology/compiler/teles/renaming-policy.rst``
     - Amendment 2026m08d03: the PROBATIONARY path-segment clause this sweep runs under
   * - ``scripts/check-paths.py``
     - NEW --- the guard


What was deliberately NOT changed
===================================

- **Prose Double Caps.** ``FF``, ``DD``, ``AA``, ``JoLi``, ``CyLi``, ``OOv1``, ``POST``,
  ``HELL`` remain capitalised as names everywhere.
- **VVN stability codes in running text and in non-``b/14`` paths.** Patterns were scoped to
  ``b/14/OOv[123]`` precisely so that ``PPv2/OOv3``, ``vv/OOv2r1p0/`` and ``MMv3/OOv1r0``
  were left alone.
- **``source/good-news-pack/vv/mmv3/HH``.** Excluded from the build by ``conf.py:54``
  (``exclude_patterns = ["**/HH/**"]``), so it is never a URL. HistoryHeap folders keep
  their ``HH`` name per CLAUDE.md.
- **``_POST/LLog/``** references inside a 2026m03d16 HELL llog. The ``_POST`` segment was
  swept; ``LLog`` was left as written because no such directory exists --- inventing a
  lowercase target for a path that never existed would be a fabrication, not a migration.
- **The ~21 + ~36 HELL findings** reported by ``make check-paths``. These are frozen
  MockupModel archives and append-only llogs pointing at pages that have since moved. A
  link that was correct when written is arguably correct AS HISTORY; editing it would
  falsify the record. The guard reports them without failing.


Open item for LLoL
===================

``make dev`` was **not** run in this session (per the standing instruction to ask first ---
it is a ~14-minute rebuild). The sweep is checked by ``make check-paths`` and by git's own
view, but **no Sphinx build has confirmed the renamed pages compile**. That check is
outstanding and is listed in the reply to LLoL.


----


APPENDED 2026m08d03_17h10 --- corrections after the first full build
=====================================================================

Append-only correction. Nothing above is edited; this records what the earlier
sections got wrong.

The section "Machine check" above stated that ``make check-paths`` exited clean
and treated that as sufficient. **It was not sufficient.** The first
``make html`` (build succeeded, 922 warnings) exposed three regressions the
sweep had introduced and the guard had not caught:

.. list-table::
   :header-rows: 1
   :widths: 34 40 26

   * - Regression
     - Why the guard missed it
     - Fix
   * - ``source/_post/index.rst`` toctree still listing ``AnyAims/index`` and
       ``DD/index``
     - Check C parsed only ``:doc:`` roles, **not toctree entries** --- although
       an unbound toctree entry was one of the ORIGINAL bug's two symptoms
     - toctree parsing added to Check C
   * - ``source/matheology/hell/mm/b/14/index.rst``: 12 toctree entries still
       naming ``OOv1/`` .. ``OOv3/``
     - the substitution pattern was anchored on ``b/14/OOv1``, but these
       entries are relative (``OOv1/theodicy``); and the file is in HELL, so
       once toctree parsing existed the findings were reported **but not
       failing**
     - entries lowercased; ``--strict-hell`` made a mandatory post-sweep step
   * - same file, ``:doc:`OOv3/quest```
     - the repair for the row above was line-anchored to toctree entry lines
       only, so a ``:doc:`` role in running prose was missed
     - fixed by a pattern scoped to ``:doc:`` roles

Two bugs in the guard itself were also found, both by a deliberate self-test
that mis-cased a known-good entry to check the guard actually fires:

1. ``strip_literal_blocks`` treated **any** line ending in ``::`` as opening a
   verbatim block. That includes ``.. toctree::``, ``.. note::``,
   ``.. warning::``, ``.. dropdown::`` --- so those bodies were blanked and every
   reference inside them was silently skipped. A **false negative**, and worse
   than the false positive the function was written to remove. Now only genuine
   literal directives (``code-block``, ``literalinclude``, ``highlight``,
   ``code``, ``parsed-literal``) and plain ``::`` literal blocks open one.
2. The toctree resolver did not normalise ``./`` prefixes or strip ``.rst``
   suffixes, both of which Sphinx accepts --- producing 18 false positives on
   the site's own root ``index.rst``.

Current state: ``make check-paths`` clean; ``--strict-hell`` shows **0** toctree
findings repo-wide and no finding naming any path this sweep touched.

Lesson recorded in ``AHA/linting.md`` and in the probationary clause of
:ref:`teles-renaming-policy` (conditions 4 and 5, both tightened): a clean
``check-paths`` run is necessary but **not** sufficient. A bulk sweep must also
pass ``--strict-hell`` and a full ``make html``, because the HELL exemption
that protects frozen history will otherwise conceal breakage the sweep just
caused --- which is exactly what happened here.

Also noted, not caused by this sweep and left alone: ``source/faq/index.rst``
includes ``page-postfix-prelink.rst`` / ``page-postfix-postlink.rst``, which do
not exist under ``source/_templates/include-file/``. Two CRITICAL messages per
build. Present in ``HEAD`` before this session; recorded here as a separate
AnyAims item rather than fixed inside a path-case commit.
