DOGIsProjector / DOGProjectorDog
uri.parse (URILexer) is bound, but the verb/projector vocabulary isn't: a JS extension can't tell a projector scheme from a verb, nor which dog serves it. Method: Issues.
js/uri.cpp binds URILexer only; the DOG dispatch table is opaque to JS (verified: grep DOGIsProjector in js/ → none).dog/DOG.h:302 DOGIsProjector(u8cs), :306 DOGProjectorDog(u8cs), :362 DOGParseURI(urip, u8csc) exist — bindable leaves.be status review: status: resolves to sniff via this table; a JS tool wanting the same routing must reach it.CLIParse (full argv→cli) is heavier — scope this ticket to the URI/projector helpers; defer CLIParse if wanted (JS-015 covers argv).dog.isProjector(scheme) -> bool, dog.projectorDog(scheme) -> string|undefined, and uri.parseDog(text) over DOGParseURI (scheme-aware vs the bare URILexer).dog.projectorDog("status") === "sniff"; dog.isProjector("get") === false.