Skip to content

docs(docs): lock owner decisions on revenue-first launch (initiative 0010)#1690

Merged
Skords-01 merged 1 commit into
mainfrom
devin/1777897176-revenue-first-launch-plan
May 4, 2026
Merged

docs(docs): lock owner decisions on revenue-first launch (initiative 0010)#1690
Skords-01 merged 1 commit into
mainfrom
devin/1777897176-revenue-first-launch-plan

Conversation

@Skords-01
Copy link
Copy Markdown
Owner

@Skords-01 Skords-01 commented May 4, 2026

Summary

Apply 15 owner decisions on top of revenue-first launch plan that landed in #1673. Lock pricing v3, mobile-strategy, auth multi-provider, A/B onboarding; defer public metrics, hero copy, brand rename, AI-insights pick to open questions; document ФОП track as фаза 3.1 risk with T-7 deadline.

Changes (docs-only, scope docs):

  • docs/initiatives/0010-revenue-first-launch.md — TL;DR + Скоуп rewritten; Phase 1 → 2 ADRs (pricing v3 + mobile-strategy, OpenClaw park ADR removed); Phase 4 → +PR 4.3 (Apple/Google/Email auth via Better Auth); Phase 5.2 → A/B test goal-first vs vibe_picks 2 weeks; Phase 6 → PR 6.2 (public metrics) removed; Risks table → ФОП blocker T-7, OpenClaw ACTIVE PARALLEL, mobile-stack deprecate DEFERRED, hero/rename/AI-insights as [OPEN].
  • docs/audits/2026-05-04-revenue-and-marketing-roast.md — Update block (post-TL;DR) with owner decisions: accepted/rejected/deferred.
  • docs/initiatives/README.md — Row 0010 updated.

No code changes. Pure docs delivery.

Governing Skill

  • Primary skill: .agents/skills/sergeant-feature-delivery/SKILL.md
  • Secondary skill: .agents/skills/sergeant-review-and-merge/SKILL.md

Playbook

  • Primary playbook: n/a (initiative-update doesn't have a dedicated playbook).
  • If no playbook matched, why: pure documentation update modifying existing initiative sections.

Verification

pnpm exec prettier --check docs/initiatives/0010-revenue-first-launch.md docs/audits/2026-05-04-revenue-and-marketing-roast.md docs/initiatives/README.md
node scripts/check-governance-sync.mjs   # Errors: 65 / Warnings: 75 — identical to origin/main baseline
pnpm docs:check-freshness-coverage       # All tracked markdown files have a freshness header
pnpm lint:tech-debt-freshness            # green

Additional checks:

  • Local smoke / manual validation completed
  • Surface-specific checks completed (initiatives README регенерована prettier-ом)

Docs and Governance

  • I updated docs that changed with the behavior, contract, workflow, or rollout.
  • I checked whether AGENTS.md needed an update — no, нові скоупи / hard rules не вводяться.
  • I checked whether a playbook or skill needed an update — no, лише initiative-документ.
  • I checked whether governance docs or review docs needed an update — no.

Updated docs:

  • docs/initiatives/0010-revenue-first-launch.md
  • docs/audits/2026-05-04-revenue-and-marketing-roast.md
  • docs/initiatives/README.md

Risk and Rollout

Hard Rule #15

  • I read AGENTS.md before coding.
  • Internal docs I touched are in Ukrainian.
  • I did not use --no-verify.

Reviewer Notes

  • Hero copy у фазі 6.1 — навмисно лишений як {HERO_PLACEHOLDER} + кандидати у §Ризики. Owner вибирає фінал перед merge PR 6.1, не у цьому PR.
  • ADR-0046 (OpenClaw park) видалено з фази 1 — owner ухвалив працювати паралельно. Якщо передумав — відкочуємо рядок у §Ризики "ACTIVE PARALLEL".
  • ФОП у §Ризики — T-7 deadline = за 7 днів до merge PR 2.2 (subscriptions migration). Якщо не встигаємо — фази 3+ затримуються до оформлення.
  • PR 4.3 (Apple/Google/Email auth) — Better Auth multi-provider; слідуємо .agents/skills/better-auth-best-practices/SKILL.md.
  • Phase 5.2 переписана з прямої заміни vibe_picks на A/B 50/50 на 2 тижні; decision rule — winner stays, loser cleanup-PR.
  • PR 6.2 (public metrics) видалено повністю — endpoint /api/public/metrics може бути доданий окремою ініціативою пізніше.
  • apps/consoletools/console/ — окремий ankle-PR (scope chore), поза фазами 1–6, ~1 година.
  • Governance-sync errors: 65 (identical baseline to origin/main).

Summary by cubic

Locks owner decisions for initiative 0010 and updates the revenue‑first launch plan: pricing v3, mobile strategy, Apple/Google/Email auth, and A/B onboarding; defers public metrics and clarifies risks. Docs‑only update; no code changes.

  • Refactors
    • Rewrites docs/initiatives/0010-revenue-first-launch.md: locks pricing v3 ($7/mo, $49/yr, ₴ UA‑only, trial without card), sets mobile strategy (Capacitor primary, Expo paralleled), adds Phase 4.3 for multi‑provider auth via Better Auth, shifts Phase 5.2 to a 2‑week A/B test, removes public metrics, adds ФОП blocker (T‑7) and marks OpenClaw as active parallel; updates DONE, metrics, and phase graph; notes apps/consoletools/console/ ankle‑PR.
    • Adds an owner decisions block to docs/audits/2026-05-04-revenue-and-marketing-roast.md (accepted/rejected/deferred).
    • Refreshes row 0010 in docs/initiatives/README.md to reflect the locked plan.

Written for commit bf97ed0. Summary will update on new commits.

Summary by CodeRabbit

  • Documentation
    • Updated strategic initiative documentation confirming revenue-first launch plan details, including finalized Stripe billing integration, Apple/Google authentication, Pricing v3 (Free + Pro tiers), activation metrics, A/B testing, and English-localized landing page. Locked scope decisions and deferred items documented.

…0010)

