F6_Search / Search
source traceを失わず、権限を先に通してから結果を返す索引器官。
documentをsource付きでindexし、queryではpermission filter → rank → cursor pageの順に返す。
入力 → 状態 → 出力
- 入力validated JSON payload
- 状態engine-owned durable slice
- 承認必要な外部 / 不可逆操作だけ
- 出力result / receipt / explicit error
- 回復stale indexは隠さず状態として現れ、reindexで戻す。network I/Oは行わない。
保存状態はAction Coreのfilesystem state store内の capabilities sliceとして再起動可能なplain dataで保持される。functionや秘密値をstateへ保存しない。
全Action
以下はAction Registryに実在するF6_Searchの全actionである。クリックでpayload境界、状態、出力、回復を開ける。
capability.search.bindBind searchlocal or validated transition
- payload
provider- 状態
- unbound → configured / ready
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.search.indexIndex documentlocal or validated transition
- payload
documentIdtitlebody- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.search.querySearch querylocal or validated transition
- payload
query- 状態
- state transition defined by the capability engine
- result
- Capability engine の
okresult、または明示的な validation / provider error。plan・receipt・stateは持続sliceへ返る。 - recovery
- error codeと状態を残し、必要に応じて再計画・再承認・retryへ戻る。
capability.search.reindexReindex searchlocal 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 Spec
F6 Search — Capability Spec
Provider-independent search/index capability with document/source trace, permissions filter before results, deterministic ranking, pagination/cursor, and stale index detection. Local and Supabase FTS adapter contracts (mock only).
Index States
| State | Meaning |
|---|---|
idle | No active index operation. |
indexing | Document indexing in progress. |
ready | Index available for query. |
searching | Query in flight. |
error | Index or query failure. |
Actions
| Action | Flow |
|---|---|
bind | Configure local or Supabase FTS binding |
index_document | Index document with source trace |
query | Permission filter → rank → paginate |
reindex | Rebuild index when stale |
Boundaries
- Permissions applied before results returned
- Deterministic ranking contract (title > body > recency)
- Cursor pagination for stable pages
- Stale index state surfaced explicitly
- No live network I/O
Environment Names
| Name | Role |
|---|---|
SUPABASE_URL | Supabase project URL |
SUPABASE_PUBLISHABLE_KEY | Publishable key reference |
MIKAAIR_SEARCH_INDEX_STALE_MS | Stale threshold |
MIKAAIR_SEARCH_PAGE_SIZE | Default page size |
Provider Binding
Reference adapters: binding/adapter_contract.mjs (local + Supabase FTS mocks).
binding / secret boundary
provider設定はbinding templateから参照する。環境変数は名前だけを扱い、値はsource repository・画面・reportに書かない。
| 環境変数名 | 扱い |
|---|---|
SUPABASE_URL | configuration reference — 値は表示・保存しない |
SUPABASE_PUBLISHABLE_KEY | configuration reference — 値は表示・保存しない |
MIKAAIR_SEARCH_INDEX_STALE_MS | configuration reference — 値は表示・保存しない |
MIKAAIR_SEARCH_PAGE_SIZE | configuration reference — 値は表示・保存しない |
stale indexは隠さず状態として現れ、reindexで戻す。network I/Oは行わない。
source trace
../MikaAir LIGHTNESS/F_BUS_Capability/F6_Search/spec/capability_spec.md 3563b14c985a../MikaAir LIGHTNESS/F_BUS_Capability/F6_Search/binding/binding_manifest.template.json baa41b872cd9../MikaAir LIGHTNESS/F_BUS_Capability/F6_Search/agent.md 0327abce9e59../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/F6_Search/contract/index.mjs 5f12f92c7cf8../MikaAir LIGHTNESS/F_BUS_Capability/F6_Search/engine.mjs 07e22ca03e00