smithery/plurigrid

kan-extensions

Kan Extensions Skill (ERGODIC 0)

Installation

$ npx skills add smithery/plurigrid --skill kan-extensions

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/plurigrid · top by installs.

npx skills add smithery/plurigrid

Browse all from smithery/plurigrid

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Skill metadata

Parsed from SKILL.md frontmatter.

LicenseUNLICENSED
More metadata
trit
-1
source
local

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,215 B
  • docs SUMMARY.md 54 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

Kan Extensions Skill (ERGODIC 0)

Universal schema migration via left/right Kan extensions

Trit: 0 (ERGODIC) Color: #26D826 (Green) Role: Coordinator/Transporter

Core Concept

Kan extensions are the "best approximation" to extending a functor along another:

       F
   C ────→ D
   │       ↑
 K │       │ Lan_K F  (left Kan extension)
   ↓       │ Ran_K F  (right Kan extension)
   C'

Adjunction: LanK ⊣ ResK ⊣ Ran_K

Pointwise Formulas

Left Kan Extension (Forward Migration)

(Lan_K F)(d) = colim_{(c,f: K(c)→d)} F(c)
  • Colimit over comma category (K ↓ d)
  • Extends F forward along K
  • Preserves colimits when F does

Right Kan Extension (Backward Migration)

(Ran_K F)(d) = lim_{(c,f: d→K(c))} F(c)
  • Limit over comma category (d ↓ K)
  • Extends F backward along K
  • Preserves limits when F does

Integration with ACSets

using Catlab, DataMigrations

# Schema migration via Kan extension
# K: SchemaOld → SchemaNew
# F: SchemaOld → Set (instance)
# Lan_K F: SchemaNew → Set (migrated instance)

function left_kan_migrate(K::DataMigration, instance::ACSet)
    # Compute colimit for each new object
    return colimit_representables(K, instance)
end

function right_kan_migrate(K::DataMigration, instance::ACSet)
    # Compute limit for each new object
    return limit_representables(K, instance)
end

Schema Transport Patterns

Pattern 1: Forward Schema Evolution

@migration SchemaV1 SchemaV2 begin
    # Lan extends forward
    NewTable => @join begin
        old::OldTable
        # computed from old structure
    end
end

Pattern 2: Backward Compatibility

@migration SchemaV2 SchemaV1 begin
    # Ran projects backward
    OldTable => @join begin
        new::NewTable
        # projected from new structure
    end
end

Pattern 3: Universal Property

For any H: C' → D with natural transformation α: F → H ∘ K
∃! β: Lan_K F → H such that α = β ∘ K ∘ η

GF(3) Triads

sheaf-cohomology (-1) ⊗ kan-extensions (0) ⊗ free-monad-gen (+1) = 0 ✓
temporal-coalgebra (-1) ⊗ kan-extensions (0) ⊗ operad-compose (+1) = 0 ✓
persistent-homology (-1) ⊗ kan-extensions (0) ⊗ topos-generate (+1) = 0 ✓

Commands

# Migrate schema forward (Lan)
just kan-migrate-forward old.json new_schema

# Migrate schema backward (Ran) 
just kan-migrate-backward new.json old_schema

# Check universal property
just kan-universal K F H

All Concepts Are Kan Extensions

Concept As Kan Extension
Colimit Lan along ! : C → 1
Limit Ran along ! : C → 1
Yoneda Ran along 1_C
Adjoint Lan/Ran along identity
End Ran along Δ
Coend Lan along Δ

References

Para(Optic) atlas

Part of: para-mensch-commons.