Skip to content

[codex] close issues #35/#44/#48/#49/#50/#51/#52/#53/#54#55

Merged
6uclz1 merged 3 commits intomainfrom
codex/fix-live-e2e-arrangement-import-and-clip-container
Mar 3, 2026
Merged

[codex] close issues #35/#44/#48/#49/#50/#51/#52/#53/#54#55
6uclz1 merged 3 commits intomainfrom
codex/fix-live-e2e-arrangement-import-and-clip-container

Conversation

@6uclz1
Copy link
Owner

@6uclz1 6uclz1 commented Mar 3, 2026

概要

open Issue #35, #44, #48, #49, #50, #51, #52, #53, #54 の対応をまとめて実装しました。
CLI / client / remote handler / Live backend / docs / CI を一貫して更新し、実機Ableton LiveでのE2E検証まで実施しています。

ユーザー影響(何が改善されるか)

  • Transportの再生位置をCLIから直接取得・設定・巻き戻しできるようになります(transport position get/set, transport rewind)。
  • Arrangement clipのノート編集をCLIで完結できます(add/get/clear/replace/import-browser)。
  • Arrangement clipの作成時にノート投入が可能になります(arrangement clip create --notes-json/--notes-file)。
  • Arrangement clip削除に index/range/all の3モードが追加されます。
  • Session内容をArrangementへ展開する arrangement from-session --scenes を利用できます。
  • CIで dev_checks_enforce を実行し、違反修復アクションとログ出力を含む品質ゲートを強化します。

問題の原因

  • Arrangement API実装が track.arrangement_clips を「mutable listであること」に強く依存しており、Live実機で取得されるコンテナ型差分により not_supported_by_live_api となるケースがありました。
  • arrangement clip notes import-browser は、.alc を一時トラックにロードしてソースクリップを得る前提でしたが、実機環境では .alc ロード後にクリップが現れないケースがあり、決定的ソーストラックを特定できず失敗していました。

修正内容

1. 新規/拡張コマンド実装

  • transport position get/set, transport rewind を追加(CLI/client/remote/backend)。
  • arrangement clip notes add/get/clear/replace/import-browser を追加。
  • arrangement clip create--notes-json/--notes-file を追加。
  • arrangement clip deleteindex/range/all の排他モードを実装。
  • arrangement from-session --scenes "scene:duration,..." を実装。

2. Live backendの安定化

  • arrangement_clips を iterable として扱えるように変更し、コンテナ型差分を吸収。
  • clip削除時は track.delete_clip があれば優先利用し、無い場合のみmutable配列削除へフォールバックするのではなく、明示的に対応可能APIのみ使用。
  • import-browser ではSession viewフォーカスとclip slot選択を明示。
  • .alcロードでクリップが生成されない場合に備え、Core Library / User Library上の .alc 実ファイルを解決し、XML(gzip)からMIDIノートと長さを抽出して一時ソースクリップを決定的に構築する処理を追加。

3. CI/品質強化(#35

  • python -m ableton_cli.dev_checks_enforce を追加。
  • quality harness結果を基に修復アクションを実行し、アクションログJSONを出力。
  • CIワークフローを更新し、既存report artifactを維持しつつaction log artifactを追加。

4. ドキュメント更新

  • README / man / skill docs を更新し、追加コマンド・action mapping・仕様を反映。

テスト・検証

ローカル自動テスト

  • uv run python -m ableton_cli.dev_checks
  • uv run ruff check .
  • uv run ruff format --check .
  • uv run pytest

上記すべてPASS(pytest: 456 passed)。

実機Ableton Live E2E(2026-03-03)

対象: #48/#49/#50/#51/#53/#54
結果: 全PASS

  • #49 transport position set/get/rewind: PASS
  • #53 arrangement clip create with notes: PASS
  • #48 arrangement clip notes add/get/clear/replace: PASS
  • #51 arrangement clip notes import-browser: PASS
  • #50 arrangement clip delete index/range/all: PASS
  • #54 arrangement from-session: PASS

補足

  • 互換エイリアスや後方互換のための分岐は追加していません。
  • エラー時は明示的に失敗理由を返す方針を維持しています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant