Asi pre-agent-ontology

Pre-Agent Ontology Skill

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/pre-agent-ontology" ~/.claude/skills/plurigrid-asi-pre-agent-ontology-39585a && rm -rf "$T"
manifest: skills/pre-agent-ontology/SKILL.md
source content

Pre-Agent Ontology Skill

Trit: 0 (ERGODIC - coordinates the ontology)

Foundational 5-layer ontology for agent-o-rama. Agents are not primitives—they emerge from derivations, stalks, and sections when gluing succeeds.

Related Skills

  • unworld: Derivational succession (Layer 1)
  • sheaf-cohomology: Gluing verification (Layer 2)
  • bisimulation-game: Observational equivalence (Layer 2)
  • acsets: Categorical database structure (Layer 2)

5-Layer Hierarchy

Layer 4: EMERGENT        agent, skill, experiment
            ↑
Layer 3: OPERATIONAL     node, emit, aggregation, result
            ↑
Layer 2: SHEAF           stalk, section, cohomology
            ↑
Layer 1: DERIVATIONAL    derivation, chain
            ↑
Layer 0: PRE-ONTOLOGICAL seed, trit, γ (gamma)

Layer 0: Pre-Ontological (Absolute Primitives)

TermTypeDefinition
seeduint64Deterministic state replacing time
trit{-1, 0, +1}GF(3) charge element
γconstant0x9E3779B97F4A7C15 (golden ratio bits)

Layer 1: Derivational

TermTypeDefinition
derivation(Seed × Trit) → (Seed × Section)Fundamental computation unit
chain[Seed]Sequence of derived seeds

Rule:

seed_{n+1} = splitmix64(seed_n ⊕ (trit_n × γ))

Layer 2: Sheaf-Theoretic

TermTypeDefinition
stalkSet(Section)Collection of sections over one trit
sectionlocal dataOutput of derivation, can glue
cohomology(H⁰, H¹)Global sections and obstructions

Stalk Distribution (2-3-2):

MINUS:   2 elements, trit=-1, role=validator
ERGODIC: 3 elements, trit=0,  role=coordinator
PLUS:    2 elements, trit=+1, role=generator

Verification: 2(-1) + 3(0) + 2(+1) = 0 ✓

Layer 3: Operational

TermSheaf Correspondence
nodesection-producer
emitstalk transition
aggregationgluing (cocycle check)
resultglobal section (H⁰ element)

Layer 4: Emergent

TermDefinition
agentFiber bundle over trit poset {-1, 0, +1}
skillExecutable section (self-contained knowledge)
experimentDerivation chain evaluation

Key:

Agent = Observation(Bundle(Stalk₋₁, Stalk₀, Stalk₊₁))


5 Stability Invariants

IDInvariantFormulaVerified By
I1GF(3) Conservation
Σ trits ≡ 0 (mod 3)
aggregation, trifurcate
I2Determinism
derive(s,t) = derive(s,t)
seed chaining
I3Order Independence (SPI)
parallel(f) = sequential(f)
spi-parallel-verify
I4Gluing (Cocycle)
g_ij ∘ g_jk = g_ik
cohomology check
I5Bisimulation
A ~ B ⟺ ∀obs. obs(A) = obs(B)
bisimulation-game

Key Primitives

Seed

64-bit unsigned integer replacing temporal state. Same seed → identical derivation chains.

Trit

GF(3) element in {-1, 0, +1}. Forms a field under modular arithmetic.

Derivation

Fundamental computation:

(Seed × Trit) → (Seed × Section)

Replaces temporal succession with seed-based chaining.

Stalk

Collection of sections over a single trit value. Organized as fiber bundle.

Section

Local data produced by derivation. Sections glue to form global sections when cocycle condition holds.


Trifurcation Pattern (MANDATORY)

Every operation MUST split into three sub-derivations:

             intent
                │
       ┌────────┼────────┐
       ▼        ▼        ▼
    MINUS    ERGODIC   PLUS
    (-1)      (0)      (+1)
   validate  coordinate generate
       │        │        │
       └────────┼────────┘
                ▼
           aggregate
         (verify Σ=0)
Sub-AgentTritRoleSkills
MINUS-1Validatorspi-parallel-verify, bisimulation-game
ERGODIC0Coordinatorglass-bead-game, triad-interleave
PLUS+1Generatorgflownet, self-evolving-agent

Clojure Implementation

Constants

(def GENESIS-SEED 0x42D)
(def GAMMA 0x9E3779B97F4A7C15)
(def MIX1 0xBF58476D1CE4E5B9)
(def MIX2 0x94D049BB133111EB)

Derivation

(defn derive-seed [seed trit]
  (let [adjusted (bit-xor seed (* trit GAMMA))]
    (splitmix64-next adjusted)))

(defn derivation-chain [genesis-seed trits]
  (reductions derive-seed genesis-seed trits))

GF(3) Arithmetic

(defn gf3-add [a b]
  (let [sum (+ a b)]
    (cond (> sum 1)  (- sum 3)
          (< sum -1) (+ sum 3)
          :else      sum)))

(defn gf3-conserved? [trits]
  (zero? (reduce gf3-add 0 trits)))

Trifurcate Pattern

;; Scatter: emit three roles
(aor/agg-start-node
 "scatter"
 "execute-role"
 (fn [agent-node {:keys [intent]}]
   (aor/emit! agent-node "execute-role" {:intent intent :role :minus})
   (aor/emit! agent-node "execute-role" {:intent intent :role :ergodic})
   (aor/emit! agent-node "execute-role" {:intent intent :role :plus})))

;; Gather: verify conservation
(aor/agg-node
 "execute-role"
 nil
 aggs/+vec-agg
 (fn [agent-node requests _]
   (let [results (mapv execute-role requests)
         trits (mapv :trit results)
         conserved? (gf3-conserved? trits)]
     (aor/result! agent-node {:conserved conserved? :trits trits}))))

Verification Checklist

Before any operation completes:

  • GF(3) sum ≡ 0 (mod 3)
  • All three trits represented (trifurcation)
  • Cocycle condition satisfied (sections glue)
  • Deterministic (same seed → same result)
  • Order-independent (SPI holds)

Sources