Skip to content

TOMATO-61: Add idempotency-key deduplication in executor flow#79

Merged
cracketus merged 1 commit intomainfrom
TOMATO-61/idempotency-keys
Feb 21, 2026
Merged

TOMATO-61: Add idempotency-key deduplication in executor flow#79
cracketus merged 1 commit intomainfrom
TOMATO-61/idempotency-keys

Conversation

@cracketus
Copy link
Copy Markdown
Owner

Summary

  • add idempotency_key to ActionV1 for execution deduplication requests
  • add deterministic idempotency cache config (IdempotencyConfig) with TTL and bounded retention
  • integrate idempotency dedup checks into HardwareExecutor before dispatch
  • skip duplicate requests with clear reason code (idempotency_duplicate) and note metadata
  • persist idempotency tracking events (idempotency_stored, idempotency_hit) in executor_log.jsonl runtime events
  • keep backward compatibility when no idempotency key is provided
  • update Stage 5 runtime docs in README/AGENTS/PLANNED_FEATURES

Testing

  • pytest -q --no-cov tests/contracts/test_action_v1.py tests/executor/test_idempotency.py tests/executor/test_hardware_executor.py tests/integration/test_24h_deterministic_run.py
  • result: 30 passed

Closes #73

@cracketus cracketus merged commit 053b209 into main Feb 21, 2026
4 checks passed
@cracketus cracketus deleted the TOMATO-61/idempotency-keys branch February 21, 2026 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TOMATO-61: Implement execution idempotency keys and duplicate-dispatch prevention

1 participant