npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
> *"The naturality condition ensures transformations commute with structure."*
Establishes Galois adjunction between agent-o-rama and Plurigrid ACT via CatSharp Scale, mapping pitch classes to GF(3) trits for hyperedge generation, verification, and transformation.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
"The naturality condition ensures transformations commute with structure."
Measures how well transformations preserve conservation laws across musical and categorical structures.
Trit: 0 (ERGODIC - Coordinator)
Location: lib/conserved_quantity.rb, lib/rubato_bridge.rb
Dependencies: GF(3), Z/12Z chromatic, Rubato morphisms
In category theory, a natural transformation η: F → G satisfies:
η_A
F(A) ───→ G(A)
│ │
F(f) G(f)
↓ ↓
F(B) ───→ G(B)
η_B
The naturality factor ν ∈ [0,1] measures how well this square commutes:
From Topos of Music: "Conservation" in music IS naturality of functors. Transposition preserves intervals because the naturality square closes.
nf = ConservedQuantity::NaturalityFactor.new(
conservation: ConservedQuantity::Laws::CHROMATIC,
source_functor: ->(x) { x },
target_functor: ->(x) { x }
)
result = nf.compute(
eta: ->(x) { x + 7 }, # Transposition
morphism: ->(x) { x }, # Identity morphism
object_a: 60, # C4
object_b: 64 # E4
)
# => { factor: 1.0, defect: 0, natural?: true }
# Does transposition preserve intervals?
result = ConservedQuantity::NaturalityFactor.chromatic_naturality(
interval: 7, # Perfect fifth
notes: [0, 4, 7] # C major triad
)
# => { factor: 1.0, natural?: true, original_intervals: [4, 3] }
# Does doubling preserve trit balance?
result = ConservedQuantity::NaturalityFactor.triadic_naturality(
transform: ->(x) { x * 2 },
objects: [0, 1, 2, 3, 4, 5],
charge_fn: ->(x) { x % 3 }
)
# => { factor: 1.0, defect: 0, natural?: true }
Objects determined by ALL their relationships (Yoneda lemma):
yoneda = ConservedQuantity::YonedaConservation.new(
conservation: ConservedQuantity::Laws::TRIADIC,
objects: [0, 1, 2, 3, 4, 5, 6, 7, 8]
)
yoneda.yoneda_charge(3) # Sum of all relationships
yoneda.yoneda_balanced?(0, 3, 6) # Check if balanced
Rubato morphisms with naturality tracking:
t7 = RubatoBridge::Morphisms.transposition(7)
transposed_score = t7.apply(score)
# Check naturality
result = t7.compute_naturality(notes)
puts t7.naturality_factor # => 1.0
| Morphism | Naturality | Preserves |
|---|---|---|
transposition(n) | 1.0 | Intervals |
inversion(axis:) | 1.0 | Interval magnitudes |
retrograde | 1.0 | Pitch content |
augmentation(f) | varies | Depends on f |
Naturality factor connects to skill triads:
three-match (-1) ⊗ naturality-factor (0) ⊗ gay-mcp (+1) = 0 ✓
sheaf-cohomology (-1) ⊗ naturality-factor (0) ⊗ rubato-composer (+1) = 0 ✓
persistent-homology (-1) ⊗ naturality-factor (0) ⊗ topos-generate (+1) = 0 ✓
# Run conservation demo with naturality
ruby lib/conserved_quantity.rb
# Run Rubato bridge with naturality demo
ruby lib/rubato_bridge.rb
# Check naturality of a transposition
just naturality-check T7 "0,4,7"
For transformation η with conservation law C:
defect = C.combine(charge(left_path), -charge(right_path))
factor = defect == identity ? 1.0 : 1.0 / (1.0 + |defect|)
| Law | Modulus | Use Case |
|---|---|---|
| GF(3) | 3 | Trit balance |
| Chromatic | 12 | Pitch classes |
| Diatonic | 7 | Scale degrees |
| Parity | 2 | XOR operations |
| Integer | ∞ | Unbounded |
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis 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
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.