F9_Observation / Observation
同意より前に採らず、摩擦を最小化して観測・export・deleteを扱う器官。
policyを表示しconsentを得た後だけredacted eventをqueueへ積み、exportは承認後にreceiptを得る。
入力 → 状態 → 出力
- 入力validated JSON payload
- 状態engine-owned durable slice
- 承認必要な外部 / 不可逆操作だけ
- 出力result / receipt / explicit error
- 回復DNT/GPCとfingerprinting拒否を即時に返す。pause/resumeとdelete連鎖で人が戻せる。
保存状態はAction Coreのfilesystem state store内の capabilities sliceとして再起動可能なplain dataで保持される。functionや秘密値をstateへ保存しない。
全Action
以下はAction Registryに実在するF9_Observationの全actionである。クリックでpayload境界、状態、出力、回復を開ける。
capability.observation.bindBind observationlocal or validated transition
- payload
provider- 状態
- unbound → configured / ready
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.configure_policyConfigure observation policylocal or validated transition
- payload
purposedataCategories- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.grant_consentGrant observation consentlocal or validated transition
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.revoke_consentRevoke observation consentlocal or validated transition
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.captureCapture observation eventlocal or validated transition
- payload
eventType- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.pausePause observationlocal or validated transition
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.resumeResume observationlocal or validated transition
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.plan_exportPlan observation exportreversible preparation
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- durable plan → approval_required
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.arm_exportArm observation exportreversible preparation
- payload
exportPlanId- 状態
- approval_required → armed
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.execute_exportExecute observation exportapproval boundary / external effect
- payload
exportPlanId- 状態
- armed → visible provider/result state
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- 実行前にarm状態を要求する。失敗はengineが保持し、同一keyは重複実行を防ぐ。
capability.observation.plan_deletePlan observation deleteapproval boundary / external effect
- payload
- JSON object(validatorに個別fieldなし)
- 状態
- durable plan → approval_required
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.arm_deleteArm observation deleteapproval boundary / external effect
- payload
deletePlanId- 状態
- approval_required → armed
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.observation.execute_deleteExecute observation deleteapproval boundary / external effect
- payload
deletePlanId- 状態
- armed → visible provider/result state
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- 実行前にarm状態を要求する。失敗はengineが保持し、同一keyは重複実行を防ぐ。
Capability Spec
F9 Observation — Capability Spec
Consent-first observation and friction capture. No tracking before explicit consent. Purpose, data categories, and retention are always visible. Local event queue with minimization, redaction, export, and delete. DNT/GPC contract honored. Server receipt mock only — no fingerprinting, no live telemetry.
States
| State | Meaning |
|---|---|
disabled | Capability not collecting. |
consent_required | Policy visible; awaiting consent. |
active | Consent granted; capture allowed. |
paused | Consent retained; capture suspended. |
exporting | Export plan in progress. |
deleting | Delete plan in progress. |
error | Recoverable error; reset path available. |
Consent Contract
configure_policymust run beforegrant_consentcapture_eventblocked untilactivewith granted consent- DNT/GPC evaluated per
MIKAAIR_OBSERVATION_RESPECT_DNT/MIKAAIR_OBSERVATION_RESPECT_GPC - Fingerprinting keys (
canvas_hash,webgl_hash, etc.) rejected
Actions
| Action | Flow |
|---|---|
bind | Configure receipt endpoint env names |
configure_policy | Set purpose, data categories, retention |
grant_consent / revoke_consent | Consent lifecycle |
capture_event | Queue minimized, redacted event |
pause / resume | Suspend/resume capture |
plan_export → arm_export → execute_export | Approval-required export with server receipt mock |
plan_delete → arm_delete → execute_delete | Approval-required local + server delete |
Environment Names
| Name | Role |
|---|---|
MIKAAIR_OBSERVATION_RECEIPT_URL | Server receipt endpoint (name only) |
MIKAAIR_OBSERVATION_RETENTION_DAYS | Default retention days |
MIKAAIR_OBSERVATION_RESPECT_DNT | Honor Do-Not-Track (1/0) |
MIKAAIR_OBSERVATION_RESPECT_GPC | Honor Global Privacy Control (1/0) |
binding / secret boundary
provider設定はbinding templateから参照する。環境変数は名前だけを扱い、値はsource repository・画面・reportに書かない。
| 環境変数名 | 扱い |
|---|---|
MIKAAIR_OBSERVATION_RECEIPT_URL | configuration reference — 値は表示・保存しない |
MIKAAIR_OBSERVATION_RETENTION_DAYS | configuration reference — 値は表示・保存しない |
MIKAAIR_OBSERVATION_RESPECT_DNT | configuration reference — 値は表示・保存しない |
MIKAAIR_OBSERVATION_RESPECT_GPC | configuration reference — 値は表示・保存しない |
DNT/GPCとfingerprinting拒否を即時に返す。pause/resumeとdelete連鎖で人が戻せる。
source trace
../MikaAir LIGHTNESS/F_BUS_Capability/F9_Observation/spec/capability_spec.md 1a6ca9187c42../MikaAir LIGHTNESS/F_BUS_Capability/F9_Observation/binding/binding_manifest.template.json 9630f4c6bfa1../MikaAir LIGHTNESS/F_BUS_Capability/F9_Observation/agent.md ff6a4ee2eddf../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/F9_Observation/contract/index.mjs 8b6dbf48715b../MikaAir LIGHTNESS/F_BUS_Capability/F9_Observation/engine.mjs bdc730a63cc8