home / skills / plurigrid / asi / graph-grafting
This skill applies graph grafting concepts to attach rooted trees to graphs, enabling advanced topology operations and combinatorial reasoning.
npx playbooks add skill plurigrid/asi --skill graph-graftingReview the files below or copy the command above to add this skill to your agents.
---
name: graph-grafting
description: Graph Grafting Skill
version: 1.0.0
---
# Graph Grafting Skill
**Trit**: 0 (ERGODIC - Coordinator)
**GF(3) Triad**: `queryable (-1) ⊗ graftable (0) ⊗ derangeable (+1) = 0`
## Overview
Combinatorial complex operations replacing GraphQL with pure graph theory:
| Operation | Trit | Description |
|-----------|------|-------------|
| **Queryable** | -1 | Tree-shape decision via bag decomposition |
| **Colorable** | 0 | GF(3) 3-coloring via sheaf |
| **Derangeable** | +1 | Permutations with no fixed points |
| **Graftable** | 0 | Attach rooted tree at vertex |
## Mathematical Foundation
**Grafting** = attaching a rooted tree T at vertex v of graph G:
```
Graft(T, v, G) → G' where:
- V(G') = V(G) ∪ V(T)
- E(G') = E(G) ∪ E(T) ∪ {(v, root(T))}
- Adhesion = shared labels at attachment point
```
## Quadrant Chart: Colorable × Derangeable
```
Balanced (GF3=0)
│
Q2 │ Q1 ← OPTIMAL
Identity │ PR#18, Knight Tour
│ SICM Galois
──────────────┼──────────────
Q3 │ Q4
Deadlock │ Phase Trans
│
Fixed Points → Derangement
```
## Usage
```julia
using .GraphGrafting
c = GraftComplex(UInt64(1069))
# Build PR tree
root = GraftNode(:pr18, Int8(0), :golden, 0)
alice = GraftNode(:alice, Int8(-1), :baseline, 1)
bob = GraftNode(:bob, Int8(1), :original, 1)
# Graft nodes
graft!(c, root, :none, String[])
graft!(c, alice, :pr18, ["aptos-wallet-mcp"])
graft!(c, bob, :pr18, ["aptos-wallet-mcp"])
# Operations
tree_shape(c) # Queryable
trit_partition(c) # Colorable
derange!(c) # Derangeable
compose(c1, c2, :vertex) # Graftable
# Verify
verify_gf3(c) # → (conserved=true, sum=0)
```
## Neighbors
### High Affinity
- `three-match` (-1): Graph coloring verification
- `derangeable` (+1): No fixed points
- `bisimulation-game` (-1): Attacker/Defender
### Example Triad
```yaml
skills: [graph-grafting, three-match, derangeable]
sum: (0) + (-1) + (+1) = 0 ✓ CONSERVED
```
## References
- Joyal, Combinatorial Species (1981)
- Flajolet & Sedgewick, Analytic Combinatorics (2009)
- Topos Institute, Observational Bridge Types
## Scientific Skill Interleaving
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
### Graph Theory
- **networkx** [○] via bicomodule
- Graph manipulation and algorithms
### Bibliography References
- `graph-theory`: 38 citations in bib.duckdb
## SDF Interleaving
This skill connects to **Software Design for Flexibility** (Hanson & Sussman, 2021):
### Primary Chapter: 1. Flexibility through Abstraction
**Concepts**: combinators, compose, parallel-combine, spread-combine, arity
### GF(3) Balanced Triad
```
graph-grafting (−) + SDF.Ch1 (+) + [balancer] (○) = 0
```
**Skill Trit**: -1 (MINUS - verification)
### Secondary Chapters
- Ch4: Pattern Matching
- Ch10: Adventure Game Example
### Connection Pattern
Combinators compose operations. This skill provides composable abstractions.
## Cat# Integration
This skill maps to **Cat# = Comod(P)** as a bicomodule in the equipment structure:
```
Trit: 0 (ERGODIC)
Home: Prof
Poly Op: ⊗
Kan Role: Adj
Color: #26D826
```
### GF(3) Naturality
The skill participates in triads satisfying:
```
(-1) + (0) + (+1) ≡ 0 (mod 3)
```
This ensures compositional coherence in the Cat# equipment structure.This skill implements graph grafting primitives for composable combinatorial operations on graphs. It replaces GraphQL-style queries with pure graph-theoretic transformations: attaching rooted trees, GF(3) color checks, tree-shape decomposition, and derangement operations. The focus is on composability, verification, and preserving algebraic invariants across graft operations.
The core operation Graft(T, v, G) attaches a rooted tree T at vertex v of graph G, merging vertex and edge sets and linking via the root. The skill exposes utilities to compute tree-shape decompositions (queryable), run GF(3) 3-coloring checks (colorable), and perform derangement permutations (derangeable). Higher-level combinators let you compose complexes, verify GF(3) conservation, and partition by trit values for coordinated workflows.
What does GF(3) verification check?
It verifies that the ternary color sum (mod 3) across the complex is conserved and reports whether the sum equals the expected balanced value.
How do I attach a tree without altering existing labels?
Label the root and target vertex explicitly and use the graft combinator which merges sets and links via the root while preserving existing labels and adhesion semantics.