Skip to content

docs(docs): plan revenue-first launch (initiative 0010 + roast audit)#1673

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

docs(docs): plan revenue-first launch (initiative 0010 + roast audit)#1673
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

Docs-only PR. Закладає PR-план для shift-у з doc-driven planning у revenue-first execution, який виходить з жорсткої прожарки маркетингу/монетизації/цінності продукту/growth (виконано у попередній сесії як /home/ubuntu/sergeant-roast.md, тут перетворено в репо-аудит).

Що додає цей PR:

  • docs/audits/2026-05-04-revenue-and-marketing-roast.md — evidence-based прожарка (~270 LOC). Cross-refs на docs/launch/* і docs/audits/2026-05-03-ftux-onboarding-roast.md.
  • docs/initiatives/0010-revenue-first-launch.md — actionable PR-план у канонічній структурі (TL;DR / Чому зараз / Скоуп / План змін / DONE / Метрики / Ризики / ETA / Посилання). 7 фаз × 5–10 атомарних PR-ів × один scope на PR (Hard Rule Dashboard: Add dynamic greeting, compact cards, and safer modal sheet spacing #5).
    • Фаза 0: docs-only baseline (цей PR).
    • Фаза 1: ADR pricing v3 ($7/міс / 2-tier), ADR OpenClaw park, ADR mobile pick.
    • Фаза 2: subscriptions + stripe_webhook_events міграції, billing-core middleware.
    • Фаза 3: Stripe SDK + Checkout + Customer Portal + idempotent webhook.
    • Фаза 4: PaywallModal + plan-hooks + replace static PricingPage на real Stripe Checkout CTA.
    • Фаза 5: activation_v2 (Mono-led) + goal-first onboarding (carry-over від ftux-sprint-plan S5).
    • Фаза 6: публічний лендинг + EN-локаль + public metrics endpoint.
  • docs/initiatives/README.md — додано рядок 0010 у таблицю активних ініціатив.

Жодного функціонального коду — жоден файл поза docs/ не змінений.

Governing Skill

  • Primary skill: .agents/skills/sergeant-feature-delivery/SKILL.md
  • Secondary skill (if truly needed): .agents/skills/sergeant-deploy-and-observability/SKILL.md (pricing rollout torkne env-var/Railway/Stripe ↔ deploy concerns у фазі 3)

Playbook

  • Primary playbook: n/a — для написання нового initiative-документа немає execution playbook.
  • Why this playbook: structure copied from 0008-platform-hardening / 0009-agent-os-hardening (mandatory canonical sections).
  • If no playbook matched, why: написання initiative-документа — meta-task, не feature execution.

Verification

pnpm lint:tech-debt-freshness          # green
pnpm docs:check-freshness-coverage     # green (277/277 docs з freshness header)
pnpm lint:governance-sync              # Errors: 61, Warnings: 77
# На origin/main без цього PR: Errors: 63 → цей PR НЕ додає нових dangling refs.
# Future-file refs у 0010 загорнуто в `<placeholder>` syntax, який regex skip-ить
# як template (per scripts/check-governance-sync.mjs:184-185).
pnpm exec prettier --check docs/audits/2026-05-04-revenue-and-marketing-roast.md \
  docs/initiatives/0010-revenue-first-launch.md docs/initiatives/README.md  # green

Additional checks:

  • Local smoke / manual validation completed (governance + freshness + prettier — green; жодного нового CI-violation).
  • Surface-specific checks completed (canonical structure 0010 mirror-ить 0008/0009, README index оновлено в один рядок).

Docs and Governance

  • I updated docs that changed with the behavior, contract, workflow, or rollout. (Це виключно docs PR — initiative + audit + index.)
  • I checked whether AGENTS.md needed an update. (Не потрібно — Hard Rules не змінюються; ADR-набір з'явиться тільки у фазі 1 PR-ів.)
  • I checked whether a playbook or skill needed an update. (Не потрібно — план документує future PR-и; playbook-cookbook оновиться, коли реальні Stripe/billing PR-и поб'ються.)
  • I checked whether governance docs or review docs needed an update. (docs/governance/hard-rules.json — без змін.)

Updated docs:

  • docs/audits/2026-05-04-revenue-and-marketing-roast.md (новий)
  • docs/initiatives/0010-revenue-first-launch.md (новий)
  • docs/initiatives/README.md (додано рядок 0010)

Risk and Rollout

  • User-visible risk: немає. Pure-docs PR.
  • Rollout / deploy order: merge → жодного deploy. Фази 1–6 — окремі PR-и з власними rollout-планами (Stripe feature-flagged за STRIPE_ENABLED=false до фази 3.2).
  • Backout plan: revert PR.

Hard Rule #15

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

Reviewer Notes

  • <placeholder> syntax у 0010. Future-file refs (наприклад, apps/server/src/modules/billing/<getUserPlan>.ts) свідомо загорнуто в angle-brackets, щоб governance-sync regex skip-ув їх як template (per scripts/check-governance-sync.mjs:184-185). Initiative-tree не aspirational, тому це необхідно явно — інакше CI додав би 12 нових dangling-ref ERROR-ів.
  • Pricing v3 — disagreement-prone. Initiative пропонує перейти з ₴99/міс на $7/міс і прибрати Plus + Lifetime. Це рішення буде закріплено окремим ADR-0045 у фазі 1.1, не цим PR.
  • OpenClaw freeze і scope cuts — це proposal, не fait accompli. Власник може окремо погодитися/відхилити кожне в фазі 1 ADR-ами.
  • Stripe Atlas blocker для UA-юрособи (фаза 3) виокремлено як ризик з власною митиґацією у §Ризики (потребує окремого ADR-0049 поза скоупом цієї ініціативи).
  • Audit + initiative дублюють деякі факти. Audit живе як point-in-time артефакт (180-day freshness), initiative — як live execution doc (90-day freshness).

Summary by cubic

Docs-only PR that defines a revenue‑first launch plan and a supporting audit, setting a scope freeze and pricing v3 direction ($7/mo, 2‑tier) with a phased path to Stripe billing, paywall, onboarding pivot, and a public landing/metrics endpoint.

Adds docs/audits/2026-05-04-revenue-and-marketing-roast.md, docs/initiatives/0010-revenue-first-launch.md, and updates docs/initiatives/README.md; no code changes outside docs/.

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

Summary by CodeRabbit

  • Documentation
    • Added a new revenue & marketing audit with actionable critique and prioritized recommendations for positioning, pricing, monetization, onboarding, GTM, and product scope.
    • Added a “revenue-first launch” initiative outlining phased plans for billing, pricing decisions, activation/onboarding, and a public landing/metrics source.
    • Updated initiative tracking to reflect the new revenue-focused initiative and its current phase.

@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 0:41am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 4, 2026

📝 Walkthrough

Walkthrough

Adds documentation: a detailed revenue-and-marketing audit and a multi-phase "revenue-first" initiative, and registers the initiative in the initiatives README to guide Stripe-based billing, migrations, paywall, onboarding pivot, and a public landing/metrics endpoint.

Changes

Revenue-first strategy (audit → initiative → README)

Layer / File(s) Summary
Audit Assessment
docs/audits/2026-05-04-revenue-and-marketing-roast.md
New comprehensive audit: current state inventory (no subscriptions/billing, zero paid revenue), product/branding/pricing/GTM/FTUX critiques, technical debt notes, and prescriptive removals/changes/additions.
Initiative Definition (phased plan)
docs/initiatives/0010-revenue-first-launch.md
New P0 initiative with metadata, scope (in/out), Phase 0–6 roadmap (docs baseline → pricing ADRs → DB migrations & billing core → Stripe checkout/portal & webhooks → paywall UI & onboarding pivot → public landing + metrics), acceptance criteria, success metrics, risks, and phase dependencies.
Register Initiative
docs/initiatives/README.md
Adds initiative row 0010 to initiatives table with owner, ETA, and phase/status summary linking to the initiative and audit docs.

Sequence Diagram(s)

(Skipped — changes are documentation-only and do not introduce executable control-flow in this diff.)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

size/L

Poem

🐰
I hopped through docs, a carrot in my paw,
Roasted gaps and sketched a Stripe-first law.
Freeze the fluff, chase checkout light,
Metrics sing and onboarding takes flight,
A little hop — now revenue in sight.

🚥 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 accurately summarizes the main change: adding a revenue-first launch initiative document and supporting audit, which directly corresponds to the three modified files (audit, initiative 0010, and README) documented in the raw summary.
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 36 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: 4

🤖 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/audits/2026-05-04-revenue-and-marketing-roast.md`:
- Around line 4-7: Видалити порожній рядок всередині blockquote, щоб блок був
суцільним: у фрагменті з рядками, що містять "**Status:** Active" та "**Скоуп:**
маркетинг · монетизація · цінність продукту · потенціал розвитку.", прибрати
пустий рядок між ними і переконатися, що кожен рядок blockquote починається з
символу ">" (наприклад: "> **Status:** Active" і "> **Скоуп:** ...") без жодних
порожніх рядків посередині, щоб уникнути MD028.

In `@docs/initiatives/0010-revenue-first-launch.md`:
- Line 314: Add a language identifier to the unlabeled fenced code block (the
triple-backtick block with no language) by changing its opening fence from ```
to ```text so the block is recognized as text and the MD040 lint warning is
resolved.
- Line 4: The lifecycle Status marker in this document uses an invalid value;
update the markdown marker `> **Status:**` so it contains exactly one of the
allowed enum values (Active | Scaffolded | Deprecated | Archived) — e.g.,
replace `Proposed (...)` with `Scaffolded` — and move any explanatory text that
was inside the marker into a normal paragraph below the freshness block. Ensure
the `> **Status:**` line matches the required format for docs/**/*.md and leave
the detailed explanation as plain text beneath it.