Apply 15 owner decisions on top of revenue-first launch plan (initiative
0010 + audit-source). Lock pricing v3, mobile-strategy, auth multi-provider,
A/B onboarding; defer public metrics, hero copy, brand rename, AI-insights
pick to open questions; document FOP track as fase 3.1 risk.

Changes:
- 0010-revenue-first-launch.md
  - TL;DR + Skoпe rewritten: scope freeze removed (OpenClaw active parallel),
    auth multi-provider added, public metrics deferred, hero copy as
    open-question
  - Phase 1: 2 ADRs instead of 3 (pricing v3 + mobile-strategy; OpenClaw
    park ADR removed per owner decision)
  - Phase 4: new PR 4.3 — Apple + Google + Email auth via Better Auth
  - Phase 5.2: A/B test goal-first vs vibe_picks 2 weeks (instead of direct
    replacement), winner stays
  - Phase 6: PR 6.2 (public metrics) removed; landing + EN locale stays
    with hero copy as placeholder until owner finalization pre-merge
  - Risks table: FOP blocker for phase 3 with T-7 deadline + owner; OpenClaw
    flagged ACTIVE PARALLEL; mobile-stack deprecate DEFERRED; hero/brand
    rename/AI-insights as OPEN owner-decisions
  - DONE criteria + Metrics + Phases graph updated

- 2026-05-04-revenue-and-marketing-roast.md
  - Update block (post-TL;DR) with owner decisions: accepted/rejected/deferred
  - Audit recommendations (§3) now flagged as 'as-of original audit', superseded
    by Update block

- initiatives/README.md
  - Row 0010 updated to reflect locked decisions + scope drift

Verification:
- pnpm exec prettier --check (clean)
- pnpm lint:governance-sync — Errors: 64 (identical baseline to origin/main)
- pnpm docs:check-freshness-coverage — 277/277 docs with freshness header
- pnpm lint:tech-debt-freshness — green

No code changes. Pure docs delivery.

Co-Authored-By: Сон Хер <dmytro.s.stakhov@gmail.com>
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 4, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sergeant Ready Ready Preview, Comment May 4, 2026 1:41pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

📝 Walkthrough

Walkthrough

Documentation update capturing owner decisions for a revenue-first launch initiative: finalizing pricing v3, multi-provider authentication, activation metrics, and restructuring the deployment phases while deferring openClaw freeze and public metrics dashboard.

Changes

Revenue-First Launch Initiative Update

