Interleaved skill combining Rama distributed semantics, Gay.jl GF(3) color logic, and Zig package management for ASI coordination.
/plugin marketplace add plurigrid/asi/plugin install asi-skills@asi-skillsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Interleaved skill combining Rama distributed semantics, Gay.jl GF(3) color logic, and Zig package management for ASI coordination.
| Component | Trit | Role | Hue Range |
|---|---|---|---|
| Gay.jl | -1 (MINUS) | Color assignment, SPI verification | 180-300° (cold) |
| Rama | 0 (ERGODIC) | Topology coordination, dataflow | 60-180° (neutral) |
| Zig | +1 (PLUS) | Build execution, package resolution | 0-60°, 300-360° (warm) |
Conservation invariant: Σ trits ≡ 0 (mod 3)
using Gay
# GF(3) trit assignment for streams
struct GayTrit
value::Int8 # -1, 0, +1
color::GayRGB
fingerprint::UInt64
end
# Interleave colors with Rama primitives
function rama_color_depot(depot_name::Symbol, trit::GayTrit)
verify_spi = gay_verify_spi(trit.fingerprint)
(depot = depot_name, color = trit.color, spi = verify_spi)
end
;; Rama module with Gay.jl color-tagged streams
(defmodule GayColorModule [setup topologies]
;; Depot: MINUS trit (input stream)
(declare-depot setup *color-events :random)
;; PState: PLUS trit (materialized output)
(declare-pstate setup $$color-index
{Long (map-schema :fingerprint Long :color String :trit Int)})
;; Topology: ERGODIC trit (transformation)
(<<sources topologies
(source> *color-events :> %event)
(|hash (:fingerprint %event))
(local-transform>
[(keypath (:fingerprint %event)) (termval %event)]
$$color-index)))
// build.zig.zon - Gay-Rama interop package
.{
.name = "rama-gay-zig",
.version = "0.1.0",
.dependencies = .{
.gay_ffi = .{
.url = "https://github.com/bmorphism/gay.jl/archive/refs/heads/main.tar.gz",
.hash = "...",
},
.rama_client = .{
.url = "https://github.com/redplanetlabs/rama-zig-client/archive/refs/heads/main.tar.gz",
.hash = "...",
},
},
}
// src/gay_rama.zig - Trit-colored Rama client
const std = @import("std");
const gay = @import("gay_ffi");
const rama = @import("rama_client");
pub const Trit = enum(i8) {
minus = -1, // Gay.jl: color source
ergodic = 0, // Rama: topology
plus = 1, // Zig: execution
pub fn conserved(trits: []const Trit) bool {
var sum: i32 = 0;
for (trits) |t| sum += @as(i32, @intFromEnum(t));
return @mod(sum, 3) == 0;
}
};
pub const ColoredDepot = struct {
name: []const u8,
trit: Trit,
fingerprint: u64,
pub fn append(self: *ColoredDepot, data: []const u8) !void {
const color = gay.next_color(self.fingerprint);
try rama.depot_append(self.name, .{
.data = data,
.color = color,
.trit = @intFromEnum(self.trit),
});
}
};
┌─────────────────────────────────────────────────────────────────┐
│ RAMA-GAY-ZIG INTERLEAVE │
├─────────────────────────────────────────────────────────────────┤
│ Gay.jl (-1) ──color──▶ Rama (0) ──exec──▶ Zig (+1) │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ SPI verify Depot append Build.zig │
│ Fingerprint PState query Package fetch │
│ Trit assign Topology run WASM compile │
├─────────────────────────────────────────────────────────────────┤
│ Σ(-1 + 0 + 1) = 0 (mod 3) ✓ GF(3) CONSERVED │
└─────────────────────────────────────────────────────────────────┘
;; Interleave Claude threads with Gay.jl colors into Rama
(require '[babashka.process :refer [shell]])
(defn gay-rama-append [thread]
(let [fingerprint (hash (:id thread))
trit (mod fingerprint 3)
color (case trit 0 :minus 1 :ergodic 2 :plus)]
(shell "curl" "-X" "POST"
(str "http://$RAMA_HOST:2000/rest/GayColorModule/depot/*color-events/append")
"-d" (json/generate-string
{:data thread :trit trit :color (name color)}))))
zig build run -- --depot color-events --trit minus --fingerprint 0xDEADBEEF
using Gay
# Create interleaved stream
interleaver = GayInterleaver(seed=0x42)
for (trit, color) in gay_interleave_streams([:rama, :zig, :julia])
@info "Stream" trit color gay_fingerprint(color)
end
This skill connects:
bmorphism/gay.jl - GF(3) color theory + SPI verificationredplanetlabs/rama-* - Distributed backend primitivesziglang/zig - Build system + package managerplurigrid/asi - ASI skill orchestration