変更履歴 (Changelog)¶
Recerdo Developer Docs の変更履歴です。
各ドキュメントの最終更新日はページ下部にも表示されます。
v0.7.2 — 2026-04-20 (Issue 分解スプリント完了)¶
追加¶
core/sprints/2026-04-20-issue-decomposition.md: バックエンド 13 リポジトリへの Issue 分解スプリント報告を新規追加。作成方針・Milestone 割当基準・リポジトリ別 Epic URL 一覧を記録。
変更¶
microservice/events-svc.md: §5 ディレクトリ構造ツリーの AWS 命名違反を修正 (policy §4.2)。queue/sqs_publisher.go→queue/queue_publisher.gosqs_consumer/→queue_consumer/notification/notification_sqs_adapter.go→notification/notification_queue_adapter.go
GitHub Issues 作成実績 (2026-04-20)¶
バックエンド 13 リポジトリに 315 Issue を作成。
| カテゴリ | 件数 |
|---|---|
| Epic (M1/M2/M3) | 38 |
| Feature (ユースケース) | 164 |
| Cross-cutting | 88 |
| Test / Deploy | 25 |
詳細: スプリント報告 / Tracker #21
v0.7.1 — 2026-04-20 (ローカル開発環境のアーキテクチャ/方針ドキュメント追加)¶
追加¶
core/local-development.md: Tilt + Colima によるローカル開発環境の 設計・方針ドキュメント を新設。既存のcore/local-dev.md(操作ガイド)と補完関係を明確化。- 9 マイクロサービス + Beta 相当ミドルウェア(MySQL / MariaDB / Redis / Garage / Flipt / Postfix + Dovecot + Rspamd / MailHog / cognito-local / FCM エミュレータ / Loki / Grafana)のトポロジと責務を定義。
live_updateによる編集 → 反映の高速化、TILT_PROFILEによるサービス絞り込み(full / core / media / notify / admin)の設計指針。- コンテナランタイムを Colima(OSS)第一推奨 に位置付け、
DOCKER_HOST/docker contextで Docker Desktop / OrbStack / Rancher Desktop への切替も可能なランタイム可搬性を定義。 - 将来性として k3s 併設モード(
TILT_TARGET=k3s) を同梱し、OCI Container Instances → OKE 移行リハーサルを開発者マシン上で実行可能に。 - ローカル既定の環境変数カタログ、Flipt シード定義、MariaDB 互換性テストの並走、ポリシー §1.3 / §4.1 との対応を明文化。
core/local-dev.md: 姉妹ドキュメントcore/local-development.mdへの誘導リンクを冒頭に追加(操作ガイド ↔ 設計ドキュメントの役割分担)。mkdocs.yml: コアプラットフォームのナビゲーションに「ローカル開発環境 (Tilt + Colima, 設計)」を追加し、既存の「ローカル開発 (Tilt で起動)」と並置。core/index.md: ドキュメント一覧にlocal-development.mdを追加。
検証¶
mkdocs build --strictでビルド成功を確認。- 基本的方針(Policy)§1.3 の禁止アダプタ/サービス名が採用文脈で登場していないことを確認(将来の grep lint で本 changelog 行がヒットしないよう、具体語の列挙はポリシー側に集約)。
- AWS 依存は Cognito JWKS のモック(cognito-local)のみ で、ポリシー §1.3 に準拠。
v0.7.0 — 2026-04-19 (追加設計プラン・大規模類似サービス徹底反映)¶
変更・追加¶
core/policy.md: コミット464267137d7c63f159d732d47d55a8de16d7093fのレビュー指摘(STARTTLS 必須、旧システム記述削除、横断一貫性不足)をもとに、§8「追加設計プラン」を大幅に拡充。Instagram, Twitter, Stripe などの大規模システムモデルを使った横断要件(Push-first厳格化, DLQ & Circuit Breaker, 縮退運転/Graceful Degradation、SLO)を明確化。microservice/timeline-svc.md&clean-architecture/timeline-svc.md: Fan-out on Write と フォロワー数500超での Fan-out on Read を切り替える構成(Hybrid Fan-out)および、Redisキャッシュのフォールバック・Heavy APIの Feature Flag 制御による**縮退パス(Graceful Degradation)** を追記。- 全Write API (Outbox適用): Transactional Outbox + 冪等性(Idempotency-Key 24時間保持)を全サービス横断の責務として各設計書に再適用し、Sagaの信頼性を向上。
v0.6.3 — 2026-04-19 (追加設計プラン再整理・Iteration-02)¶
変更¶
core/policy.md: §8 に Iteration-02(コミット464267コメント起点)の反復表を追加し、Push-first/STARTTLS/Outbox/DLQ/縮退/SLO の整理と anchor#8-大規模類似サービス参照反復版を明示。core/index.md: 反復ログの要約を追記し、横断ドキュメント更新フローで最新反復表を参照するように修正。microservice/index.md: 追加設計プラン表を Iteration-02 に合わせて拡充(通知/Outbox・DLQ/フィード縮退/SLO)し、横断レビュー観点に縮退・DLQ 閾値を追加。clean-architecture/index.md: 追加設計プラン表を Iteration-02 に合わせ、レビュー入力列を追加。SLO/縮退/STARTTLS の責務を CA 層に再配置。
追加¶
- コミット
464267137d7c63f159d732d47d55a8de16d7093fのレビューコメント(STARTTLS 必須、旧システム記述削除、横断一貫性不足)を入力とした反復計画をpolicy.mdに記録し、MS/CA index へ再配布。
検証¶
mkdocs build --strict
v0.6.2 — 2026-04-19 (追加設計プラン反映・レビュー指摘反映)¶
変更¶
core/policy.md: 大規模類似サービスモデルを参照した「追加設計プラン」を新設。設計・分析・課題・他者レビュー反映の反復手順を明文化。core/index.md: 追加設計プランの参照導線を追加し、横断ドキュメント更新フローを明記。microservice/index.md: 追加設計プラン反映テーブルと横断レビュー観点を追加。clean-architecture/index.md: クリーンアーキテクチャ層への反映方針(Push-first、DLQ、TLS要件)を追記。microservice/notifications-svc.md: メール通知条件アンカーを安定化(#mail-notification-conditions)し、追加設計プランとレビュー反映内容を追記。clean-architecture/notifications-svc.md: PostfixSMTPAdapter の実装例を整理し、STARTTLS 必須・TLS1.2+・AUTH 非対応時エラーの記述へ統一。重複していたサンプル断片を削除。
追加¶
起点: コミット 464267(PR #6 マージ)のコメント情報・セキュリティ指摘・横断一貫性の課題。
core/policy.md§8「追加設計プラン(大規模類似サービス参照・反復版)」: Google Photos / Instagram / Stripe / Uber / Netflix / Google SRE の一般モデルを参照した横断標準を定義。- §8.3 冪等性(Idempotency Key)
- §8.4 Transactional Outbox
- §8.5 Saga(Choreography)
- §8.6 Circuit Breaker + 指数バックオフ
- §8.7 OpenTelemetry + W3C Trace Context
- §8.8 SLI/SLO + エラーバジェット
- §8.9 レート制限
- §8.10 コンテンツ重複排除(CAS)
- §8.11 継続課題 / §8.12 レビュー反復手順
microservice/index.md: 「横断標準(Cross-cutting Standards)」テーブルと「横断レビュー観点(Peer Review Checklist)」を追加。clean-architecture/index.md: 「横断パターン」表をクリーンアーキテクチャ層への落とし込みとして追加。14 セクション構成に §14 の反映記録を規定。core/index.md: 追加設計プランの導線と「横断ドキュメント更新フロー」を追加。microservice/notifications-svc.md: §9「横断標準の適用」、§10「レビュー指摘の反映記録」を新設。clean-architecture/notifications-svc.md: §14「変更履歴・レビュー記録(追加設計プラン反映)」を新設。
修正¶
clean-architecture/notifications-svc.mdのPostfixSMTPAdapter(§5.2): コミット56a90bc(Copilot Autofix)適用時に残存していたコード重複を除去し、以下の単一実装に統一。- STARTTLS 拡張の広告確認 →
tls.VersionTLS12で昇格。 - AUTH 拡張の広告確認後のみ
smtp.PlainAuthを実行。 net/smtpがcontext非対応のため明示的に_ = ctx。c.Quit()の無害なエラー(use of closed network connection)は無視。
検証¶
mkdocs build --strictでビルド成功を確認。- 禁止キーワード(
S3/SES/SNS/SQS/DynamoDB/RDS/Aurora/CloudFront/Lambda/MinIO/ElastiCache)が新規に採用文脈で登場していないことを grep で確認。
v0.6.1 — 2026-04-19 (ポリシー適用・最終クリーンアップ)¶
追加¶
- Permission API:
/api/auth/sessions/*//api/auth/tokens/*//api/auth/permissions/*//api/auth/roles/*の HTTP API 仕様を新規追加。api/index.mdから参照されていた未存在リンクを解消。 - mkdocs.yml ナビゲーションに「権限 (Permission)」を追加。
変更(旧システム記述の削除)¶
core/cost-performance-analysis.md: AWS SES / ECS Fargate / RDS / Aurora / CloudFront を推奨していた旧構成を全面改訂。Beta=XServer VPS + CoreServerV2 + Garage + Postfix、本番=OCI ファースト の新ポリシーに統一。§9「採用/不採用の理由」ポリシー対照表を追加。core/deployment-strategy.md: Mermaid 図の MinIO ノードを Garage へ。k3s 参照を Docker Compose / OCI Container Instances / OKE へ。#### TODOを Postfix 方針に解決。core/server-capacity-planning.md: スケールアウト閾値の "S3 + CloudFront"・"ECS Fargate + RDS" を OCI ベースに改訂。core/poc-beta-scope.md: 移行ロードマップの "VPS → ECS Fargate" を "VPS → OCI Compute A1.Flex / OKE" に改訂。core/environment-abstraction.md:*_PROVIDER環境変数の記述に「AWS 系アダプタは未実装(Cognito のみ採用)」を明記。api/auth.md/api/events.md/api/storage.md: 全ての#### TODO/##### TODOヘッダーを削除。各 TODO は既存の仕様テキストで解決済みのため、見出しのみを除去。clean-architecture/events-svc.md/clean-architecture/notifications-svc.md: TODO セクションを QueuePort / NotificationPort / Postfix SMTP の具体仕様に置換。microservice/album-svc.md/clean-architecture/album-svc.md: 「ハイライトビデオ自動生成」表記をすべて「ユーザー選択による連結(media_ids[]必須、ML 推薦なし)」に統一。
検証¶
grep -rn "TODO\|FIXME" docs/→changelog.mdの履歴記述のみ。grep -rn "ECS Fargate\|Aurora\|RDS\|CloudFront\|MinIO" docs/→ すべて「不採用」「比較表」「採用しない」文脈のみ。grep -rn "自動生成" docs/.../album-svc.md→ すべて「自動生成は行わない」の否定文脈のみ。- 内部リンク切れ 0 件。
v0.6.0 — 2026-04-19 (ポリシー適用)¶
変更(インフラ/メディア方針の一括適用)¶
- AWS は Cognito のみ に限定。他のAWSサービス(SQS / SNS / SES / S3 / Lambda / CloudWatch 等)の記述を全ドキュメントから除去し、OSS / OCI プロダクトへ置き換え。
- Beta 構成: XServer VPS(6 core / 10 GB) + CoreServerV2 CORE+X(6 GB)/ Garage(S3互換OSS) / MySQL(MariaDB互換) / Redis + BullMQ・asynq / Postfix + Dovecot + Rspamd。
- 本番: OCI ファースト(OCI Object Storage / MySQL HeatWave / Queue / Cache with Redis)。メールは CoreServerV2 CORE+X 継続。
- Feature Flag: Flipt / ログ: Loki / プッシュ: FCM を明文化。
- メディアパイプライン(
api/storage.md,api/album.md): 動画 → HLS(360p/720p/1080p・6秒セグメント)、HEIC → JPEG/WebP(libheif)、Live Photo → 画像+動画ペア(Appleasset_identifier)。variants(hls_master_url/image_url/live_photo_video_url等)を API レスポンスに追加。 - ハイライト動画: 自動生成を廃し、
media_ids[]を必須とするユーザー選択方式に統一(storage.md/album.md)。 - Storage 削除ポリシー: 論理削除 + 30日保持 → 物理パージ(原本 + 派生)。
- Auth API:
#### TODOを解消。Cognito(AuthN)+ Permission Service(AuthZ)+ JWKS 検証 の具体仕様に置換。 - Events API: 4件の TODO を具体仕様化。
- 招待: 8文字大小区別なし Slug + QR + JWT(TTL 1時間, ワンタイム, 再発行可)+ FCM/Postfix SMTP 通知。
- アーカイブ: 論理 → 2年保持 → コールド(Garage / OCI Archive) → 7年で物理削除。
- コメント: 論理削除・15分以内編集履歴・メディア添付・メンション対応。
- リアクション:
{❤️, 😂, 🎉, 😢, 👏, 🔥}固定、Redis INCR + Timeline ファンアウト。
- Audit API: "S3 archival" → "オブジェクトストレージアーカイブ" に改名、階層保管ポリシーを明記。
- Timeline / Features / Notifications / Feature Flag: SQS・SNS・CloudWatch・Lambda 参照を除去し、Queue 抽象化 / Prometheus+Loki / Alertmanager ベースへ置換。
index.md: アーキテクチャ Mermaid 図を Cognito・Permission・Queue・Object Storage 構成に刷新。ポリシーサマリを追加。- 対象ページに
最終更新: 2026-04-19 ポリシー適用フッターを付与。
v0.5.0 — 2026-04-19¶
追加(Notion レビューコメント反映・2026-04-18)¶
- デプロイメント戦略: Beta(セルフホストVPS+レンタル)→ 本番(OCIファースト)への段階的移行戦略。AWS Cognito を継続利用し、コンピュート・ストレージは OCI 安価シェイプへ。(注: この時点では SES も併用案として記載していたが、v0.6.0 で Postfix+Dovecot+Rspamd 自前運用へ改定。)
- 環境抽象化 & Feature Flag: ハードコード排除のための3層切替設計(環境変数 / Feature Flag / DI アダプタ)。12-factor 準拠。
- キュー抽象化設計: SQS 一択を撤回し、BullMQ / Sidekiq / RabbitMQ / NATS / OCI Queue / SQS を Port & Adapter で差し替え可能に。Beta は Redis+BullMQ、本番は OCI Queue を第一推奨。
- Admin Console Service(MS): 管理者コンソールを独立マイクロサービスとして新設。RBAC・二段階承認・成り代わり・コマンドキューを含む。
- Admin Console Service(CA): クリーンアーキテクチャ準拠のレイヤ別実装ガイド(Entity / UseCase / Adapter / Framework)。Next.js / Rails ハイブリッド UI に対応。
変更¶
microservice/index.md: 「メッセージング: SQS/SNS」の記述を「キュー抽象化レイヤー経由」に刷新、BetaとProdの技術スタックを2列比較で記載。mkdocs.yml: 新規ドキュメント5件を nav に追加。clean-architecture/index.md: Notifications / Feature Flag / Admin Console の3件を設計書一覧に追加。
対応 Notion コメント¶
- 「システム全体でSQSを採用するようにしているが、Oracleや自前のバッジ処理などで利用する場合などを複数検討した上で、システムを提案するように」→ キュー抽象化設計で対応。
- 「AWSを基本としつつ、OracleCloudなど安価なクラウドを利用予定」→ デプロイメント戦略で OCI ファーストを明記。
- 「Beta版はセルフホスティング(VPS+レンタルサーバー)」→ ストレージ層(レンタル)と計算層(VPS)の分離構成を図示。
- 「Beta→本番でシステムの改修が大変にならないように、FeatureFlagやソフト変更で対応」→ 環境抽象化ドキュメントで3層切替を定義。
- 「管理者コンソール設計が行われていません。マイクロサービス・クリーンアーキテクチャベースで」→ Admin Console を新規マイクロサービスとして MS/CA 両面で設計。
v0.4.0 — 2026-04-19¶
追加¶
- 機能仕様 (Features) セクションのインデックスページを追加
- ソーシャル接続 機能仕様書を追加(
features/events/social-connections.md) - アーキテクチャ図を Mermaid 記法に変換(
index.md,clean-architecture/index.md) - ページ別最終更新日・作成日の表示を追加(
git-revision-date-localized) - Changelog ページを追加
修正¶
- Features タブクリック時にランダムなドキュメントが表示されるバグを修正(
features/index.mdが存在しなかった) - Mermaid 図が表示されない問題を修正(JavaScript 初期化スクリプト追加)
v0.3.0 — 2026-04-15¶
追加¶
- プッシュ通知 機能仕様書(
features/notifications/push-notification.md) - Feature Flag 管理 仕様書(
features/permission/feature-flags.md) - コアプラットフォーム PoC/Beta スコープ定義(
core/poc-beta-scope.md) - サーバーキャパシティ計画(
core/server-capacity-planning.md) - ファイアウォール & データプロテクション(
core/firewall-data-protection.md) - コストパフォーマンス分析(
core/cost-performance-analysis.md)
変更¶
- MkDocs Material テーマに移行(Hugo から)
- 日本語検索対応(
lang: ja) - Netlify への自動デプロイ設定
v0.2.0 — 2026-04-10¶
追加¶
- クリーンアーキテクチャ設計書 全サービス分(9ドキュメント)
- API Gateway, Auth, Audit, Album, Events, Timeline, Storage, Notifications, Feature Flag
- マイクロサービス設計書 全サービス分(8ドキュメント)
- 5タブナビゲーション構成
v0.1.0 — 2026-04-05¶
初期リリース¶
- API ドキュメント(Auth, Events, Album, Storage, Timeline, Audit)
- プロジェクト基本構成・README
ドキュメントの最終更新日について
各ページ下部に「最終更新: YYYY-MM-DD」が表示されます。
これは Git コミット履歴に基づく自動表示です。