Skip to main content

add-database-transaction-boundaries

Add database transaction boundaries that protect stated invariants across reads, writes, concurrency, errors, and retries. Use when several database changes must commit or fail as one logical operation.

来源信息

仓库
protosphinx/sphinxstack
最近来源活动
2026年7月29日 13:55
检测到的 SKILL.md 语言
英语
星标
3
Forks
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
2 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
add-database-transaction-boundaries
category
code
description
Add database transaction boundaries that protect stated invariants across reads, writes, concurrency, errors, and retries. Use when several database changes must commit or fail as one logical operation.
# add-database-transaction-boundaries Define the invariant and isolation need before opening a transaction. ## When to use - Use for related writes, read-modify-write logic, allocation, balances, ownership, or state transitions. - Do not hold transactions across user input, slow networks, or irreversible external effects. ## Procedure 1. State the business invariant, records, competing transactions, and observable failure. 2. Choose the smallest boundary and required isolation based on actual anomalies. 3. Acquire rows or constraints in a consistent order and rely on database-enforced uniqueness where possible. 4. Keep external effects outside the transaction through outbox, intent, or compensation design. 5. Propagate one transaction context and prevent helpers from committing independently. 6. Classify retryable deadlocks or serialization failures and make the operation idempotent. 7. Roll back on every error and preserve useful diagnostics without sensitive values. 8. Test concurrent interleavings, failures, retries, and final invariants. ## Done - A transaction design document records invariant, boundary, isolation, lock order, external-effect strategy, and retry rules - Concurrent and fault tests verify atomic commit, rollback, deadlock handling, and preserved invariants
在 GitHub 查看