MikaAir LIGHTNESSCapability Book
目次を開く

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

F10_Community / Community

F1の本人性の上に、投稿・コメント・moderationを置く共同器官。

F1 sessionを持つsubjectがdraftを作り、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. 回復ownershipとmoderator roleを検査し、contentはsoft delete/restoreで不可逆に消し切らない。
13 registered actionsF1_Auth dependenciessupabase binding reference

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

全Action

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

capability.community.bindBind communitylocal 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.community.joinJoin communitylocal or validated transition
payload
subjectId displayName
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.update_profileUpdate community profilelocal or validated transition
payload
subjectId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.draft_postDraft community postlocal or validated transition
payload
subjectId title body
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.plan_publishPlan community publishapproval boundary / external effect
payload
postId subjectId
状態
durable plan → approval_required
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.arm_publishArm community 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.community.execute_publishExecute community publishapproval boundary / external effect
payload
publishPlanId subjectId
状態
armed → visible provider/result state
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
実行前にarm状態を要求する。失敗はengineが保持し、同一keyは重複実行を防ぐ。
capability.community.add_commentAdd community commentlocal or validated transition
payload
postId subjectId body
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.list_postsList community postslocal or validated transition
payload
JSON object(validatorに個別fieldなし)
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.report_contentReport community contentlocal or validated transition
payload
subjectId targetType targetId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.moderateModerate community contentlocal or validated transition
payload
moderatorId targetType targetId action
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.soft_deleteSoft delete community contentapproval boundary / external effect
payload
subjectId targetType targetId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.community.restoreRestore community contentlocal or validated transition
payload
moderatorId targetType targetId
状態
state transition defined by the capability engine
result
Capability engine の ok result、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。
recovery
error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。

Capability Spec

F10 Community — Capability Spec

Community membership, profile, post, comment, and moderation lifecycle with Supabase Auth/DB binding contract mock. F1 Auth dependency is explicit — all mutating actions require authenticated subject from F1.

Lifecycle Areas

AreaStates
Membershipopen, pending, approved, rejected, banned
Publishdraft, planned, approval_required, published, failed
Content visibilitydraft, published, hidden, soft_deleted
Reportsopen, reviewing, resolved, dismissed

Authorization

  • F1 session required (MIKAAIR_COMMUNITY_F1_SESSION_REQUIRED default 1)
  • Ownership checks for publish/delete
  • Moderator role for moderation audit actions

Actions

ActionFlow
bindSupabase binding
joinCreate membership
update_profileProfile upsert
draft_postLocal draft
plan_publisharm_publishexecute_publishApproval-required publish
add_commentComment on published post
report_contentUser report
moderateModeration audit trail
soft_delete / restoreSoft-delete and restore
list_postsPaginated listing

F1 Dependency

{ "capability_id": "F1_Auth", "required": true }

Environment Names

NameRole
SUPABASE_URLSupabase project URL
SUPABASE_PUBLISHABLE_KEYClient-safe key
SUPABASE_SECRET_KEYServer-only key
MIKAAIR_COMMUNITY_F1_SESSION_REQUIREDRequire F1 session (1/0)

binding / secret boundary

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

環境変数名扱い
SUPABASE_URLconfiguration reference — 値は表示・保存しない
SUPABASE_PUBLISHABLE_KEYconfiguration reference — 値は表示・保存しない
SUPABASE_SECRET_KEYsecret reference — 値は表示・保存しない
MIKAAIR_COMMUNITY_F1_SESSION_REQUIREDconfiguration reference — 値は表示・保存しない

ownershipとmoderator roleを検査し、contentはsoft delete/restoreで不可逆に消し切らない。

source trace

../MikaAir LIGHTNESS/F_BUS_Capability/F10_Community/spec/capability_spec.md a4e784c89a8b
../MikaAir LIGHTNESS/F_BUS_Capability/F10_Community/binding/binding_manifest.template.json e78ae31b332f
../MikaAir LIGHTNESS/F_BUS_Capability/F10_Community/agent.md e29942d73888
../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/F10_Community/contract/index.mjs 9cfbb981a7ba
../MikaAir LIGHTNESS/F_BUS_Capability/F10_Community/engine.mjs b34f8ac38331