Projector: read-only verbless views over any resource

A projector is a read-only, presentation-only verbless 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 projector 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 projectors

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

History projectors

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

Search projectors

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