WWN Sheaf Model: DAG Fibers over the Ring

Table of Contents

Motivation

The base WWN contract models navigation across sites (the ring). But within each site there is a directed acyclic graph of pages rooted at the landing page. A visitor's full trajectory lives in the total space of a fiber bundle over the ring:

\[E \xrightarrow{\pi} \mathbb{Z}_{\text{ord}}\]

where the fiber \(\pi^{-1}(k) = G_k\) is the DAG rooted at site \(k\).

Ring navigation only occurs at the root. Descent into a site's DAG is orthogonal to the ring protocol.

Extended State

\[\mathcal{C} = \langle \text{ord}, k, w, t, d, \; \sigma \rangle\]

Parameter Domain Description
ord \(\mathbb{N}^+\) Order of ring (from manifest)
k \(\mathbb{Z}_{\text{ord}}\) Ring position (1-indexed)
w \(\mathbb{Z}\) Winding number. Omit if 0.
t \(\mathbb{N}\) Turning count. Omit if 0.
d \(\{n\}\) Direction. Omit for +. d=n for -.
\(\sigma\) Path in \(G_k\) Root-to-current path in site DAG

The path \(\sigma = (v_0, v_1, \ldots, v_m)\) where \(v_0\) is always the root (landing page). When \(\sigma = (v_0)\), the visitor is at the root and ring navigation is available.

Depth

\[\text{depth}(k) = |\sigma| - 1\]

The visitor's full position is a point in \(\mathbb{Z}_{\text{ord}} \times \mathbb{N}\) but the second axis has site-dependent topology.

Navigation Modes

Mode Constraints

Mode Guard Actions available State change
Ring \(\sigma = (v_0)\) next, prev \(k, w, t, d\) update
Descent edge \((v_m, u) \in G_k\) follow link \(\sigma \gets \sigma \cdot u\)
Ascent \(\lvert\sigma\rvert > 1\) back toward root \(\sigma \gets \sigma_{[0:m-1]}\)

Invariant: ring transitions require \(\lvert\sigma\rvert = 1\). A visitor must ascend to the root before moving to the next site.

Site DAG Structure

Each member site \(k\) publishes a DAG \(G_k = (V_k, E_k)\):

DAG Properties

  • Rooted: exactly one root \(v_0\) per site (the landing page)
  • Acyclic: no page links back to an ancestor (DAG, not arbitrary graph)
  • Finite: each site has a bounded page count
  • Heterogeneous: \(|V_k|\) and structure vary per site

Sitemap as Manifest Extension

The ring manifest currently lists members by URL. Extended with DAG:

# ring.toml — member entry
[[members]]
k = 3
root = "https://example.com/"

[[members.pages]]
path = "/about"
parent = "/"

[[members.pages]]
path = "/posts"
parent = "/"

[[members.pages]]
path = "/posts/winding-numbers"
parent = "/posts"

The DAG is reconstructed from parent edges. If no pages are declared, the site is a single-node DAG (root only), collapsing to the base contract.

URL Encoding

Opaque Fibers (recommended)

The ring protocol stays unchanged. The site's own URL path is \(\sigma\):

https://member-3.example.com/posts/winding-numbers?k=3&w=1
                             └─── σ ──────────────┘ └ ring state ┘

At root:

https://member-3.example.com/?k=3&w=1

The ring footer appears only when \(\sigma = (v_0)\), i.e., on the root page. Inner pages may display a "return to ring" link pointing to /?k…&w=…=.

Transparent Fibers (optional)

If the ring tracks depth:

https://wal.sh/research/wwn/?k=3&w=1&sigma=posts/winding-numbers

This reveals traversal depth to analytics but couples the ring protocol to site-internal structure.

Behavioral Classes (Extended)

The \((w, t)\) plane from winding-ring-spec.org gains a depth axis:

Class \(w\) \(t\) depth Pattern
Passive Observer \(= 0\) \(= 0\) \(= 0\) Landed on root, left
Shallow Browser \(= 0\) \(= 0\) \(> 0\) Explored one site's pages
Linear Explorer \(\geq 1\) \(= 0\) \(= 0\) Ring traversal, roots only
Deep Explorer \(\geq 1\) \(= 0\) \(> 0\) Traverses ring AND descends
Spelunker \(= 0\) \(= 0\) \(\gg 0\) Deep in one site, never leaves
Backtracker any \(> 0\) any Reversed ring direction
Oscillator any \(\gg \lvert w\rvert\) any High turns, low net winding
Completionist \(\geq 1\) any \(= \max(G_k)\) Full depth at every site visited

Phase Space Visualization

Formal Properties

Projection

The projection \(\pi: E \to \mathbb{Z}_{\text{ord}}\) forgets the DAG path:

\[\pi(\text{ord}, k, w, t, d, \sigma) = (\text{ord}, k, w, t, d)\]

This recovers the base WWN contract. All ring-level analysis (winding, turning, behavioral class at ring level) operates on the projection.

Section

A section \(s: \mathbb{Z}_{\text{ord}} \to E\) assigns each ring position a specific page. The trivial section maps every \(k\) to its root:

\[s_0(k) = (\text{ord}, k, w, t, d, (v_0^k))\]

A non-trivial section might map each site to its "most interesting" page (e.g., for generating preview cards or OG images).

Fiber Product

Two visitors at the same ring position but different depths occupy different points in \(E\):

\[\pi^{-1}(k) = \{ \sigma \mid \sigma \text{ is a root-path in } G_k \}\]

The cardinality \(|\pi^{-1}(k)|\) equals the number of nodes in \(G_k\).

Compatibility with Base Contract

This model is a conservative extension of the base WWN contract:

  1. When all sites are single-page (\(|V_k| = 1 \;\forall k\)), \(\sigma\) is always \((v_0)\) and the sheaf model collapses to the base ring
  2. The ring footer contract is unchanged — it only renders at root
  3. Existing URLs without \(\sigma\) are valid (implies root)
  4. The turning count \(t\) is unaffected by intra-site navigation

The sheaf structure is invisible to ring participants who don't declare pages.

Open Questions

  • [ ] Should intra-site back-button count as a "turn" for \(t\), or only ring-level reversals?
  • [ ] Breadcrumb: show \(\sigma\) as path, or just depth indicator?
  • [ ] Cross-site DAG links (site 3's page links to site 5's page) — teleportation on the cylinder?
  • [ ] Maximum depth for behavioral analytics? Cap at depth 5?
  • [ ] Does the ring manifest need to enumerate all DAG nodes, or just roots?

References

Author: Jason Walsh

jwalsh@nexus

Last Updated: 2026-02-07 17:06:27

build: 2026-04-17 18:34 | sha: 792b203