plurigrid

acset-taxonomy

Taxonomy of ACSet skills with morphisms to semantically similar categorical/relational skills

plurigrid 23 6 Updated 3mo ago
GitHub

Install

npx skillscat add plurigrid/asi/acset-taxonomy

Install via the SkillsCat registry.

SKILL.md

ACSet Skill Taxonomy

Trit: 0 (ERGODIC - coordinates between schema validation and data generation)

Overview

This skill maps the ecosystem of ACSet-based skills and their morphisms to semantically similar categorical/relational skills.

                    ┌─────────────────────────────────────────┐
                    │         ACSET SKILL UNIVERSE            │
                    └─────────────────────────────────────────┘
                                      │
           ┌──────────────────────────┼──────────────────────────┐
           │                          │                          │
    ┌──────▼──────┐           ┌───────▼───────┐          ┌───────▼───────┐
    │  EXPLICIT   │           │  DOMAIN-      │          │  SEMANTICALLY │
    │  ACSET      │           │  SPECIFIC     │          │  SIMILAR      │
    │  CORE       │           │  ACSET        │          │  CATEGORICAL  │
    └─────────────┘           └───────────────┘          └───────────────┘
         (3)                       (12)                       (12)

I. EXPLICIT ACSET CORE (3 skills)

Foundation skills that define ACSet theory and operations:

Skill Description Schema Pattern Trit
acsets Algebraic databases with Specter navigation Ob::, Hom::, Attr:: 0
acsets-relational-thinking Functors X: C → Set, DPO rewriting Category → Set -1
specter-acset Bidirectional navigation, inline caching Lenses/Prisms +1

GF(3) Triad: acsets-relational-thinking (-1) ⊗ acsets (0) ⊗ specter-acset (+1) = 0 ✓


II. DOMAIN-SPECIFIC ACSET (12 skills)

ACSet schemas instantiated for specific domains:

A. Google Workspace ACSet Family

Skill Domain Schema Objects MCP Equivalence
calendar-acset Google Calendar Event, Attendee, Recurrence calendar-mcp
docs-acset Google Docs/Sheets Document, Comment, Cell docs-mcp
drive-acset Google Drive File, Folder, Permission drive-mcp
tasks-acset Google Tasks Task, TaskList, Due tasks-mcp

Common Pattern: Transform API operations → GF(3)-typed Interactions → triadic queues

B. Data Import/Export ACSet Family

Skill Domain Schema Objects Source
chatgpt-export-acset ChatGPT exports Conversation, Message, Author JSON export
openai-acset OpenAI API Request, Response, Token API calls
browser-history-acset Browser history Visit, Page, Domain SQLite

C. Infrastructure ACSet Family

Skill Domain Schema Objects Use Case
nix-acset-worlding Nix store Derivation, StorePath, Dep GC analysis
protocol-acset P2P protocols Message, Peer, Channel Interop design
rg-flow-acset Ripgrep flows Match, File, Pattern Code search

D. Language Bridge ACSet Family

Skill Domain Schema Objects Bridge
lispsyntax-acset S-expressions Sexp, Atom, List Julia ↔ Lisp
compositional-acset-comparison Algorithm analysis Query, Result, Schema DuckDB ↔ LanceDB

III. SEMANTICALLY SIMILAR CATEGORICAL (12 skills)

Skills that share categorical/relational structure but don't explicitly use ACSets:

A. Sheaf/Cohomology Family

Skill Structure Relation to ACSet Morphism
sheaf-cohomology Čech cohomology Sheaves on schemas H^n(C, F)
structured-decomp Tree decompositions Sheaves on trees FPT algorithms
persistent-homology Persistence modules Filtered ACSets Barcodes

Morphism: ACSet schema C → Sheaf F: C^op → Set

B. Fibration/Extension Family

Skill Structure Relation to ACSet Morphism
covariant-fibrations Dependent types over 2 Fibered ACSets π: E → B
kan-extensions (L ⊣ R) adjunctions Schema change functors Lan_F, Ran_F
ordered-locale Frames with preorder Directed ACSets ≪ relation

Morphism: Schema morphism F: C → D induces Lan_F: Set^C → Set^D

C. Computational/Rewriting Family

Skill Structure Relation to ACSet Morphism
datalog-fixpoint Bottom-up iteration Relational queries IDB/EDB
interaction-nets Lafont nets Graph rewriting DPO rules
open-games Compositional games Wiring diagrams Play/Coplay

