Asi bmorphism-video-interleave

bmorphism Video Archive Interleave

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bmorphism-video-interleave" ~/.claude/skills/plurigrid-asi-bmorphism-video-interleave && rm -rf "$T"
manifest: skills/bmorphism-video-interleave/SKILL.md
source content

bmorphism Video Archive Interleave

Chromatic interleaving of bmorphism talk transcripts with skill corpus via GF(3)-conserved segment retrieval.

Archive Summary

VideoDurationSegmentsTritHue
AGI House Math Night65.9 min1,306ERGODIC (0)120°
AI Agents on Aptos16.5 min154PLUS (+1)30°
Plurigrid Energy72.2 min1,300MINUS (-1)240°
TOTAL154.6 min2,760Σ = 0 ✓

Database Schema (ACSet)

-- ~/bmorphism_talks.duckdb
videos(id, title, duration_seconds, youtube_url)
transcripts(id, video_id, segment_start, segment_end, text, confidence)
topics(id, name, color_hue)
video_topics(video_id, topic_id, trit)  -- GF(3) typed

Interleave Patterns

1. Skill-to-Transcript Bridge

Query transcripts relevant to a skill:

-- Find segments mentioning category theory concepts
SELECT v.title, t.segment_start, t.text
FROM transcripts t
JOIN videos v ON t.video_id = v.id
WHERE t.text ILIKE '%functor%'
   OR t.text ILIKE '%category%'
   OR t.text ILIKE '%morphism%'
ORDER BY t.segment_start;

2. GF(3) Conserved Retrieval

Retrieve balanced triads of segments:

;; Babashka query for balanced retrieval
(require '[babashka.pods :as pods])
(pods/load-pod 'org.babashka/go-sqlite3 "0.1.0")
(require '[pod.babashka.go-sqlite3 :as sqlite])

(defn balanced-segments [db topic]
  (let [minus (sqlite/query db
                "SELECT text FROM transcripts t
                 JOIN video_topics vt ON t.video_id = vt.video_id
                 WHERE vt.trit = -1 LIMIT 3")
        ergodic (sqlite/query db
                  "SELECT text FROM transcripts t
                   JOIN video_topics vt ON t.video_id = vt.video_id
                   WHERE vt.trit = 0 LIMIT 3")
        plus (sqlite/query db
               "SELECT text FROM transcripts t
                JOIN video_topics vt ON t.video_id = vt.video_id
                WHERE vt.trit = 1 LIMIT 3")]
    {:minus minus :ergodic ergodic :plus plus
     :conserved? (= 0 (mod (+ (count minus) (- (count plus))) 3))}))

3. Temporal Chromatic Walk

Walk through video segments by timestamp, coloring by Gay.jl hue:

(defn chromatic-walk [db video-id]
  (let [segments (sqlite/query db
                   "SELECT segment_start, text FROM transcripts
                    WHERE video_id = ? ORDER BY segment_start"
                   [video-id])]
    (map-indexed
      (fn [i seg]
        (let [hue (mod (* i 7) 360)]  ; Prime stride for coverage
          (assoc seg
            :hue hue
            :trit (cond (or (< hue 60) (>= hue 300)) :plus
                       (< hue 180) :ergodic
                       :else :minus))))
      segments)))

Topic Mapping

TopicHuePrimary VideoSkills
Category Theory240°AGI Houseacsets, algebraic-rewriting
Blockchain/Aptos30°AI Agentsaptos-agent, aptos-gf3-society
Energy Systems120°Plurigridanoma-intents, crdt
Active Inference180°AGI Housecognitive-superposition
Compositional300°Allbisimulation-game

Commands

# Query specific topic
duckdb ~/bmorphism_talks.duckdb \
  "SELECT text FROM transcripts WHERE text ILIKE '%active inference%'"

# Get segment at timestamp
duckdb ~/bmorphism_talks.duckdb \
  "SELECT text FROM transcripts
   WHERE video_id = 1 AND segment_start BETWEEN 300 AND 360"

# Export for skill training
duckdb ~/bmorphism_talks.duckdb \
  "COPY (SELECT text FROM transcripts) TO 'corpus.txt'"

Integration with Skill Corpus

Semantic Bridge Queries

-- Find skills mentioned in transcripts
WITH skill_mentions AS (
  SELECT t.text, s.name as skill
  FROM transcripts t
  CROSS JOIN skills s  -- from skill_relations.duckdb
  WHERE t.text ILIKE '%' || s.name || '%'
)
SELECT skill, COUNT(*) as mentions
FROM skill_mentions
GROUP BY skill
ORDER BY mentions DESC;

Cross-Database Join (DuckDB)

ATTACH 'skill_relations.duckdb' AS skills_db;
ATTACH 'bmorphism_talks.duckdb' AS talks_db;

SELECT s.name, s.trit, COUNT(t.id) as segment_mentions
FROM skills_db.skills s
JOIN talks_db.transcripts t
  ON t.text ILIKE '%' || s.name || '%'
GROUP BY s.name, s.trit
ORDER BY segment_mentions DESC;

GF(3) Conservation Invariant

The archive maintains GF(3) balance:

AGI House (0) + AI Agents (+1) + Plurigrid (-1) = 0 ✓

When retrieving segments, always pull from all three videos proportionally to maintain conservation.

Cat# Integration

Trit: 0 (ERGODIC) - coordination role
Home: Prof (profunctor category)
Poly Op: ⊗ (tensor)
Kan Role: Adj (adjunction)
Color: #36E26C (hue 139°)

Triadic Composition

video-interleave (0) ⊗ chromatic-walk (+1) ⊗ sheaf-cohomology (-1) = 0 ✓

Files

  • ~/bmorphism_videos/
    - 3 MP3s + 3 JSON transcripts
  • ~/bmorphism_talks.duckdb
    - ACSet database
  • ~/transcribe_videos.bb
    - Babashka transcription script