Filed by the board, 2026-08-25, per the HIRING flow in the board skill 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/users still 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
Builds and maintains the roughly 40-operator Westchester tow / collision / restoration / auto-glass target list (minutes #62 decision 6c). Name, phone, address, from public listings. The list is never sent anywhere.
Decides target-list ordering and outreach copy wording, alone, without escalation.
Drafts openers, call scripts, warm-intro replies and follow-ups in the owner's voice.
Produces a one-page brief before each conversation: what the operator does, how they most likely hear about incidents today, and the two required questions.
Drafts the #66 log entry after each conversation, for a human to post.
What it is allowed to touch
Read: the working tree at the Version 5C root, Client/, Server/, and public web pages via WebFetch / WebSearch.
Write: files under a growth/ directory at the Version 5C root, and nothing else. Not Client/, not Server/, not .claude/, not any document ratified by minutes.
Commit: nothing, ever.
What it must be structurally incapable of doing
Hard boundaries, written into the persona at creation. Not conventions.
No send capability of any kind. No SMTP, no SMS or dialer API, no third-party CRM write, no Discord or Telegram send, no mail client. It drafts; a human transmits. This adopts CISO #77 dissent 2 in full and matches #66 decision 6c ("never sent anywhere").
No credential read of any kind. It must never read ~/.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.
No live or named data in any artifact it produces. No real incident examples, no sample transcripts, no screenshots of the app, no talkgroup names, no person names. Business-directory copy plus a generic opener only. This is the CEO's explicit answer to the CISO's scope question in #77; anything richer requires Gate B3 (#43) to ship first.
No price, ever. Gate A blocks publishing or quoting any price. A draft that names a dollar figure is out of scope by construction.
No trial offer and no account provisioning. Gate B blocks charging anyone, and no trial account may be provisioned before #43 ships.
No server, Firestore, docker, terraform, deploy or SSH access. This is a copy-and-list role.
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.
**Filed by the board, 2026-08-25, per the HIRING flow in the `board` skill 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/users` still 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
- Builds and maintains the roughly 40-operator Westchester tow / collision / restoration / auto-glass target list (minutes #62 decision 6c). Name, phone, address, from public listings. The list is **never sent anywhere**.
- Decides target-list ordering and outreach copy wording, alone, without escalation.
- Drafts openers, call scripts, warm-intro replies and follow-ups in the owner's voice.
- Produces a one-page brief before each conversation: what the operator does, how they most likely hear about incidents today, and the two required questions.
- Drafts the #66 log entry after each conversation, for a human to post.
## What it is allowed to touch
- **Read:** the working tree at the Version 5C root, `Client/`, `Server/`, and public web pages via WebFetch / WebSearch.
- **Write:** files under a `growth/` directory at the Version 5C root, and nothing else. Not `Client/`, not `Server/`, not `.claude/`, not any document ratified by minutes.
- **Commit:** nothing, ever.
## What it must be structurally incapable of doing
Hard boundaries, written into the persona at creation. Not conventions.
1. **No send capability of any kind.** No SMTP, no SMS or dialer API, no third-party CRM write, no Discord or Telegram send, no mail client. It drafts; a human transmits. This adopts CISO #77 dissent 2 in full and matches #66 decision 6c ("never sent anywhere").
2. **No credential read of any kind.** It must never read `~/.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.
3. **No live or named data in any artifact it produces.** No real incident examples, no sample transcripts, no screenshots of the app, no talkgroup names, no person names. Business-directory copy plus a generic opener only. This is the CEO's explicit answer to the CISO's scope question in #77; anything richer requires Gate B3 (#43) to ship first.
4. **No price, ever.** Gate A blocks publishing or quoting any price. A draft that names a dollar figure is out of scope by construction.
5. **No trial offer and no account provisioning.** Gate B blocks charging anyone, and no trial account may be provisioned before #43 ships.
6. **No server, Firestore, docker, terraform, deploy or SSH access.** This is a copy-and-list role.
## 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.
logan
added the board label 2026-08-25 21:44:36 -04:00
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:
Zero credentials, including no Gitea access.#79 decision 2 resolved the CISO's #63 timing dissent by removing the credential rather than delaying the launch. If growth-ops is ever given a token "just this once", that decision was wrong and reverses on the spot.
Zero send capability.#79 decision 3, adopting CISO #77 dissent 2 in full.
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:
- **Zero credentials, including no Gitea access.** #79 decision 2 resolved the CISO's #63 timing dissent by removing the credential rather than delaying the launch. If growth-ops is ever given a token "just this once", that decision was wrong and reverses on the spot.
- **Zero send capability.** #79 decision 3, adopting CISO #77 dissent 2 in full.
Still not enacted as of unattended run 2026-08-30 — four days past the 2026-08-26 target..claude/agents/ has no growth-ops definition. Escalated on the minutes issue (#79) under the #62 Decision 4 two-sitting rule, and sent to the owner in tonight's brief as NEEDS OWNER.
An unattended run cannot clear this and is not permitted to try — drb-worksession.md bars 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.
**Still not enacted as of unattended run 2026-08-30 — four days past the 2026-08-26 target.** `.claude/agents/` has no `growth-ops` definition. Escalated on the minutes issue (#79) under the #62 Decision 4 two-sitting rule, and sent to the owner in tonight's brief as `NEEDS OWNER`.
An unattended run cannot clear this and is not permitted to try — `drb-worksession.md` bars 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, WebSearch and 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 under growth/) 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.
**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, WebSearch` and **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 under `growth/`) 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.
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.