Skip to content

docs: harden Public Beta launch/ops readiness (excluding E2E/OpenAI execution)#72

Open
sasazaki1994 wants to merge 2 commits into
mainfrom
codex/finalize-public-beta-preparations-excluding-e2e/openai
Open

docs: harden Public Beta launch/ops readiness (excluding E2E/OpenAI execution)#72
sasazaki1994 wants to merge 2 commits into
mainfrom
codex/finalize-public-beta-preparations-excluding-e2e/openai

Conversation

@sasazaki1994

@sasazaki1994 sasazaki1994 commented May 18, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Provide maintainers a clear, auditable release gate and runbook to decide GO/NO-GO for Public Beta without running E2E/OpenAI smoke in this task.
  • Make production safety guards and required env guidance explicit so beta exposure does not accidentally leak or enable unsafe defaults.
  • Make the OpenAI smoke-test plan and final validation template easier to run and record when API key / browser execution is available.

Description

  • Added docs/public-beta-launch-checklist.md, docs/public-beta-operations.md, and docs/public-beta-final-validation-template.md to capture GO/NO-GO criteria, daily ops, incidents, and a final validation template.
  • Enhanced docs/openai-smoke-test-plan.md with a pre-run checklist, command examples, UI execution steps, post-run recording fields, secret handling guidance, and a failure triage table.
  • Strengthened .env.example with explicit Public Beta / production guard comments and clarified mock vs OpenAI provider settings without adding secrets.
  • Added a ## Public Beta Launch section to README.md and referenced the new docs from specs/public-beta-readiness.md and acceptance/public-beta-readiness.feature (added acceptance scenario asserting doc availability).
  • Added a lightweight unit test tests/beta-auth-production-guard.test.ts that asserts TRACEMAP_BETA_ACCESS_CODE is required in production and adjusted the test to use Reflect.set(process.env, ...) to avoid read-only assignment errors.

Testing

  • Ran pnpm install and pnpm exec prisma generate, both succeeded.
  • Ran DATABASE_URL="postgresql://postgres:postgres@localhost:5432/tracemap?schema=public" pnpm exec prisma validate and it succeeded.
  • Ran pnpm lint, pnpm typecheck, pnpm test (Vitest), and pnpm build, all succeeded (pnpm test result: 205 tests passed); the newly added unit test passes.
  • Attempted pnpm exec playwright install --with-deps chromium and pnpm test:e2e, but Playwright browser install failed in this environment (network/proxy/CDN 403), so E2E runs were not executed as intended and OpenAI 3-topic smoke tests were intentionally not executed in this task (API key required).

Codex Task

Summary by CodeRabbit

  • Documentation

    • Public Beta ローンチ前のチェックリスト、検証テンプレート、運用手順書を新規追加
    • OpenAI スモークテスト計画を完成
  • Tests

    • 本番環境でのセキュリティ検証テストを追加
  • Chores

    • 環境設定ファイルを更新し、必要な設定項目を明確化
    • ドキュメント参照を仕様書に追加

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 18, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@sasazaki1994 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 41 minutes and 46 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f7971293-35c8-470e-9943-704fc41babfd

📥 Commits

Reviewing files that changed from the base of the PR and between b94059f and 3b642e3.

📒 Files selected for processing (3)
  • docs/openai-smoke-test-plan.md
  • docs/public-beta-launch-checklist.md
  • tests/beta-auth-production-guard.test.ts

Walkthrough

Public Beta ローンチの準備として、環境変数設定の標準化、本番環境での認証安全性ガード、包括的な起動・運用チェックリストとドキュメント、および受入テストの統合が行われた。

Changes

Public Beta ローンチ準備フェーズ

レイヤー / ファイル 要約
Beta環境変数設定
\.env\.example
Database URL の接続情報例、Public Beta 認証用 TRACEMAP_BETA_ACCESS_CODE と TRACEMAP_SESSION_SECRET、TRACEMAP_ANSWER_GRAPH_PROVIDER (mock デフォルト)、OpenAI API キー・モデル・タイムアウト、Source discovery 設定 (disabled デフォルト、Brave エンドポイント/キー) を環境変数として明示化。
Beta認証本番環境安全ガード
tests/beta-auth-production-guard.test.ts
production 環境で TRACEMAP_BETA_ACCESS_CODE が未設定のときに loginWithBetaAccess が指定メッセージ付きで例外を投げることをテスト。テスト後に環境変数を復元。
起動チェックリスト・運用・検証ドキュメント
docs/public-beta-launch-checklist.md, docs/public-beta-operations.md, docs/public-beta-final-validation-template.md, docs/openai-smoke-test-plan.md
ローンチ前 GO/NO-GO 基準とタスク、日次確認項目とインシデント対応アクション、最終バリデーションテンプレート (静的/ブラウザ/OpenAI/安全性チェック)、OpenAI スモークテスト手順 (事前チェックリスト、実行ステップ、記録項目、シークレット取扱い、失敗トリアージ)。
README・受入テスト・仕様参照の統合
README.md, acceptance/public-beta-readiness.feature, specs/public-beta-readiness.md
README に Public Beta Launch セクションを追加し、環境変数設定・lint/typecheck/test/build・静的検証・ブラウザ検証・OpenAI スモークテスト・最終検証の手順と参照ドキュメント一覧を明記。Acceptance test に起動ドキュメント確認シナリオを追加。Spec に運用・ローンチドキュメント参照をまとめる。

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related issues

  • sasazaki1994/TraceMap#45: PR の主要な変更内容(.env.example 更新、Public Beta ドキュメント・チェックリスト追加、beta-auth テスト追加)が、このイシューで説明されているベータ対応チェックリスト作業と同じプロジェクトを直接サポートしている。

