unison-acset
Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.
Packaged view
This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.
Install command
npx @skill-hub/cli install plurigrid-asi-unison-acset
Repository
Skill path: skills/unison-acset
Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.
Open repositoryBest for
Primary workflow: Ship Full Stack.
Technical facets: Full Stack.
Target audience: everyone.
License: Unknown.
Original source
Catalog source: SkillHub Club.
Repository owner: plurigrid.
This is still a mirrored public skill entry. Review the repository before installing into production workflows.
What it helps with
- Install unison-acset into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
- Review https://github.com/plurigrid/asi before adding unison-acset to shared team environments
- Use unison-acset for development workflows
Works across
Favorites: 0.
Sub-skills: 0.
Aggregator: No.
Original source / Raw SKILL.md
---
name: unison-acset
description: Unison language ACSet-structured skill with hierarchical documentation parsing, SPI trajectory recording, and 1069 skill predictions from zubuyul seed.
version: 1.0.0
---
# Unison ACSet Skill
Content-addressed functional programming language with algebraic effects, parsed into ACSet hierarchical structure.
## Originary Interaction Entropy Seed
**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 Schema for Unison Documentation
```
@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
```
## Hierarchical Documentation Structure
### Level 0: Core Philosophy
| 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 |
### Level 1: Language Constructs
| 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 |
### Level 2: Abilities (Effect System)
| 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 |
### Level 3: UCM Commands
| 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 |
## 1069 Skill Predictions from Zubuyul Seed
Using SplitMix64 with seed 1069, we predict skill evolution trajectories:
### First 20 Skills (Verified)
```
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
```
### SPI Trajectory Recording Schema
```sql
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;
```
### Predicted Skill Distribution (1069 skills)
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.
## Unison Syntax Quick Reference
### Functions
```unison
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
```
### Delayed Computations
```unison
main : '{IO, Exception} ()
main = do printLine "hello"
-- Force with ! or ()
!main
main()
```
### Abilities
```unison
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]
```
### Distributed Computing
```unison
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
```
## UCM Commands
```bash
# 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
```
## Integration Points
### With gay-mcp
```julia
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
```
### With acsets-algebraic-databases
```julia
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)
```
### With spi-parallel-verify
```python
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!"
```
## Color World Package
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