docs(geometric-substance): canonical reconciliation + gravity-consistency gate

Single reconciled vocabulary and conceptual frame, superseding scattered
revisions; super-Cartan demoted to a gated extension module (off by default).

- GEOMETRIC_SUBSTANCE_CANONICAL.md: C^8/J Cartan substance, observer/observerless
  (typed projection Pi), Sidon inexact-mirror, vocabulary lock (by mechanism),
  mechanism->port-role map, Dolbeault-Laplacian resolution, evidence tiers.
- Gravity-consistency gate (sec 7): R_ij != 0 AND identified curvature class;
  shown to coincide with the differential "something rather than nothing" test.
  Initial recovery (provisional, RESIDUAL_TESTED): achiral -> teleparallel
  (curvature ~0), chiral -> Einstein-Cartan, Sidon separates from random at ~4sigma.
  Seven stress-tests listed before promotion.
- gate_residual_recovery.py: the computation (prototype residual, not the Lean codec).
- ARCHIVE_SUPERSEDED.md + archive_superseded.sh: read-only archival index and a
  non-destructive (git mv + banner) move script for superseded vocabulary docs.
This commit is contained in:
allaunthefox 2026-06-27 06:38:55 +00:00
parent 57cb1a9be0
commit f4cbbb9873
4 changed files with 591 additions and 0 deletions

View file

@ -0,0 +1,74 @@
# ARCHIVE — Superseded Documentation (READ ONLY)
> **READ-ONLY / HISTORICAL.** Everything indexed here is superseded by
> `GEOMETRIC_SUBSTANCE_CANONICAL.md` (2026-06). It is retained only for
> traceability — to show where a term or framing came from across earlier
> conceptual revisions. **Do not use anything below as current doctrine.**
The canonical document reconciled the forked vocabulary by mechanism. The
definitions recorded here are the *prior, conflicting* versions it replaced.
---
## A. Quarantined now — canonical owns their entire purpose
These docs exist solely to define vocabulary / name concepts that the canonical
document now defines better. They are moved to
`6-Documentation/docs/_superseded/2026-06/` by `archive_superseded.sh`,
each with a read-only banner prepended.
| Archived doc | What it asserted (now superseded) | Replaced by |
|---|---|---|
| `6-Documentation/docs/VOCABULARY_LOCK.md` | DIAT = "Dynamic Integer-Address Transform"; NUVMAP = "Non-Uniform Variable Mapping (2D spectral projection)" → `Semantics.NUVMATH`; PIST = "Perfectly Imperfect Square Theory" | Canonical §4 (the new lock), §1 |
| `0-Core-Formalism/otom/docs/nuvmap/NUVMAP_NAMING_AND_DEFINITION.md` | NUVMAP = "Non-Uniform Virtual Memory Address Projection" | Canonical §4 (NUVMAP + PhiNUVMAP entries) |
**Why these and not the Lean files:** the implementation (`.lean`) is the source
of truth and stays put. Only the *naming/lock* docs — whose grasp the canonical
reconciliation has fully absorbed — are quarantined.
---
## B. Review candidates — mixed content, your call
Each of these carries some superseded vocabulary **plus** content that may still
be live (engineering guidance, other notation, dated records). Archiving the
whole file would bury the still-good parts, so they are *not* auto-quarantined.
Recommendation per doc below; enable any of them in `archive_superseded.sh` once
confirmed, or update the stale rows in place instead.
| Candidate doc | Stale element | Recommendation |
|---|---|---|
| `0-Core-Formalism/otom/docs/wiki/NotationNomenclatureRegistry.md` | DIAT = "Dual-Interval Algebraic Transform"; NUVMAP = "spectral pixel/state container" | Broad registry — **update the two rows in place**, point them at canonical §4; do not archive wholesale |
| `6-Documentation/docs/WEIRD_CONCEPTS_GLOSSARY.md` | Defines the "weird concepts" the canonical doc reconciled and tiered | Likely superseded for the reconciled terms — **read and confirm**, then archive or update |
| `6-Documentation/docs/GLOSSARY.md`, `6-Documentation/wiki/Glossary.md`, `obsidian-vault/00-MAP/Glossary.md` | Carry old DIAT/NUVMAP/PIST entries | Glossaries with many entries — **update the affected entries**, don't archive |
| `0-Core-Formalism/otom/docs/nuvmap/NUVMAP_DESIGN_REFLECTIONS.md` | Uses superseded NUVMAP naming | Naming is stale but the *design reasoning* may be live — **read before deciding** |
| `0-Core-Formalism/otom/docs/nuvmap/NUVMAP_ENCODING_DOS_AND_DONTS.md` | Uses superseded NUVMAP naming | Engineering dos/don'ts may still hold — **keep unless content is obsolete** |
| `6-Documentation/docs/semantics/BHOCS.md`, `6-Documentation/docs/semantics/AMMR_NODE_REDEFINITION.md`, `6-Documentation/docs/semantics/RG_FLOW_DEFINITION.md` | Reference reconciled terms | Unread here — **triage individually** |
| `6-Documentation/docs/reports/adaptive_analysis_2026-05-11.md` and other dated reports | Use old vocabulary | **Leave as-is** — dated reports are point-in-time records, already historical by nature |
| `6-Documentation/wiki/Concept-Archive.md` | — | **Leave** — already an archive |
---
## C. Method
- **Non-destructive.** `archive_superseded.sh` uses `git mv` + a prepended banner;
nothing is deleted, history is preserved, and the content stays readable.
- **Conservative.** Only docs whose entire purpose the canonical doc absorbs are
quarantined automatically. Mixed-content docs are listed, not buried, because a
doc that is 80% live should not be flagged dead over a stale definition.
- **Reversible.** `git mv` back, or strip the banner, restores any file.
> **Gitignore note.** This repo's `.gitignore` line 120 (`**/archive/`) ignores
> *every* `archive/` directory (those are offloaded to Gdrive, line 114). So the
> archive deliberately uses `_superseded/`, **not** `archive/`, to stay tracked in
> git as readable read-only history. If you would rather these be offloaded like
> other archives, point `DEST` at an `archive/` path — the script will warn that
> the files become untracked.
To run (from the repo root):
```bash
bash archive_superseded.sh
git status # review the moves
git commit -m "Archive vocabulary docs superseded by GEOMETRIC_SUBSTANCE_CANONICAL"
```