Layer / File(s) Summary
Owner Decision Audit
docs/audits/2026-05-04-revenue-and-marketing-roast.md
New "Update 2026-05-04 — owner decisions" section documents approved decisions (Pricing v3, Better Auth, Activation v2, A/B testing, console move), rejected items (openClaw freeze, parallel mobile stacks, public dashboard), and deferred questions (rename, hero positioning, AI insights, EUR/USD pricing).
Initiative Restructuring
docs/initiatives/0010-revenue-first-launch.md
Core initiative reframed as "ship paid first" with real Stripe billing and auth; scope clarified to lock Pricing v3 (Free/Pro, $7/mo or $49/yr, UA-only) and expand Phase 1 to include mobile-strategy ADR and console relocation; Phase 4 adds multi-provider Better Auth (Apple/Google/email) with specific env vars and PostHog events; Phase 5 adds goal-first onboarding A/B test definition; Phase 6 defers public metrics dashboard.
Initiative Summary
docs/initiatives/README.md
Initiative table entry updated to reflect "decisions locked" status and new scope (Stripe/webhook, paywall UI, real pricing CTA, Apple/Google/Email auth, activation v2, onboarding/landing/EN-i18n); explicit notes added that openClaw is not frozen and public metrics are deferred.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Suggested labels

docs, size/M

Poem

🐰 The owner hops in with decisions so clear,
Pricing locked down—Free and Pro hold the gear!
Apple and Google sign-in, hand in paw,
A/B tests and activation—no flaws!
Revenue first, the launch speeds forward,
Strategy locked, ambitions recorded! 🚀

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically summarizes the main change: locking owner decisions on the revenue-first launch initiative (0010) with updated scope, phases, and decisions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/1777897176-revenue-first-launch-plan

Review rate limit: 0/10 reviews remaining, refill in 59 minutes and 8 seconds.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/initiatives/0010-revenue-first-launch.md`:
- Line 4: Replace the non‑allowed lifecycle value used in the docs badge: locate
the "Status:" badge string (the line that currently reads "Status: Proposed")
and change "Proposed" to one of the allowed enum values — "Active",
"Scaffolded", "Deprecated", or "Archived" (choose the one matching this
initiative's real lifecycle, e.g., "Scaffolded" if it's newly planned).
- Around line 344-368: The fenced diagram block is missing a language tag which
triggers MD040; update the triple-backtick fence surrounding the phases graph
(the ``` block shown) to include a language identifier (e.g., ```text) so the
Markdown linter treats it as plain text; locate the diagram's opening ``` and
change it to ```text (and keep the closing ``` unchanged).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 7ac4022a-0aa6-4cfc-b73d-5227737a5c74

📥 Commits

Reviewing files that changed from the base of the PR and between 880311d and bf97ed0.

📒 Files selected for processing (3)
  • docs/audits/2026-05-04-revenue-and-marketing-roast.md
  • docs/initiatives/0010-revenue-first-launch.md
  • docs/initiatives/README.md

> **Last validated:** 2026-05-04 by @sonher468. **Next review:** 2026-08-02.
> **Status:** Proposed (план PR-ів; перший PR — цей документ + аудит-сорс)
> **Last validated:** 2026-05-04 by @Skords-01. **Next review:** 2026-08-02.
> **Status:** Proposed (decisions locked, scope final; перший PR — цей документ + аудит-сорс + owner-decisions)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use an allowed lifecycle status value in the badge.

Line 4 uses Status: Proposed, but this docs lifecycle badge is expected to use the defined enum values. Please switch it to one of Active, Scaffolded, Deprecated, or Archived.

Suggested fix
-> **Status:** Proposed (decisions locked, scope final; перший PR — цей документ + аудит-сорс + owner-decisions)
+> **Status:** Scaffolded (decisions locked, scope final; перший PR — цей документ + аудит-сорс + owner-decisions)

As per coding guidelines, docs/**/*.md: Lifecycle markers in documentation: declare status (Active, Scaffolded, Deprecated, Archived) in a status badge under the freshness marker.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
> **Status:** Proposed (decisions locked, scope final; перший PR — цей документ + аудит-сорс + owner-decisions)
> **Status:** Scaffolded (decisions locked, scope final; перший PR — цей документ + аудит-сорс + owner-decisions)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/initiatives/0010-revenue-first-launch.md` at line 4, Replace the
non‑allowed lifecycle value used in the docs badge: locate the "Status:" badge
string (the line that currently reads "Status: Proposed") and change "Proposed"
to one of the allowed enum values — "Active", "Scaffolded", "Deprecated", or
"Archived" (choose the one matching this initiative's real lifecycle, e.g.,
"Scaffolded" if it's newly planned).

Comment on lines 344 to 368
```
Фаза 0 (docs)
Фаза 0 (docs — цей PR)
├─→ Фаза 1.1 (ADR pricing) ─┐
├─→ Фаза 1.2 (ADR openclaw) │
└─→ Фаза 1.3 (ADR mobile) │
Фаза 2 (data layer)
Фаза 3 (stripe e2e)
Фаза 4 (paywall UI)
Фаза 5.1 (activation v2) ───┤
Фаза 5.2 (onboarding pivot)
Фаза 6 (landing + metrics)
├─→ Фаза 1.1 (ADR pricing v3) ─┐
└─→ Фаза 1.2 (ADR mobile-strategy) │
Фаза 2 (data layer)
Фаза 3 (stripe e2e)
├─→ Фаза 4.1 (paywall + plan hooks)
├─→ Фаза 4.2 (real /pricing)
└─→ Фаза 4.3 (Apple/Google/Email auth) ──┐
Фаза 5.1 (activation v2 metric) ─────────────────────────────────────┐ │
↓ ↓
Фаза 5.2 (A/B onboarding)
Фаза 6 (landing + EN)

