auto: hourly snapshot 2026-06-08 15:34
This commit is contained in:
+66
-17
@@ -1,17 +1,66 @@
|
||||
"""Quick inspector for fractonaut_observations.jsonl"""
|
||||
import json, sys
|
||||
p = sys.argv[1] if len(sys.argv) > 1 else \
|
||||
"/mnt/d/Resonance_Engine/traj/regime_20260608T133059/fractonaut_observations.jsonl"
|
||||
entries = [json.loads(l) for l in open(p)]
|
||||
print(f"=== {len(entries)} entries ===\n")
|
||||
for i, e in enumerate(entries[:4]):
|
||||
ev = e.get("context", {}).get("event", "?")
|
||||
print(f"--- [{i}] event={ev} elapsed={e.get('elapsed_s', '?'):.1f}s ---")
|
||||
print(f"Q: {e['question'][:300]}")
|
||||
resp = e.get("response") or e.get("error") or ""
|
||||
print(f"A: {resp[:500]}\n")
|
||||
print(f"--- last entry [{len(entries)-1}] ---")
|
||||
e = entries[-1]
|
||||
print(f"event={e.get('context',{}).get('event','?')}")
|
||||
print(f"Q: {e['question'][:300]}")
|
||||
print(f"A: {(e.get('response') or e.get('error') or '')[:600]}")
|
||||
"""Survey Fractonaut output for interesting/distinctive content."""
|
||||
import json, sys, re
|
||||
from collections import Counter
|
||||
|
||||
def load(p):
|
||||
out = []
|
||||
with open(p) as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
if not line: continue
|
||||
try: out.append(json.loads(line))
|
||||
except: pass
|
||||
return out
|
||||
|
||||
def text_of(e):
|
||||
return (e.get("response") or e.get("observation") or e.get("error") or "").strip()
|
||||
|
||||
paths = sys.argv[1:] or [
|
||||
"/mnt/d/Resonance_Engine/traj/regime_20260608T133638/fractonaut_observations.jsonl",
|
||||
"/mnt/d/Resonance_Engine/fractonaut_chronicle.jsonl",
|
||||
]
|
||||
|
||||
for p in paths:
|
||||
print("=" * 78)
|
||||
print(f"FILE: {p}")
|
||||
print("=" * 78)
|
||||
es = load(p)
|
||||
print(f"entries: {len(es)}")
|
||||
texts = [text_of(e) for e in es]
|
||||
texts = [t for t in texts if t]
|
||||
print(f"non-empty: {len(texts)}")
|
||||
lens = sorted(len(t) for t in texts)
|
||||
if not lens:
|
||||
print("(no text)\n"); continue
|
||||
print(f"length min/med/max: {lens[0]} / {lens[len(lens)//2]} / {lens[-1]}")
|
||||
|
||||
boiler = sum(1 for t in texts if re.match(r"^[Aa]symmetry", t))
|
||||
idle = sum(1 for t in texts if t.lower().startswith("idle"))
|
||||
cycle_ref = sum(1 for t in texts if "cycle 11943500" in t)
|
||||
market_words = sum(1 for t in texts if re.search(r"\b(market|trade|buy|sell|price|volatility|liquidity|order|volume|spike|absorb|bid|ask|flow)\b", t, re.I))
|
||||
pattern_words = sum(1 for t in texts if re.search(r"\b(resembl|similar|recall|earlier|history|like .*(before))\b", t, re.I))
|
||||
print(f"start with 'asymmetry': {boiler}/{len(texts)}")
|
||||
print(f"start with 'idle': {idle}/{len(texts)}")
|
||||
print(f"reference cycle 11943500: {cycle_ref}/{len(texts)}")
|
||||
print(f"mention market/trade words: {market_words}/{len(texts)}")
|
||||
print(f"mention pattern/recall: {pattern_words}/{len(texts)}")
|
||||
|
||||
pairs = sorted(zip([len(t) for t in texts], texts), reverse=True)
|
||||
print("\n--- 5 longest responses ---")
|
||||
for L, t in pairs[:5]:
|
||||
print(f"[{L} chars] {t[:800]}")
|
||||
print()
|
||||
|
||||
novel = [t for t in texts if not re.match(r"^[Aa]symmetry", t) and not t.lower().startswith("idle")]
|
||||
print(f"\n--- {len(novel)} non-boilerplate (showing 10) ---")
|
||||
for t in novel[:10]:
|
||||
print(f" - {t[:400]}")
|
||||
|
||||
words = Counter()
|
||||
for t in texts:
|
||||
for w in re.findall(r"[a-zA-Z]+", t.lower()):
|
||||
if len(w) >= 5: words[w] += 1
|
||||
print("\n--- top 20 words (len>=5) ---")
|
||||
for w, c in words.most_common(20):
|
||||
print(f" {c:5d} {w}")
|
||||
print()
|
||||
|
||||
Reference in New Issue
Block a user