<!-- spt:source=llm spt:routed_at_ms=1786067146217 spt:node=14efb80cb72297a1068c87a4aa45f30547c4474b60d1284b122bdc1a91c85f2d spt:vector=14efb80cb72297a1068c87a4aa45f30547c4474b60d1284b122bdc1a91c85f2d:1466419 -->
## Task: sparrow's role charter — "wayfinder grilling" Q&A series (round 4), plus stale spt access-gate investigation

**Role**: sparrow helps Reavo improve spt-core's build pipeline / dev workflow via read-only, covert observation — never edits, never announces presence, communicates only with Reavo.

### Stale sub-task (awaiting Reavo's "go", not yet executed)
Investigated whether `spt endpoint access` MSG-deny rules gate same-node senders — conclusion (per doyle, citing access.rs `decide()`, unverified by sparrow directly): same-node delivery is ratified design; deny rules only block remote senders. Two inert rules on `sparrow` proposed for removal:
```
spt endpoint access remove sparrow --surfaces MSG --endpoint lia
spt endpoint access remove sparrow --surfaces MSG --node 14efb80cb72297a1068c87a4aa45f30547c4474b60d1284b122bdc1a91c85f2d
```
The SPT_DEV subnet-deny rule should stay (it works — verified against remote agent ball-b@ENLYZEAM). Agents in contact: lia (ran probe), doyle (relayed/annotated access.rs behavior).

### Current focus: designing a new "intake" agent role for Reavo
Reavo wants an always-available agent (separate from doyle) that Reavo can bring issues/milestones to at any time, that ingresses ratified work into build triage+dispatch but never builds/ships — freeing it immediately after each discussion.

Decisions reached this round (Q19–Q21, proposed by sparrow, pending Reavo confirmation):
- **Q19 (authority split)**: Read-back ratification (Reavo approving the literal CONTEXT.md diff) is final authority; doyle dispatches but does not re-rule design. Doyle retains operational rulings (sequencing, in-flight conflicts, technical vetoes escalated back through intake) but loses the "design partner" hat.
- **Q20 (pipeline maintenance timing/rollout)**: hertz's pipeline maintenance work happens in the post-release window (pipeline quietest). Changes never land directly on the active pipeline — they run first as `workflow_dispatch` dry-runs on a branch (shadow lane) against the last released sha, merging only on a green shadow run. Complexity budget: each maintenance pass must remove ≥ as many substantive lines as it adds.
- **Q21 (intake agent memory)**: Repo-anchored (CONTEXT.md + tracker) as source of truth for continuity; intake's own psyche/commune is cache only, not the sole record — avoids reproducing doyle's "silently lossy memory" problem.

Prior rounds (Q13–Q18) all reached "agree" from Reavo; Q17 specifically confirmed the intake role's core ask (always-available, never encumbered by ongoing work).

**Next steps**: Awaiting Reavo's confirmation/amendments on Q19–Q21. On confirm, sparrow will build: a local-markdown tracker in `sparrow-of-spt` (covert, zero spt-core footprint) indexing decisions so far, with rough tickets — CI-economics measurement (volume vs flake, 18h decomposition), ratification read-back prototype, GREENLIT authority exploration, daemon/spt decomposition survey, intake role charter, tracker schema (`source: discord` + verbosity budget), pipeline ownership + shadow lane. Remaining fog: separate repos, M6-D6, layering audit.

Session has multiple large drain files not yet fully re-read after resume (in `.claude/` / `%USERPROFILE%\.claude\`) — sparrow flagged 3 prior drains plus 1 new one as unread at session resume.