symfonic.platform.procedural_local¶
procedural_local ¶
Opt-in procedural composition for ONE explicitly configured local worker.
Backend, audit and replay state die together. This is not durable audit or multi-worker admission: independently misconfigured processes are NOT detected. Clients must send the issued epoch; restart never promises safe replay. POST requires Idempotency-Key and X-Procedural-Epoch (binding.epoch supplied out of band by composition). Success includes epoch/operation_id/audit. An omitted-ID exact-owner dedup is legitimately 200; replay preserves status.
LocalProceduralAudit ¶
Exact synchronous in-memory ACK; no user callbacks, await or reentrancy.
Records contain hashes/identifiers, never payload or idempotency keys. Capacity refusal occurs BEFORE a mutation; callers must rotate the whole local composition, not silently discard replay/audit evidence.
Source code in src/symfonic/platform/procedural_local_authority.py
terminal ¶
Completion ACK is provisional; rollback supersedes it on exit fault.
Source code in src/symfonic/platform/procedural_local_authority.py
LocalProceduralAuthority ¶
Explicit server allowlist; possession of a header/grant is not authority.
Scope grants are exact canonical kind-aware owners, never ancestor wildcards. Revocation is synchronous and invalidates all outstanding grants.
Source code in src/symfonic/platform/procedural_local_authority.py
LocalProceduralHost ¶
LocalProceduralHost(provider, *, authority, sink, workers, include_drafts=False, observe_provider_call=None)
Bases: AgentHost
Host-issued binding; no arbitrary composer/service may substitute.
workers is the composition root's explicit deployment declaration,
not global detection. Deployment MUST actually use one worker/event loop.
Inherited PID/loop and foreign resource/binding use are refused.