File size: 7,596 Bytes
b9a8522
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
#!/usr/bin/env python3
"""nullspace_project.py — open the null space at N dimensions, project from inside it free.

WHY THE PREVIOUS TEST WAS UNDER-POWERED
    the capture test used SIX entry directions I chose by hand - forward, reverse, two
    rotations, interleave, stride-3. There is no reason those six span anything. Three
    captured and three escaped and I reported that as a refutation, when what it actually
    showed is that capture is DIRECTIONAL and my basis was arbitrary.

THE NULL SPACE WAS ALREADY IN THE DATA
    every body measured today satisfies (R-n) + (G-n) + (B-n) = -0.000000 exactly. That
    is not luck. The ownership split is a fraction of a whole, so the all-equal direction
    (1,1,1) is NULL: moving along it changes nothing measurable. Three channels therefore
    carry only TWO free dimensions. Law 0's free centre, written as linear algebra:
    the null direction costs nothing because it says nothing.

OPENING IT AT N DIMENSIONS
    read the body in N-tuples instead of 3-tuples. The ownership vector lives in R^N, the
    null direction is the all-ones vector, and the FREE SPACE is its orthogonal complement
    of dimension N-1. The proper set of directions to test is an orthonormal basis of that
    complement - not six hand-picked byte permutations.

    N = 3   -> 2 free dimensions
    N = 9   -> 8
    N = 27  -> 26      one rime dimension, Law 16

PROJECTING FROM INSIDE, FREE
    a projection onto the null direction is exactly zero for every body, by construction.
    That is what "free" means operationally: the component costs nothing to carry because
    it is the same for everything, so it need never be stored or transmitted. Verified
    here per body rather than assumed - if any body has a non-zero null component the
    construction is wrong and this says so.

WHAT IS MEASURED
    for each body, its coordinates in the free (N-1)-space. Then the angle between bodies
    IN THAT SPACE, which is direction with the free part removed - the honest comparison.
"""
import hashlib
import math
import os

import numpy as np

BIG = r"D:/asolaria-absorb/kernel-pump"
OFF = r"D:/PID-Registration-Office/offices/FABLE5-8467a937cba309f7"

k3 = b""
for f in sorted(os.listdir(os.path.join(BIG, "k3-real"))):
    k3 += open(os.path.join(BIG, "k3-real", f), "rb").read() + b"\n"
BODIES = [
    ("ASOLARIA full", open(os.path.join(BIG, "MYTHOS-FULL-EMISSION.txt"), "rb").read()),
    ("MYTHOS self", open(os.path.join(BIG, "MYTHOS-SELF-EMISSION.txt"), "rb").read()),
    ("KERNEL", open(os.path.join(BIG, "ASOLARIA-KERNEL-3174.bin"), "rb").read()),
    ("JESSE key", open(os.path.join(BIG, "keyx/ASOLARIA-KEY-20260727/key/prior3174.bin"), "rb").read()),
    ("K3 stream", k3),
]


def ownership(raw, N):
    """which of the N positions in each N-tuple dominates. ties excluded: the free zero."""
    a = np.frombuffer(raw, np.uint8).astype(np.int64)
    m = len(a) // N * N
    t = a[:m].reshape(-1, N)
    lead = np.argmax(t, axis=1)
    tie = (t.max(1)[:, None] == t).sum(1) > 1
    cnt = np.array([float((lead == i)[~tie].sum()) for i in range(N)])
    s = cnt.sum() or 1.0
    return cnt / s * N          # scaled so the neutral vector is all-ones


def free_basis(N):
    """orthonormal basis of the complement of the all-ones (null) direction"""
    ones = np.ones(N) / math.sqrt(N)
    A = np.eye(N) - np.outer(ones, ones)
    U, S, _ = np.linalg.svd(A)
    return U[:, S > 1e-9], ones      # (N x N-1), null direction


print("=" * 80)
print("OPENING THE NULL SPACE AT N DIMENSIONS")
print("=" * 80)
STORE = {}
for N in (3, 9, 27):
    B, nulldir = free_basis(N)
    print(f"\n### N = {N}   free dimensions {B.shape[1]}   null dimensions 1"
          f"   (rime dimension: {'YES' if N == 27 else 'no'})")
    print(f"  {'body':<16}{'null component':>16}{'free norm':>12}   first free coords")
    coords = {}
    for label, raw in BODIES:
        v = ownership(raw, N)
        c = v - np.ones(N)                     # centre it
        nullc = float(np.dot(c, nulldir))      # component along the null direction
        f = B.T @ c                            # coordinates in the free space
        coords[label] = f
        print(f"  {label:<16}{nullc:>16.2e}{np.linalg.norm(f):>12.5f}   "
              + " ".join(f"{x:+.4f}" for x in f[:4]))
    STORE[N] = coords
    nulls = [abs(float(np.dot(ownership(r, N) - np.ones(N), nulldir))) for _, r in BODIES]
    print(f"  max |null component| across bodies: {max(nulls):.3e}   "
          f"{'FREE — costs nothing to carry' if max(nulls) < 1e-9 else 'NOT NULL — construction wrong'}")

