24-02-2026, 08:26 PM
Ciao Julian and Eggyk!
Btw Julian how do you feel knowing that you predicted the future? I did not expect you to replay but thank you : )
Of course there are rules, otherwise it wouldn't be fun. As many of you assume, gallows are not letters, they are mode markers. They indicate which mode or how the Volvella operates. When you select a gallow, you restrict which glyphs are available.
But don't take my word for it. Do you have a Python terminal and the EVA transcript handy? If so, run the following code and see for yourself. Python is mechanical, deterministic, no AI haha!
EVA: You are not allowed to view links. Register or Login to view.
Phyton script:
Best regards,
Alicia
Btw Julian how do you feel knowing that you predicted the future? I did not expect you to replay but thank you : )
Of course there are rules, otherwise it wouldn't be fun. As many of you assume, gallows are not letters, they are mode markers. They indicate which mode or how the Volvella operates. When you select a gallow, you restrict which glyphs are available.
But don't take my word for it. Do you have a Python terminal and the EVA transcript handy? If so, run the following code and see for yourself. Python is mechanical, deterministic, no AI haha!
EVA: You are not allowed to view links. Register or Login to view.
Phyton script:
Code:
import os
import re
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from collections import Counter
# --- HARDWARE CONFIGURATION ---
# Rotor A: 6 Sectors (5 Mode Selectors + 1 Empty/Neutral)
ROTOR_A = ['qo', 'k', 't', 'p', 'f']
# Rotor B: 26 Atomic Matter Sectors
ROTOR_B = ['o', 'y', 'd', 'k', 'e', 'ch', 'l', 't', 'ee', 'sh', 'a', 'r', 's', 'i', 'c', 'h', 'm', 'p', 'q', 'g', 'f', 'v', 'b', 'j', 'x', 'n']
# Stator C: 9 Context/Exit States
STATOR_C = ['aiin', 'ain', 'al', 'ar', 'chey', 'chy', 'ody', 'or', 'dy', 'y']
ATOM_POSITIONS = {atom: idx for idx, atom in enumerate(ROTOR_B)}
DISK_SIZE = len(ROTOR_B)
# Full Hardware Lock Table (Rotor A Mode -> Blocked Atoms in Rotor B)
LOCK_A_TO_B = {
'qo': ['j', 'v', 'x'], # Boiling Mode: Blocks direct fire/crucibles
'k': ['b', 'j', 'v'], # Heating Mode: Blocks water baths/direct fire
't': ['j', 'v'], # Grinding Mode: Blocks liquids/fire
'p': ['b', 'g', 'j', 'q', 'v', 'x'], # Prep Mode: High restriction safety lock
'f': ['b', 'g', 'j', 'v', 'x'], # Execution Mode: Selective filtration
'NONE': [] # Neutral Sector: Full hardware access
}
def clean_eva_text(filepath):
cleaned_words = []
if not os.path.exists(filepath): return None
with open(filepath, 'r', encoding='utf-8') as file:
for line in file:
if line.startswith('#'): continue
line = re.sub(r'<[^>]+>', ' ', line)
line = re.sub(r'[^a-zA-Z.,]', ' ', line)
words = re.split(r'[.,\s]+', line)
for w in words:
w = w.lower().strip()
if len(w) > 2: cleaned_words.append(w)
return cleaned_words
def parse_volvella(word):
action, matter = 'NONE', word
for g in sorted(ROTOR_A, key=len, reverse=True):
if matter.startswith(g): action = g; matter = matter[len(g):]; break
atoms = []
i = 0
while i < len(matter):
if i < len(matter) - 1 and matter[i:i+2] in ['ch', 'sh', 'ee']:
atoms.append(matter[i:i+2]); i += 2
elif matter[i] in ROTOR_B:
atoms.append(matter[i]); i += 1
else: i += 1
return action, atoms
def run_pro_audit():
files = [f for f in os.listdir('.') if f.endswith('.txt')]
if not files: return print("❌ Error: Please upload your .txt file to Colab.")
file_path = files[0]
words = clean_eva_text(file_path)
matrix = np.zeros((DISK_SIZE, DISK_SIZE))
jump_distances = []
violations = 0
mode_distribution = Counter()
for word in words:
action, atoms = parse_volvella(word)
mode_distribution[action] += 1
if action in LOCK_A_TO_B and any(a in LOCK_A_TO_B[action] for a in atoms):
violations += 1
for i in range(len(atoms)-1):
if atoms[i] in ATOM_POSITIONS and atoms[i+1] in ATOM_POSITIONS:
p1, p2 = ATOM_POSITIONS[atoms[i]], ATOM_POSITIONS[atoms[i+1]]
matrix[p1][p2] += 1
dist = abs(p1 - p2)
jump_distances.append(min(dist, DISK_SIZE - dist))
# --- VISUAL REPORTING ---
plt.style.use('dark_background')
fig = plt.figure(figsize=(18, 10))
# 1. HEATMAP: The Mechanical Footprint
ax1 = plt.subplot2grid((2, 2), (0, 0), rowspan=2)
sns.heatmap(matrix, annot=False, cmap="magma", cbar=True, ax=ax1,
xticklabels=ROTOR_B, yticklabels=ROTOR_B)
ax1.set_title("MECHANICAL TRANSITION MATRIX\nEvidence of Sequential Ratcheting", fontsize=15, color='cyan')
ax1.set_xlabel("Next Atom Position", fontsize=12)
ax1.set_ylabel("Current Atom Position", fontsize=12)
# 2. INERTIA: MS 408 vs RANDOM
ax2 = plt.subplot2grid((2, 2), (0, 1))
jumps_count = Counter(jump_distances)
total_jumps = sum(jumps_count.values())
x_jumps = range(14)
y_voynich = [jumps_count[d]/total_jumps * 100 for d in x_jumps]
y_random = [100/13] * 14
ax2.plot(x_jumps, y_voynich, color="cyan", marker='o', linewidth=2, label="MS 408 (Observed)")
ax2.plot(x_jumps, y_random, color="white", linestyle='--', alpha=0.5, label="Random Alphabet Theory")
ax2.fill_between(x_jumps, y_voynich, color="cyan", alpha=0.1)
ax2.set_title("ERGONOMIC INERTIA: Physical Proximity Bias", fontsize=13)
ax2.set_ylabel("% Frequency")
ax2.set_xlabel("Sectors Traversed on Wheel")
ax2.legend()
# 3. LOCK POWER: Hardware Constraints
ax3 = plt.subplot2grid((2, 2), (1, 1))
all_modes = ['qo', 'k', 't', 'p', 'f', 'NONE']
lock_vals = [len(LOCK_A_TO_B[k]) for k in all_modes]
colors = ['crimson' if v > 0 else 'gray' for v in lock_vals]
ax3.bar(all_modes, lock_vals, color=colors)
ax3.set_title("HARDWARE LOCK POWER: Mode Selector Constraints", fontsize=13)
ax3.set_ylabel("Number of Blocked Atoms")
ax3.set_xlabel("Gallow Mode")
plt.tight_layout()
plt.show()
# --- CONSOLE AUDIT ---
print(f"\nAUDIT REPORT FOR: {file_path}")
print("="*50)
print(f"Hardware Compliance: {((len(words)-violations)/len(words))*100:.2f}%")
print(f"Mechanical Efficiency (Short Jumps 0-3): {sum(y_voynich[:4]):.1f}%")
print("-" * 50)
print("MODE SELECTOR DEFINITIONS & CONSTRAINTS:")
for mode in all_modes:
blocked = LOCK_A_TO_B[mode]
status = f"BLOCKS: {blocked}" if blocked else "NEUTRAL / BYPASS"
print(f" - MODE [{mode.upper():<4}]: {status}")
print("="*50)
run_pro_audit()Best regards,
Alicia
![[Image: Testing-With-Ed.png]](https://i.postimg.cc/x8R0n4GT/Testing-With-Ed.png)
![[Image: Macros.png]](https://i.postimg.cc/xCYM3QjL/Macros.png)