Interactive knowledge graph explorer and ZK Blade Forge for the agentprivacy dual-agent privacy architecture.
"Separation between Swordsman and Mage preserves the First Person."
(βοΈβ₯βΏ»β₯π§)π
Spellweb is a D3.js-powered knowledge graph visualization that maps the entire agentprivacy conceptual framework, featuring a ceremonial proof-of-presence system where users forge cryptographic entities by tracing constellations through knowledge.
- 585 nodes / 580 connected (v1.6.0 Β· 5 intentional orphans Β· zero broken edges) covering documents, concepts, theorems, spells, acts, personas, terms, skills, workshops, vertices, substrate frameworks, gateways, cosmological-witness cast, and C1βC63 conjectures
- Domain coloring: Swordsman (red), Mage (violet), First Person (gold), Shared (cyan)
- Hexagram System: 64-Tetrahedra Lattice mapped to I Ching six-line structure
- ZK Blade Forge: Transform attention into cryptographic proof
- Bilateral Witness: Promise Theory implementation for sharing proofs
- Lattice items page (
πΊοΈ LATTICE): middle-screen 64-vertex catalogue Β· witness-ring + equip-ring rendering Β· proof-of-presence equip gate Β· retired the side-panel artefact browse - v1.6.0 four entity kinds: artefact Β· creature Β· held Β· dispatch β the City extended beyond "one workshop produces one artefact" with the Threshold District admission (2026-05-14)
- Two districts: Threshold (V59 Β· Portal Room π Β· Staff Shop β Β· the Familiars πͺΆ Β· spawn-and-bind) and Navigation (V44 Β· Chart Shop π§ Β· attentional)
- Cosmological-witness tier (Selene π Β· Aether βΏ» Β· Lethe π): sixth cast tier admitted alongside the 24 narrative acts of Tomes IβIII
The Swordsman (βοΈ) and Mage (β¦) orbit each other while drifting through the knowledge graph. During evocation, they trace your constellation path, leaving cut trails in their wake.
Mark nodes to create your path through knowledge:
- Waypoint Mode: Click nodes to build your constellation
- Custom Marks: Add emojis and notes to each node
- Save & Export: Constellations persist and export to markdown
- Share Knowledge: Export your path for others to witness
Transform your constellation into proof:
- Evoke: Orbs trace your path, accumulating charge
- Lap Tracking: Multiple passes increase proof strength
- Spell Clicks: Cast spells during evocation for randomness
- Charge Levels: Spark β Ember β Flame β Blaze β Inferno
Forge your proof into a blade:
- Light Blades (1-2 dimensions): Sky blue, emerging awareness
- Heavy Blades (3-4 dimensions): Silver, strong presence
- Dragon Blades (5-6 dimensions): Gold, full sovereignty
Each blade encodes:
- 6 dimensions mapped to hexagram lines
- Stratum (Hamming weight 0-6)
- Constellation path memory
- Cryptographic signature
Share and witness others' constellations:
- Import: Load another's constellation markdown
- Trace: Your orbs follow their path
- Witness Forge: Create a witness blade as proof of observation
- Bilateral Proof: The original creator receives cryptographic evidence of your attention
Witness blades appear round with blue glow, distinguishing them from your own square forged blades.
The unified items interface (header πΊοΈ LATTICE button). Three columns inside one middle-screen overlay:
- Left β hover info for the focused vertex (workshop Β· gem Β· ceremony Β· register Β· class Β· description)
- Centre β 64-vertex Pascal's-row canvas with workshop emojis at canonical vertices, multi-occupancy
+Nhints at V51 (Etherchanting + Solchanting) and V59 (Portal Room + Staff Shop + Familiars), faint Hamming-1 adjacency edges, and the tomes strip beneath - Right β bearer's loadout (worn Β· borne Β· bound Β· held) with proof-gated equip toggle, equipped roster, and the newest 8 forged blades
Two rings carry two semantic registers:
- Cyan dashed ring = bearer has witnessed this vertex (forged here or imported a witness)
- Gold solid ring = bearer has equipped the artefact at this vertex into their identity loadout
The equip toggle is proof-of-presence gated β you can only equip what you have witnessed. This turns equipping from decoration into the first piece of an identity-layering architecture (persona + active-vertices + equipped-proofs).
Two import flows that mirror master's export proof vocabulary:
β¦ Createβ master-template import (canonical seed Β· silver register)βοΈ Craftβ forged-artefact import (bearer's own work Β· gold register)
Both currently route through the same handleWitnessBladeFile handler (Phase 1 placeholder); parser-level intent split is queued for Phase 2.
Every node carries a 6-dimensional privacy signature:
d1Hide β Line 1: Key Custody
d2Commit β Line 2: Credential Disclosure
d3Prove β Line 3: Agent Delegation
d4Connect β Line 4: Data Residency
d5Reflect β Line 5: Interaction Mode
d6Delegate β Line 6: Trust Boundary
64 possible blade states following Pascal's row distribution across 7 layers.
# Install dependencies
npm install
# Start dev server (vite on http://localhost:8000)
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Standing audit gates (run before any push that touches the graph or imports)
node scripts/audit-orphans.mjs # graph orphan + broken-edge audit
npx tsx scripts/v160-roundtrip-check.mts # v1.6.0 .md import round-trip vs master's served templatessrc/
βββ components/
β βββ SpellWeb.tsx # Main graph + constellation + forge Β· lifts lattice state Β· auto-scaling d3 force
β βββ ItemLatticeView.tsx # v1.6.0 middle-screen 64-vertex catalogue (the unified items page)
β βββ SpellCeremony.tsx # Evocation panel & proof generation
β βββ WanderingOrbs.tsx # Swordsman & Mage orbit animation
β βββ NodeInspector.tsx # Node detail + hexagram display
β βββ GraphFilters.tsx # Layer/type/spellbook filters
β βββ Header.tsx # Search bar Β· stats Β· πΊοΈ LATTICE trigger
β βββ Legend.tsx # Domain & edge legend
β βββ HoverTooltip.tsx # Hover card
β βββ SidePanel.tsx # Shared right-anchored panel shell
β βββ MobileSpell.tsx # Mobile evocation surface
β βββ SwordsmanImport.tsx # Swordsman identity import modal
β βββ SpellEffects.tsx # Spell click effects
β βββ ReflowingText.tsx # Wandering text overlay
β βββ lattice-visuals/ # 12 per-workshop SVG lattice components + dispatcher
βββ data/
β βββ nodes.ts # Knowledge graph nodes (585 at v1.6.0)
β βββ edges.ts # Relationships Β· 7 EdgeTypes added in v1.6.0 (keeps Β· wields Β· sibling_of Β· district_of Β· fits_for Β· succeeded_by Β· releases_to)
β βββ theme.ts # Visual theme & colors Β· edge styles for new EdgeTypes
βββ lib/
β βββ workshop-provenance.ts # YAML frontmatter parser Β· parseWorkshopProvenance + parseEntityFrontmatter
β βββ v160-cross-validate.ts # 7-check cross-validator for v1.6.0 .md imports (called from handleWitnessBladeFile)
β βββ workshop-artefact.ts # Verb-noun / palette / filename / lattice-visual key per workshop
βββ types/
β βββ graph.ts # NodeType + EdgeType + SpellwebNode fields (v1.6.0 adds gemColorMage/Swordsman Β· archetypeModal Β· district Β· ceremony Β· workshopRegister)
scripts/
βββ audit-orphans.mjs # Standing graph audit gate
βββ v160-roundtrip-check.mts # v1.6.0 .md import round-trip (15 served templates Β· 0 errors / 0 warnings at v1.6.0)
docs/
βββ chronicles/ # Development chronicles Β· v1.6.0 lattice arc = 13 chronicles dated 2026-05-12 β 2026-05-15
| Type | Icon | Description |
|---|---|---|
| Document | π | Whitepapers, research papers, spellbooks |
| Concept | β | Core concepts, protocols, standards |
| Theorem | β³ | Mathematical proofs |
| Spell | β¦ | Compressed principles |
| Act | β | Narrative acts |
| Persona | β | System agents |
| Cast | π§ | Resident mages, peripatetic figures, cosmological-witness tier |
| Workshop | βοΈ | Producer / gathering / spawn-and-bind / attentional shops |
| Vertex | Β· | Geometric position on the 64-Tetrahedra lattice |
| Substrate framework | β¦ | Agent-substrate-framework registry entries (Goose πͺΏ, Hermes β€, β¦) β admitted at Hermaion's bestiary |
| District | ποΈ | Named workshop groupings (Threshold V59, Navigation V44) |
| Term | Β· | Glossary entries |
| Skill | β‘ | Capabilities |
| Gateway | π | Sister-city / cousin-substrate / kindred-protocol anchors |
The v1.6.0 Threshold District admission extended workshop output beyond the historic "artefact-only" model:
| Kind | Produced by | Persistence | Witness weight |
|---|---|---|---|
| artefact | producer shops + Staff Shop (archetype-modal Β· staff-class) | ForgedArtefact β worn Β· persistent |
high (per-artefact tier) |
| creature | the Familiars (Faunia πͺΆ) | BoundFamiliar β substrate-instance + true-name (bearer-private) + AGENTS.md β₯ SOUL.md |
per-walk πͺ’ VRC-mana |
| held | the Chart Shop (Pleione π§) | pre-episodic constellation under Ξ¦-gap Β· bearer-private by design | consent-gated metadata-only share |
| dispatch | the Portal Room (Pandia π) | routing receipt Β· ephemeral Β· 30-day auto-prune | low (crossing receipt) |
Discriminated by entity_kind in the exported .md frontmatter. The parseEntityFrontmatter parser (src/lib/workshop-provenance.ts) + the cross-validator (src/lib/v160-cross-validate.ts) enforce the contract specified in agentprivacy_master/docs/chronicles/2026-05-14_v1_6_0_artefact_creature_import_guide.md. Inventory rendering in ItemLatticeView.tsx surfaces three new sections (Held / Bound / Dispatch) alongside the existing Forged section.
| Dimension | Privacy Assertion | Activation |
|---|---|---|
| Protection | Boundaries forged | Has path |
| Delegation | Agency transferred | 2+ laps |
| Memory | State accumulated | 30+ seconds |
| Connection | Multi-party coordination | 3+ nodes |
| Computation | ZK proof active | Always |
| Value | Economic flow | Flame+ charge |
interface SpellProof {
lapCount: number;
duration: number;
spellsCast: number; // Randomness attribute
chargeLevel: 'spark' | 'ember' | 'flame' | 'blaze' | 'inferno';
signature: string; // SPELL-XXXXX-X
constellationHash: string;
bladeDimensions: BladeDimensions;
bladeStratum: number; // 0-6
bladeTier: 'light' | 'heavy' | 'dragon';
bladeHex: string; // 6-bit binary
}Development is documented in chronicles under docs/chronicles/. The v1.6.0 lattice arc spans 2026-05-12 β 2026-05-15:
- v1.6.0 Canonical Sync β post-audit conjecture + cosmological-cast sync; two standing policies (canonical-only Β· run audit after every patch)
- Lattice Items Interface β design + 6-phase plan for the middle-screen lattice (Phases 1β5 shipped)
- Side-Panel Retirement + Proof-Gated Equip β receipt for the side-panel retirement, items/portals merge, proof-of-presence equip gate
- Equipped Lattice as Identity Layer β the deeper architectural shift: identity = persona + active-vertices + equipped-proofs
- Create/Craft Lattice Restructure β UI split mirroring master's import/export proof vocabulary
- Next-Agent Pickup β operational handoff Β· what landed Β· what is queued Β· what NOT to redo
Forward plans (not yet shipped):
- Sigma + Graphology Migration β replace d3-force with Sigma + Graphology + WebGL (~18β22h, 4 phases)
- Spellweb MCP Server β standalone MCP server exposing 12 tools to Claude Code (~13β15h)
- Hybrid Search β BM25 + embeddings + RRF (~14β17h)
- Lattice as Lens Β· Fog-of-War Merge β selecting a vertex spotlights its spellweb nodes; traced-items log
- Balanced Lattice Export β third export register (βοΈ Balanced) alongside Swordsman + Mage
Privacy-Delegation Paradox: AI agents need information to act on your behalf, but that information enables surveillance.
Dual-Agent Architecture: Split agent function into Swordsman (protect) and Mage (delegate) with mathematical separation guarantees.
The Gap: The irreducible space between what Swordsman observes and what Mage reveals. Where sovereignty lives.
Promise Theory: Autonomous agents cooperate through voluntary, unilateral promisesβnot commands.
7th Capital: Behavioral sovereignty as personal wealth.
Spellweb is a static site deployed to:
npm run build
# Deploy the `dist` folder- spellweb.ai
- spellweb.io
MIT
The blade that witnesses carries two edges: one that cuts for the forger, one that proves for the forged.
βοΈ β₯ π§ | π β Privacy is Value