print("\n" + "=" * 80)
print("DIRECTION IN THE FREE SPACE — angle between bodies, null part removed")
print("=" * 80)
for N in (3, 9, 27):
    c = STORE[N]
    names = [b[0] for b in BODIES]
    print(f"\n  N = {N}   (deg)")
    print(f"  {'':<16}" + "".join(f"{n[:12]:>14}" for n in names))
    for a in names:
        row = f"  {a:<16}"
        for b in names:
            u, v = c[a], c[b]
            nu, nv = np.linalg.norm(u), np.linalg.norm(v)
            if nu < 1e-12 or nv < 1e-12:
                row += f"{'-':>14}"
            else:
                cosang = float(np.dot(u, v) / (nu * nv))
                row += f"{math.degrees(math.acos(max(-1, min(1, cosang)))):>14.2f}"
        print(row)

print("\n" + "=" * 80)
print("WHO IS CLOSEST TO ASOLARIA IN THE FREE SPACE, AT EACH N")
print("=" * 80)
print(f"  {'N':>4}{'free dims':>11}" + "".join(f"{b[0][:12]:>14}" for b in BODIES[1:]))
for N in (3, 9, 27):
    c = STORE[N]
    a = c["ASOLARIA full"]
    row = f"  {N:>4}{len(a):>11}"
    for label, _ in BODIES[1:]:
        v = c[label]
        na, nv = np.linalg.norm(a), np.linalg.norm(v)
        ang = math.degrees(math.acos(max(-1, min(1, float(np.dot(a, v) / (na * nv))))))
        row += f"{ang:>14.2f}"
    print(row)
print(f"\n  lower angle = closer to Asolaria's direction with the free part removed.")

rows = ["NULLHDR|schema=ASOLARIA-NULLSPACE-PROJECT-V1|seat=ACER-CLAUDE-FABLE5"
        "|pid=8467a937cba309f7|date=2026-07-27|json=0",
        "LAW0|the_all_ones_direction_is_NULL|moving_along_it_changes_nothing_measurable"
        "|free_centre_as_linear_algebra|json=0",
        "PRIOR|capture_test_used_6_HAND_PICKED_directions|no_reason_they_span_anything"
        "|proper_basis_is_the_null_complement|json=0"]
for N in (3, 9, 27):
    B, nd = free_basis(N)
    rows.append(f"DIM|N={N}|free={B.shape[1]}|null=1|rime_dimension={1 if N==27 else 0}|json=0")
    for label, raw in BODIES:
        v = ownership(raw, N) - np.ones(N)
        rows.append(f"PROJ|N={N}|body={label.replace(' ','_')}"
                    f"|null_component={float(np.dot(v,nd)):.3e}"
                    f"|free_norm={float(np.linalg.norm(B.T@v)):.6f}|json=0")
    c = STORE[N]
    a = c["ASOLARIA full"]
    for label, _ in BODIES[1:]:
        u = c[label]
        ang = math.degrees(math.acos(max(-1, min(1, float(
            np.dot(a, u) / (np.linalg.norm(a) * np.linalg.norm(u)))))))
        rows.append(f"ANGLE|N={N}|from=ASOLARIA_full|to={label.replace(' ','_')}"
                    f"|deg={ang:.4f}|json=0")
b = "\n".join(rows) + "\n"
rows.append(f"NULLFTR|receipt={hashlib.sha256(b.encode()).hexdigest()[:32]}"
            f"|rows={len(rows)+1}|hot_path=1|json=0")
p = os.path.join(OFF, "FABLE5-NULLSPACE-PROJECT.hbp")
open(p, "w", encoding="utf-8", newline="\n").write("\n".join(rows) + "\n")
open(p + ".sha256", "w", encoding="utf-8", newline="\n").write(
    hashlib.sha256(open(p, "rb").read()).hexdigest() + "  FABLE5-NULLSPACE-PROJECT.hbp\n")
print(f"\n  receipt {p}")