CR-FASTAPI-000: API Inventory (Flask → FastAPI Migration Baseline)

これは Cursor のチャットにそのまま貼る「タスク指示」です。

#project: NexusCore

CR-FASTAPI-000: API inventory (Flask → FastAPI migration baseline)

目的:
NexusCore リポジトリ内の既存 HTTP API (主に Flask ベース) を全て棚卸しし、
- public / internal / 廃止候補
- FastAPI 移行優先順位
を一覧化する。

やりたいこと:

1. リポジトリ全体から Flask ベースのルーティング定義を探索する。
   - 例: @app.route, @blueprint.route, flask.Blueprint(...).route など
   - 個別に実装されたルート関数でもかまわないので漏らさないこと。

2. 各ルートについて、以下の情報を抽出し、Markdown テーブルにまとめる:
   - HTTP method (GET/POST/PUT/DELETE/...)
   - path (例: "/api/execute", "/api/projects", "/health", など)
   - module / file path (例: "src/nexuscore/api/server.py")
   - handler function 名 (例: "execute_task")
   - 認証の有無・方式 (ざっくりでよい: "no auth", "API key", "session", など)
   - 用途分類:
     - "public" (外部公開想定: SaaS API, Webhook など)
     - "internal" (UI や内部マイクロサービスからのみ利用)
     - "deprecated" or "candidate_for_removal" (現在ほぼ使われていない/今後廃止してよい)
   - 備考:
     - Gradio/UI からのみ呼ばれている、Webhook 入口、など

3. 上記一覧を `docs/api/APIインベントリ.md` に Markdown として新規作成する:
   - 見出し構成イメージ:
     - # API Inventory (Flask baseline)
       - ## Public endpoints
       - ## Internal endpoints
       - ## Deprecated / removal candidates

4. 重要:
   - 差分は unified diff のみで提示すること。
   - 既存コードの挙動は変えないこと。今回は「棚卸しとドキュメント追加」に留める。
   - 分類に迷う場合は "internal" とし、備考に迷いの理由を書く。

出力フォーマット:
1. `docs/api/APIインベントリ.md` の unified diff
2. コンソールにも、public / internal / deprecated ごとのサマリ件数を簡単に表示
   - 例: "Public: 5, Internal: 12, Deprecated: 3"

このタスクでは FastAPI 移行は行わず、「現状の API の見える化」だけを行う。

This site uses Just the Docs, a documentation theme for Jekyll.