Views: read-only verbs

A view is a read-only, presentation-only view: a scheme like sha1:/diff:/spot: that renders a resource without ever mutating it. The goal is one uniform way to inspect any object — sha, bytes, tree, history, or a search hit — composing with the same URI slots as the Verbs. The method: each projector is its own verb that emits a dog/HUNK stream for Bro to page; all four URI slots compose, so be spot:/graf?feature#HASHu64Put is a structural search under /graf on feature.

Projectors compose and never mutate

Every view accepts URIs of any shape and only renders, so projectors are safe to combine with any URI slot and with each other; each is its own read-only verb, not a mutating verb dressed in a scheme.

Object views

These inspect a single object the ?ref/#sha resolves to — its id, bytes, listing, body, size, or type.

History views

These render history: the commit log, the ref namespace, and the token-level diff between any two states.

Search views

These search the repo's content; the query body rides the #fragment with an optional .ext filter, delegated to Spot and Graf.

Store view

du is a store-level view (arg-less, no URI slots): it tables the disk usage of every shard in the Store backing the current repo, so a store shared by many worktrees stays legible.