- 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>
31 lines
2.1 KiB
Markdown
31 lines
2.1 KiB
Markdown
# 커밋 요청 뒤의 결과 판정
|
||
|
||
## 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: L397–L397.
|
||
- **provider commit** (service): No additional description. Evidence: L398–L400.
|
||
- **commitAcknowledged** (process): No additional description. Evidence: L401–L401.
|
||
- **rolledBack · replay 후보** (process): No additional description. Evidence: L404–L406.
|
||
- **Committed** (result): No additional description. Evidence: L388–L388, L396–L400.
|
||
- **CommittedWithPostCommitFailure** (result): No additional description. Evidence: L402–L402.
|
||
- **DeterminateRollback** (result): No additional description. Evidence: L407–L407.
|
||
- **Indeterminate** (result): No additional description. Evidence: L391–L391, L409–L409.
|
||
|
||
## Relationships
|
||
|
||
- **commitAcknowledged → CommittedWithPostCommitFailure:** afterCommit 도착. Evidence: L401–L402.
|
||
- **COMMIT_REQUESTED → provider commit:** commit(status). Evidence: L397–L399.
|
||
- **provider commit → Committed:** 예외 없음. Evidence: L388–L388, L396–L400.
|
||
- **rolledBack · replay 후보 → Indeterminate:** 판정 근거 없음. Evidence: L409–L409.
|
||
- **commitAcknowledged → rolledBack · replay 후보:** 미도착. Evidence: L403–L404.
|
||
- **rolledBack · replay 후보 → DeterminateRollback:** 하나라도 성립. Evidence: L404–L407.
|
||
- **provider commit → commitAcknowledged:** RuntimeException. Evidence: L400–L401.
|