# Tkysys 移管計画

**作成日**: 2026-03-10 JST  
**作成者**: ClaudeCode（PM 戦略相談に基づく）  
**ステータス**: 確定（PM 合意済み）

PM portal 配信用 copy です。canonical copy は `operations/tkysys_migration_plan.md` を参照してください。

---

## 1. この文書の位置づけ

この文書は、Tkysys を運営主体として TATEKAN サービス群を合同産業名義の GCP から段階移管するための戦略計画である。

- **確定事項**: PM 合意済みで、現時点の方針として固定するもの
- **前提条件**: 移管実行前に満たすべき条件
- **未決事項**: 後続判断として残すもの
- **停止条件**: gobms 側の停止判断をしてよい条件

## 2. 背景と目的

### 現状
- 全 TATEKAN サービスは合同産業名義の GCP プロジェクト（`gobms-465809`）で開発中
- すべてのサービスが**未運用**（本番ユーザーなし）
- 合同産業は現在「開発設備の提供元」だが、将来は「First Tenant（利用会社）」に変わる

### 目的
- 合同会社 Tkysys（2026年4月設立予定）を運営主体として GCP を独立させる
- TATEKAN サービスを Tkysys が提供する B2B SaaS として再定義する
- 合同産業を含む複数テナントにサービスを提供できる基盤を構築する

## 3. 役割とドメインの整理（確定）

| 項目 | 位置づけ |
|------|------|
| **Tkysys** | 開発・運用主体となる会社 |
| **tatekan.app** | App のブランド実行・運用ドメイン |
| **tkysys.com** | 開発運用会社 Tkysys の会社ドメイン |
| **gobms-465809** | 現時点の開発基盤。移管完了までは暫定利用し、その後は First Tenant / 残留資産側へ整理 |

補足:
- `tatekan.app` はサービス提供面のブランドドメインとして扱う
- `tkysys.com` は法人・運用主体の識別に使う
- `tatekan.app` をやめて `tkysys.com` に統一する前提ではない

## 4. Tkysys の基本情報

| 項目 | 内容 |
|------|------|
| 法人名 | 合同会社 Tkysys（予定） |
| 法人化予定 | 2026年4月以降 |
| ドメイン | tkysys.com（CloudFlare で運用中） |
| GCP Organization | 新規作成（Google Workspace 契約後） |
| Billing Account | 個人クレカで先行 -> 法人化後に正式化 |

## 5. 確定している移管方針

- Mitsumori、Toriteki、dMemo は Tkysys GCP へ移管対象とする
- TATEKAN Core は同時移管しない。状況次第で後続判断とする
- 合同産業は「開発設備提供元」から「First Tenant」へ役割変更する
- `tatekan.app` は引き続き App のブランド実行・運用ドメインとして維持する
- `tkysys.com` は Tkysys の会社・運用主体側ドメインとして使う
- gobms 側サービスの停止は、移管完了条件を満たしてから行う

## 6. 移管対象サービスと技術構成

| サービス | ランタイム | データストア | 移管難易度 |
|---------|-----------|------------|---------|
| **Mitsumori** | Cloud Run | Cloud SQL（PostgreSQL） | 低（新規開発） |
| **Toriteki** | Cloud Run | Cloud Datastore | 低（コード移動のみ） |
| **dMemo** | Cloud Run | BigQuery + GCS | 低〜中 |

### gobms-465809 残留 / 後続判断

| サービス | 理由 |
|---------|------|
| **TATEKAN Core** | Cloud SQL データ移行が複雑。状況次第で後続判断 |
| Glovia 系 GCS | 合同産業のデータ。Tkysys 関与なし |
| legacy_archive（BQ） | Core 残留に伴い gobms に残存 |

## 7. Tkysys GCP アーキテクチャ（確定）

```text
Tkysys GCP
  ├── Cloud Run
  │     ├── Mitsumori
  │     ├── Toriteki
  │     └── dMemo
  │
  ├── Cloud SQL（db-g1-small / 開発時）
  │     └── mitsumori_db
  │
  ├── Cloud Datastore
  │     └── Toriteki（合同産業 1テナント）
  │           ※ テナント増加時は Cloud SQL 移行を検討
  │
  ├── BigQuery
  │     └── dmemo datasets（dMemo 移管時に作成）
  │
  └── GCS
        ├── mitsumori-outputs/（PDF・テンプレート）
        ├── toriteki-static/
        └── dmemo-storage/
```

### Toriteki の Datastore 方針

- Datastore 維持条件の境界線は **「爆死しないこと」**
- 合同産業 1 テナントで、性能・運用・保守・障害対応が現実的に回る間は Datastore を維持する
- 次のいずれかが見えた時点で Cloud SQL 移行を起動する
  - テナント追加によりデータ分離や検索要件が急に重くなる
  - index / query 制約で実装が不自然になる
  - バックフィル、監査、障害調査の運用コストが跳ねる
  - 「このまま Datastore だと爆死する」と判断される

