Skip to content

ship: realtime fleet dashboard → prod (aniccaai.com/dashboard)#266

Closed
Daisuke134 wants to merge 40 commits into
mainfrom
dev
Closed

ship: realtime fleet dashboard → prod (aniccaai.com/dashboard)#266
Daisuke134 wants to merge 40 commits into
mainfrom
dev

Conversation

@Daisuke134

@Daisuke134 Daisuke134 commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Promote dev→main to deploy the VSDD-converged realtime fleet dashboard (funding/env/brain badges + live log) to prod. Verified locally via netlify dev + browser (sentinel rendered).

Summary by CodeRabbit

  • 新機能

    • 日本向けの買い切りプランを追加し、ペイウォールに新しい料金表示と再読み込み案内を導入しました。
    • ペイウォールの表示文言を複数言語で更新し、内容をわかりやすくしました。
    • ダッシュボードの表示を改善し、状態の内訳やライブログが見やすくなりました。
  • バグ修正

    • 買い切りプランの状態表示が正しく反映されるようになりました。
    • オンボーディングの進行表示を調整し、手順のずれを修正しました。

…; GATE-0 first-$ demand-gated (honest); Franklin=spender
…d via prod (E2E PASS); spawn money pipeline proven
…inference proof, track manifest; git apply --check exit 0
…lifetime + month/annual/lifetime order + load-failure escape hatch

- hasTrialEligibility=false (trial fully off; ASC intro offers removed at release)
- restore natural 1.9.1 copy (title/subtitle/features/cta), drop AI/feedback features (3 features)
- lifetime card gated to JP storefront (Storefront.current==JPN); EN shows month+annual only
- plan order monthly->annual->lifetime
- empty-offerings: 5s timeout -> reload/restore (kills infinite-spinner hard-paywall trap)
- SubscriptionInfo: lifetime status=active; storekit: trials removed + lifetime added
- strings updated across en/ja/de/es/fr/pt-BR
…(was on disk but missing from pbxproj → never compiled)
…ekit (was ../../ = never resolved → sign-in dialog + UI-test config not applied)
…heme StoreKitConfigurationFileReference for tests → config now applied, sign-in dialog suppressed)
…StoreKit confirm + CTA retap until mypath-root)
…ca.storekit (RevenueCat official sample format; my earlier ../ and '' edits broke it → sign-in dialog)
…al ¥2000/lifetime ¥5000) so JP paywall shows 3 plans + lifetime card (gated by storefront==JPN)
…d feature retired. Renumber steps 10→9, fix progress bar, drop onboarding_demo strings (en/ja/es). + runbook for no-human Xcode run + scheme JA launch args
…rgs for EN paywall verification (2 plans, no lifetime)
Daisuke134 and others added 10 commits June 23, 2026 21:46
…e=en (malformed -AppleLanguages args removed)
feat(paywall): no-trial + 1.9.1 copy + JP-only lifetime 3-plan + escape hatch (1.9.4)
Sync article-jp.md to match the version Dais hand-edited and published to
X Articles (= ground-truth). Captures:
- currency: $X -> Xドル, K/M expansion
- occupations: Founder's Associate -> 創業者補佐
- people: Trudy/Nico/Emily -> テュルーディー/ニコ/エミリー
- real ground-truth nouns: WiFi=Corgi Patrons, drink=コルタード
- structure: delete [0] verdict box, delete 結局 summary section,
  collapse WiFi multi-step into one paragraph, move 週7日勤務 paragraph
  into the company-intro section
- voice: add 'ここから次のGoogleが生まれるのかもしれません' (one-line wish),
  switch H2 to opinion form (机に置いてある「採用ビラ」が一番 SF っぽかった)
- image caption: italic line beneath the counter photo

Lessons #27-40 captured in ai-entity-article-writer SKILL.md;
engine gaps #9-12 captured in x-article-publisher SKILL.md
(those skills live outside this repo at ~/.claude/skills/).
…tatus/isSelfFundedEconomic/countByStatus/normalizeLogKind/toCardModel) — RED→GREEN 22/22, no network/clock

Co-Authored-By: Claude <noreply@anthropic.com>
…ashboard-core (funding/env/brain badges + live log + assets/revenue/net + display-staleness + 30s poll); schema accepts 3 fields; DDL migration (applied live)

Co-Authored-By: Claude <noreply@anthropic.com>
…ocal browser E2E)

Co-Authored-By: Claude <noreply@anthropic.com>
… + key-safety REQ-12 + enum + log round-trip; FIND-001/002/003) + toCardModel null guard (FIND-006)

Co-Authored-By: Claude <noreply@anthropic.com>
…eal columns (log/breakdown/revenue cols — drift fix, REQ-13) + upsertInstance persist-path test + toCardModel null-row test

Co-Authored-By: Claude <noreply@anthropic.com>
realtime fleet dashboard: funding/env/brain badges + live log + assets/revenue (VSDD converged)
@coderabbitai

coderabbitai Bot commented Jun 29, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: CHILL

Plan: Pro

