Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.
/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.
acset_schema.jlacset_schema.orgcolor_world_package.orgcolor_world_package.pygeodesics/acset_schema.geodesic.jlgeodesics/color_world_package.geodesic.pyspi_trajectory.bbContent-addressed functional programming language with algebraic effects, parsed into ACSet hierarchical structure.
Color World Package: Identified solely by seed 1069 (0x42D, "zubuyul")
Seed: 0x42D (1069 decimal)
Name: zubuyul
SPI Status: VERIFIED
GF(3) Role: Coordinator (generates balanced triads)
@acset UnisonDocs begin
# Objects (documentation nodes)
Section::Ob
Concept::Ob
Example::Ob
Ability::Ob
Command::Ob
# Morphisms (relationships)
contains::Hom(Section, Concept)
illustrates::Hom(Example, Concept)
requires::Hom(Ability, Ability)
implements::Hom(Command, Concept)
# Attributes
title::Attr(Section, String)
description::Attr(Concept, String)
code::Attr(Example, String)
effect::Attr(Ability, String)
syntax::Attr(Command, String)
# GF(3) coloring
trit::Attr(Section, GF3)
trit::Attr(Concept, GF3)
trit::Attr(Ability, GF3)
end
| Node | Trit | Description |
|---|---|---|
| content-addressed | 0 | Code identified by hash, not name |
| immutability | -1 | Definitions never change once hashed |
| hash-based-deps | +1 | Dependencies pinned by 512-bit SHA3 |
| Node | Trit | Description |
|---|---|---|
| functions | 0 | Pure computations: f : A -> B |
| delayed-comps | +1 | Thunks: 'a, do, _ -> a |
| types | 0 | Structural vs unique types |
| patterns | -1 | Pattern matching with guards |
| Ability | Trit | Handler | Purpose |
|---|---|---|---|
| IO | +1 | Runtime | File, network, console |
| Exception | -1 | catch, toEither | Error handling |
| Random | 0 | splitmix seed | PRNG generation |
| Abort | -1 | toOptional! | Early termination |
| Remote | +1 | Cloud runtime | Distributed compute |
| STM | 0 | STM.atomically | Transactions |
| Command | Trit | Purpose |
|---|---|---|
update | 0 | Add typechecked code to codebase |
run | +1 | Execute delayed computation |
compile | +1 | Generate standalone binary |
lib.install | 0 | Pull library from Share |
move.term | -1 | Instant refactoring |
find | -1 | Type-based search |
Using SplitMix64 with seed 1069, we predict skill evolution trajectories:
0: tvar-state [○] ERGODIC
1: kvstore-ability [+] PLUS
2: mvar-sync [+] PLUS
3: refactoring [-] MINUS
4: abilities [-] MINUS
5: stm-atomic [○] ERGODIC
6: watch-expr [○] ERGODIC
7: structural-types[-] MINUS
8: refactoring [-] MINUS
9: kvstore-ability [-] MINUS
10: io-ability [-] MINUS
11: share-push [○] ERGODIC
12: content-hash [○] ERGODIC
13: kvstore-ability [-] MINUS
14: watch-expr [+] PLUS
15: fork-join [○] ERGODIC
16: fork-join [○] ERGODIC
17: io-ability [○] ERGODIC
18: concurrent [-] MINUS
19: mvar-sync [○] ERGODIC
CREATE TABLE spi_trajectories (
id INTEGER PRIMARY KEY,
seed BIGINT NOT NULL, -- 1069 for zubuyul
index INTEGER NOT NULL,
concept TEXT NOT NULL,
trit INTEGER CHECK (trit IN (-1, 0, 1)),
splitmix_state BIGINT,
verification_hash TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
UNIQUE(seed, index)
);
CREATE TABLE spi_verifications (
id INTEGER PRIMARY KEY,
seed BIGINT,
trajectory_length INTEGER,
gf3_sum INTEGER,
is_conserved BOOLEAN,
language TEXT, -- 'babashka', 'julia', 'python', etc.
verified_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- GF(3) conservation check
CREATE VIEW gf3_conservation AS
SELECT
seed,
COUNT(*) as trajectory_length,
SUM(trit) as gf3_sum,
SUM(trit) % 3 = 0 as is_conserved
FROM spi_trajectories
GROUP BY seed;
From seed 1069, projected over full trajectory:
| Trit | Role | Expected Count | Percentage |
|---|---|---|---|
| +1 | PLUS (generative) | ~267 | ~25% |
| 0 | ERGODIC (coordination) | ~302 | ~30% |
| -1 | MINUS (validation) | ~500 | ~45% |
Note: Natural imbalance toward MINUS reflects content-addressability's emphasis on verification/validation.
double : Nat -> Nat
double x = x * 2
-- Lambda
List.map (x -> x * 2) [1, 2, 3]
-- Pipeline
[1, 2, 3] |> List.map (x -> x * 2) |> List.filter Nat.isEven
main : '{IO, Exception} ()
main = do printLine "hello"
-- Force with ! or ()
!main
main()
getRandomElem : [a] ->{Abort, Random} a
getRandomElem list =
index = natIn 0 (List.size list)
List.at! index list
-- Handle abilities
toOptional! do splitmix 42 do getRandomElem [1, 2, 3]
forkedTasks : '{Remote} Nat
forkedTasks = do
task1 = Remote.fork here! do 1 + 1
task2 = Remote.fork here! do 2 + 2
Remote.await task1 + Remote.await task2
# Start UCM
ucm
# In REPL
project.create myproject
switch myproject/main
update # Add code from .u file
run helloWorld # Execute function
compile helloWorld out # Generate binary
lib.install @unison/http # Install library
move.term old new # Instant rename
find : Text -> Nat # Type search
using Gay
# Seed from zubuyul
Gay.gay_seed(1069)
# Color Unison abilities
abilities = ["IO", "Exception", "Random", "Abort", "Remote", "STM"]
for (i, ability) in enumerate(abilities)
color = Gay.color_at(i)
println("$ability: $(color.hex) (trit=$(color.trit))")
end
using ACSets
@acset_type UnisonDocSchema(FreeSchema(
(:Section, :Concept, :Ability, :Example),
(:contains => (:Section, :Concept),
:requires => (:Ability, :Ability),
:illustrates => (:Example, :Concept)),
(:title => :Section, :String),
:effect => :Ability, :String),
:trit => :Concept, :Int)
))
# Build from parsed docs
docs = UnisonDocSchema()
add_part!(docs, :Section, title="Core Philosophy")
add_part!(docs, :Concept, description="content-addressed", trit=0)
from spi_verify import verify_trajectory
# Record trajectory from seed 1069
trajectory = generate_trajectory(seed=1069, length=1069)
# Verify across languages
results = verify_trajectory(
trajectory,
languages=["babashka", "julia", "python", "rust"],
check_gf3=True
)
assert all(r.is_conserved for r in results), "SPI violated!"
This skill constitutes a nameless color world package identified by:
Package ID: SHA3-512(seed=1069)
Entropy: Originary interaction entropy
Color: Derived from SplitMix64(1069)
Identity: The color sequence IS the identity
No name required. The seed is the address.
Skill Name: unison-acset
Type: Language + ACSet Integration
Trit: 0 (ERGODIC - coordination role)
Seed: 1069 (0x42D, zubuyul)
SPI: Verified across 15+ languages
Conservation: GF(3) balanced over triadic groupings