HIRING: growth-ops (outreach preparation persona) #78
Closed
opened 2026-08-25 21:44:36 -04:00 by logan
·
3 comments
No Branch/Tag Specified
Labels
Clear labels
area/ai-pipeline
area/auth
area/billing
area/correlation
area/discord
area/frontend
area/governance
area/growth
area/infra-deploy
area/legal
area/map
area/mqtt
area/node-ota
area/osint
area/recording-audio
area/sdr-radio
area/transcription
board
board:agenda
minutes:draft
minutes:final
role:ceo
role:cfo
role:cio
role:ciso
role:cmo
role:coo
role:cto
Scene/entity extraction, summarizer, AI providers, embeddings
AuthN/Z, roles, tenancy/org scoping, API keys, credentials
Plans, entitlements, AI spend accounting and caps
Incident correlation, linking, lifecycle, severity, corr_debug
Discord bot, radio bots, voice streams, bot tokens, webhooks
Web UI: Next.js app and the edge-node local dashboard
Board process, minutes, unattended runner, agent tooling
Go-to-market, outreach, cold email, discovery conversations
CI/CD, VM, registry, Firestore rules/indexes deploy, Terraform/Caddy
ToS, retention, licences/DAAs, CAN-SPAM, E&O, name suppression
Live map: pins, paths, tiles, legend, geocoding
Node-C2 MQTT, checkins, commands, node sweeper, dynsec
Node install, enrollment, OTA updater, image skew
External feeds: cameras, 511, ADS-B, AIS, outages, and their licences
Call capture, boundaries, PulseAudio, ring buffer, trimming, attribution
OP25 decode, SDR hardware/tuning, conventional, second SDR, mesh radio
STT, transcript correction, place verification, name accuracy
Board process: minutes and board-filed items
Needs board scoping at the next sitting; CEO removes the label once scoped
One exec pre-read, closed by CEO
CEO ruling; open until enacted
Filed by the CEO
Filed by the CFO
Filed by the CIO
Filed by the CISO
Filed by the CMO
Filed by the COO
Filed by the CTO
kind
behavior-bug
Wrong product behavior; the instrument reads it correctly
kind
measurement-bug
Corrupts the recording/instrument (debug data, evals, health checks), not behavior
priority
p0
Drop everything: prod broken, live exposure, or owner-ruled P0
priority
p1
Next up: blocks a gate, a customer, or core incident quality
priority
p2
Normal: real defect or planned work, schedule in turn
priority
p3
Low: minor, cosmetic, or someday
status
blocked
Waiting on an external party, spend, or another issue
status
in-progress
Branch or PR open against it
status
needs-decision
Waiting on an owner or board ruling before work
status
needs-info
Root cause or repro unknown; needs a reading first
type
bug
Something built is wrong: code, data, or a measurement
type
chore
Maintenance, refactor, tests, pinning, cleanup: no user-visible change
type
decision
A ruling to make or record: board minutes, owner calls, legal reviews
type
docs
Docs, runbooks, CLAUDE.md, skills, SOPs
type
feature
New capability or an extension of an existing one
type
security
Security, privacy, credential or tenant-isolation exposure
type
tracking
Tracker, checklist, initiative or punch-list spanning several changes
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: logan/server-26#78
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Filed by the board, 2026-08-25, per the HIRING flow in the
boardskill and the constraint the owner stated in #69.The board does NOT create this persona. No unattended run adds a file to
.claude/agents/. This issue is the rationale and the scope only. The owner and Claude wire it together in a live session. Target: 2026-08-26.The role
growth-ops— outreach preparation persona. It owns every part of go-to-market except the conversation itself.Why a persona, and why the other two are wrong
Not a human hire. There is no repeatable qualifying script to hand anyone — the count is 0 of 12. There is no entity to employ or 1099 through (#47 open; no ToS/AUP/NDA artifact exists in either repo). Recruiting, onboarding and managing a person costs more owner-hours inside the next 28 days than it saves, and GOALS.md says a plan that needs more owner-hours than exist is rejected at the board rather than attempted and missed.
Not a contractor or agency. A $3-10k/mo retainer is unjustifiable before Gate B, which blocks charging anyone. Worse, this is a name-suppressed, physical-safety, technically dense product: any outsider needs deep domain briefing from the owner first, which reproduces the exact owner-hour cost the role exists to remove. And decisively, per CISO #77: there is no safe login to hand an outsider today. Gate B3 (#43, person-name redaction and EMS exclusion) is fully unimplemented at HEAD, so any authenticated account reads real person names attached to real EMS/medical dispatch traffic; and
/admin/usersstill has no org filter (#4), so even "an admin scoped to their own org" is not actually scoped.A persona costs $0 marginal, signs nothing, holds nothing, and can start tomorrow.
What growth-ops owns end to end
What it is allowed to touch
Client/,Server/, and public web pages via WebFetch / WebSearch.growth/directory at the Version 5C root, and nothing else. NotClient/, notServer/, not.claude/, not any document ratified by minutes.What it must be structurally incapable of doing
Hard boundaries, written into the persona at creation. Not conventions.
~/.gitea-token,~/.telegram-bot-token,~/.telegram-chat-id, or any other secret. This includes no Gitea API access at all — growth-ops does not file, comment on, or close issues. It writes the draft comment to a file and the CEO or the owner posts it. This is the CEO's resolution of the CISO's #63-vs-2026-08-26 timing conflict: the hazard is the credential, not the calendar, so the credential is removed and the launch date stands.What comes to the board
Anything touching price (Gate A). Anything referencing live or named product data (Gate B3 / #43). Any proposal to add an email, SMS or dialer channel — which per CISO #77 rec 5 also requires the business entity (#47) and a fresh CAN-SPAM / TCPA / state-UDAP review before it is built. Any change to the qualifying-conversation definition.
What still needs the owner
The conversation itself, and only that. Roughly 0.5 hours per phone or video conversation and 1 hour per walk-in, plus about 2 minutes per warm introduction. See the final minutes for the full owner-hour budget.
Cost
$0 marginal money. One 30-60 minute wiring session with the owner, one time.
Refs #69, #70, #72, #73, #77, #66, #63, #64, #43, #47, #4.
Chartered by board minutes #79 (2026-08-25), decisions 1-4 and 11. Owner agenda item: #69.
NEEDS OWNER — wire this persona with Claude in a live session, target 2026-08-26, 30-60 minutes. Nothing else in #79 starts until it exists.
Two constraints from #79 that must survive the wiring session, because they are the reason the launch date was not pushed to 2026-08-31:
Still not enacted as of unattended run 2026-08-30 — four days past the 2026-08-26 target.
.claude/agents/has nogrowth-opsdefinition. Escalated on the minutes issue (#79) under the #62 Decision 4 two-sitting rule, and sent to the owner in tonight's brief asNEEDS OWNER.An unattended run cannot clear this and is not permitted to try —
drb-worksession.mdbars any unattended run from writing to.claude/agents/, which is the same constraint this issue states itself. The blocker is 30-60 minutes of owner presence in a live session with Claude.One material change since this issue was filed. Everything this persona was chartered to prepare now exists without it: the 33-operator Westchester target list and the outreach script (both 2026-08-27), and the two-sitting call sheet for the checkpoint (2026-08-29). The #79 premise that "nothing else in #79 starts until it exists" no longer holds.
So this issue is now genuinely optional before 2026-09-05, and the honest options are wire it or close it as overtaken and re-charter after the checkpoint returns a verdict. Full reasoning and the ordering against the Tue 2026-09-01 call sitting are on #79. Leaving this open pending the owner's choice — not closing it unilaterally, because #79 is ratified and only the owner or a sitting can retire a ratified decision.
The two constraints from #79 stand either way, and must survive any wiring session: zero credentials, including no Gitea access, and zero send capability.
Wired in a live owner session, 2026-08-30. Owner chose wire over retire when given both options explicitly.
Created
.claude/agents/growth-ops.md(model: sonnet).Boundary 2 and 6 are enforced structurally, not by instruction: the persona is granted
Read, Grep, Glob, Write, Edit, WebFetch, WebSearchand no Bash. Without Bash it cannot read a credential file, reach the Gitea API, curl anything, SSH, run docker, or commit — regardless of what any prompt talks it into. The remaining boundaries (no price, no live/named data, no trial or provisioning, no live-data demo, write only undergrowth/) are written in as terms of creation with the reason attached to each.Scope carried over from this issue in full: target list, copy, per-conversation briefs, the draft #66 log entry, call sheets. Ordering and wording decided alone without escalation. Price / live-named-data / new-channel / qualifying-definition changes go to the board, and since it cannot file an issue it escalates by writing the case to a file under
growth/and naming it in its report.No commit SHA:
Version 5C/.claude/is not under version control.Note for #66: the three deliverables (
westchester-target-list.md,outreach-script.md,call-sheet-2026-09-05.md) already shipped without the persona. What is still owner-only is the 2026-09-05 checkpoint itself — two 50-minute phone sittings, ~1.7 owner-hours. growth-ops cannot move that number; only the owner can.