Fence and reconcile workflow runtime effects

This commit is contained in:
2026-08-03 06:37:45 +02:00
parent a1cea1d162
commit fed8fbe6c3
10 changed files with 1669 additions and 29 deletions
@@ -391,6 +391,30 @@ manifest = ModuleManifest(
related_modules=("audit", "policy", "views"),
order=77,
),
DocumentationTopic(
id="workflow.runtime-recovery",
title="Workflow runtime recovery",
summary=(
"Fenced module actions, timers, and evidence-based recovery "
"for unknown provider outcomes."
),
body=(
"Workflow Engine records a Core recovery operation before every "
"consequential module-action dispatch and commits a conclusive "
"provider result with the local Workflow projection. A timeout or "
"lost acknowledgement after non-atomic dispatch becomes an unknown "
"outcome and disables Retry. Operators inspect the provider, record "
"evidence, and choose Effect confirmed to continue without replay or "
"Effect absent to enable a deliberate retry. Instance workers, "
"trigger deliveries, and timers use distributed fences. Linked "
"Dataflow recovery remains blocked until its result is conclusive."
),
layer="available",
documentation_types=("admin", "user"),
audience=("operator", "module_admin", "power_user"),
related_modules=("core", "dataflow", "audit"),
order=78,
),
),
architecture=declared_module_architecture(
layer="human_work_procedure",
@@ -415,7 +439,7 @@ manifest = ModuleManifest(
"notification",
"dataflow run",
),
recovery_docs=("docs/CONCEPT.md",),
recovery_docs=("docs/CONCEPT.md", "docs/DURABLE_RUNTIME_RECOVERY.md"),
security_docs=("docs/CONCEPT.md",),
operations_docs=("README.md",),
),