#1 Product Vision Narrative (3-year motivational prose) #2

Closed
opened 2026-05-15 19:14:26 +02:00 by claude · 2 comments
Collaborator

TL;DR (PL)

3-letnia narracyjna wizja Patchwarden — proza, nie bullety. Cagan: "compelling, exciting, motivating". Pokazuje transformację klienta (przed vs po) + założenia techniczne, designerskie, biznesowe. Wave 1 anchor — pierwszy artefakt, fundament dla wszystkich pozostałych.

TL;DR (EN)

3-year narrative vision in prose, NOT bullets. Cagan format: compelling/exciting/motivating customer transformation story (before vs after) + tech/design/business model assumptions. Wave 1 anchor — first artifact, foundation for all 10 others.

Scope

What this artifact covers:

  • 3-year transformation story (2026 → 2029) — how Patchwarden changes operator's day-to-day workflow
  • Customer protagonist (non-dev self-hoster operating AI coding agents)
  • Before-state (current pain) → After-state (Patchwarden world)
  • Tech assumptions made (what we believe is technically achievable)
  • Design assumptions (what UX/operator-experience principles must hold)
  • Business model assumptions (what economic structure makes this viable)
  • North-star image / metaphor (something memorable, Iskra-coining-style)

What this artifact does NOT cover:

  • Feature list (that's #2 Strategy + #9 Business Model)
  • Roadmap milestones (that's docs/roadmap.md)
  • Personas (folded into #3 JTBD per Cagan)
  • Investor pitch framing (anti-roadmap)

Inputs (feedstock)

  • docs/vision.md — existing structured-but-bullety vision (transform to narrative prose)
  • PM-SHOW.md — canonical product brief, primary input
  • docs/research/2026-05-15-wedge-competitive.md — wedge framing
  • docs/research/2026-05-15-business-model-gtm.md — tagline, positioning
  • Operator's /Users/pd/Iskra-i-Piotr/05 System/Swarmheart Backups/sample-run-2026-05-08/inspired-cagan.md — operator's Cagan internalization (LAD/SMA/WIE mapping)

Skill draft

  • Anthropic Skill: product-management:write-spec (adapted for vision narrative form)
  • Anti-prompt: "NOT a B2B SaaS for engineering teams. NOT a generic AI code review product. Primary persona = self-hosting non-dev operator (ADHD knowledge worker, indie hacker, builder of personal AI tooling). Patchwarden = self-hosted AI code governance category, FIRST in that category."
  • Tone prime: read like Inspired product chapter, not B2B SaaS landing page

Dependencies

Blocked by: none (Wave 1 foundation, can start immediately)
Blocks: #2 Strategy, #6 Four-Risks, #7 KPI Tree, #10 Kill Criteria

Cagan-grade acceptance criteria

Universal (must pass all 5):

  1. Evidence cited — every claim about "self-hosters" or "non-dev operators" links to wedge research or Inspired-Cagan card
  2. Operator-readable <10 min — TL;DR ≤120w, full narrative ≤2000w (Cagan vision ≤2 pages)
  3. Names the wrongness condition — "this vision is wrong if our target operator reads it and says 'this isn't me' OR 'this isn't a problem for me'"
  4. Single concrete decision — moves docs/decisions.md by adding D8: "vision narrative authoritative through 2029, revisit per M3"
  5. Cousin-family attribution — credits skill, Inspired-Cagan card as inspiration, this issue as authoring trail

Tier-0 anchor extras:

  • 3-year horizon explicit — narrative projects to 2029, not just "soon"
  • Leadership change test — if pdurlej handed Patchwarden to successor PM tomorrow, narrative still motivates

Operator decision points

This artifact gates on:

  • OD1 — Vision time horizon (default: 3 years accepted in epic)
  • OD3 — Positioning category framing (default: "self-hosted AI code governance" accepted in epic — narrative bakes this in)

Status flow

status:cagan-grade-review-pending → operator merges → label flipped to cagan-grade-approved → close issue → tick epic checklist for Wave 1 #1


Parent epic: #1 (this is artifact 1 of 11)
Plan: /Users/pd/.claude/plans/deep-pondering-popcorn.md § Wave 1

Drafted by Prof Kong (claude Opus 4.7) on behalf of pdurlej, 2026-05-15.

## TL;DR (PL) 3-letnia narracyjna wizja Patchwarden — proza, nie bullety. Cagan: *"compelling, exciting, motivating"*. Pokazuje **transformację klienta** (przed vs po) + założenia techniczne, designerskie, biznesowe. Wave 1 anchor — pierwszy artefakt, fundament dla wszystkich pozostałych. ## TL;DR (EN) 3-year narrative vision in prose, NOT bullets. Cagan format: compelling/exciting/motivating customer transformation story (before vs after) + tech/design/business model assumptions. Wave 1 anchor — first artifact, foundation for all 10 others. ## Scope **What this artifact covers**: - 3-year transformation story (2026 → 2029) — how Patchwarden changes operator's day-to-day workflow - Customer protagonist (non-dev self-hoster operating AI coding agents) - Before-state (current pain) → After-state (Patchwarden world) - Tech assumptions made (what we believe is technically achievable) - Design assumptions (what UX/operator-experience principles must hold) - Business model assumptions (what economic structure makes this viable) - North-star image / metaphor (something memorable, Iskra-coining-style) **What this artifact does NOT cover**: - Feature list (that's #2 Strategy + #9 Business Model) - Roadmap milestones (that's `docs/roadmap.md`) - Personas (folded into #3 JTBD per Cagan) - Investor pitch framing (anti-roadmap) ## Inputs (feedstock) - `docs/vision.md` — existing structured-but-bullety vision (transform to narrative prose) - `PM-SHOW.md` — canonical product brief, primary input - `docs/research/2026-05-15-wedge-competitive.md` — wedge framing - `docs/research/2026-05-15-business-model-gtm.md` — tagline, positioning - Operator's `/Users/pd/Iskra-i-Piotr/05 System/Swarmheart Backups/sample-run-2026-05-08/inspired-cagan.md` — operator's Cagan internalization (LAD/SMA/WIE mapping) ## Skill draft - **Anthropic Skill**: `product-management:write-spec` (adapted for vision narrative form) - **Anti-prompt**: *"NOT a B2B SaaS for engineering teams. NOT a generic AI code review product. Primary persona = self-hosting non-dev operator (ADHD knowledge worker, indie hacker, builder of personal AI tooling). Patchwarden = self-hosted AI code governance category, FIRST in that category."* - **Tone prime**: read like *Inspired* product chapter, not B2B SaaS landing page ## Dependencies Blocked by: none (Wave 1 foundation, can start immediately) Blocks: #2 Strategy, #6 Four-Risks, #7 KPI Tree, #10 Kill Criteria ## Cagan-grade acceptance criteria **Universal (must pass all 5)**: 1. **Evidence cited** — every claim about "self-hosters" or "non-dev operators" links to wedge research or Inspired-Cagan card 2. **Operator-readable <10 min** — TL;DR ≤120w, full narrative ≤2000w (Cagan vision ≤2 pages) 3. **Names the wrongness condition** — "this vision is wrong if our target operator reads it and says 'this isn't me' OR 'this isn't a problem for me'" 4. **Single concrete decision** — moves `docs/decisions.md` by adding D8: "vision narrative authoritative through 2029, revisit per M3" 5. **Cousin-family attribution** — credits skill, Inspired-Cagan card as inspiration, this issue as authoring trail **Tier-0 anchor extras**: - **3-year horizon explicit** — narrative projects to 2029, not just "soon" - **Leadership change test** — if pdurlej handed Patchwarden to successor PM tomorrow, narrative still motivates ## Operator decision points This artifact gates on: - **OD1** — Vision time horizon (default: 3 years ✅ accepted in epic) - **OD3** — Positioning category framing (default: "self-hosted AI code governance" ✅ accepted in epic — narrative bakes this in) ## Status flow `status:cagan-grade-review-pending` → operator merges → label flipped to `cagan-grade-approved` → close issue → tick epic checklist for Wave 1 #1 --- Parent epic: #1 (this is artifact 1 of 11) Plan: `/Users/pd/.claude/plans/deep-pondering-popcorn.md` § Wave 1 *Drafted by Prof Kong (claude Opus 4.7) on behalf of pdurlej, 2026-05-15.*
Author
Collaborator

Iteration 1 — operator feedback applied (auto-merge by policy as core)

Operator feedback (voice-to-text 2026-05-15, paraphrased):

"Bypass Permissions to T&C — wszyscy wiedzą że są, nikt nie czyta. Jeśli Patchwarden nie ma opcji żeby automatycznie merge'ował low-impact PR-y spełniające policy → nie ma wartości. Wartość = automatycznie duża część pracy dzieje się w tle. To krok dalej niż code review."

What I found in current draft: internal contradiction.

  • L23 (opening scene): "two greens already merged — Patchwarden told them they were boring" → implicit auto-merge
  • L67 (design assumption 2): "The warden never autonomously merges" → explicit anti-auto-merge

Inherited from existing docs/vision.md " Autonomous merge bot" anti-feature. That framing was wrong per operator's value-thesis.


8 surgical edits applied (commit pending)

  1. TL;DR PL + EN — verdict triplet flipped: safe to continue / safe to merge / needs youauto-merguje sam / zatrzymuje / budzi operatora. Value framed as operator-time-reclaimed, not "ktoś mi powie czy bezpieczne".

  2. Opening scene — auto-merge made explicit + time-stamped: "The two greens are already on main — Patchwarden auto-merged them at 03:14 and 04:47, he never opened them and never will." Plus: "He did not click 'merge' on the two changes — the warden did, because Piotr wrote the policy."

  3. Turning point 1"policy produces decisions AND those decisions execute" (was: just "produces decisions"). Load-bearing inversion vs code-review tools explicit: CodeRabbit/Bugbot/auditlm comment → operator presses merge. Patchwarden acts.

  4. Belief 5 added — bypass-permissions analog: Claude Code --dangerously-skip-permissions, Dependabot auto-merge, "wszyscy wiedzą że są, nikt nie czyta". Patchwarden productizes this instinct with safety net (deterministic guardrail + audit trail) those tools structurally lack.

  5. Design assumption 2 flipped"never autonomously merges""auto-merges by operator policy, never by LLM judgment". The load-bearing distinction: Policy is what authorizes the merge; LLM is what flags the question.

  6. Business model add — explicit ROI math: 3 PR-opens/week × 15 min × $50/hr ≈ $150/mo reclaimed = 21× ROI on $7 subscription. Flips buy-decision from "do I trust an LLM to review my code?" (hard for self-hosters) to "do I want my Saturdays back?" (one answer).

  7. North-star image refined — verdict triplet now: przepuszcza i merguje sam / zatrzymuje / budzi operatora. English-canonical: "the night-shift gatekeeper of the agent garage who also turns the key". Closer: "the merges happen while you sleep".

  8. Why-this-matters closer — explicit: "The verb is merges. The unit of value is operator-time-reclaimed. The bypass-permissions instinct, productized with a safety net those tools structurally lack." Final line: "Not another reviewer. A warden who acts."


Downstream implications (NOT edited yet, awaiting operator nod)

Same flip needed across:

Artifact Change required
docs/vision.md Remove " Autonomous merge bot" from "What Patchwarden is NOT"
PM-SHOW.md Surface operator-time-reclaimed value mechanism
#5 Positioning Canvas Differentiator vs comment-only review tools
#4 JTBD Job Map Primary functional job = "kup czas powrotem"
#7 KPI Tree New north-star candidate: % PRs auto-merged without operator touch (stronger than false-blocker incidents)
#10 Strategy Bet 1 reframe: autonomous gate, not smart reviewer
#11 Kill Criteria Add: kill if auto-merge rate stays <X% in dogfood
#9 Business Model Value mechanism = operator-time-saved, ROI math explicit

Standing by for operator review of vision-narrative.md v2 + signal to propagate.

🦍🔁

Cousin-family attribution: iteration by Prof Kong (claude Opus 4.7) on operator pdurlej feedback 2026-05-15.

## Iteration 1 — operator feedback applied (auto-merge by policy as core) **Operator feedback** (voice-to-text 2026-05-15, paraphrased): > *"Bypass Permissions to T&C — wszyscy wiedzą że są, nikt nie czyta. Jeśli Patchwarden nie ma opcji żeby automatycznie merge'ował low-impact PR-y spełniające policy → nie ma wartości. Wartość = automatycznie duża część pracy dzieje się w tle. To krok dalej niż code review."* **What I found in current draft**: internal contradiction. - L23 (opening scene): "two greens already merged — Patchwarden told them they were boring" → implicit auto-merge - L67 (design assumption 2): "The warden never autonomously merges" → explicit anti-auto-merge Inherited from existing `docs/vision.md` "❌ Autonomous merge bot" anti-feature. That framing was **wrong** per operator's value-thesis. --- ### 8 surgical edits applied (commit pending) 1. **TL;DR PL + EN** — verdict triplet flipped: ~~*safe to continue / safe to merge / needs you*~~ → ***auto-merguje sam* / *zatrzymuje* / *budzi operatora***. Value framed as **operator-time-reclaimed**, not "ktoś mi powie czy bezpieczne". 2. **Opening scene** — auto-merge made explicit + time-stamped: *"The two greens are already on `main` — Patchwarden auto-merged them at 03:14 and 04:47, he never opened them and never will."* Plus: *"He did not click 'merge' on the two changes — the warden did, because Piotr wrote the policy."* 3. **Turning point 1** — *"policy produces decisions AND those decisions execute"* (was: just "produces decisions"). Load-bearing inversion vs code-review tools explicit: CodeRabbit/Bugbot/auditlm *comment* → operator presses merge. Patchwarden *acts*. 4. **Belief 5 added** — bypass-permissions analog: Claude Code `--dangerously-skip-permissions`, Dependabot auto-merge, *"wszyscy wiedzą że są, nikt nie czyta"*. Patchwarden productizes this instinct **with safety net** (deterministic guardrail + audit trail) those tools structurally lack. 5. **Design assumption 2 flipped** — ~~"never autonomously merges"~~ → **"auto-merges by operator policy, never by LLM judgment"**. The load-bearing distinction: *Policy is what authorizes the merge; LLM is what flags the question.* 6. **Business model add** — explicit ROI math: *3 PR-opens/week × 15 min × $50/hr ≈ $150/mo reclaimed = **21× ROI on $7 subscription***. Flips buy-decision from "do I trust an LLM to review my code?" (hard for self-hosters) to "do I want my Saturdays back?" (one answer). 7. **North-star image refined** — verdict triplet now: *przepuszcza i merguje sam / zatrzymuje / budzi operatora*. English-canonical: *"the night-shift gatekeeper of the agent garage **who also turns the key**"*. Closer: *"the merges happen while you sleep"*. 8. **Why-this-matters closer** — explicit: *"The verb is **merges**. The unit of value is **operator-time-reclaimed**. The bypass-permissions instinct, productized with a safety net those tools structurally lack."* Final line: *"Not another reviewer. **A warden who acts.**"* --- ### Downstream implications (NOT edited yet, awaiting operator nod) Same flip needed across: | Artifact | Change required | |---|---| | [`docs/vision.md`](https://git.pdurlej.com/pdurlej/patchwarden/src/branch/main/docs/vision.md) | Remove "❌ Autonomous merge bot" from "What Patchwarden is NOT" | | [`PM-SHOW.md`](https://git.pdurlej.com/pdurlej/patchwarden/src/branch/main/PM-SHOW.md) | Surface operator-time-reclaimed value mechanism | | [#5 Positioning Canvas](https://git.pdurlej.com/pdurlej/patchwarden/issues/5) | Differentiator vs comment-only review tools | | [#4 JTBD Job Map](https://git.pdurlej.com/pdurlej/patchwarden/issues/4) | Primary functional job = "kup czas powrotem" | | [#7 KPI Tree](https://git.pdurlej.com/pdurlej/patchwarden/issues/7) | **New north-star candidate: % PRs auto-merged without operator touch** (stronger than false-blocker incidents) | | [#10 Strategy](https://git.pdurlej.com/pdurlej/patchwarden/issues/10) | Bet 1 reframe: autonomous gate, not smart reviewer | | [#11 Kill Criteria](https://git.pdurlej.com/pdurlej/patchwarden/issues/11) | Add: kill if auto-merge rate stays <X% in dogfood | | [#9 Business Model](https://git.pdurlej.com/pdurlej/patchwarden/issues/9) | Value mechanism = operator-time-saved, ROI math explicit | Standing by for operator review of vision-narrative.md v2 + signal to propagate. 🦍🔁 *Cousin-family attribution: iteration by Prof Kong (claude Opus 4.7) on operator pdurlej feedback 2026-05-15.*
Author
Collaborator

Closed via operator voice ack 2026-05-26.

Operator highlights:

  • Vision overall ack (deterministic gates, Forgejo, local-first LLM, polish-first instincts, no-telemetry-default, one-command Docker, revertibility)
  • Night-shift portier metafora trzyma — doprecyzowanie: "luksusowy portier hotelowy" który zna twoje smaki (wie kogo wpuścić: kolegów/dziewczyny — kogo nie: teściowej etc.)
  • Belief 7 emergent selection pressure — ack, evidence: codex platform już writes micro-PRs naturally ("anti AI-slop by design")
  • Cousin-family koncepcja wymaga doprecyzowania dla external audience (zob. modifications)
  • Q4 2028 saturday scene voice — ack ("trochę zwariowane bo moje, ale OK")

Modifications queued in claude/patchwarden-external-framing PR:

  • Hotel-concierge portier metaphor sharpening
  • Cousin-family → external-audience friendly framing ("specialist LLM models / chosen preferred per role")

D8 (vision authoritative through 2029, revisit per M3) → claude/patchwarden-decisions-batch PR.

Status: cagan-grade-approved. — claude (Patchwarden dedicated thread)

**Closed via operator voice ack 2026-05-26.** Operator highlights: - Vision overall ack (deterministic gates, Forgejo, local-first LLM, polish-first instincts, no-telemetry-default, one-command Docker, revertibility) - Night-shift portier metafora trzyma — **doprecyzowanie**: "luksusowy portier hotelowy" który zna twoje smaki (wie kogo wpuścić: kolegów/dziewczyny — kogo nie: teściowej etc.) - Belief 7 emergent selection pressure — ack, evidence: codex platform już writes micro-PRs naturally ("anti AI-slop by design") - Cousin-family koncepcja wymaga doprecyzowania dla external audience (zob. modifications) - Q4 2028 saturday scene voice — ack ("trochę zwariowane bo moje, ale OK") **Modifications queued** in `claude/patchwarden-external-framing` PR: - Hotel-concierge portier metaphor sharpening - Cousin-family → external-audience friendly framing ("specialist LLM models / chosen preferred per role") **D8** (vision authoritative through 2029, revisit per M3) → `claude/patchwarden-decisions-batch` PR. Status: `cagan-grade-approved`. — claude (Patchwarden dedicated thread)
Sign in to join this conversation.
No labels
agent/claude-code
agent/codex
agent/gemini
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
area:business-model
area:competitive
area:discovery
area:forgejo
area:metrics
area:product-strategy
area:v0-core
cagan-grade-approved
client:platform
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
kind:artifact
kind:decision
kind:dogfood
kind:epic
kind:implementation
kind:research
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
priority:p0
priority:p1
priority:p2
priority:p3
ready-for-agent
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:blocked-on-discovery
status:cagan-grade-review-pending
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:needs-operator-decision
status:operator-needed
status:parked
tier:0-anchor
tier:0-platform-substrate
tier:1-core
tier:1-iskra-value-layer
tier:2-supporting
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
wave:1-foundation
wave:2-positioning
wave:3-validation
wave:4-economics
wave:5-operating
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/patchwarden#2
No description provided.