View file

@ -0,0 +1,317 @@
# Geometric Substance — Canonical Reconciliation
**Status:** Canonical. This document supersedes the scattered and conflicting
usage spread across `VOCABULARY_LOCK.md`, `NotationNomenclatureRegistry.md`, the
`otom/docs/*` conceptual notes, and the individual Lean docstrings. Where a term
has carried multiple expansions across conceptual revisions, the entry here is
defined **by mechanism**, not by label, and the superseded labels are recorded
so older documents remain traceable.
**Reading rule (project-wide):** labels in the legacy stack are unreliable —
they were assigned across many revisions and by an automated labelling pass.
Trust the mechanism (the Lean definition, the proven theorem, the formula), not
the name. Every claim below is tagged with an evidence tier in §7.
---
## 1. The geometric substance
The object the system manipulates is a single **covariant geometric datum** on a
fixed model space, viewed through many projections. The model space is
```
ℂ⁸ ≅ ℝ¹⁶ with complex structure J (a U(8) / Kähler G-structure)
```
This is not an interpretation imposed from outside — it is what the code builds.
`Law15_Field.goldenSpiral16` acts block-diagonally on **8 complex planes**, each
block `[[a,b],[b,a]]` with `λ = a + ib = φ⁻¹·e^{iθ_g}`, and it is admitted only
because complex-scalar multiplication commutes with `J` ("passes the conformal
Kähler gate"). The negative controls confirm the intent: `shear16` is rejected
(non-orthogonal) and complex conjugation is rejected because `CᵀJC = J`
(anti-holomorphic).
The geometry is **Cartan geometry**, not Riemannian. The dictionary:
| Cartan role | Realization in the stack |
|---|---|
| connection | polarity accumulator `B` along braid strands |
| curvature / torsion | braid residual `R_ij = B_ij (B_i + B_j)` (`BraidDiatCodec` Layer 3) |
| development onto the model | golden contraction `s' = c + φ⁻¹·(s c)`, with `‖Sᵗs c‖ = φ⁻ᵗ‖s c‖` (`PistSimulation` §8) |
| G-structure admissibility | the conformal Kähler gate — preserve `J` (`Law15_Field`); this is the FAMM filter |
The geometry carries **intrinsic torsion**: the super left-invariant forms are
not closed, so `R_ij ≠ 0` is torsion rather than an optional add-on. This is the
load-bearing reason the model is Cartan (torsionful) and not Levi-Civita
(torsion-free). The torsion residual is a five-channel bracket
`(lower, upper, gap, κ, φ)`, carrying an explicit curvature channel `κ` and a
phase channel `φ`.
**The super extension is a gated module — off by default.** The odd / graded
directions come from the chirality flag (`left / right / achiral`,
`BraidDiatCodec` Layer 1) and the eigensolid's `(2k1, 2k)` coordinate pairing
(BioSight G3), which is a /2 grading. Whether the grading is genuinely *super*
Grassmann-anticommuting, picking up the `(1)^{deg·deg}` sign — is a **design
decision**, not a fact already in the code. The program proceeds from the proven
bosonic Kähler base; **super-Cartan is an extension module that stays off until
its gate passes** (§7). This is the promotion-ladder discipline applied to the
geometry itself: the core (DIAT bijection, `φ`-contraction, the encoder, the
differential test) depends on none of the super structure, so it advances
regardless of how the gate resolves.
---
## 2. The observer / observerless duality
The stack is the **Observerless Research Stack**: truth lives in
receipt-bearing, invariant-preserving events, not in any privileged frame.
`Law17_Observer` makes this exact — the observer is **a typed projection, not an
agent**:
> "The observer is not a separate agent but a typed projection: `Π₁₆→₃` applied
> to the object. The measurement residual tracks what was lost in projection."
So:
- **Observer** = a choice of projection `Π` (an `ObserverGate`, or an orientation
in `SO(n)` per `ObserverAngle`). It produces one **locality-specific shape**:
the projected silhouette of the object (cube-along-the-diagonal → hexagon).
- **Collapse residual** `ε_collapse = ‖M_before M_after‖` — the mass `Π`
discards. Aligned angles minimize it; the aligned angle reveals the object's
minimal intrinsic dimension.
- **Observerless** = the covariant object that is true across *all* `Π` — the
frame-free invariant, i.e. the equivalence class under the structure group.
The "observerless-observer symbol" is `Π` itself stripped of any subject: an
observation with no one behind it.
"Covariant geometries in locality-specific shapes" is exactly this: one
invariant object, the structure group acting on it, many projected shapes.
---
## 3. The Sidon mirror (the inexact reflection)
For a Sidon set `S`, the mirror-translation `c S` is again Sidon and — the key
fact — has the **same difference set**:
```
D(c S) = { (c s_j) (c s_i) } = { s_i s_j } = D(S) = D(S)
```
because the difference set is reflection-symmetric. Therefore:
- At the **observerless** level (autocorrelation / difference structure / Fisher
invariant), `S` and its mirror are **exactly identical**.
- At the **observed** level (any projected shape), they differ — and the
difference is exactly the collapse residual `ε_collapse(θ)`, which vanishes
only when the observer-angle `θ` aligns with the reflection axis.
This is the precise content of "a mirror translation, a not exact one": exact in
the covariant object, inexact in every projection, mediated by `Π`. The
**chirality flag** (`left / right / achiral`) is the discrete ledger of it —
`achiral` marks the angle where the mirror is exact, `left/right` mark the
inexact pair seen off-axis. Chirality is not merely an address bit: the GWL
coupling `w_ij = cos(Δθ)·cos(Δφ)·(1 2|Δχ|)·exp(|Δp|²/2σ²)` carries the
chirality difference `|Δχ|` as a first-class coupling term.
In the Cartan frame this is the standard fact, not a special case: a symmetry of
the model `G/H` need not be a symmetry of a given realization — it holds only up
to the structure group, exact covariantly and inexact in a fixed frame, with the
residual measuring frame misalignment.
**The golden angle.** `ObserverAngle` says the *aligned* angle reveals minimal
dimension and exact symmetry. The golden angle `θ_g` from PhiNUVMAP is the
*maximally mis-aligned* orientation — the most-irrational angle, aligning with no
rational symmetry axis. It is the least-privileged viewpoint, the angle that
refuses to pick a frame: the closest realization of an *observerless* observer as
an actual angle. This is why the golden contraction is the natural generic probe.
**Incoherence as the shared resource.** The same principle appears in three
categories, and is the spine of the whole program:
| category | instance | the resource |
|---|---|---|
| additive | Sidon set (distinct pairwise sums) | flat autocorrelation |
| geometric | high-dimensional sphere (near-orthogonality, MaShenXie 2025) | clique suppression |
| dynamical | golden angle (Weyl equidistribution) | resonance / collision avoidance |
The golden ratio appears *because* `θ_g` is provably the maximal-incoherence
rotation (continued-fraction theory), not by analogy.
---
## 4. Vocabulary lock
Defined by mechanism. "Superseded labels" are recorded only for traceability to
older revisions; do not use them.
| Term | Canonical role (mechanism) | Locus | Superseded labels |
|---|---|---|---|
| **DIAT** | Integer address by perfect-square shell: `k = ⌊√n⌋`, `a = n k²`, `b = (k+1)² n`. **Provably bijective** (`encode_decode_roundtrip`). | `BraidDiatCodec.lean` | "Dynamic Integer-Address Transform", "Dual-Interval Algebraic Transform" |
| **PIST** | The imperfect-square witness / audit surface; conserves `mass = t·(2k+1t)` under lawful transitions. | `PIST/*`, `ARCHITECTURE.md` | "Perfectly Imperfect Square Theory" (keep as flavor; the *role* is the witness surface) |
| **NUVMAP** | Non-uniform projection onto a spectral / address coordinate surface (more resolution on important regions). Not a proof engine. | `NUVMAP_NAMING_AND_DEFINITION.md` | "Virtual Memory Address Projection", "Variable Mapping", "spectral container" |
| **PhiNUVMAP** | NUVMAP lifted to `ℂ⁸` (16D) golden-ratio fractal coordinates with `J`; development = `φ`-contraction. | `PistSimulation.lean` §8, `Law15_Field.lean` | — |
| **eigensolid** | The pairwise-averaging fixed-point map `C(p)_{2k1} = C(p)_{2k} = (p_{2k1}+p_{2k})/2`; convergence is a compressor requirement. **Distinct from NUVMAP** — it is the merge *on* the surface, not the surface. | BioSight G3, `BraidTreeDIATPIST.lean` | (often conflated with "NUVMAP merge") |
| **braid residual** | `R_ij = B_ij (B_i + B_j)` — discrete curvature/torsion, 5-channel `(lower, upper, gap, κ, φ)`. | `BraidDiatCodec.lean` Layer 3 | — |
| **TreeDIAT** | Tree-embedding score for routing/pruning **plus** a homeomorphic-embedding *certificate* (Kruskal WQO). Score routes; only the embedding proof certifies. | `TreeDIATKruskal.lean` | — |
| **chirality** | Mirror-handedness ledger (`left / right / achiral`); first-class coupling term `(1 2|Δχ|)`. | `BraidDiatCodec.lean` Layer 1, GWL | — |
| **observer / Π** | A typed projection (no agent); `ε_collapse = ‖M_before M_after‖` is the projection loss. | `Law17_Observer.lean` | — |
| **observerless** | The covariant object true across all `Π` — the frame-free invariant. | stack-wide (`ARCHITECTURE.md`) | — |
| **FAMM** | Admissibility filter = G-structure preservation (the Kähler `J` gate). | `2-Search-Space/FAMM`, `Law15_Field.lean` | "Frustration Aligned Memory Management" |
---
## 5. Mechanism → port role
For folding the legacy mechanisms into BioSight / SilverSight (the port spec):
1. **`R_ij` braid residual → curvature/torsion operator.** Replaces BioSight's
degree-±1 proxy and SilverSight's hardcoded `nuvmap_spectral_driver.py`
diagonal; computed from the real graph, carrying the 5-channel bracket.
2. **`phiContract` + `goldenSpiral16` → development + admissibility.** Replaces
BioSight's ad-hoc G1 contraction `λ = 1/√(1+B)` with the `φ⁻¹` golden
contraction (proven `φ⁻ᵗ` law); FAMM admissibility = the Kähler gate.
3. **`TreeEmbeds` + certificate → separation metric with rigor gate.** Parse-tree
(τ-block) separation; scalar score routes, the embedding proof certifies. No
claim is promoted without an embedding witness.
4. **DIAT `encode_decode_roundtrip` → invertibility receipt.** The proven
bijection *is* the `receipt_invertible` requirement, made formal.
---
## 6. The Laplacian resolution
Long-standing open question: does spectral binning eigendecompose the plain graph
Laplacian or the sheaf Laplacian? With the model space fixed as Kähler (`ℂ⁸`,
`J`), neither: the natural operator is the **`J`-compatible complex / Dolbeault
Laplacian**, the one that respects the structure the development map preserves.
The geometry selects the operator.
---
## 7. Super-Cartan as a gated extension — the gravity-consistency gate
Super-Cartan (§1) is off by default. It activates only when the
**gravity-consistency gate** passes:
> **Gate.** `R_ij ≠ 0` (residual present) **and** the curvature class of the
> connection is identified (teleparallel if the curvature part is flat,
> Einstein-Cartan if not).
**Why the gate exists — dissolving "the model says gravity doesn't exist."**
That worry holds in exactly one case: the geometry collapsing to its flat model
with `R_ij ≡ 0`. It does **not** follow from "zero curvature," because the
geometry is torsionful. Teleparallel gravity (TEGR / Weitzenböck) is empirically
GR-equivalent with curvature *identically zero* and gravity carried entirely by
torsion. So `R_ij ≠ 0` means the geometry **gravitates** — teleparallel if the
curvature part is flat, Einstein-Cartan otherwise. Gravity-denying is the single
flat-and-torsionless point, nothing more.
**The gate is the differential test.** Gravity-denying = flat-and-torsionless =
zero residual = no separation from a flat random baseline = *nothing*. The number
that shows the encoding beats random is therefore the same number that shows the
geometry is not flat-trivial — one obligation, read two ways. Its formal home is
`BaselineComparison.lean`, whose verdict should read "agrees-with
teleparallel-or-Einstein-Cartan," not "disagrees."
### Initial recovery (provisional — to be stress-tested)
Computed by `gate_residual_recovery.py` on a **prototype** residual
`R_ij = B_ij (B_i + B_j)` with `B_i = cos θ_i` and
`B_ij = cos(θ_i+θ_j) + ε·χ_ij·sin(θ_iθ_j)`, on a Mian-Chowla Sidon set
(`n = 16`, max `252`, phase modulus `N = 505` chosen so pairwise sums never
wrap). This is the residual *mechanism*, not the Lean `BraidField` codec — the
magnitudes are model-dependent; the separation is not.
```
curvature / torsion split
achiral (ε=0): ‖R‖ = 18.05 torsion(sym) = 18.05 curvature(asym) = 5e-16 → TELEPARALLEL
chiral (ε=0.5): ‖R‖ = 18.80 torsion(sym) = 18.05 curvature(asym) = 5.27 → EINSTEIN-CARTAN
(gravity-denying needs ‖R‖ = 0; here ‖R‖ = 18.05)
Sidon separation vs 5000 random 16-subsets of [1,252]
structured pairwise-sum collisions : 0
random mean ± std : 13.65 ± 3.38
z-score : 4.04 (structured sits ~4σ below random)
random subsets that are Sidon : 0.00%
```
**Reading the numbers honestly.**
- The **~4σ separation** (z = 4.04; 0% of random subsets clean) is the
load-bearing, genuinely empirical result: the structured input is strongly
separated from random on the defining Sidon property. This is the "something
rather than nothing."
- The **achiral curvature ≈ 0** is a *structural* identity, not an emergent
surprise — a symmetric joint gives a symmetric residual whose antisymmetric
(curvature) part is exactly zero. What it demonstrates is that the
curvature/torsion split is real and **chirality-controlled**: chirality is
precisely what turns teleparallel (achiral) into Einstein-Cartan (chiral),
consistent with the chirality ledger of §3.
- The **torsion magnitude** (18.05) only certifies `‖R‖ ≠ 0` (not flat-trivial);
its value is an artifact of the cos prototype.
**Verdict (provisional).** `‖R‖ ≠ 0`, the curvature class is identified
(teleparallel achiral / Einstein-Cartan chiral), and the structure separates from
random at ~4σ. So the model **affirms gravity** in a named, GR-equivalent
formulation; it does not point to gravity not existing. The gate opens —
*provisionally*, resting on the §8 "sound reading" that `R_ij` is specifically
teleparallel torsion and that gravity-denying is the "nothing" case. Neither is
proven; this is an initial recovery at the `RESIDUAL_TESTED` rung.
**Stress-tests before promotion.**
1. Replace the cos prototype with the real `BraidField.braidCross` residual.
2. Scale `n`; confirm the separation holds or strengthens.
3. Use the Hachimoji `/360` modulus (needs a mod-360 Sidon / Singer difference
set; wrap-collisions change the residual).
4. `Q16.16` fixed-point fidelity — does the split survive the real arithmetic.
5. Harder null: the geometric `S⁷` / sphere baseline (MaShenXie), not just
random distinct subsets.
6. Chirality source: derive `χ_ij` from the real braid word / the GWL `|Δχ|`
term, rather than the fixed all-left pattern used here.
7. Encode the verdict in `BaselineComparison.lean`.
---
## 8. Evidence tiers
Using the stack's own promotion ladder
(`RAW_IDEA → SANITIZED_METAPHOR → TOY_MODEL → TYPED_MODEL → RESIDUAL_TESTED →
COST_ACCOUNTED → PROOF_CANDIDATE → CORE_MODULE`):
**Proven (Lean theorems — `PROOF_CANDIDATE` / `CORE_MODULE`).**
DIAT `encode_decode_roundtrip` bijection; PhiNUVMAP `φ`-contraction law;
`TreeEmbeds` node/leaf monotonicity; `Law17` collapse-residual; `Q0_2` codec
round-trip lemmas (`native_decide`). These are not in question.
**Sound reading (`TYPED_MODEL` — mathematically defensible synthesis, not yet
proven in-repo).** The Cartan dictionary of §1; the Sidon-mirror result of §3
(the difference-set identity is a theorem; the observerless-exact /
observer-inexact framing is the reading of it); the golden-angle =
least-privileged-frame identification; the Dolbeault-Laplacian resolution of §6;
**the gate readings of §7** — that `R_ij` is specifically *teleparallel* torsion,
and that gravity-denying is the flat-and-torsionless "nothing" case.
**Stack-flagged speculative (`TOY_MODEL` / `RAW_IDEA` — the stack's own bars).**
`ObserverAngle` compression (`Toybox`, "not for production until 6.5σ",
`speculative-materials/ObserverAngleCompression.md`); higher super-Cartan
cohomology (cocycles / definite forms / brane molecule — nLab itself says
general super-Cartan "remains to be explored"); the super/odd anticommutation
decision of §1. The differential "something rather than nothing" number now has an
**initial recovery** (§7, `RESIDUAL_TESTED`): ~4σ structured-vs-random separation
on a prototype residual, pending the seven stress-tests before promotion.
---
## 9. Open threads
- **The Sidon-mirror notch test.** The gate's separation number (§7) is computed;
the remaining geometric form is the angle sweep — `ε_collapse(θ)` predicted to
have a sharp zero at the reflection axis and a positive floor elsewhere, flat
for a random sequence. That notch is the §3 reading made quantitative.
- **The super/odd decision.** Impose Grassmann anticommutation on the odd block,
or keep it plain graded. Gated behind §7.
- **The differential number, hardened.** Carry the §7 initial recovery through its
seven stress-tests; run `phi.encode_phi` over Corpus250 vs a matched `S⁷` null
against the G2 bound, wrapped as an ErdosHarness-style receipt.
- **Lock adoption.** Propagate this vocabulary into the repo docs, retiring the
superseded labels in §4 (see `ARCHIVE_SUPERSEDED.md`).

View file

@ -0,0 +1,72 @@
#!/usr/bin/env bash
#
# archive_superseded.sh
# Relocate documentation superseded by GEOMETRIC_SUBSTANCE_CANONICAL.md into a
# read-only archive directory, prepending a banner to each file.
#
# Non-destructive: uses `git mv` (history preserved) and only prepends text.
# Nothing is deleted. Reversible with `git mv` back or by stripping the banner.
#
# Run from the research-stack repository root.
set -euo pipefail
DEST="6-Documentation/docs/_superseded/2026-06" # NOT 'archive/': repo gitignores **/archive/
CANON="GEOMETRIC_SUBSTANCE_CANONICAL.md"
BANNER="> **ARCHIVED — READ ONLY.** Superseded by \`${CANON}\` (2026-06).
> Retained for historical traceability. Do **not** use for current work — the
> vocabulary and conceptual frame in this file have been reconciled and replaced.
---
"
if [ ! -d .git ]; then
echo "error: run this from the git repository root (no .git/ found here)." >&2
exit 1
fi
mkdir -p "$DEST"
if git check-ignore -q "$DEST" 2>/dev/null; then
echo "WARNING: '$DEST' is gitignored — archived files will NOT be tracked or committed." >&2
echo " Repo ignores **/archive/. Use a non-'archive' path to keep the archive in git." >&2
fi
archive() {
local f="$1"
if [ ! -f "$f" ]; then
echo "skip (missing): $f"
return 0
fi
local base dest tmp
base="$(basename "$f")"
dest="$DEST/$base"
if [ -e "$dest" ]; then
echo "skip (already archived): $dest"
return 0
fi
git mv "$f" "$dest"
tmp="$(mktemp)"
{ printf '%s\n' "$BANNER"; cat "$dest"; } > "$tmp"
mv "$tmp" "$dest"
git add "$dest"
echo "archived: $f -> $dest"
}
# ─── CONFIRMED superseded (canonical owns their entire purpose) ───────────────
archive "6-Documentation/docs/VOCABULARY_LOCK.md"
archive "0-Core-Formalism/otom/docs/nuvmap/NUVMAP_NAMING_AND_DEFINITION.md"
# ─── REVIEW CANDIDATES — uncomment a line only after confirming it is superseded
# archive "0-Core-Formalism/otom/docs/wiki/NotationNomenclatureRegistry.md"
# archive "6-Documentation/docs/WEIRD_CONCEPTS_GLOSSARY.md"
# archive "6-Documentation/docs/GLOSSARY.md"
# archive "6-Documentation/wiki/Glossary.md"
# archive "obsidian-vault/00-MAP/Glossary.md"
# archive "0-Core-Formalism/otom/docs/nuvmap/NUVMAP_DESIGN_REFLECTIONS.md"
# archive "0-Core-Formalism/otom/docs/nuvmap/NUVMAP_ENCODING_DOS_AND_DONTS.md"
echo
echo "Done. Review with: git status"
echo "Then commit: git commit -m 'Archive docs superseded by ${CANON}'"

View file

@ -0,0 +1,128 @@
"""
gate_residual_recovery.py
-------------------------
Initial recovery for the gravity-consistency gate (to be stress-tested).
The gate (from GEOMETRIC_SUBSTANCE_CANONICAL.md): the model points to
"gravity does not exist" ONLY in the flat-and-torsionless case braid residual
R_ij 0. Otherwise the geometry gravitates: teleparallel if the curvature part
is flat (gravity carried by torsion), Einstein-Cartan if it is not.
This computes a faithful PROTOTYPE of the residual (not the real BraidField
codec): R_ij = B_ij - (B_i + B_j) on a phase-circle model.
B_i = cos(theta_i) (single-strand polarity)
B_ij = cos(theta_i + theta_j) (symmetric joint -> torsion)
+ eps * chi_ij * sin(theta_i-theta_j) (antisymmetric -> curvature)
R_ij = B_ij - B_i - B_j (the connected/interaction residual)
Symmetric part of R = torsion-like; antisymmetric part = curvature-like.
Achiral (eps=0) => curvature is EXACTLY zero => teleparallel.
Structured input = a Mian-Chowla Sidon set (all pairwise sums distinct).
The Sidon-vs-random separation is measured on the defining property itself
(pairwise-sum collisions), which is also what makes the residual non-degenerate.
"""
import numpy as np
rng = np.random.default_rng(0)
def mian_chowla(n):
"""Greedy B_2 (Sidon) sequence: all pairwise sums distinct, by construction."""
seq, sums, c = [1], {2}, 2
while len(seq) < n:
new, ok = [], True
for s in seq:
v = s + c
if v in sums or v in new:
ok = False; break
new.append(v)
if ok and (c + c) not in sums and (c + c) not in new:
for s in seq:
sums.add(s + c)
sums.add(c + c)
seq.append(c)
c += 1
return np.array(seq)
def sum_collisions(s):
"""Defining Sidon failure count: #(pairs) - #(distinct pairwise sums)."""
s = np.asarray(s)
pairs = [s[i] + s[j] for i in range(len(s)) for j in range(i + 1, len(s))]
return len(pairs) - len(set(pairs))
def residual(s, N, eps=0.0, chi=None):
th = 2 * np.pi * np.asarray(s, float) / N
Bi = np.cos(th)
sym = np.cos(th[:, None] + th[None, :]) # torsion-bearing
if eps != 0.0 and chi is not None:
asym = eps * chi * np.sin(th[:, None] - th[None, :]) # curvature-bearing
else:
asym = 0.0
Bij = sym + asym
return Bij - Bi[:, None] - Bi[None, :]
def split(R):
Rs = 0.5 * (R + R.T) # symmetric -> torsion
Ra = 0.5 * (R - R.T) # antisymmetric -> curvature
fro = np.linalg.norm(R)
return np.linalg.norm(Rs), np.linalg.norm(Ra), fro
if __name__ == "__main__":
n = 16
S = mian_chowla(n)
M = int(S.max())
N = 2 * M + 1 # phase modulus chosen so sums never wrap-collide
print(f"Sidon set (Mian-Chowla, n={n}): {S.tolist()}")
print(f"max={M}, phase modulus N={N}")
print(f"sum-collisions (structured): {sum_collisions(S)} (0 == perfectly Sidon)\n")
# --- Gate condition 1: torsion present, curvature class -------------------
# achiral
R0 = residual(S, N, eps=0.0)
tor0, cur0, fro0 = split(R0)
# chiral (imbalanced handedness): fixed left-handed crossings
chi = np.ones((n, n))
Rc = residual(S, N, eps=0.5, chi=chi)
torc, curc, froc = split(Rc)
print("RESIDUAL / CURVATURE-TORSION SPLIT")
print(f" achiral: ||R||={fro0:.4f} torsion(sym)={tor0:.4f} curvature(asym)={cur0:.2e}")
print(f" -> curvature {'== 0 => TELEPARALLEL' if cur0 < 1e-9 else '!= 0'}")
print(f" chiral : ||R||={froc:.4f} torsion(sym)={torc:.4f} curvature(asym)={curc:.4f}")
print(f" -> curvature {'!= 0 => EINSTEIN-CARTAN' if curc > 1e-9 else '== 0'}")
print(f" (gravity-denying would require ||R|| == 0; here ||R|| = {fro0:.4f})\n")
# --- Gate condition 2: structured vs random separation -------------------
TRIALS = 5000
rand_coll = np.empty(TRIALS)
for t in range(TRIALS):
r = rng.choice(np.arange(1, M + 1), size=n, replace=False)
rand_coll[t] = sum_collisions(r)
mu, sd = rand_coll.mean(), rand_coll.std()
z = (sum_collisions(S) - mu) / sd
frac_random_clean = np.mean(rand_coll == 0)
print(f"SIDON SEPARATION vs {TRIALS} random {n}-subsets of [1,{M}]")
print(f" structured sum-collisions : 0")
print(f" random mean +/- std : {mu:.2f} +/- {sd:.2f}")
print(f" z-score : {z:.2f}")
print(f" random sets that are Sidon: {100*frac_random_clean:.2f}%\n")
# --- Gate verdict --------------------------------------------------------
flat = fro0 < 1e-9
print("GATE VERDICT (initial recovery, to be stress-tested)")
print(f" flat-and-torsionless (gravity-denying)? {flat}")
if not flat:
cls = "TELEPARALLEL (curvature 0, gravity in torsion)" if cur0 < 1e-9 else "Einstein-Cartan"
print(f" geometry gravitates; achiral class: {cls}")
print(f" structure beats random by z = {z:.1f} -> 'something rather than nothing'")
print(" => model AFFIRMS gravity; does NOT point to gravity not existing. GATE OPENS.")
else:
print(" => residual flat; gate stays CLOSED.")