> ## 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 07 06

<Update label="July 6, 2026" description="正則化とセルごとの公称容量に対応した ECM フィッティング、JSON 設定パス経由の ArrayDataFit、そしてほぼ瞬時の測定データ削除">
  ## ECM フィッティング: 正則化とセルごとの容量

  Studio の ECM フィットに 2 つのオプションが追加された。**正則化**設定は
  フィットされたパラメータを平滑化し、**測定ごとの容量**は同一セルの
  複数の測定にまたがるフィットにおいて、各測定に既知の公称容量を
  設定できるようにする。容量フィッティングはオプトイン方式となり、
  フィットされた各測定は自身の容量を報告するようになった。

  ## JSON 設定パス経由の `ArrayDataFit`

  `iws.ArrayDataFit` — 独立変数の各値に対して同じモデルを独立に
  フィットする機能（例: GITT／パルスデータからの拡散率 vs. 化学量論比、
  またはパラメータ vs. 温度）— が、エンドツーエンドで
  `element_type: "array_data_fit"` として第一級の要素となった。
  ライブラリとスキーマはすでにこれをサポートしていたが、
  設定パス（本番 API が触れる唯一のサーフェス）はこれまで
  プレーンな `DataFit` に折りたたんでいた。配列フィットは
  設定、スキーマ、パーサ、エグゼキュータ、結果シリアライズを
  往復するようになり、Studio はパラメータエディタから到達可能な
  パラメータごとの散布ビューで配列値のフィット済みパラメータを
  レンダリングする。

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

      * セル測定データの削除がほぼ瞬時になった。測定ごとのストレージ
        レイアウトが決定論的になったため、削除対象のファイルセットは
        遅い再帰的なフォルダリストではなく、データベースレコードから
        導出され、単一のバッチ呼び出しで削除されるようになった。
      * 測定でステップデータが欠落しているか空である場合、UI に
        「データ欠落」の明確なエラーと再アップロードのプロンプトが
        表示されるようになった。これは一時的なストレージ障害
        （こちらは Retry ボタンが表示される）とは区別される。
        アップロード検証も空のステップセットを拒否し、
        アップロードロールバックは孤立したストレージファイルを
        クリーンアップする。
    </Accordion>

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

      * `iws.DataFit` の `initial_guess_sampler` が `LatinHypercube` または
        `Uniform` を明示的に受け付けるようになり、未知のサンプラー／
        分布／事前分布名や余分なキーは、後の実行時クラッシュではなく
        明確な検証エラーとともに投入時点で拒否されるようになった。

      **修正**

      * 数値でない `objectives` キーを持つ `ArrayDataFit` を設定すると、
        不透明な「予期しないエラーが発生しました」パスではなく、
        明確で実用的な設定エラーとして表面化するようになった —
        メッセージが表示され、内部アラートは発生しない。同じ改善された
        エラーハンドリングは、データフィット、オプティマイザ、
        サンプラー、メトリクス、変換の設定全体にわたって広く適用され、
        ユーザーが修正可能な誤りが、汎用的な失敗ではなく実用的な
        メッセージとともに表面化するようになった。
    </Accordion>

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

      * `client.ecm.fit(...)` が `regularization` オプションと、
        `FitMeasurementRequest` の測定ごとの `capacity` を受け付けるように
        なった（すべての測定に設定するか、まったく設定しないかのいずれか）。
        `FitResults.capacity_Ah` はフィットされた測定ごとに 1 つの値を
        報告する。
      * `array_data_fit` 要素を JSON 設定パス経由で送信すると、
        エンドツーエンド（スキーマ → パーサ → パイプライン → 結果）で
        往復するようになったため、API クライアントはライブラリ
        オブジェクトパスがすでに持っていたのと同じ第一級のサポートを
        受けられるようになった。

      **修正**

      * ドキュメント例が実際の API サーフェスに対して修正された:
        再送信エンドポイントは `POST /jobs/{pipeline_id}/resubmit` である
        （ドキュメント化されていた `/pipelines/{pipeline_id}/resubmit` は
        存在せず 404 になる）。`Model` リスト応答には `model_type` /
        `config` フィールドがない（`client.model.get(id)` のみがそれを
        返す）。`model.create` の config は `model_type` ではなく `type` を
        使う。simulate プロトコルの例では、名前付きステップと文字列の
        終了条件を使う。`CellMeasurementBundleResponse` はフラットである
        （`bundle.measurement.name` ではなく `bundle.name`）。
    </Accordion>

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

      * `run-simple-pipelines` が、標準の `data_fit` と並んで
        `array_data_fit` 要素タイプをドキュメント化した。
      * `manage-cells`: `cell_spec.create` と `create_or_get` の例が、
        `CreateCellSpecificationNested` に一致するようになった — `ratings`
        オブジェクト（`capacity`、`voltage_min`、`voltage_max` を
        `{value, unit}` Quantity として）と、それぞれ単数形の `material`
        辞書を持つ `NestedComponentInput` を保持するスロットごとの
        `cathode` / `anode` キー。以前のボディでは、モデル上に存在せず
        サーバー側検証で失敗するはずの `rated_capacity` /
        `voltage_range_dc` / `components: [...]` フィールドが
        使われていた。
    </Accordion>
  </AccordionGroup>
</Update>
