> ## 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 11

<Update label="May 11, 2026" description="カスタム PyBaMM モデルと Li-S 対応、ECM 容量の共最適化、Python SDK のデフォルトプロジェクト、構造化された検証イシュー">
  ## リチウム硫黄化学を持つカスタム PyBaMM モデル

  `/models/upload-custom` エンドポイントが `chemistry` フィールドを受け付ける
  ようになり（デフォルトは `lithium_ion`）、Li-S モデルは実行時に化学を考慮した
  初期状態のシムと、より高精度な数値許容誤差を得る。`manage-projects` SDK スキルは
  アップロードワークフロー全体を文書化している。

  ## ECM フィット: 容量の共最適化とセグメントごとの初期 SoC

  プロジェクトスコープの ECM フィットに対する、相互に関連するいくつかの改善。
  `ocv_soc_curve`（およびオプションの `bounds_capacity`）を与えると、`Q` を単一の
  シードに固定する代わりに、セル容量 `Q` を他のパラメータと共に最適化できる。
  25 °C のレートテストトレースでは、フィットされた容量がすべての設定にわたって
  クーロンカウンティングの真値の 0.9 % 以内に収まるようになった。`initial_soc` が
  リスト（測定値ごとに 1 エントリ）を受け付けるようになり、複数測定のフィットが
  ギャップをまたいでクーロンを積分する代わりに、各セグメント境界で SoC をリセット
  する。省略した場合、新しい自動シードルーチンが各セグメントの `soc0` を精緻化
  する。`num_knots`、`num_knots_r0`、`knot_schedule`、`clamp_max_ratio` が
  `/fit-from-measurements` と `/fit-from-file` の第一級パラメータになった。境界の
  デフォルトも緩められ、レートテストの順方向シミュレーションでの計算失敗を防ぐ。

  ## Python SDK のデフォルトプロジェクト

  `Ionworks` クライアントが、構築時に `project_id=` 引数または新しい
  `IONWORKS_PROJECT_ID` 環境変数からデフォルトの `project_id` を解決するように
  なり、呼び出し側が毎回 `project_id` を引き回す必要がなくなった。従来の
  `PROJECT_ID` 環境変数も引き続き動作するが、`DeprecationWarning` を発する。
  すべての `client.study.*` メソッドは（リソース ID の後に）オプションのキーワード
  として `project_id` を取り、デフォルトはクライアントの値となる。パイプラインと
  最適化はこれをペイロードに自動注入する。

  ## 構造化された測定検証イシュー

  `MeasurementValidationError.errors` が `list[ValidationIssue]` になった。これは
  安定した `IssueCode`（StrEnum）、`severity`、人間が読める `message`、JSON
  ネイティブの `payload` を持つ凍結データクラスである。下流のコードは、メッセージ
  文字列を grep する代わりに `e.has_code(IssueCode.CURRENT_SIGN_REVERSED)` で
  チェックの同一性によって分岐できる。`ionworksdata` の自動修正パスは新しいコードを
  キーにするようになった。`IssueCode` と `ValidationIssue` はトップレベルの
  `ionworks` パッケージから再エクスポートされる。

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

      * シミュレーションボードの CRUD がより堅牢なバックエンド API に移行され、
        一部の環境で発生していた Visualization タブの空白表示が修正された。
      * 最適化の Performance Detail および Performance Summary タブが、埋もれていた
        検証イシューをタブの上のトップレベルのアラートとして表面化するようになった。
        まれに発生する「空だが有効」なケースには、タブ内に情報「データなし」アラート
        を表示する。
      * Visualization タブの防御的 UX: ボードが利用できない場合でも Data/Visualization
        トグルは表示され続け、ユーザーを空白ページに閉じ込める代わりに Data への
        切り替えを促す警告アラートを表示する。

      **修正**

      * 単一シミュレーション結果ページが、新規ナビゲーションでデータ読み込み前に
        「Simulation not found」を一瞬表示しなくなった。
    </Accordion>

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

      * `ionworks-schema` が、パイプラインに既にあった `Constraint`、`Penalty`、
        `CMAESOptions`、`PSOOptions`、`DEOptions`、`LatinHypercube`、`Uniform` の
        スキーマクラスを獲得し、加えて目的関数、データフィット、パラメータ推定器、
        正則化器、分布サンプラーにわたる約 40 個のクラスにドキュメントの充実が
        施された。新しいドキュメントの骨格がサブモジュールごとにリファレンスページ
        を自動生成し、各スキーマクラスを対応するパイプラインのドキュメントページに
        クロスリンクする。

      **修正**

      * 不正なパラメータの組み合わせで発生していたクラッシュが、データフィット全体を
        クラッシュさせる代わりに、既存のフィット失敗ペナルティパスにルーティングされる
        ようになった。クラウドフィットは生き続け、問題のあるサンプルには巨大なコストが
        付くだけになる。
    </Accordion>

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

      * 新しい `client.urls.measurement(measurement_id, project_id)` ヘルパーが、
        測定値のウェブアプリディープリンクを返すようになり、呼び出し側が
        URL を手作りする必要がなくなった。
    </Accordion>

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

      * `manage-projects` が `/models/upload-custom` のマルチパートワークフローと、
        Model / ParameterizedModel の区別を文書化するようになった。
      * `upload-data` およびその他の検証対応スキルを、エラー文字列の部分一致の
        代わりに新しい `IssueCode` / `ValidationIssue` API と `e.has_code(...)`
        パターンを参照するよう更新した。
    </Accordion>
  </AccordionGroup>
</Update>
