karada.json
からだの記録のための、開いた・機械可読な 1 つの形。bim.house の bim.json と同じ思想 ──
言葉と計測 → 構造化 JSON → その場チェック → 誰でも読み書き。どのサービスにもロックインしません。
なぜ "1 つのファイル" なのか
姿勢推定・3D 解析そのものはコモディティ化します。残る価値は 「誰がデータを持ち、どう意味付けるか」。
Karada は解析を独占しません。本人が所有し、ロックインされず、積もり続ける共通フォーマットを取りにいきます。
同じ karada.json の上に、足の鬼先生も・手の専門家も・食事の専門家も・AI も乗れる。これが入り口(金庫)です。
スキーマ(主フィールド)
| パス | 型 | 意味 |
|---|---|---|
subject.growth_stage | enum | adult / growth(成長期は怪我リスク判定の起点) |
posture.shoulder_tilt_deg | number | 肩の傾き(負=左肩が低い) |
posture.spine | enum | neutral / lordotic_mild(反り腰)/ kyphotic |
posture.balance_lr | [L,R] | 左右の荷重 % |
foot.long_axis_deg | number | かかと↔第二趾の長軸。8–13° が平均帯 |
foot.drive | enum | big_toe(親指主導)/ little_toe(小指主導) |
foot.{right,left}.lateral_malleolus | [x,y] | 外くるぶし頂点の骨指標(設計基点) |
gait.pronation_velocity_dps | number | 回内角速度(オーバープロネーション) |
flexibility.ankle_dorsiflexion_deg | number | 足関節背屈。<5° で上の構造物に代償負担 |
flexibility.hamstring | enum | SLR 読み:tight / normal |
risk[] | array | karada_check の判定(area / level / reason / metric) |
notes[] | array | 先生・AI の所見(by / at / text) |
source | string | データ元のサービス(例 eleven.tokyo) |
condition.acwr | number | 急性:慢性 負荷比。>1.5 で怪我リスク(eleven.tokyo コンディション管理) |
condition.readiness | 0–100 | 自己申告レディネス(回復度) |
condition.sleep_hours / soreness / injury_status | mixed | 睡眠・筋張り(1–5)・故障状態(none/niggle/injured) |
condition_log[] | array | 日次コンディションの履歴(トレンド) |
provenance | object | owner=subject / lock_in=none |
karada_check(決定論ルール)
数値が入ると、その場で同じルールが走ります(先生の知見をコード化)。
足長軸 8–13° 外
親指/小指主導の偏り(ハの字 or 内向き)
回内角速度 高 / overpronation
接地でねじれ → 膝を痛めやすい
成長期 × ハム硬い
骨の伸びに筋が追いつかない時期 = 怪我リスク
背屈 < 5°
足関節が動かず、膝・股関節が代償で大きく動く
左右荷重差 > 10pt
立位の土台が傾いている
機械可読 API(MCP-ready)
# 取得(誰でも読める)
GET /api/karada/:slug → karada.json
GET /api/karada/:slug/download → ファイルとして保存
GET /api/karada → 金庫の一覧
# 立てる(言葉から)
POST /api/karada { "phrase": "小5サッカー男子、成長期、ハムが硬い" }
→ { slug, edit_token, karada }
# 所見を追記(オーナーの edit_token が必要)
POST /api/karada/:slug/note { by, text, token }
この素直な REST がそのまま MCP の土台になります。AI も先生も、同じ karada.json を読み書きできる。
v0.1 ドラフト。サンプル/想定データを含みます。Karada は非医療・診断ではありません。