Ankle-PR (поза фазами 1–6, scope: chore):
chore-console-move-to-tools ← apps/console/ → tools/console/
```
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a language identifier to the phases graph code fence.

Line 344 opens a fenced block without a language, which triggers MD040 and adds avoidable lint noise.

Suggested fix
-```
+```text
 Фаза 0 (docs — цей PR)
    │
    ├─→ Фаза 1.1 (ADR pricing v3)         ─┐
    └─→ Фаза 1.2 (ADR mobile-strategy)     │
                                           ↓
                                      Фаза 2 (data layer)
                                           │
                                           ↓
                                      Фаза 3 (stripe e2e)
                                           │
                                           ├─→ Фаза 4.1 (paywall + plan hooks)
                                           ├─→ Фаза 4.2 (real /pricing)
                                           └─→ Фаза 4.3 (Apple/Google/Email auth) ──┐
                                                                                   │
    Фаза 5.1 (activation v2 metric) ─────────────────────────────────────┐         │
                                                                         ↓         ↓
                                                                   Фаза 5.2 (A/B onboarding)
                                                                         │
                                                                         ↓
                                                                   Фаза 6 (landing + EN)

 Ankle-PR (поза фазами 1–6, scope: chore):
    chore-console-move-to-tools  ←  apps/console/ → tools/console/
</details>

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 markdownlint-cli2 (0.22.1)</summary>

[warning] 344-344: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

</details>

</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @docs/initiatives/0010-revenue-first-launch.md around lines 344 - 368, The
fenced diagram block is missing a language tag which triggers MD040; update the
triple-backtick fence surrounding the phases graph (the block shown) to include a language identifier (e.g.,text) so the Markdown linter treats it
as plain text; locate the diagram's opening and change it totext (and
keep the closing ``` unchanged).


</details>

<!-- fingerprinting:phantom:triton:hawk:ec00939c-19bc-4e9d-b33a-bbb0aeaea4b8 -->

<!-- d98c2f50 -->

<!-- This is an auto-generated comment by CodeRabbit -->

@Skords-01 Skords-01 merged commit 0b1c9a0 into main May 4, 2026
26 of 45 checks passed
@Skords-01 Skords-01 deleted the devin/1777897176-revenue-first-launch-plan branch May 4, 2026 13:46
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 4, 2026

⏱️ CI Pipeline Duration Report

Based on the last 50 successful runs on the default branch.

Overall Pipeline

Metric Value
p50 6m 26s
p95 7m 55s
p99 9m 3s
Current run 6m 38s
vs p95 -16.2%

Trend (last 20 runs): ▃▃▁▂▃▃▃▂▃▃▂▂▄▃▃▆▅▄█▆

Per-Job Breakdown

Job p50 p95 p99 Current vs p95
Accessibility (axe-core) 2m 5s 2m 21s 2m 23s 0s -100.7%
Commit messages (commitlint) 0s 0s 0s 35s N/A
Critical-flow E2E (Playwright) 1m 36s 1m 44s 1m 44s 5m 58s +244.2%
Migration lint (AGENTS rule 0s 0s 0s 16s N/A
Pipeline duration (p95 trend) 26s 27s 27s
Secret scan (gitleaks) 8s 11s 11s 12s +9.1%
Smoke E2E (Playwright) 1m 26s 1m 40s 1m 40s
Test coverage (vitest) 2m 4s 2m 33s 2m 33s 2m 9s -15.7%
Workflow lint (actionlint) 7s 7s 7s 8s +14.3%
check 4m 12s 4m 54s 5m 6s 54s -81.6%
tsconfig strict guard (PR-1.A) 5s 14s 14s 10s -28.6%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant