Sheaves on time categories for compositional temporal reasoning. Bumpus et al. narrative framework with adhesion filter FPT algorithms and Gay.jl color integration.
/plugin marketplace add plurigrid/asi/plugin install plurigrid-asi-skills@plurigrid/asiThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Trit: 0 (ERGODIC) - Mediates between verification (-1) and generation (+1)
Sheaves on time categories for compositional reasoning about temporal data.
Temporal data = sheaf F: I_N → D where:
F₁³ := {(x,y) ∈ F₁² × F₂³ | f₁,₂²(x) = f₂,₃²(y)}
For tree decompositions of width w:
function adhesion_filter(sheaf::Sheaf, decomp::TreeDecomp)
for (bag1, bag2) in edges(decomp)
adhesion = bag1 ∩ bag2
if !is_pullback(sheaf, bag1, bag2, adhesion)
return false
end
end
true
end
H⁰ detects local-to-global failure:
Each interval [i,j] gets deterministic color:
color([i,j]) = gay_color(BUMPUS_SEED ⊻ hash(i,j))
Narrative operations preserve triadic balance:
20 extracted diagrams from Bumpus papers:
Location: papers/diagrams/images/bumpus-*.jpg
structured-decomp (-1) ⊗ bumpus-narratives (0) ⊗ world-hopping (+1) = 0 ✓
sheaf-cohomology (-1) ⊗ bumpus-narratives (0) ⊗ triad-interleave (+1) = 0 ✓
persistent-homology (-1) ⊗ bumpus-narratives (0) ⊗ gay-mcp (+1) = 0 ✓
From the Venice ice cream example (Diagram 1):
Time 1: {a₁, a₂, b, c} → Time 2: {a*, b, c} → Time 3: {a*, b}
The sheaf tracks:
using BumpusNarratives
# Create narrative
n = Narrative(TimeCategory(1:10), FinSet)
# Add snapshots
add_snapshot!(n, 1, Set([:a, :b, :c]))
add_snapshot!(n, 2, Set([:a, :b]))
# Check sheaf condition
is_sheaf(n) # true if pullbacks exist
# Compute H⁰ obstruction
obstruction = cech_H0(n)