> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026 05 25

<Update label="May 25, 2026" description="より厳格な測定データ検証、より広範な UCP-to-cycler 変換、Wasserstein コスト関数">
  ## より強力な測定データの検証と処理

  新しい厳格モードチェック `capacity_energy_from_current_power` は、報告された
  `Discharge/Charge capacity [A.h]` および `…energy [W.h]` の各列を、`Current [A]`
  と `Power [W]` のステップごとの台形積分と比較し、行単位の不一致（デフォルト許容
  誤差 10%）を検出する。これにより、後で打ち消し合うようなステップ途中の一時的な
  誤差も見逃さない。報告された充放電列が入れ替わっている場合（ハーフセルのエクス
  ポートでよく見られる）には、`fix_swapped_charge_discharge_columns` がラベルを検出
  して修正する。電流符号規約のチェックは、各ステップの投票を行数ではなく実際に通過
  した電荷（∫|I| dt）で重み付けするようになった。これにより、ほぼゼロ電流の長い電圧
  ホールドが本来の放電パルスを上回って誤った `CURRENT_SIGN_REVERSED` を発生させる
  ことがなくなった。

  小電流のコインセルおよびハーフセルのデータがエンドツーエンドで処理できるように
  なった。レストステップ検出はトレースのピーク電流に応じてしきい値をスケールし
  （サブ mA の電流がすべてレストとして分類されることがなくなった）、自動反転リトライ
  は再計算の前に古い容量・エネルギー列を破棄し、呼び出し側が指定した `Step count`
  ラベルが符号補正後も保持される。新しい汎用 `parquet` リーダーは CSV リーダーと同じ
  エイリアスベースの列検出を使用し、`folder:` データ参照は `time_series.parquet` /
  `steps.parquet` も受け付けるようになった（両方が存在する場合は CSV より優先される）。

  ## より広範で検証付きの UCP-to-cycler 変換

  UCP-to-Arbin および UCP-to-Maccor の各コンバーターは、より多くの終了条件とステップ
  タイプ（可変 / ループ / 複合終了、温度終了、Maccor の一時停止ステップ）を扱える
  ようになり、再パースに失敗するファイルを出力する代わりに、ターゲットの cycler が
  本質的に表現できない機能に対して明確なエラーを事前に発生させるようになった。

  ## Wasserstein 距離コスト関数

  新しい Wasserstein（earth mover's distance）コスト関数がデータフィッティングの
  オプションとして追加され、モデル出力とデータを点ごとではなく分布として比較する。

  <AccordionGroup>
    <Accordion title="Studio">
      **改善**

      * プロトコルリストの読み込みが劇的に高速化した。実験テンプレートのリスト
        エンドポイントは、重い JSONB 列をデフォルトで省略するようになり（22 テンプレートで
        約 7.5 KB 対 7.7 MB）、呼び出し側は `?include=` 経由で `protocol_config`、
        `parameters_schema` などのフィールドをオプトインできる。
      * 失敗したパイプラインをパイプライン詳細ページから再送信できるようになった。同
        ページには、失敗した各要素へのディープリンクを持つエラーバナーが表示され、個々の
        要素にはインラインのエラーアラートが表示される。
      * 材料物性データセットのプロットに、単位付きの常時表示の縦型凡例が付き、プロットの
        右側に配置されるようになった。

      **修正**

      * プロジェクトデータページで測定値を ID でフィルタリングするとリストが絞り込まれる
        ようになった。以前は `id` クエリパラメータが黙って破棄され、すべての測定値が返って
        いた。
      * 材料データセットのアップロードで、CSV に名前のない先頭列があっても列インデックスが
        ずれなくなり、名前のない列を黙ってスキップする代わりに、すべての列に名前があること
        を要求するようになった（明確なエラー付き）。
      * プロジェクトメンバーシップ管理、アクティブな組織の切り替え、パラメータ化モデルの
        削除が、データベースへの直接書き込みではなくバックエンド API を経由するようになり、
        行レベルセキュリティの下で一貫した動作をするようになった。
    </Accordion>

    <Accordion title="Python API">
      **改善**

      * `client.auth_check()` と `client.whoami()` は、設定された API キーがどのユーザーと
        組織に解決されるかを検証するようになり、新しい `GET /auth/health` エンドポイントに
        支えられている。誤った組織（403）エラーのデバッグや、どのキーが有効かの確認に役立つ。
    </Accordion>

    <Accordion title="Protocol Simulator">
      **改善**

      * `SubRout` ステップを含む Maccor プロトコルが UCP YAML のラウンドトリップを生き残る
        ようになった。解決されたサブルーチンステップは名前空間化されて YAML に書き戻され、
        サブルーチン内の `goto` ターゲットはシミュレーション時に解決される。これにより、
        パース後シミュレーションのフローで発生していた `Subroutine '<name>' not found`
        エラーが修正された。
    </Accordion>

    <Accordion title="Skills">
      **改善**

      * 新しい `validate-data` スキルが、測定データの検証と列修正のワークフローをエージェ
        ントに案内する。
      * Codex プラグインマニフェストが追加され、Ionworks スキルパッケージが Claude Code と
        並んで Codex にもインストールされるようになった。
    </Accordion>
  </AccordionGroup>
</Update>
