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.