補足:
- 2 テナント目追加は警戒シグナルではあるが、単独では絶対トリガーではない
- 実際のトリガーは「爆死回避のために Cloud SQL へ寄せる必要が出たか」で判断する

## 8. サービス別の移管完了条件

| サービス | Tkysys 側で完了とみなす条件 |
|------|------|
| **Mitsumori** | Tkysys GCP 上の Cloud Run / Cloud SQL / GCS で稼働し、`tatekan.app` 側の想定ドメインで到達できる |
| **Toriteki** | Tkysys GCP 上で deploy / Datastore 接続 / 必須シークレット設定 / tenant 利用確認が揃う |
| **dMemo** | Tkysys GCP 上で Cloud Run / BigQuery / GCS の構成が揃い、必要データセット移行と基本動作確認が完了する |
| **TATEKAN Core** | 本計画の初期スコープ外。別判断で移管計画を作成した時点で別管理に切り出す |

## 9. 移管前提条件

### 3月末までに完了必要

- [ ] Google Workspace 契約（tkysys.com ドメイン）
- [ ] GCP Organization 作成（tkysys.com）
- [ ] 新 GCP プロジェクト作成
- [ ] Billing Account 設定
- [ ] 基本 IAM 設定（roles / service accounts）
- [ ] Tkysys が運営主体になること、および対象データを Tkysys 側で扱うことの合意記録を残す

### 4月中移管時に必要

- [ ] Cloud Run サービスのデプロイ先を Tkysys プロジェクトへ変更
- [ ] Cloud Datastore エクスポート -> Tkysys へインポート（Toriteki）
- [ ] BigQuery データセット移行（dMemo）
- [ ] GCS バケット移行（Toriteki + dMemo 用）
- [ ] 環境変数・シークレット設定（Tkysys 向けに更新）
- [ ] カスタムドメインの向き先変更
- [ ] gobms-465809 の対象サービス停止前に rollback 手段を確認

## 10. 移管タイムライン

| 時期 | アクション | 担当 |
|------|-----------|------|
| **〜2026年3月末** | Google Workspace 契約（tkysys.com） | PM |
| **〜2026年3月末** | GCP Organization 作成（tkysys.com ドメイン紐付け） | PM + ClaudeCode |
| **〜2026年3月末** | 新 GCP プロジェクト作成・初期 IAM 設定 | ClaudeCode |
| **2026年4月中** | Toriteki + dMemo + Mitsumori を gobms -> Tkysys へ一括移管 | ClaudeCode |
| **2026年4月〜** | 合同会社 Tkysys 法人化 + Billing Account 正式化 | PM |
| **状況次第** | TATEKAN Core 移管判断（Cloud SQL 含む） | PM + ClaudeCode |

## 11. 開発時 月額コスト試算（Tkysys GCP）

| フェーズ | 対象 | 月額概算 |
|---------|------|---------|
| Mitsumori のみ | Cloud SQL(g1-small) + Cloud Run + GCS | ~JPY 1,200〜2,300 |
| + Toriteki + dMemo 移管後 | + Datastore + BigQuery | ~JPY 1,500〜3,000 |
| TATEKAN Core 移管時 | + Cloud SQL(custom-1-3840) + Datastream | ~JPY 10,000〜15,000 追加 |

**移行期間中の二重課金**: gobms の Cloud SQL（~JPY 7,000〜10,000 / 月）が Tkysys 移管完了まで継続。Core 移管時に gobms Cloud SQL を停止することで大幅削減。

## 12. 合同産業（First Tenant）の位置づけ

| 項目 | 内容 |
|------|------|
| 役割変更 | 開発設備提供元 -> **テナント（利用会社）** |
| データ | 既存データを Tkysys へ移管（合意済み） |
| 課金 | Tkysys へサービス利用料を支払う |
| Oracle / GLOVIA | Tkysys 関与外。連携は有償（開発費 + 連携費 + 月額） |
| gobms-465809 提供 | Mitsumori 完成まで継続（合意済み） |

## 13. gobms 側の停止条件

- gobms 側サービスは「Tkysys 側が起動した」だけでは止めない
- 少なくとも次を満たしてから停止判断する
  - Tkysys 側で対象サービスの移管完了条件を満たしている
  - ドメイン切替後の到達性と基本利用確認が取れている
  - rollback 手段が明文化されている
  - 合同産業側に必要な残留資産と停止資産の切り分けができている

## 14. 未決事項（後続判断）

| # | 事項 | 判断タイミング |
|---|------|--------------|
| U1 | TATEKAN Core の移管可否 | 状況次第（Core 再開時） |
| U2 | Toriteki の Cloud SQL 移行 | Datastore が「爆死しないこと」の境界を越えそうになった時 |
| U3 | `tatekan.app` 配下の app domain 詳細設計 | 移管前 |
| U4 | GitHub リポジトリの org 移管（zipdev0423 -> tkysys org） | 法人化後 |
