MikaAir LIGHTNESSCapability Book
目次を開く

F BUS / 実装状態は正本registryから生成

F8_Media_Pipeline / Media Pipeline

source hashを凍結し、派生物とCDN公開の境界を追跡する器官。

mediaをingestしてimmutable hashを記録し、transform/optimize後にOGまたはvideo deliveryをpublish planへ進める。

入力 → 状態 → 出力

線形テキスト代替: Action Registryが検証したpayloadをengineへ渡す。engineはこの器官のdurable state sliceを更新し、resultまたはerrorをAction Coreへ返す。光は実行中、琥珀の境界はarmed状態、外縁はこの器官の作用半径を表す。
  1. 入力validated JSON payload
  2. 状態engine-owned durable slice
  3. 承認必要な外部 / 不可逆操作だけ
  4. 出力result / receipt / explicit error
  5. 回復jobはretry/cancelでき、CDN publishは別承認である。source hashはingest後に変えない。
9 registered actionsnone dependencieslocal / cf binding reference

保存状態はAction Coreのfilesystem state store内の capabilities sliceとして再起動可能なplain dataで保持される。functionや秘密値をstateへ保存しない。

全Action

以下はAction Registryに実在するF8_Media_Pipelineの全actionである。クリックでpayload境界、状態、出力、回復を開ける。

capability.media.bindBind media pipelinelocal or validated transition
payload
provider
状態
unbound → configured / ready
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.ingestIngest medialocal or validated transition
payload
content mimeType
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.transformTransform medialocal or validated transition
payload
jobId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.optimizeOptimize medialocal or validated transition
payload
jobId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.plan_publishPlan media publishapproval boundary / external effect
payload
jobId
状態
durable plan → approval_required
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.arm_publishArm media publishapproval boundary / external effect
payload
publishPlanId
状態
approval_required → armed
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.execute_publishExecute media publishapproval boundary / external effect
payload
publishPlanId
状態
armed → visible provider/result state
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
実行前にarm状態を要求する。失敗はengineが保持し、同一keyは重複実行を防ぐ。
capability.media.cancel_jobCancel media joblocal or validated transition
payload
jobId
状態
active work → cancelled
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.media.retry_jobRetry media joblocal or validated transition
payload
jobId
状態
failed → retry / dead letter when bounded
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。

Capability Spec

F8 Media Pipeline — Capability Spec

Media ingest/transform/optimize/OG/video delivery with immutable source hash, derivative manifest, job progress/retry/cancel, codecs/dimensions validation, alt/caption/meta, and CDN publication separate approval. Cloudflare Images/Stream/R2-compatible contracts and local mock. No live upload/publish.

Media Job States

StateMeaning
queuedJob created.
ingestingSource ingest in progress.
transformingDerivative transform in progress.
optimizingOptimization pass in progress.
readyDerivatives ready; publish not yet approved.
publishingCDN publish in flight.
publishedCDN publication complete.
failedJob failure preserved for retry.
cancelledJob cancelled.

Delivery States

StateMeaning
pendingNo delivery artifacts yet.
og_readyOG image derivative ready.
video_readyVideo stream derivative ready.
cdn_approval_requiredAwaiting CDN publish approval.
publishedCDN publication complete.

Actions

ActionFlow
bindConfigure local or Cloudflare binding
ingestRecord immutable source hash
transformCreate derivative with codec/dimensions
optimizeOptimize via Cloudflare Images mock
plan_publishCDN publish plan with preview
arm_publishExplicit CDN approval
execute_publishArmed → R2/CDN mock publish
cancel_jobCancel in-flight job

Boundaries

  • Source hash immutable after ingest
  • Derivative manifest tracks all variants
  • CDN publication requires separate approval
  • No live upload or publish
  • Job progress/retry/cancel supported

Environment Names

NameRole
CF_ACCOUNT_IDAccount reference
CF_IMAGES_HASHImages hash
CF_STREAM_AUTH_REFStream auth reference
R2_MEDIA_BUCKETR2 media bucket
MIKAAIR_MEDIA_MAX_WIDTHMax width
MIKAAIR_MEDIA_MAX_HEIGHTMax height
MIKAAIR_MEDIA_ALLOWED_CODECSComma-separated codecs

Provider Binding

Reference adapters: binding/adapter_contract.mjs (local + Cloudflare + R2 mocks).

binding / secret boundary

provider設定はbinding templateから参照する。環境変数は名前だけを扱い、値はsource repository・画面・reportに書かない。

環境変数名扱い
CF_ACCOUNT_IDconfiguration reference — 値は表示・保存しない
CF_IMAGES_HASHconfiguration reference — 値は表示・保存しない
CF_STREAM_AUTH_REFsecret reference — 値は表示・保存しない
R2_MEDIA_BUCKETconfiguration reference — 値は表示・保存しない
MIKAAIR_MEDIA_MAX_WIDTHconfiguration reference — 値は表示・保存しない
MIKAAIR_MEDIA_MAX_HEIGHTconfiguration reference — 値は表示・保存しない
MIKAAIR_MEDIA_ALLOWED_CODECSconfiguration reference — 値は表示・保存しない

jobはretry/cancelでき、CDN publishは別承認である。source hashはingest後に変えない。

source trace

../MikaAir LIGHTNESS/F_BUS_Capability/F8_Media_Pipeline/spec/capability_spec.md 4c6c6c64b14b
../MikaAir LIGHTNESS/F_BUS_Capability/F8_Media_Pipeline/binding/binding_manifest.template.json 331c7a18bfbf
../MikaAir LIGHTNESS/F_BUS_Capability/F8_Media_Pipeline/agent.md 5f1fd3f3f1cd
../MikaAir LIGHTNESS/F_BUS_Capability/runtime_bridge.mjs 7e7384638a41
../MikaAir LIGHTNESS/F_BUS_Capability/action_surface.mjs e5bae5f48648
../MikaAir LIGHTNESS/A_BUS_Action_Core/A2_State_Store/filesystem_store.mjs b1cc32d3f456
../MikaAir LIGHTNESS/F_BUS_Capability/F8_Media_Pipeline/contract/index.mjs 9d38c8e61926
../MikaAir LIGHTNESS/F_BUS_Capability/F8_Media_Pipeline/engine.mjs 79dfd73d680e