Asi libghostty-embed

libghostty terminal embedding for per-vat REPLs with Goblins integration

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/libghostty-embed" ~/.claude/skills/plurigrid-asi-libghostty-embed && rm -rf "$T"
manifest: skills/libghostty-embed/SKILL.md
source content

libghostty-embed Skill

Trit: +1 (PLUS - terminal output producer) Level: 4 (EXPERT) Header:

~/worlds/b/bmorphism/trittty/include/ghostty.h

Core Types

typedef void* ghostty_app_t;
typedef void* ghostty_surface_t;
typedef void* ghostty_config_t;

Per-Vat Terminal

Each Goblins vat gets its own

ghostty_surface_t
:

pub const VatTerminal = struct {
    surface: c.ghostty_surface_t,
    vat_id: []const u8,
    trit: i8, // GF(3) phase
};

GF(3) Triplet

vat-minus (⊖ -1) × vat-zero (⊙ 0) × vat-plus (⊕ +1) = 0 ✓

Canonical Triads

move-contract (-1) ⊗ qualia-bank (0) ⊗ libghostty-embed (+1) = 0 ✓
zig-programming (-1) ⊗ nickel (0) ⊗ libghostty-embed (+1) = 0 ✓

Interaction Modes

ModeGoblins SyntaxTerminal
inside_sync
($ obj 'method)
Same surface
outside_async
(<- obj 'method)
Route between surfaces
outside_remotesturdyrefCapTP network

Autopoietic Marginalia

The interaction IS the skill improving itself.

Every use of this skill is an opportunity for worlding:

  • MEMORY (-1): Record what was learned
  • REMEMBERING (0): Connect patterns to other skills
  • WORLDING (+1): Evolve the skill based on use

Add Interaction Exemplars here as the skill is used.