Run ID: 874604db-4140-482e-95ce-6baaa03628e7

📥 Commits

Reviewing files that changed from the base of the PR and between e74bb3d and 157d21e.

⛔ Files ignored due to path filters (8)
  • aniccaios/fastlane/screenshots/en-US/APP_IPHONE_67_01.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/en-US/APP_IPHONE_67_02.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/en-US/APP_IPHONE_67_03.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/en-US/APP_IPHONE_67_04.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/ja/APP_IPHONE_67_01.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/ja/APP_IPHONE_67_02.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/ja/APP_IPHONE_67_03.png is excluded by !**/*.png
  • aniccaios/fastlane/screenshots/ja/APP_IPHONE_67_04.png is excluded by !**/*.png
📒 Files selected for processing (39)
  • aniccaios/aniccaios.xcodeproj/project.pbxproj
  • aniccaios/aniccaios.xcodeproj/xcshareddata/xcschemes/aniccaios.xcscheme
  • aniccaios/aniccaios/Anicca.storekit
  • aniccaios/aniccaios/Anicca.xctestplan
  • aniccaios/aniccaios/AppState.swift
  • aniccaios/aniccaios/Onboarding/AppDemoStepView.swift
  • aniccaios/aniccaios/Onboarding/OnboardingFlowView.swift
  • aniccaios/aniccaios/Onboarding/OnboardingProgressBar.swift
  • aniccaios/aniccaios/Onboarding/OnboardingStep.swift
  • aniccaios/aniccaios/Onboarding/PaywallVariantBView.swift
  • aniccaios/aniccaios/Resources/de.lproj/Localizable.strings
  • aniccaios/aniccaios/Resources/en.lproj/Localizable.strings
  • aniccaios/aniccaios/Resources/es.lproj/Localizable.strings
  • aniccaios/aniccaios/Resources/fr.lproj/Localizable.strings
  • aniccaios/aniccaios/Resources/ja.lproj/Localizable.strings
  • aniccaios/aniccaios/Resources/pt-BR.lproj/Localizable.strings
  • aniccaios/aniccaios/Services/SubscriptionManager.swift
  • aniccaios/aniccaiosUITests/PaywallE2ETests.swift
  • apps/landing/app/dashboard/page.tsx
  • apps/landing/lib/dashboard-core.mjs
  • apps/landing/lib/dashboard-core.test.mjs
  • apps/landing/netlify.toml
  • apps/landing/netlify/functions/_lib/__tests__/fleet-fields.test.js
  • apps/landing/netlify/functions/_lib/telemetry-schema.js
  • apps/landing/netlify/functions/_migrations/2026-06-29-instances-fleet-fields.sql
  • apps/landing/supabase/instances.sql
  • docs/articles/corgi-cafe/article-jp.md
  • docs/superpowers/STATUS.md
  • docs/superpowers/plans/2026-06-23-jp-pricing-lifetime-paywall-patch.md
  • docs/superpowers/plans/2026-06-23-paywall-IMPLEMENTATION-STATUS.md
  • docs/superpowers/runbook-xcode-run-paywall-no-human-loop.md
  • docs/superpowers/specs/anicca/28-product-redesign-merge-2026-06-16.md
  • docs/superpowers/specs/anicca/patches/P-install-me-flow.patch.md
  • docs/superpowers/specs/anicca/patches/P-lm-local-calling.patch.md
  • docs/superpowers/specs/anicca/patches/P-lm-separate.patch.md
  • docs/superpowers/specs/anicca/patches/P-malice-guard.patch.md
  • docs/superpowers/specs/anicca/patches/P-oss-local.patch.md
  • docs/superpowers/specs/anicca/patches/life-ask.patch.md
  • docs/superpowers/specs/anicca/patches/life-notify.patch.md

📝 Walkthrough

Walkthrough

iOS AniccaアプリのペイウォールをStoreKit Lifetimeプロダクト追加・全サブスクno-trial化・JP限定生涯プランカード表示に再構築し、XCUITest E2Eを追加。ランディングダッシュボードにフリートIDフィールド(funding/env/brain/log)をDB・テレメトリ・UI層で一貫して追加。製品再設計・生活スキルパッチ・運用Runbook等の仕様ドキュメントを大量追加。

Changes

iOS ペイウォール再構築

