Files
document-haness/docs/clean-architecture-backend-template/final/assets/commit-evidence-phase-machine/commit-evidence-phase-machine.alt.md
T
DongHyeonkaandClaude Fable 5.1 b25357c48a docs(clean-architecture-backend-template): fold analysis into final and re-select one topic
- analysis/·source-index·state.json 을 final/document.md 제2부·제3부로 접었다. SSOT 는 하나다
- 파일럿 — commit-ambiguity-as-a-result 를 새 기준으로 재선별. 후보 14 → 글감 5
  (PROMOTE 5 · MERGE_INTO 3 · KEEP_IN_SSOT 4 · 보류 2). 기록 5건을 다시 썼고 그림 1개를
  techviz 로 만들었다
- 재선별이 잡은 것: 제1부 §6.2·§11.1 이 자기 §13.2 와 어긋나 있었다(레인을 안 돌렸다 vs
  돌렸다) — 정정. 이미 답이 나와 있던 Question 을 HEAD 재실행 질문으로 다시 세웠다.
  Concept 이 인용한 코드가 SSOT 에 없어 뺐다
- candidateScope·sourceRepository 기록. 나머지 43개 주제는 재선별 대기(PENDING 905)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 12:39:20 +09:00

31 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 커밋 요청 뒤의 결과 판정
## Alternative text
커밋 요청에서 시작해 provider commit 을 거쳐 Committed, CommittedWithPostCommitFailure, DeterminateRollback, Indeterminate 네 결과로 갈라지는 흐름도
## Long description
tracker 가 COMMIT_REQUESTED 를 관측한 뒤 provider commit 을 호출한다. 예외가 없으면 Committed 다. RuntimeException 이 오면 먼저 commitAcknowledged 를 보고, 이미 afterCommit 이 왔으면 CommittedWithPostCommitFailure 다. 그렇지 않으면 rolledBack 과 UnexpectedRollbackException 과 replay 후보 여부를 보고, 하나라도 성립하면 DeterminateRollback 이다. 어느 것도 성립하지 않으면 Indeterminate 로 남는다.
## Elements and evidence
- **COMMIT_REQUESTED** (process): No additional description. Evidence: L397L397.
- **provider commit** (service): No additional description. Evidence: L398L400.
- **commitAcknowledged** (process): No additional description. Evidence: L401L401.
- **rolledBack · replay 후보** (process): No additional description. Evidence: L404L406.
- **Committed** (result): No additional description. Evidence: L388L388, L396L400.
- **CommittedWithPostCommitFailure** (result): No additional description. Evidence: L402L402.
- **DeterminateRollback** (result): No additional description. Evidence: L407L407.
- **Indeterminate** (result): No additional description. Evidence: L391L391, L409L409.
## Relationships
- **commitAcknowledged → CommittedWithPostCommitFailure:** afterCommit 도착. Evidence: L401L402.
- **COMMIT_REQUESTED → provider commit:** commit(status). Evidence: L397L399.
- **provider commit → Committed:** 예외 없음. Evidence: L388L388, L396L400.
- **rolledBack · replay 후보 → Indeterminate:** 판정 근거 없음. Evidence: L409L409.
- **commitAcknowledged → rolledBack · replay 후보:** 미도착. Evidence: L403L404.
- **rolledBack · replay 후보 → DeterminateRollback:** 하나라도 성립. Evidence: L404L407.
- **provider commit → commitAcknowledged:** RuntimeException. Evidence: L400L401.