From asi
Models browser history as an ACSet schema across browsers like Chrome and Firefox using GF(3) trits for behavior analysis. Supports Python/Julia path queries.
npx claudepluginhub plurigrid/asi --plugin asiThis skill uses the workspace's default tool permissions.
**Trit**: 0 (ERGODIC - information coordination)
Uses Hindsight to analyze Chromium-based browser profiles from Chrome, Edge, Brave, Opera, extracting history, downloads, cookies, cache, autofill, passwords, extensions for digital forensics investigations.
Analyze Chromium-based browser artifacts using Hindsight to extract browsing history, downloads, cookies, cached content, autofill data, saved passwords, and browser extensions from Chrome, Edge, Brave, and Opera.
Analyzes Chromium-based browser artifacts using Hindsight to extract browsing history, downloads, cookies, cache, autofill, passwords, and extensions from Chrome, Edge, Brave, Opera for forensic investigations.
Share bugs, ideas, or general feedback.
Trit: 0 (ERGODIC - information coordination)
Foundation: PyACSet ↔ ACSets.jl path equivalence verified
Unified categorical structure for browser history across:
Uses GF(3) trit classification for browsing behavior analysis.
┌─────────────────────────────────────────────────────────────┐
│ 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) │
└─────────────────────────────────────────────────────────────┘
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 | ✓ |
# 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)
| 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 |
╔═══════════════════════════════════════════════════════════════╗
║ 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)
# 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
# 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)
)
browser-history-acset (0) ⊗ olmoearth-mlx (+1) ⊗ tenderloin (-1) = 0 ✓
py-acset (0) ⊗ ACSets.jl (+1) ⊗ DuckDB (-1) = 0 ✓
coequalizers (0) - Path equivalence via coequalizer quotientsacsets (0) - ACSet foundationstemporal-coalgebra (-1) - Time-based path analysisThis skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
general: 734 citations in bib.duckdbThis 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
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.