Layer / File(s) Summary
StoreKit設定・テスト計画・Xcodeプロジェクト
aniccaios/aniccaios/Anicca.storekit, aniccaios/aniccaios/Anicca.xctestplan, aniccaios/aniccaios.xcodeproj/xcshareddata/xcschemes/aniccaios.xcscheme, aniccaios/aniccaios.xcodeproj/project.pbxproj
Anicca.storekitにLifetime NonConsumableを追加し全サブスクのintroductoryOfferを削除。Anicca.xctestplanを新規作成しStoreKit設定を参照。XcodeスキームをTestPlanベースに移行しLaunchActionにen/US指定を追加。PaywallE2ETests.swiftをUITestsターゲットに登録。
appDemoステップ削除・OnboardingStep更新
aniccaios/aniccaios/Onboarding/OnboardingFlowView.swift, aniccaios/aniccaios/Onboarding/OnboardingStep.swift, aniccaios/aniccaios/Onboarding/OnboardingProgressBar.swift, aniccaios/aniccaios/Onboarding/AppDemoStepView.swift
OnboardingFlowViewからappDemoケースを削除。OnboardingStepのraw値・analytics名・V6マイグレーション分岐を更新。totalStepsを11→10に変更。AppDemoStepView.swiftを全削除。
PaywallVariantBView JP生涯プラン・no-trial・リロード
aniccaios/aniccaios/Onboarding/PaywallVariantBView.swift, aniccaios/aniccaios/Services/SubscriptionManager.swift, aniccaios/aniccaios/AppState.swift
storefrontCountryをStoreKit2で非同期取得しJPN時のみlifetimePackageを表示。hasTrialEligibilityを常にfalseに変更。月→年→lifetime順のプランカード描画。5秒タイムアウト後のリロード失敗UIを追加。SubscriptionManagerでlifetimeのstatusStringをwillRenewに関わらず"active"に設定。
多言語ローカライズ更新
aniccaios/aniccaios/Resources/*.lproj/Localizable.strings
EN/JA/DE/ES/FR/PT-BRでpaywall_b_*キーを更新。paywall_b_feature_ai/feedbackを削除。lifetime・load_failed・retryキーを全言語に追加。
PaywallE2ETests XCUITest
aniccaios/aniccaiosUITests/PaywallE2ETests.swift
launchPaywall/snap/gotoPaywallヘルパーを実装。EN/JAスクリーンショットテストでトライアルバッジ非表示を検証。最大35回ループのStoreKit購入→解錠テストを追加。

ランディングダッシュボード フリートフィールド拡張

Layer / File(s) Summary
DBスキーマ・マイグレーション・テレメトリバリデーション
apps/landing/supabase/instances.sql, apps/landing/netlify/functions/_migrations/2026-06-29-instances-fleet-fields.sql, apps/landing/netlify/functions/_lib/telemetry-schema.js
instancesテーブルにfunding/env/brain/logカラムを追加し冪等driftfixを追加。telemetry-schema.jsでfunding/env/brainの省略可能enumバリデーションを追加。
dashboard-core純粋ヘルパー実装とテスト
apps/landing/lib/dashboard-core.mjs, apps/landing/lib/dashboard-core.test.mjs
deriveStatus/isSelfFundedEconomic/countByStatus/normalizeLogKind/toCardModelを新規追加。toCardModelはnull行ガード・ログ降順20件・netUsd計算・walletUrl生成を実装。境界値・異常系・不正rowフォールバックのテストを78行追加。
ダッシュボードページUI・フリートフィールドテスト・netlify設定
apps/landing/app/dashboard/page.tsx, apps/landing/netlify/functions/_lib/__tests__/fleet-fields.test.js, apps/landing/netlify.toml
InstanceRow型を拡張。30秒ポーリングを追加。InstanceCardをtoCardModelに切り替えLiveLogセクションとTagコンポーネントを追加。fleet-fields.test.jsで署名検証・upsertボディを確認。netlify.tomlに[dev]ブロックを追加。

仕様・計画・運用ドキュメント群

Layer / File(s) Summary
ペイウォール計画・実装状況・Xcode運用Runbook
docs/superpowers/plans/2026-06-23-jp-pricing-lifetime-paywall-patch.md, docs/superpowers/plans/2026-06-23-paywall-IMPLEMENTATION-STATUS.md, docs/superpowers/runbook-xcode-run-paywall-no-human-loop.md
no-trial・JP生涯プラン・RevenueCat連携の完全計画を追加。JP-1〜JP-5の実装進捗を記録。Simulator言語切替・WebRTC復旧・cua-driver⌘R起動の手順を追加。
製品再設計仕様とパッチドキュメント群
docs/superpowers/specs/anicca/28-product-redesign-merge-2026-06-16.md, docs/superpowers/specs/anicca/patches/P-*.patch.md
3製品ライン・malice-guard・/lm分離・locateスキル・identity-guard・oss-localの各パッチをgit-applicable diff形式で記述した仕様ドキュメントを追加。
life-ask・life-notifyパッチ更新
docs/superpowers/specs/anicca/patches/life-ask.patch.md, docs/superpowers/specs/anicca/patches/life-notify.patch.md
life-askをNetlify読み取り専用・ローカルgog送信に再設計。life-notifyのpendingPath()遅延解決・明示パス引数・require.mainガードのRev3更新を記述。
STATUS更新・Corgi Cafe記事
docs/superpowers/STATUS.md, docs/articles/corgi-cafe/article-jp.md
stripe-spawn/earn/life-ask/life-notify/self-spawn/mother-repoのDONEステータスを更新。SFのCorgi CafeをWiFi・採用・体験の観点でまとめた日本語記事を新規追加。

推定コードレビュー工数

🎯 5 (Critical) | ⏱️ ~120 分

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@Daisuke134 Daisuke134 closed this Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant