You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
RetryPolicy re-executes on retry and work_queue dedups only in-flight
references — nothing cached the first result so a duplicate returned the
same response without re-running the side effect. Add a Stripe-style
IdempotencyStore (begin → new/in_progress/completed, complete, replay,
fingerprint-conflict detection, injectable-clock TTL, JSON persistence)
and request_fingerprint. Wired through facade, executor (AC_idempotency_
begin / AC_idempotency_complete, named-instance registry), MCP, and the
Script Builder with a headless test batch and EN/Zh docs.
Copy file name to clipboardExpand all lines: README.md
+7Lines changed: 7 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@
13
13
14
14
## Table of Contents
15
15
16
+
-[What's new (2026-06-22) — Idempotency-Key Store](#whats-new-2026-06-22--idempotency-key-store)
16
17
-[What's new (2026-06-22) — Moving-Average Smoothing](#whats-new-2026-06-22--moving-average-smoothing)
17
18
-[What's new (2026-06-22) — Single-Series Anomaly Detection](#whats-new-2026-06-22--single-series-anomaly-detection)
18
19
-[What's new (2026-06-22) — Near-Duplicate Text Detection (SimHash / MinHash)](#whats-new-2026-06-22--near-duplicate-text-detection-simhash--minhash)
@@ -155,6 +156,12 @@
155
156
156
157
---
157
158
159
+
## What's new (2026-06-22) — Idempotency-Key Store
160
+
161
+
Run a side effect once, replay its response on retries. Full reference: [`docs/source/Eng/doc/new_features/v103_features_doc.rst`](docs/source/Eng/doc/new_features/v103_features_doc.rst).
162
+
163
+
-**`IdempotencyStore` / `request_fingerprint` / `IdempotencyConflict`** (`AC_idempotency_begin`, `AC_idempotency_complete`): `RetryPolicy` re-executes and `work_queue` dedups only in-flight refs — nothing cached the first result. This Stripe-style store returns `new`/`in_progress`/`completed` for a key, replays the stored response, raises on a fingerprint conflict, and supports injectable-clock TTL + JSON persistence. Pure-stdlib, deterministic.
164
+
158
165
## What's new (2026-06-22) — Moving-Average Smoothing
159
166
160
167
Smooth a noisy value series. Full reference: [`docs/source/Eng/doc/new_features/v102_features_doc.rst`](docs/source/Eng/doc/new_features/v102_features_doc.rst).
0 commit comments