bin/ 230 CLI tools (ask-*, br-*, agent-*, roadid, carpool) scripts/ 99 automation scripts fleet/ Node configs and deployment workers/ Cloudflare Worker sources (roadpay, road-search, squad webhooks) roadc/ RoadC programming language roadnet/ Mesh network (5 APs, WireGuard) operator/ Memory system scripts config/ System configs dotfiles/ Shell configs docs/ Documentation BlackRoad OS — Pave Tomorrow. RoadChain-SHA2048: d1a24f55318d338b RoadChain-Identity: alexa@sovereign RoadChain-Full: d1a24f55318d338b24b60bad7be39286379c76ae5470817482100cb0ddbbcb97e147d07ac7243da0a9f0363e4e5c833d612b9c0df3a3cd20802465420278ef74875a5b77f55af6fe42a931b8b635b3d0d0b6bde9abf33dc42eea52bc03c951406d8cbe49f1a3d29b26a94dade05e9477f34a7d4d4c6ec4005c3c2ac54e73a68440c512c8e83fd9b1fe234750b898ef8f4032c23db173961fe225e67a0432b5293a9714f76c5c57ed5fdf35b9fb40fd73c03ebf88b7253c6a0575f5afb6a6b49b3bda310602fb1ef676859962dad2aebbb2875814b30eee0a8ba195e482d4cbc91d8819e7f38f6db53e8063401649c77bb994371473cabfb917fb53e8cbe73d60
192 lines
5.9 KiB
Python
Executable File
192 lines
5.9 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""
|
|
br-live-demo
|
|
Live demonstration of BR visual language in action.
|
|
Shows sequences, flows, and real-time semantic rendering.
|
|
"""
|
|
|
|
import sys
|
|
import time
|
|
import random
|
|
|
|
RESET = "\x1b[0m"
|
|
CLEAR = "\x1b[2J\x1b[H"
|
|
BOLD = "\x1b[1m"
|
|
DIM = "\x1b[2m"
|
|
|
|
# Canonical BR shapes
|
|
SHAPES = {
|
|
range(0, 16): "█", range(16, 52): "▓", range(52, 88): "▶",
|
|
range(88, 124): "●", range(124, 160): "◆", range(160, 196): "▲",
|
|
range(196, 232): "✖", range(232, 256): "◌",
|
|
}
|
|
|
|
SPECIAL = {
|
|
0: "∅", 1: "✗", 2: "✓", 3: "⚠",
|
|
196: "✗", 202: "⚡", 226: "★", 232: "∅", 255: "◉",
|
|
}
|
|
|
|
TOKENS = {
|
|
16: "RAW_SENSOR", 28: "VALID_INPUT", 64: "EXEC_HIGH", 100: "MEM_PERSIST",
|
|
2: "SUCCESS", 130: "AGENT_THINK", 136: "AGENT_EXEC", 178: "WARN_DRIFT",
|
|
196: "ERROR_FATAL", 190: "WARN_DEGRADE", 184: "RETRY",
|
|
}
|
|
|
|
def get_shape(color):
|
|
if color in SPECIAL:
|
|
return SPECIAL[color]
|
|
for color_range, shape in SHAPES.items():
|
|
if color in color_range:
|
|
return shape
|
|
return "?"
|
|
|
|
def render_glyph(color, width=3):
|
|
"""Render a colored glyph."""
|
|
shape = get_shape(color)
|
|
bg = f"\x1b[48;5;{color}m"
|
|
fg_color = 255 if color < 128 else 0
|
|
fg = f"\x1b[38;5;{fg_color}m"
|
|
return f"{bg}{fg}{shape:^{width}}{RESET}"
|
|
|
|
def demo_pipeline():
|
|
"""Demonstrate HTTP request pipeline."""
|
|
print(f"\n{BOLD}HTTP REQUEST PIPELINE{RESET}\n")
|
|
|
|
sequence = [
|
|
(16, "RAW_SENSOR", "Receive HTTP request"),
|
|
(28, "VALID_INPUT", "Parse and validate"),
|
|
(64, "EXEC_HIGH", "Route to handler"),
|
|
(100, "MEM_PERSIST", "Write to database"),
|
|
(2, "SUCCESS", "Return 200 OK"),
|
|
]
|
|
|
|
for i, (color, token, desc) in enumerate(sequence):
|
|
if i > 0:
|
|
print(" ↓")
|
|
print(f"{render_glyph(color, 5)} {token:15} {DIM}{desc}{RESET}")
|
|
time.sleep(0.5)
|
|
|
|
print(f"\n{DIM}Full sequence: 16 → 28 → 64 → 100 → 2{RESET}")
|
|
|
|
def demo_agent_loop():
|
|
"""Demonstrate agent decision loop."""
|
|
print(f"\n{BOLD}AGENT DECISION LOOP{RESET}\n")
|
|
|
|
sequence = [
|
|
(130, "AGENT_THINK", "Analyze situation"),
|
|
(136, "AGENT_EXEC", "Take action"),
|
|
(88, "MEM_VOLATILE", "Update internal state"),
|
|
(178, "WARN_DRIFT", "Detected anomaly"),
|
|
(130, "AGENT_THINK", "Re-evaluate"),
|
|
]
|
|
|
|
for color, token, desc in sequence:
|
|
print(f"{render_glyph(color, 5)} {token:15} {DIM}{desc}{RESET}")
|
|
time.sleep(0.5)
|
|
|
|
print(f"\n{DIM}Full sequence: 130 → 136 → 88 → 178 → 130{RESET}")
|
|
|
|
def demo_error_recovery():
|
|
"""Demonstrate error recovery."""
|
|
print(f"\n{BOLD}ERROR RECOVERY SEQUENCE{RESET}\n")
|
|
|
|
sequence = [
|
|
(196, "ERROR_FATAL", "Critical failure"),
|
|
(190, "WARN_DEGRADE", "Enter degraded mode"),
|
|
(184, "RETRY", "Attempt recovery"),
|
|
(2, "SUCCESS", "Recovery succeeded"),
|
|
]
|
|
|
|
for color, token, desc in sequence:
|
|
print(f"{render_glyph(color, 5)} {token:15} {DIM}{desc}{RESET}")
|
|
time.sleep(0.5)
|
|
|
|
print(f"\n{DIM}Full sequence: 196 → 190 → 184 → 2{RESET}")
|
|
|
|
def demo_zone_showcase():
|
|
"""Show all zones with their shapes."""
|
|
print(f"\n{BOLD}BR ZONE SHAPE GRAMMAR{RESET}\n")
|
|
|
|
zones = [
|
|
("OS_LAYER", 7, "█", "Core system primitives"),
|
|
("PERCEPTION", 28, "▓", "Input, sensors, listeners"),
|
|
("EXECUTION", 64, "▶", "Actions, mutations, writes"),
|
|
("MEMORY", 100, "●", "State, cache, persistence"),
|
|
("AUTONOMY", 136, "◆", "Agents, decision, delegation"),
|
|
("TENSION", 178, "▲", "Warnings, drift, uncertainty"),
|
|
("PARADOX", 202, "✖", "Errors, contradiction, halt"),
|
|
("META", 244, "◌", "Null, silence, void, escape"),
|
|
]
|
|
|
|
for zone_name, color, shape, desc in zones:
|
|
print(f"{render_glyph(color, 5)} {shape} {zone_name:12} {DIM}{desc}{RESET}")
|
|
time.sleep(0.3)
|
|
|
|
def demo_live_swarm():
|
|
"""Simulate live agent swarm activity."""
|
|
print(f"\n{BOLD}LIVE AGENT SWARM (10 agents){RESET}\n")
|
|
|
|
agents = [
|
|
("api", 40), ("executor", 64), ("memory", 100),
|
|
("planner", 130), ("sentinel", 178), ("validator", 28),
|
|
("deployer", 72), ("monitor", 160), ("recovery", 184),
|
|
("coordinator", 138),
|
|
]
|
|
|
|
print("Initial state:")
|
|
for name, color in agents:
|
|
print(f" {render_glyph(color, 3)} {name:12}", end=" ")
|
|
if agents.index((name, color)) % 3 == 2:
|
|
print()
|
|
|
|
print(f"\n\n{DIM}Simulating 5 seconds of activity...{RESET}\n")
|
|
|
|
for _ in range(5):
|
|
time.sleep(1)
|
|
# Randomly show some state changes
|
|
active = random.choice(agents)
|
|
print(f"{render_glyph(active[1], 3)} {active[0]} active")
|
|
|
|
def main():
|
|
print(CLEAR)
|
|
print("═" * 70)
|
|
print(f"{BOLD}BR VISUAL LANGUAGE — LIVE DEMO{RESET}")
|
|
print("═" * 70)
|
|
|
|
demos = [
|
|
("1", "HTTP Request Pipeline", demo_pipeline),
|
|
("2", "Agent Decision Loop", demo_agent_loop),
|
|
("3", "Error Recovery", demo_error_recovery),
|
|
("4", "Zone Shape Grammar", demo_zone_showcase),
|
|
("5", "Live Agent Swarm", demo_live_swarm),
|
|
("6", "All Demos", None),
|
|
]
|
|
|
|
if len(sys.argv) > 1:
|
|
choice = sys.argv[1]
|
|
else:
|
|
print("\nSelect demo:\n")
|
|
for num, name, _ in demos:
|
|
print(f" {num}. {name}")
|
|
print("\nUsage: br-live-demo <number>")
|
|
print(f"Example: br-live-demo 1\n")
|
|
sys.exit(0)
|
|
|
|
if choice == "6":
|
|
for _, name, func in demos[:-1]:
|
|
print(f"\n{'─' * 70}")
|
|
func()
|
|
time.sleep(2)
|
|
else:
|
|
for num, name, func in demos:
|
|
if num == choice and func:
|
|
func()
|
|
break
|
|
|
|
print(f"\n{'═' * 70}")
|
|
print(f"{DIM}Use 'br-shape' for static sequences{RESET}")
|
|
print(f"{DIM}Use 'br-palette' for interactive exploration{RESET}\n")
|
|
|
|
if __name__ == "__main__":
|
|
main()
|