Sheaves on time categories for compositional temporal reasoning. Bumpus
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill bumpus-narratives --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Bumpus Narratives?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-bumpus-narratives-asi)More formats (shields.io, HTML) on the badges page.
---
name: bumpus-narratives
description: Sheaves on time categories for compositional temporal reasoning. Bumpus
et al. narrative framework with adhesion filter FPT algorithms and Gay.jl color
integration.
metadata:
trit: 0
short-description: Temporal narratives via sheaves
---
# Bumpus Narratives Skill
> **Trit**: 0 (ERGODIC) - Mediates between verification (-1) and generation (+1)
Sheaves on time categories for compositional reasoning about temporal data.
## Source Papers
- Bumpus, B.M. et al. "Unified Framework for Time-Varying Data" (arXiv:2402.00206)
- Bumpus, B.M. "Compositional Algorithms on Compositional Data" (arXiv:2302.05575)
- Bumpus, B.M. "Structured Decompositions" (arXiv:2207.06091)
- Bumpus, B.M. "Spined Categories" (arXiv:2104.01841)
- Bumpus, B.M. "Cohomological Obstructions" (arXiv:2408.15184)
## Core Concepts
### 1. Narratives as Sheaves
Temporal data = sheaf F: I_N → D where:
- I_N = time category (intervals [a,b] with inclusions)
- D = data category with pullbacks
- Sheaf condition: F([a,b]) = F([a,p]) ×_{F([p,p])} F([p,b])
```
F₁³ := {(x,y) ∈ F₁² × F₂³ | f₁,₂²(x) = f₂,₃²(y)}
```
### 2. Adhesion Filter (FPT Algorithm)
For tree decompositions of width w:
- Complexity: O(f(w) · n) instead of O(2^n)
- Runs on bag boundaries via pullback checking
```julia
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
```
### 3. Cohomological Obstructions
H⁰ detects local-to-global failure:
- H⁰(F) ≠ 0 → obstruction to gluing
- Čech complex on cover of intervals
## Integration with Gay.jl
### Color-Coded Narratives
Each interval [i,j] gets deterministic color:
```julia
color([i,j]) = gay_color(BUMPUS_SEED ⊻ hash(i,j))
```
### GF(3) Conservation
Narrative operations preserve triadic balance:
- **Restriction** (-1): F([a,b]) → F([a,a])
- **Extension** (+1): F([a,a]) → F([a,b])
- **Pullback** (0): F₁³ := fibered product
## Diagram Catalog
20 extracted diagrams from Bumpus papers:
- 17 commutative diagrams
- 2 functor diagrams
- 1 graph diagram
Location: `papers/diagrams/images/bumpus-*.jpg`
## Triadic Composition
```
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 ✓
```
## Example: Ice Cream Companies
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:
- Company mergers (a₁, a₂ → a*)
- Company disappearance (c)
- Supplier relationships (graph morphisms)
## API
```julia
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)
```
## References
1. **Bumpus et al.** - Time-varying data via sheaves on time categories
2. **Ghrist** - Elementary Applied Topology (Čech cohomology)
3. **Fairbanks** - AlgebraicJulia ecosystem for ACSets
4. **Gay.jl** - Deterministic color chains for diagram coloring
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!