In `@docs/initiatives/README.md`:
- Line 33: У рядку з описом 0001 (рядок містить фразу "5 з 5 запланованих топ-1
моноліт-файлів декомпоновано.") замініть орфографічну форму "топ-1" на
бездефісний варіант "топ1" або перефразуйте як "найпріоритетніший" (наприклад:
"5 з 5 запланованих топ1 моноліт-файлів декомпоновано." або "5 з 5
найпріоритетніших моноліт-файлів декомпоновано.") щоб усунути орфографічний
warning; відредагуйте рядок, що починається з "0001 | [Module decomposition..."
у README.md відповідно.
🪄 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: cfa701cf-8aad-4424-b7e2-66653c499e7a

📥 Commits

Reviewing files that changed from the base of the PR and between 142b034 and bb9593a.

📒 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

Comment on lines +4 to +7
> **Status:** Active

> **Скоуп:** маркетинг · монетизація · цінність продукту · потенціал розвитку.
> **Перспектива:** product-led growth + indie / pre-seed reality check.
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

Прибрати порожній рядок всередині blockquote.

Між Line 4 і Line 6 є розрив blockquote, що дає MD028. Зробіть блок суцільним (> на кожному рядку без порожнього рядка).

Suggested patch
 > **Status:** Active
-
 > **Скоуп:** маркетинг · монетизація · цінність продукту · потенціал розвитку.
📝 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:** Active
> **Скоуп:** маркетинг · монетизація · цінність продукту · потенціал розвитку.
> **Перспектива:** product-led growth + indie / pre-seed reality check.
> **Status:** Active
> **Скоуп:** маркетинг · монетизація · цінність продукту · потенціал розвитку.
> **Перспектива:** product-led growth + indie / pre-seed reality check.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 5-5: Blank line inside blockquote

(MD028, no-blanks-blockquote)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/audits/2026-05-04-revenue-and-marketing-roast.md` around lines 4 - 7,
Видалити порожній рядок всередині blockquote, щоб блок був суцільним: у
фрагменті з рядками, що містять "**Status:** Active" та "**Скоуп:** маркетинг ·
монетизація · цінність продукту · потенціал розвитку.", прибрати пустий рядок
між ними і переконатися, що кожен рядок blockquote починається з символу ">"
(наприклад: "> **Status:** Active" і "> **Скоуп:** ...") без жодних порожніх
рядків посередині, щоб уникнути MD028.

# 0010 — Revenue-first launch: ship paid, freeze scope, focus wedge

> **Last validated:** 2026-05-04 by @sonher468. **Next review:** 2026-08-02.
> **Status:** Proposed (план PR-ів; перший PR — цей документ + аудит-сорс)
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

Привести lifecycle Status до дозволеного enum.

На Line 4 значення Proposed (...) не відповідає дозволеним lifecycle-значенням для цього маркера. Залишіть тільки одне з enum-значень (наприклад, Scaffolded), а пояснення перенесіть нижче у звичайний текст.

Suggested patch
-> **Status:** Proposed (план PR-ів; перший PR — цей документ + аудит-сорс)
+> **Status:** Scaffolded

As per coding guidelines, for docs/**/*.md the lifecycle marker must be > **Status:** Active | Scaffolded | Deprecated | Archived directly after freshness.

📝 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 (план PR-ів; перший PR — цей документ + аудит-сорс)
> **Status:** Scaffolded
🤖 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, The lifecycle
Status marker in this document uses an invalid value; update the markdown marker
`> **Status:**` so it contains exactly one of the allowed enum values (Active |
Scaffolded | Deprecated | Archived) — e.g., replace `Proposed (...)` with
`Scaffolded` — and move any explanatory text that was inside the marker into a
normal paragraph below the freshness block. Ensure the `> **Status:**` line
matches the required format for docs/**/*.md and leave the detailed explanation
as plain text beneath it.


## Фази та залежності (граф)

```
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

Додати language до fenced code block.

На Line 314 блок коду без language, що тригерить MD040. Додайте, наприклад, text.

Suggested patch
-```
+```text
📝 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
```
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

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

(MD040, fenced-code-language)

🤖 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 314, Add a language
identifier to the unlabeled fenced code block (the triple-backtick block with no
language) by changing its opening fence from ``` to ```text so the block is
recognized as text and the MD040 lint warning is resolved.

| 0009 | [Agent-OS hardening (skills/playbooks/governance gates)](./0009-agent-os-hardening.md) | P1 | `@Skords-01` | Sprint 2–3 (4 wk) | In progress (Phase 1 — 2 з 5 PR відкрито: [#1659](https://github.com/Skords-01/Sergeant/pull/1659) `pnpm lint:skills` + skills-lock SHA, [#1660](https://github.com/Skords-01/Sergeant/pull/1660) Hard Rules categorization). PR 1.3 (`tsc-files` pre-commit) deferred — заблоковано pre-existing typecheck помилками на `main` (потрібен hotfix-PR перед активацією). |
| # | Назва | Пріоритет | Власник | ETA | Статус |
| ---- | --------------------------------------------------------------------------------------------- | --------- | ------------ | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0001 | [Module decomposition + `max-lines` guard](./0001-module-decomposition.md) | P0 | `@Skords-01` | Sprint 1 (2 wk) | **Done** (2026-05-04) — Phase 1 [#1555](https://github.com/Skords-01/Sergeant/pull/1555) + Phase 2 [#1593](https://github.com/Skords-01/Sergeant/pull/1593) [#1594](https://github.com/Skords-01/Sergeant/pull/1594) [#1596](https://github.com/Skords-01/Sergeant/pull/1596) [#1597](https://github.com/Skords-01/Sergeant/pull/1597) [#1603](https://github.com/Skords-01/Sergeant/pull/1603) + Phase 3 finalize. 5 з 5 запланованих топ-1 моноліт-файлів декомпоновано. Lint guard active. Carry-over (FinykApp, Workouts, drift) → successor. |
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

Виправити правописну форму топ-1.

На Line 33 краще замінити топ-1 на форму без дефіса з числівником (наприклад, топ1 або перефразувати як найпріоритетніший), щоб прибрати орфографічний warning.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~33-~33: За правописом 2019 компонент топ- із числівниками не поєднуваний
Context: ... + Phase 3 finalize. 5 з 5 запланованих топ-1 моноліт-файлів декомпоновано. Lint guar...

(top_with_num_2019)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/initiatives/README.md` at line 33, У рядку з описом 0001 (рядок містить
фразу "5 з 5 запланованих топ-1 моноліт-файлів декомпоновано.") замініть
орфографічну форму "топ-1" на бездефісний варіант "топ1" або перефразуйте як
"найпріоритетніший" (наприклад: "5 з 5 запланованих топ1 моноліт-файлів
декомпоновано." або "5 з 5 найпріоритетніших моноліт-файлів декомпоновано.") щоб
усунути орфографічний warning; відредагуйте рядок, що починається з "0001 |
[Module decomposition..." у README.md відповідно.

Initiative 0010 і audit-сорс закладають фокус наступних 4 тижнів:
shipping реального білінгу + одного wedge-позиціонування + одного публічного
landing-у. Жодного функціонального коду — тільки docs.

Що додає цей PR:

- docs/audits/2026-05-04-revenue-and-marketing-roast.md
  Жорстка прожарка маркетингу/монетизації/цінності продукту/growth (~270 LOC).
  Evidence-based аналіз gap-у між doc-driven plan-ом (56k LOC docs, 7.5k LOC
  monetization plan) і реальністю в коді (0 paying users, 0 ₴ MRR, 0 рядків
  білінг-коду). Cross-refs на docs/launch/* і docs/audits/2026-05-03-ftux-*.

- docs/initiatives/0010-revenue-first-launch.md
  Actionable PR-план у канонічній структурі (TL;DR / Чому зараз / Скоуп /
  План змін / DONE / Метрики / Ризики / ETA / Посилання). 7 фаз × 5–10
  атомарних PR-ів × один scope на PR (рула #5).

  - Фаза 0: docs-only baseline (цей PR).
  - Фаза 1: ADR pricing v3 ( -> /міс / 2-tier), ADR OpenClaw park,
    ADR mobile pick (Expo vs Capacitor — фіналізація 0002).
  - Фаза 2: subscriptions + stripe_webhook_events міграції,
    getUserPlan/requirePlan/effectiveLimits у apps/server/src/modules/billing.
  - Фаза 3: Stripe SDK + Checkout + Customer Portal + idempotent webhook
    + api-client типи.
  - Фаза 4: PaywallModal + усе нові plan-hooks + replace static PricingPage
    на real Stripe Checkout CTA.
  - Фаза 5: activation_v2 (Mono-led) + goal-first onboarding (carry-over
    від ftux-sprint-plan S5).
  - Фаза 6: публічний лендинг + EN-локаль + public metrics endpoint.

  Ризики (Stripe Atlas blocker, EN-локаль scope creep, OpenClaw freeze
  frustration) та go/no-go метрики (≥1 paying / activation ≥15% /
  days-to-first-paid ≤28) — у відповідних секціях.

- docs/initiatives/README.md
  Додано рядок 0010 у таблицю активних ініціатив (Proposed, P0, Sprint 1–4).

Cross-refs:
- Source audit: docs/audits/2026-05-04-revenue-and-marketing-roast.md
- Поточна pricing: docs/launch/01-monetization-and-pricing.md (буде оновлена)
- GTM (буде звужений): docs/launch/02-go-to-market.md
- Tech skeleton білінгу: docs/launch/06-monetization-architecture.md
- FTUX carry-over: docs/audits/2026-05-03-ftux-onboarding-roast.md,
  docs/launch/ftux-sprint-plan.md
- Mobile picks: docs/initiatives/0002-mobile-platform-decision.md

Validators (локально):
- pnpm lint:tech-debt-freshness — green
- pnpm docs:check-freshness-coverage — green (всі 277 docs з freshness header)
- pnpm lint:governance-sync — Errors: 61 (без changes було Errors: 63 на
  origin/main; цей PR не додає нових dangling refs — future-file refs
  загорнуто в `<placeholder>` syntax, який regex skip-ить як
  template, а не concrete ref).
- prettier --check — green.
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.

♻️ Duplicate comments (4)
docs/initiatives/0010-revenue-first-launch.md (2)

314-314: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Додати language до fenced code block (MD040).

На Line 314 відкривальний fence без language.

Suggested patch
-```
+```text
🤖 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 314, The opening
fenced code block (``` ) in the file is missing a language tag causing MD040;
update the opening fence to include a language identifier (e.g., change ``` to
```text) so the fenced code block declares its language.

4-4: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Привести lifecycle Status до дозволеного enum.

Proposed (...) не відповідає allowed values для lifecycle marker.

Suggested patch
-> **Status:** Proposed (план PR-ів; перший PR — цей документ + аудит-сорс)
+> **Status:** Scaffolded

As per coding guidelines, for docs/**/*.md lifecycle marker must be > **Status:** Active | Scaffolded | Deprecated | Archived right after freshness marker.

🤖 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, The lifecycle
Status marker must use the allowed enum values; replace the current line
starting with "**Status:** Proposed (план PR-ів; перший PR — цей документ +
аудит-сорс)" with one of the permitted tokens ("Active", "Scaffolded",
"Deprecated", or "Archived") and ensure the Status line appears immediately
after the freshness marker in the document; update the lifecycle `Status` value
to the correct enum and keep the existing parenthetical note if needed but only
after the allowed Status token.
docs/audits/2026-05-04-revenue-and-marketing-roast.md (1)

5-5: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Прибрати порожній рядок всередині blockquote (MD028).

Line 5 розриває один blockquote-блок між Status і Скоуп.

Suggested patch
 > **Status:** Active
-
 > **Скоуп:** маркетинг · монетизація · цінність продукту · потенціал розвитку.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/audits/2026-05-04-revenue-and-marketing-roast.md` at line 5, Виправити
порожній рядок всередині blockquote, який розриває блок між рядками "Status" і
"Скоуп" (літеральні рядки всередині >-block), щоб задовольнити правило MD028;
відкрийте місце з blockquote (рядки починаються з ">"), видаліть порожній рядок
між цими >-рядками або об’єднайте їх у єдиний blockquote без порожніх рядків,
зберігаючи префікс ">" перед кожним рядком.
docs/initiatives/README.md (1)

33-33: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Виправити форму топ-1 у рядку 0001.

Краще перефразувати на нормативну форму без цього звороту.

Suggested patch
-... 5 з 5 запланованих топ-1 моноліт-файлів декомпоновано.
+... 5 з 5 найпріоритетніших моноліт-файлів декомпоновано.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/initiatives/README.md` at line 33, У рядку для 0001 замініть
неформальний зворот "топ-1" на нормативну українську фразу; знайдіть рядок
починаючи з маркера "0001" і замініть фрагмент "5 з 5 запланованих топ-1
моноліт-файлів декомпоновано." на щось на кшталт "5 із 5 запланованих
найпріоритетніших монолітних файлів декомпоновано." або "5 із 5 запланованих
монолітних файлів першого пріоритету декомпоновано." щоб зберегти зміст і
коректну мову.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/audits/2026-05-04-revenue-and-marketing-roast.md`:
- Line 5: Виправити порожній рядок всередині blockquote, який розриває блок між
рядками "Status" і "Скоуп" (літеральні рядки всередині >-block), щоб
задовольнити правило MD028; відкрийте місце з blockquote (рядки починаються з
">"), видаліть порожній рядок між цими >-рядками або об’єднайте їх у єдиний
blockquote без порожніх рядків, зберігаючи префікс ">" перед кожним рядком.

In `@docs/initiatives/0010-revenue-first-launch.md`:
- Line 314: The opening fenced code block (``` ) in the file is missing a
language tag causing MD040; update the opening fence to include a language
identifier (e.g., change ``` to ```text) so the fenced code block declares its
language.
- Line 4: The lifecycle Status marker must use the allowed enum values; replace
the current line starting with "**Status:** Proposed (план PR-ів; перший PR —
цей документ + аудит-сорс)" with one of the permitted tokens ("Active",
"Scaffolded", "Deprecated", or "Archived") and ensure the Status line appears
immediately after the freshness marker in the document; update the lifecycle
`Status` value to the correct enum and keep the existing parenthetical note if
needed but only after the allowed Status token.

