/g The Contract Codex ← 返回动态 Catalog

Deadlock-Minimizing Transaction Rewrite

Rewrite transaction ordering and locking to reduce deadlock risk without adverse performance or data-integrity regressions.

难度:advanced 分类:backend-data 来源:GitHub Copilot Cookbook

完整 Prompt(可直接复制)

/goal
GOAL:
Complete Deadlock-Minimizing Transaction Rewrite for a data-backed backend service: Rewrite transaction ordering and locking to reduce deadlock risk without adverse performance or data-integrity regressions.

CONTEXT:
- Before editing, read the nearest AGENTS.md/CLAUDE.md, current issue or PLAN.md, and any failing logs already in the repo.
- Inspect schema files, migrations, models, repositories, and data tests.
- Establish a baseline by running or locating evidence for: `consistent lock order, shorter transaction evidence, database tests, and before/after query or lock notes`.

CONSTRAINTS:
- Keep the scope limited to this goal; do not expand into unrelated cleanup.
- Do not weaken tests, delete assertions, or mask errors to make verification pass.
- Respect the repository's AGENTS.md/CLAUDE.md instructions and existing patterns.
- Do not destroy or rewrite data without a dry-run, rollback, and row-count/checksum evidence.
- Do not hide database errors behind warnings or silent fallbacks.

DONE WHEN:
- The implementation or documentation directly satisfies: Rewrite transaction ordering and locking to reduce deadlock risk without adverse performance or data-integrity regressions.
- The verification command or evidence path succeeds: `consistent lock order, shorter transaction evidence, database tests, and before/after query or lock notes`.
- The final diff is scoped to the relevant files and has no unrelated formatting churn.

VERIFY:
- Run `consistent lock order, shorter transaction evidence, database tests, and before/after query or lock notes` or the closest repo-local equivalent if the exact command is not available.
- Capture before/after evidence for the behavior, metric, report, or artifact involved.
- If verification cannot run locally, stop and report the missing dependency instead of guessing success.

OUTPUT:
- Summarize changed files, key decisions, verification output, and remaining risks.
- Include any follow-up that is required for production rollout or human review.

STOP RULES:
- Pause if secrets, production access, stakeholder decisions, or destructive data operations are required.
- Pause after three failed fix attempts on the same symptom and challenge the root-cause hypothesis.
- Do not mark the goal complete until the current repository state has been audited against DONE WHEN.

来源与证据

原始来源: GitHub Copilot Cookbook

证据摘要: reduce the chance of deadlock to a minimum while not adversely affecting performance; source: GitHub Copilot Cookbook; type: official-agent-task; verification: consistent lock order, shorter transaction evidence, database tests, and before/after query or lock notes