-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbundle_mutation_tree.sh
More file actions
68 lines (59 loc) · 2.14 KB
/
Copy pathbundle_mutation_tree.sh
File metadata and controls
68 lines (59 loc) · 2.14 KB
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
#!/bin/bash
# LANIMORPH :: Advanced Mutation Tree ZIP Bundler
BUNDLE_DIR="$HOME/LANIMORPH/export"
mkdir -p "$BUNDLE_DIR"
DATE=$(date +%Y%m%d_%H%M%S)
ZIP_NAME="mutation_bundle_${DATE}.zip"
ZIP_PATH="$BUNDLE_DIR/$ZIP_NAME"
echo "[*] Regenerating lineage + SVG..."
python3 ~/LANIMORPH/chain/tag_lineage.py
python3 ~/LANIMORPH/chain/mutation_tree_svg.py
python3 ~/LANIMORPH/chain/tree_viewer_html.py
echo "[*] Generating stats..."
# Stats file
STATS_FILE="$HOME/LANIMORPH/chain/mutation_stats.txt"
python3 - << EOF2 > "$STATS_FILE"
import json, os
meta_dir = os.path.expanduser("~/LANIMORPH/vault/metadata")
counts = {}
for f in os.listdir(meta_dir):
if f.endswith(".meta"):
with open(os.path.join(meta_dir, f)) as m:
p = json.load(m).get("personality", "Unknown")
counts[p] = counts.get(p, 0) + 1
print("LANIMORPH Personality Stats\n" + "="*30)
for k, v in sorted(counts.items(), key=lambda x: -x[1]):
print(f"{k:<10} : {v}")
EOF2
echo "[*] Calculating deepest lineage path..."
DEEP_FILE="$HOME/LANIMORPH/chain/deepest_lineage.txt"
python3 - << EOF3 > "$DEEP_FILE"
import json
with open(os.path.expanduser("~/LANIMORPH/logs/mutation_lineage.json")) as f:
lineage = json.load(f)
depths = {}
def trace(name):
parent = lineage.get(name, {}).get("parent")
return 1 + trace(parent) if parent else 1
for name in lineage:
depths[name] = trace(name)
deepest = max(depths.items(), key=lambda x: x[1])
print(f"Deepest Mutation Chain:\n{deepest[0]} → depth {deepest[1]}")
EOF3
echo "[*] Creating ZIP bundle..."
zip -j "$ZIP_PATH" \
"$HOME/LANIMORPH/chain/mutation_tree.svg" \
"$HOME/LANIMORPH/chain/mutation_tree.html" \
"$HOME/LANIMORPH/logs/mutation_lineage.json" \
"$HOME/LANIMORPH/logs/inject_silent.log" \
"$HOME/LANIMORPH/chain/mutation_stats.txt" \
"$HOME/LANIMORPH/chain/deepest_lineage.txt"
# Optionally add .meta files
META_FILES=$(find "$HOME/LANIMORPH/vault/metadata/" -type f -name "*.meta")
zip -j "$ZIP_PATH" $META_FILES
# Optionally add QR flyers
QR_DIR="$HOME/LANIMORPH/vault/qr"
if [ -d "$QR_DIR" ]; then
find "$QR_DIR" -type f -name "*.html" -o -name "*.png" | zip -j "$ZIP_PATH" -@
fi
echo "[✓] Advanced bundle created: $ZIP_PATH"