01 / DECIDE
Architecture decision
direct media client には browser-oriented realtime transport、server が media pipeline を所有する場合は server-side transport を使う。
server-authenticated session bootstrap により browser が long-lived platform key なしで media transport を確立する。 input、output、state、side effect を一つの観測可能な経路にしてから、browser Realtime credential を ephemeral に保つ の所有層を決めます。
02 / BUILD
3段階の実装
- 01
contract を定義
caller、data classification、success condition、timeout、cancel、ownership を先に記述します。direct media client には browser-oriented realtime transport、server が media pipeline を所有する場合は server-side transport を使う。
- 02
狭い経路を構築
request correlation、typed state、reversible failure handling を持つ一つの end-to-end path だけを実装します。server-authenticated session bootstrap により browser が long-lived platform key なしで media transport を確立する。
- 03
outcome を証明
acceptance を再実行可能な fixture、contract test、browser test にします。browser automation で long-lived key が source、network log、storage、error、telemetry に現れないことを証明する。
03 / BOUND
Production boundary
ephemeral access でも authenticated issuance、origin control、rate limit、expiry、revocation behavior が必要。
04 / PROVE
Acceptance evidence
browser automation で long-lived key が source、network log、storage、error、telemetry に現れないことを証明する。
SOURCE / HTTP
再現可能な source probe
curl -fsSI 'https://developers.openai.com/api/docs/guides/realtime-conversations' | sed -n '1,5p'