Possibly related PRs

  • sasazaki1994/TraceMap#69: 両 PR ともに Public Beta 対応ドキュメントと計画に関連。本 PR は acceptance/public-beta-readiness.feature と起動・運用・スモークテストテンプレートを追加し、参照 PR は Public Beta ギャップ監査ドキュメントを導入してその同じ対応機能に対して検証をリンク。
  • sasazaki1994/TraceMap#71: 両 PR は同じ Public Beta 対応ドキュメント資料を更新する点で密接に関連。特に docs/openai-smoke-test-plan.md および Public Beta 検証・対応ワークフロー全般で重複。
  • sasazaki1994/TraceMap#64: 本 PR は Public Beta 対応・起動・運用の新規ドキュメントと public-beta-readiness に関するシナリオを追加する点で、参照 PR の同じ「Public Beta Readiness」受入テスト・spec ドキュメント名の正規化・参照の変更と直接重複。

Poem

🐰 ベータの夜明け、準備万端に
環境を整え、テストを重ね
チェックリストが導く、安全な道
運用手順書が支える その先へ
Ready for launch! 🚀

🚥 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 プルリクエストのタイトルは、Public Beta のローンチ/運用準備を強化するドキュメント追加という主要な変更を明確に要約しており、実装内容と一致しています。
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 codex/finalize-public-beta-preparations-excluding-e2e/openai

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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/openai-smoke-test-plan.md`:
- Around line 96-98: Failure triage セクションのテーブルが前後に空行がないため MD058 警告が出ていますので、ヘッダ
"## Failure triage" とその下のテーブル行(| Symptom | Likely area | Action |
...)の前後に1行ずつ空行を挿入してテーブルを空行で囲んでください。

In `@docs/public-beta-launch-checklist.md`:
- Around line 30-39: Change the "Required environment variables" section so
OpenAI keys are conditional: state that TRACEMAP_OPENAI_API_KEY or
OPENAI_API_KEY (and TRACEMAP_OPENAI_MODEL / TRACEMAP_OPENAI_TIMEOUT_MS) are only
required when running the OpenAI smoke tests or when
TRACEMAP_ANSWER_GRAPH_PROVIDER is set to an OpenAI-backed provider; keep
DATABASE_URL, TRACEMAP_SESSION_SECRET, TRACEMAP_BETA_ACCESS_CODE and
TRACEMAP_ANSWER_GRAPH_PROVIDER as always-required, and add a short note
explaining the SKIPPED-without-key behavior to align GO/NO-GO criteria.

In `@tests/beta-auth-production-guard.test.ts`:
- Around line 11-16: The code restores NODE_ENV using Reflect.set(process.env,
"NODE_ENV", originalEnv.NODE_ENV) which will turn undefined into the string
"undefined"; change the restore logic to mirror the TRACEMAP_BETA_ACCESS_CODE
handling: if originalEnv.NODE_ENV is undefined then delete process.env.NODE_ENV,
else set process.env.NODE_ENV = originalEnv.NODE_ENV so the environment is
correctly restored and avoids contaminating later tests.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c8d50c0e-bdcc-4b14-8c41-052be2aeb78e

📥 Commits

Reviewing files that changed from the base of the PR and between fcb87cc and b94059f.

📒 Files selected for processing (9)
  • .env.example
  • README.md
  • acceptance/public-beta-readiness.feature
  • docs/openai-smoke-test-plan.md
  • docs/public-beta-final-validation-template.md
  • docs/public-beta-launch-checklist.md
  • docs/public-beta-operations.md
  • specs/public-beta-readiness.md
  • tests/beta-auth-production-guard.test.ts

Comment thread docs/openai-smoke-test-plan.md
Comment thread docs/public-beta-launch-checklist.md
Comment thread tests/beta-auth-production-guard.test.ts Outdated
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