browser-history-acset

plurigrid's avatarfrom plurigrid

Browser History ACSet

⭐1stars🔀2forks📁View on GitHub🕐Updated Jan 9, 2026

When & Why to Use This Skill

The Browser History ACSet skill provides a unified categorical framework for managing and analyzing web browsing history across multiple platforms, including Chrome, Safari, and ChatGPT Atlas. By leveraging Algebraic Julia (ACSets) and GF(3) trit classification, it transforms raw browsing data into a structured mathematical model, enabling sophisticated behavioral analysis, navigation chain tracking, and cross-language data verification between Python and Julia.

Use Cases

  • Cross-Browser Data Consolidation: Aggregate and query browsing history from different browsers (Chrome, Arc, Firefox, Safari) using a single, unified ACSet schema.
  • Behavioral Productivity Analysis: Use GF(3) trit classification to categorize web activity into 'Creation' (e.g., GitHub), 'Information' (e.g., Google), and 'Consumption' (e.g., Netflix) for deep productivity insights.
  • Mathematical Path Verification: Ensure data integrity and path equivalence across different programming environments (Python/PyACSet and Julia/ACSets.jl) for research and development.
  • Agentic Memory Integration: Provide AI agents with a structured, categorical 'memory' of past browsing paths to improve context-awareness and information coordination during complex research tasks.
namebrowser-history-acset
descriptionBrowser History ACSet
version1.0.0

Browser History ACSet

Trit: 0 (ERGODIC - information coordination)
Foundation: PyACSet ↔ ACSets.jl path equivalence verified

Overview

Unified categorical structure for browser history across:

  • ChatGPT Atlas (Chromium-based)
  • Chrome, Arc, Brave, Firefox, Safari

Uses GF(3) trit classification for browsing behavior analysis.

Schema

┌─────────────────────────────────────────────────────────────┐
│                  BrowserHistoryACSet Schema                  │
├─────────────────────────────────────────────────────────────┤
│  Objects:    Browser, URL, Visit, Domain, SearchQuery       │
│                                                             │
│  Morphisms:                                                 │
│    browser_of: URL → Browser                                │
│    domain_of:  URL → Domain                                 │
│    url_of:     Visit → URL                                  │
│    from_visit: Visit → Visit (reflexive, navigation chain)  │
│                                                             │
│  Attributes:                                                │
│    browser_name: Browser → String                           │
│    url_text:     URL → String                               │
│    visit_time:   Visit → Int                                │
│    domain_name:  Domain → String                            │
│    trit:         Domain → Int (-1, 0, +1)                   │
└─────────────────────────────────────────────────────────────┘

Path Equivalence Tests

Verified cross-language compatibility between Python and Julia:

Operation Python (PyACSet) Julia (ACSets.jl) Match
nparts(A) 2 2 ✓
subpart(1, :f) 1 1 ✓
incident(1, :f) [1] [1] ✓
path 1→f→g 1 1 ✓

Key Operations

# Python (PyACSet)
url = acset.subpart(visit_id, "url_of")
domain = acset.path(visit_id, "url_of", "domain_of")
referrers = acset.incident(url_id, "url_of")
# Julia (ACSets.jl)
url = subpart(acs, visit_id, :url_of)
domain = subpart(acs, subpart(acs, visit_id, :url_of), :domain_of)
referrers = incident(acs, url_id, :url_of)

GF(3) Domain Classification

Trit Category Examples Behavior
+1 PLUS (Creation) github.com, ampcode.com, arxiv.org Building, learning
0 ERGODIC (Info) google.com, youtube.com, x.com Coordination, info
-1 MINUS (Consumption) amazon.com, netflix.com, reddit.com Consuming, extracting

Current Data (ChatGPT Atlas)

╔═══════════════════════════════════════════════════════════════╗
║              Browser History ACSet                            ║
╠═══════════════════════════════════════════════════════════════╣
║  Browser         :      3 parts                               ║
║  URL             :   4529 parts                               ║
║  Visit           :   8569 parts                               ║
║  Domain          :    511 parts                               ║
║  SearchQuery     :     36 parts                               ║
║  Download        :     41 parts                               ║
╠═══════════════════════════════════════════════════════════════╣
║  GF(3) Sum       :     13                                     ║
╚═══════════════════════════════════════════════════════════════╝

Top Domains:
  [+] github.com      : 1066 visits (creation)
  [○] mermaid.live    :  655 visits (coordination)
  [+] ampcode.com     :  453 visits (creation)
  [+] elevenlabs.io   :  268 visits (creation)
  [+] huggingface.co  :  188 visits (creation)

Usage

# Extract browser history as ACSet
python3 browser_history_acset.py

# Run path equivalence tests
python3 path_equivalence_test.py

# Julia verification
julia path_equivalence_test.jl

Integration Points

  • Tenderloin WEV: Geographic browsing patterns → impact zones
  • OlmoEarth-MLX: Location-aware embeddings for browsing
  • GeoACSet: Spatial categorization of online activity
  • DuckDB: Temporal queries on visit history

Specter-Style Navigation

# Select all visits to github.com
github_visits = (
    SELECT(ALL("Visit"))
    >> FILTER(lambda v: acset.path(v, "url_of", "domain_of") 
              and acset.subpart(acset.path(v, "url_of", "domain_of"), "domain_name") == "github.com")
)

# Transform: add trit to all URLs in domain
TRANSFORM(
    SELECT(ALL("URL")) >> FILTER(lambda u: acset.subpart(u, "domain_of") == d1),
    lambda u: acset.set_subpart(u, "trit", 1)
)

Canonical Triads

browser-history-acset (0) ⊗ olmoearth-mlx (+1) ⊗ tenderloin (-1) = 0 ✓
py-acset (0) ⊗ ACSets.jl (+1) ⊗ DuckDB (-1) = 0 ✓

References

  • coequalizers (0) - Path equivalence via coequalizer quotients
  • acsets (0) - ACSet foundations
  • temporal-coalgebra (-1) - Time-based path analysis

Scientific Skill Interleaving

This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:

Annotated Data

  • anndata [○] via bicomodule

Bibliography References

  • general: 734 citations in bib.duckdb

Cat# Integration

This 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

GF(3) Naturality

The skill participates in triads satisfying:

(-1) + (0) + (+1) ≡ 0 (mod 3)

This ensures compositional coherence in the Cat# equipment structure.