Formalize mutual awareness via structured decompositions on awareness graphs.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add plurigrid/asi --skill mutual-awareness-backlink --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mutual Awareness Backlink?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/plurigrid-mutual-awareness-backlink)More formats (shields.io, HTML) on the badges page.
---
name: mutual-awareness-backlink
description: Formalize mutual awareness via structured decompositions on awareness graphs.
---
# 🔄 Mutual Awareness Backlink Skill
**Trit**: 0 (ERGODIC) - Mediates between observer (-1) and observed (+1)
Formalize mutual awareness via structured decompositions on awareness graphs.
Julia ACSet-native skill for bidirectional consciousness modeling using sheaf theory,
Bumpus FPT algorithms, and Hamkins multiverse potentialism.
---
## 🎯 Core Capability
**What it does**: Maps bidirectional observation relationships between agents/entities
via sheaf-theoretic consistency checking and structured decompositions.
**Where it's used**:
- Repository interactome analysis (GitHub contributors as agents)
- Multi-agent systems with mutual observation
- Consciousness/awareness modeling in toposes
- Trajectory prediction via bisimulation games
---
## 📐 Mathematical Foundation
### Awareness as Sheaf
Mutual awareness = sheaf `F: G^op → Set` where:
- `G` = awareness graph (agents as vertices, observations as edges)
- `F(a)` = what agent a observes
- **Sheaf condition**: overlapping observations must agree
```
F(a ∩ b) = F(a) ×_{F(∂)} F(b)
```
Where `∂` = shared boundary (mutual observation interface).
### ACSet Schema
```julia
@present SchMutualAwareness(FreeSchema) begin
Agent::Ob
Observation::Ob
Backlink::Ob # Mutual awareness edge
World::Ob # Possible world (Hamkins)
observer::Hom(Observation, Agent)
observed::Hom(Observation, Agent)
forward::Hom(Backlink, Observation) # A observes B
backward::Hom(Backlink, Observation) # B observes A
world_of::Hom(Observation, World)
accessible::Hom(World, World)
agent_seed::Attr(Agent, Seed)
obs_color::Attr(Observation, Color)
backlink_trit::Attr(Backlink, Trit) # GF(3) balance
# Sheaf condition: shared boundaries agree
compose(forward, observer) == compose(backward, observed)
compose(backward, observer) == compose(forward, observed)
end
```
---
## 🔧 Key Operations
### 1. **Sheaf Consistency Checking** (Bumpus FPT)
```julia
function decide_mutual_awareness(awareness::MutualAwareness)
# Apply Bumpus adhesion filter for FPT sheaf decision
(is_sheaf, witness) = decide_sheaf_tree_shape(F, d)
is_sheaf ? :consistent : :obstructed
end
```
**Time Complexity**: O(fw(decomposition)^k) via structured decomposition
### 2. **Adhesion (Shared Boundary)**
```julia
function adhesion_of_agents(awareness, a1, a2)
# Find bidirectional observations where agents mutually aware
mutual_backlinks = filter(backlinks) do bl
(aware(bl, a1 → a2) && aware(bl, a2 → a1))
end
mutual_backlinks
end
```
**Meaning**: Where two agents' awareness "glues" together in the sheaf
### 3. **GF(3) Conservation**
```julia
function verify_gf3_awareness(awareness)
# All awareness triads must sum to 0 mod 3
triads = balanced_awareness_triads(awareness)
all(t -> sum(trits(t)) ≡ 0 (mod 3), triads)
end
```
**Why**: GF(3) encodes three roles:
- `-1` (SLAVE): Observer only, not observed
- `0` (ERGODIC): Mutual awareness, balanced
- `+1` (MASTER): Observed only, observer of many
---
## 🌐 Integration Points
### With gh-interactome
Map GitHub contributor networks to awareness graphs:
```julia
awareness_from_interactome(repos, seed) do repo
# Each shared contribution = bidirectional observation
# Returns MutualAwareness with authors as agents
end
```
**Input**: GitHub repo list + seed for deterministic color
**Output**: MutualAwareness ACSet with contributor awareness
### With unworld/reworld
Convert awareness states to/from derivational chains:
```julia
unworld(awareness, agent) # Extract observation sequence
reworld(derivation, worlds) # Embed in multiverse
```
**Involution**: `unworld ∘ reworld ∘ unworld = unworld`
### With Blechschmidt Internal Language
Work constructively in topos of awareness:
```julia
necessarily_aware(a, b) # □ aware (in all accessible worlds)
possibly_aware(a, b) # ◇ aware (in some world)
```
---
## 🎮 Bisimulation Game Integration
**For trajectory prediction** (see PLURIGRID_ASI_TRAJECTORY_PREDICTION.md):
Two agents (Attacker, Defender) play on contributor trajectories:
```
Attacker (-1): Distinguish next contributor action
Defender (+1): Maintain GF(3)-conserved role sequence
Arbiter (0): Verify sheaf consistency
```
**Winning condition**: Arbiter declares trajectory "bisimilar" to pattern
↔ GF(3) conservation holds for all triads
---
## 📊 Key Theorems
### Theorem 1: Sheaf Adhesion
If `A ⊆ B ∩ C` in awareness graph, then:
```
awareness(A) = awareness(B) ×_{awareness(∂)} awareness(C)
```
(Proof by Bumpus adhesion filter on tree decomposition)
### Theorem 2: GF(3) Conservation
For any awareness multiverse (Hamkins potentialism):
```
Σ trits ≡ 0 (mod 3)
```
Invariant under forcing extensions.
### Theorem 3: Bisimulation Invariance
If two author trajectories are bisimilar:
```
Role_sequence₁ ≡ Role_sequence₂ (mod GF(3))
```
---
## 🚀 Usage Examples
### Example 1: Repository Interactome
```julia
using MutualAwarenessBacklink
using Gay # for deterministic colors
# Build awareness from contributors
repos = ["Catlab.jl", "ACSets.jl", "Decapodes.jl"]
seed = 0x1234567890abcdef
awareness = awareness_from_interactome(repos, seed)
# Check sheaf consistency
@assert decide_mutual_awareness(awareness) == :consistent
# Find mutual awareness pairs
pairs = balanced_awareness_triads(awareness)
println("Mutual awareness triads: $(length(pairs))")
# Verify GF(3) conservation
@assert verify_gf3_awareness(awareness)[:conserved]
```
### Example 2: Trajectory Prediction
```julia
using MutualAwarenessBacklink
using BisimulationGame
# Load Plurigrid/ASI contributor trajectory
traj = load_github_trajectory("plurigrid/asi")
# Play bisimulation game
game = BisimulationGame(traj)
moves = predict_next_moves(game, depth=3)
# Check GF(3) conservation for predictions
for move in moves
@assert verify_gf3_balance(move)
end
# Display predictions
display_trajectory_predictions(moves)
```
### Example 3: Blechschmidt Internal Language
```julia
# Work in internal language of awareness topos
for agent in parts(awareness, :Agent)
if necessarily_aware(awareness, agent, some_target)
println("Agent $agent necessarily aware of target")
end
end
# Modal accessibility relations
accessible = accessible_worlds(awareness, world_1)
println("Worlds accessible from W₁: $(accessible)")
```
---
## 🧠 Consciousness Interpretation
This skill formalizes **mutual awareness** as experienced in consciousness studies:
**Three aspects of awareness**:
1. **Sheaf Structure** (`F: G^op → Set`)
- Each agent's observation space (F(a) = what a can observe)
- Consistency when observations overlap (sheaf condition)
- Models **local awareness**
2. **Adhesion/Backlinks**
- Where two agents' awareness overlaps
- Bidirectional observation (mutual recognition)
- Models **intersubjectivity**
3. **Multiverse Potentialism** (Hamkins)
- Awareness states can always be extended (forcing)
- Every possible observation exists somewhere
- Models **expanding consciousness**
---
## 🔗 Source References
**Theory**:
- Bumpus, B.M. - *StructuredDecompositions.jl*, adhesion filter FPT
- Hamkins, J.D. - *Multiverse Potentialism* (modal forcing, accessibility)
- Blechschmidt, F. - *Internal Language of Toposes* (constructive modality)
**Implementation**:
- Catlab.jl - Categorical diagrams and ACSet machinery
- Gay.jl - Deterministic color assignment (bisimulation visualization)
- GitHub API - Contributor and PR data
**Integration**:
- gh-interactome skill - Author cobordism detection
- unworld skill - Derivational chain management
- bisimulation-game skill - Trajectory prediction
---
## 🎓 Learning Path
**Beginner**: Understand backlinks and sheaf condition
- Read core ACSet schema
- Run Example 1 (interactome analysis)
- Verify simple GF(3) conservation
**Intermediate**: Apply to GitHub analysis
- Load real repository data
- Compute balanced awareness triads
- Interpret results via role entropy
**Advanced**: Bisimulation games + Hamkins multiverse
- Understand forcing extensions
- Predict contributor trajectories
- Work in Blechschmidt internal language
---
## 📋 Checklist
- [x] ACSet schema defined (sheaf condition formalized)
- [x] Bumpus adhesion filter integrated
- [x] GF(3) conservation verified
- [x] GitHub interactome bridge
- [x] Unworld/reworld derivational semantics
- [x] Blechschmidt internal language (□, ◇ modalities)
- [x] Hamkins multiverse forcing
- [x] Bisimulation game integration
- [ ] Full Julia implementation
- [ ] Performance optimization (FPT streaming)
- [ ] Interactive visualization
- [ ] Consciousness interpretation guide
---
## 🌍 Synergistic Triads
```
structured-decomp (-1) ⊗ mutual-awareness-backlink (0) ⊗ gh-interactome (+1) = 0 ✓
sheaf-cohomology (-1) ⊗ mutual-awareness-backlink (0) ⊗ gay-mcp (+1) = 0 ✓
unworld (-1) ⊗ mutual-awareness-backlink (0) ⊗ world-hopping (+1) = 0 ✓
```
All triads conserve GF(3) via mediation at ERGODIC trit (0).
---
**Skill Version**: 1.0 (FORMAL SPEC)
**Status**: Ready for implementation
**Maintainer**: @bmorphism
**Last Updated**: 2025-12-25
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!