diff --git a/docs/federation-implementation-notes.md b/docs/federation-implementation-notes.md index e4a2460..0bc8644 100644 --- a/docs/federation-implementation-notes.md +++ b/docs/federation-implementation-notes.md @@ -174,7 +174,7 @@ amduat_asl_store_error_t amduat_fed_resolve( Notes: - Transport fetch is not part of resolve; it only consumes ingested records. - The daemon can choose to fetch missing bytes when resolve reports a remote - location but local bytes are absent. + reference but local bytes are absent. - If per-record filtering is enabled, it is applied during ingest or view build and any denials are recorded in view metadata (e.g., a table of amduat_fed_policy_deny_t). @@ -200,6 +200,14 @@ Federation view storage MAY be: If remote bytes are fetched, they MUST be written to a cache store that is logically separate from the authoritative local store (policy-controlled). +## Federation API overview + +Core federation primitives are exposed via: +- include/amduat/fed/registry.h +- include/amduat/fed/ingest.h +- include/amduat/fed/replay.h +- include/amduat/fed/view.h + ## Policy gating - Admission gating is per-domain. @@ -220,6 +228,12 @@ Notes: the denial in view metadata. Resolve MAY return POLICY_DENIED only when such a denial is recorded for the queried key; otherwise it MUST return NOT_FOUND. +## Remote fetch guidance + +Core resolve returns only artifact references. The middle layer is responsible +for fetching remote bytes by reference over its transport and caching them +separately from the authoritative local store. + ## Tests (minimal) 1) Replay ordering determinism across two domains with interleaved logseq.