データモデル
Guinness の永続エンティティの用語集。Triangle Workflow に従い、Wireframe・Design・Code それぞれのバケット、加えてワークフロー前の成果物を置く Input バケットと ID・アクセス制御を扱う Org-level バケットで整理する。
物理スキーマは development/database/postgresql/ 配下を参照。
Input バケット
| エンティティ | 概要 |
|---|---|
| Requirement | ワークフロー前の成果物で、プロジェクトが生み出すべきものを記述する。複数フォーマットで保存(アップロードファイル、リンクされたドキュメント)。WF2Des / WF2Code / Des2Code にプロダクト意図を与える。 |
Wireframe バケット
三角形の低忠実度側。ここでの「ワイヤーフレーム」は Figma 上のワイヤーフレームデータであり、手描きスケッチではない。
| エンティティ | 概要 |
|---|---|
| Wireframe | ページ単位のワイヤーフレーム成果物(Figma Data)。1 ページ 1 ワイヤーフレーム。 |
| Structure | ワイヤーフレームから導出されるページ構造の JSON 表現。下流の変換への入力となる。 |
| Detail Design | ワイヤーフレームに紐づく詳細決定事項(文言、注釈、挙動メモ)を記録するドキュメント。 |
| Component (Wireframe) | 再利用可能なワイヤーフレームコンポーネント(Figma Data)。 |
Design バケット
高忠実度の Figma デザイン。
| エンティティ | 概要 |
|---|---|
| Design | ページ単位のデザイン成果物(Figma Data)。Des2Code の入力、WF2Des / Code2Des の出力。 |
| Design Rule | 生成デザインを制約するビジュアル・デザインシステムのルールを記述するドキュメント。WF2Des と将来の Des2WF へ入力される。 |
| Component (Design) | 再利用可能なデザインコンポーネント(Figma Data)。Des2Code 実行中に Code コンポーネントと照合される。 |
Code バケット
高忠実度のコード成果物。
| エンティティ | 概要 |
|---|---|
| Generated Code | Des2Code または WF2Code が生成する jsx / html ページ出力。ステータス(pending / processing / completed / failed)で追跡。 |
| Code Component | jsx / html 形式の再利用可能コンポーネント。Des2Code 中に Design コンポーネントと照合される。 |
| Matched Component | Design コンポーネントと Code コンポーネントの対応関係。AI マッチングパイプラインで確立される。 |
| Scraped Code | 既存の稼働サイトからスクレイピングしたコード(Code2WF / Code2Des のサイトリニューアル用途)。 |
| Scraped Code Asset | スクレイピングコードに紐づく画像・フォントなどのアセット。 |
| Asset | 汎用ファイルアセット(例: アップロードされたコンポーネントのスクリーンショット)。S3 に保存。 |
Org-level バケット
ID、アクセス制御、マルチテナント境界。ワークフロー成果物ではなく、ワークフローを支える足場。
| エンティティ | 概要 | 配置 |
|---|---|---|
| Organization | 最上位のテナント。プロジェクト、ユーザー、請求、Figma トークンを所有。 | PostgreSQL |
| Project | 単一プロダクト / サイトのスコープ。配下のワイヤーフレーム、デザイン、コード、コンポーネント、生成コードを保持。 | PostgreSQL |
| User | ユーザー向けアプリのエンドユーザー。1 組織に所属。 | ユーザー PostgreSQL + Cognito アプリプール |
| Admin | 4D スタッフアカウント。api-admin / ui-admin を操作。User とは別プール・別テーブル。 | PostgreSQL + Cognito 管理者プール |
| Role | Admin に付与される RBAC フラグ集合(admin_access, organization_access, project_access, user_access、それぞれ NONE / READ / READ_WRITE)。 | PostgreSQL |
| Session | サーバー側セッションレコード。User か Admin に紐づく。トークン検証とログアウト処理に使用。 | PostgreSQL |
| Figma Token | ユーザーの Figma アカウントの Personal Access Token (PAT)。Figma ファイルを Design / Wireframe エンティティに取り込むのに必要。 | PostgreSQL |
| MCP API Key | AI エージェント / 自動化システムが MCP サーバーを呼ぶための長寿命 API キー。プロジェクト単位でスコープ。 | ユーザー PostgreSQL |
| User-Project | ユーザーとアクセス可能プロジェクトのリレーション行。 | ユーザー PostgreSQL |
変換時にバケットがどう繋がるか
| ツール | 入力 | 出力 |
|---|---|---|
| Des2Code(稼働中) | Design (Component + Page) → Matched Component | Generated Code |
| WF2Des(未着手) | Wireframe + Detail Design + Structure + Design Rule | Design Page Variation |
| WF2Code(未着手) | Wireframe + Detail Design + Structure + Code Component | Code Page |
| Des2WF(未着手) | Design + Component | Wireframe + Structure |
| Code2Des(開発中) | Code Page + Code Component | Design Page + Design Component |
| Code2WF(未着手) | Code Page + Code Component | Wireframe + Structure + Wireframe Component |
共有 PostgreSQL データベース
api-admin と api-user は管理者アカウント、セッション、ワークフロー成果物、ユーザー ID の保存に PostgreSQL を使用する。スタッフとエンドユーザーの Cognito プールは分離されている。ADR-0006 (decisions/0006-separate-cognito-pools) を参照。