In `@docs/initiatives/README.md`:
- Line 33: У рядку для 0001 замініть неформальний зворот "топ-1" на нормативну
українську фразу; знайдіть рядок починаючи з маркера "0001" і замініть фрагмент
"5 з 5 запланованих топ-1 моноліт-файлів декомпоновано." на щось на кшталт "5 із
5 запланованих найпріоритетніших монолітних файлів декомпоновано." або "5 із 5
запланованих монолітних файлів першого пріоритету декомпоновано." щоб зберегти
зміст і коректну мову.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 6e935e5d-b389-40bf-b234-869c3da1b129

📥 Commits

Reviewing files that changed from the base of the PR and between bb9593a and cc0da97.

📒 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

@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 12m 1s
vs p95 +51.8%

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 41s N/A
Critical-flow E2E (Playwright) 1m 36s 1m 44s 1m 44s 6m 14s +259.6%
Migration lint (AGENTS rule 0s 0s 0s 7s N/A
Pipeline duration (p95 trend) 26s 27s 27s
Secret scan (gitleaks) 8s 11s 11s 13s +18.2%
Smoke E2E (Playwright) 1m 26s 1m 40s 1m 40s
Test coverage (vitest) 2m 4s 2m 33s 2m 33s 2m 3s -19.6%
Workflow lint (actionlint) 7s 7s 7s 7s +0.0%
check 4m 12s 4m 54s 5m 6s 52s -82.3%
tsconfig strict guard (PR-1.A) 5s 14s 14s 8s -42.9%

⚠️ Warning: Current run (12m 1s) exceeds p95 + 20% threshold (9m 30s). Consider reviewing slow jobs.

@Skords-01 Skords-01 merged commit 23ef65d into main May 4, 2026
28 of 48 checks passed
@Skords-01 Skords-01 deleted the devin/1777897176-revenue-first-launch-plan branch May 4, 2026 13:06
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