fix(n8n): make replacement replay idempotent

This commit is contained in:
Codex
2026-07-21 15:06:59 +03:00
parent bc23c550db
commit 358b259aac
10 changed files with 117 additions and 35 deletions
+5 -1
View File
@@ -98,7 +98,11 @@ Each incoming item must be either a canonical fact or `{ "fact": <fact> }`:
The node emits `nodedc.data-product.publish/v1`, enforces the 5000-fact and
64-KiB-per-attributes limits, rejects secret-like material in attributes, and
derives stable run/idempotency identifiers from workflow execution context.
derives upsert run/idempotency identifiers from workflow execution context.
Complete-snapshot replacement instead derives one canonical identity from the
product, generation timestamp, sequence and normalized fact set. Replaying the
same immutable generation therefore reaches the Data Plane as the same request,
while changed content under an already-used generation remains a conflict.
## Build and verification