Morphism: ACSet rewriting via DPO (Double Pushout)

D. Distributed/Temporal Family

Skill Structure Relation to ACSet Morphism
topos-catcolab Double theories Collaborative ACSets Automerge CRDT
crdt-vterm LWW/G-Counter Mergeable ACSets ⊔ lattice
temporal-coalgebra Final coalgebras Stream of ACSets νF bisimulation

Morphism: ACSet × Time → Temporal ACSet (presheaf on ℕ^op)


IV. MORPHISM DIAGRAM

                         ┌────────────────┐
                         │  acsets (0)    │
                         │  Core Functor  │
                         │   X: C → Set   │
                         └───────┬────────┘
                                 │
            ┌────────────────────┼────────────────────┐
            │                    │                    │
    ┌───────▼────────┐   ┌───────▼────────┐   ┌───────▼────────┐
    │ Domain-Specific│   │ Sheaf/Cohom    │   │ Computation    │
    │ (Workspace,    │   │ (structure on  │   │ (rewriting,    │
    │  Protocol)     │   │  schema)       │   │  queries)      │
    └───────┬────────┘   └───────┬────────┘   └───────┬────────┘
            │                    │                    │
            │    forgetful       │    forgetful       │
            │    functor U       │    functor U       │
            │                    │                    │
            └────────────────────┼────────────────────┘
                                 │
                         ┌───────▼────────┐
                         │  specter-acset │
                         │  Navigation    │
                         │  Lenses/Prisms │
                         └────────────────┘

V. GF(3) TRIADIC ORGANIZATION

Core Triad

acsets-relational-thinking (-1) ⊗ acsets (0) ⊗ specter-acset (+1) = 0 ✓

Sheaf Triad

sheaf-cohomology (-1) ⊗ structured-decomp (0) ⊗ persistent-homology (+1) = 0 ✓

Workspace Triad

calendar-acset (-1) ⊗ docs-acset (0) ⊗ drive-acset (+1) = 0 ✓

Computation Triad

datalog-fixpoint (-1) ⊗ interaction-nets (0) ⊗ open-games (+1) = 0 ✓

Temporal Triad

temporal-coalgebra (-1) ⊗ crdt-vterm (0) ⊗ topos-catcolab (+1) = 0 ✓

VI. SCHEMA PATTERNS

Generic ACSet Schema Template

@present SchDomainACSet(FreeSchema) begin
    # Objects (Ob)
    Entity::Ob
    Relation::Ob
    Attribute::Ob
    
    # Morphisms (Hom)
    source::Hom(Relation, Entity)
    target::Hom(Relation, Entity)
    
    # Attributes (Attr)
    Name::AttrType
    Value::AttrType
    entity_name::Attr(Entity, Name)
    attr_value::Attr(Attribute, Value)
end

Common Schema Transformations

Transform From To Functor
Forget WorkspaceACSet ACSet Forgetful U
Embed ACSet SheafACSet Yoneda y
Temporal ACSet StreamACSet Δ^* (nerve)
Distributed ACSet CRDTACSet Free(Lattice)

VII. USAGE PATTERNS

Cross-ACSet Query

# Query across multiple domain ACSets
using ACSets, Catlab

# Define morphism between schemas
F = SchemaMap(CalendarSchema, TasksSchema, 
    Event => Task,
    due_date => due_date
)

# Pull back tasks to calendar view
calendar_tasks = Δ(F, my_tasks)

Sheaf Consistency Check

# Verify local-to-global consistency
using StructuredDecompositions

decomp = tree_decomposition(my_acset)
consistent = verify_sheaf_condition(decomp)

Temporal Stream

# Create temporal ACSet stream
using TemporalCoalgebra

stream = unfold(initial_acset) do x
    (observe(x), step(x))
end

VIII. INVARIANTS

invariants:
  - name: functor_preservation
    predicate: "F(id_A) = id_{F(A)} and F(g∘f) = F(g)∘F(f)"
    scope: per_morphism
    
  - name: schema_pullback
    predicate: "Δ(F, X) is right adjoint to Σ(F, X)"
    scope: per_schema_map
    
  - name: gf3_triad_conservation
    predicate: "Σ trit = 0 for each triad"
    scope: per_skill_group
    
  - name: crdt_convergence
    predicate: "a ⊔ b = b ⊔ a (commutativity)"
    scope: per_distributed_acset

IX. REFERENCES


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.