# 전환 및 복귀 절차 — 적용할 템플릿

Capordia 사례는 독립적인 배치를 처리하는 팀입니다. 목표는 식별된 작업의
수용 상태를 잃지 않고 재개하는 것입니다. 계획된 중단은 가능합니다. 허용
시간, 품질 기준 및 책임은 마이그레이션 시간창 전에 결정됩니다.

## 1. 책임 지정

| 역할 | 책임 | 보존할 증거 |
|---|---|---|
| 전환 책임자 | 중단, 권한 변경 및 재개를 승인 | 결정 및 UTC 시각 |
| 데이터 책임자 | 입력을 고정하고 복사 및 인벤토리를 점검 | 버전이 지정된 매니페스트 및 지문 |
| 처리 책임자 | 생산자를 중단하고 시도를 분류 | 배치 레지스트리 및 프로세스 로그 |
| 수용 책임자 | 출력과 합의된 기준을 비교 | 결과, 거부 및 수용 합의 |

소규모 팀은 역할을 겸할 수 있지만, 수용을 선언하는 사람과 이전 권한을
중단할 줄 아는 사람은 식별 가능해야 합니다. 제공된 CSV 템플릿은 어떠한
사람 이름도 강요하지 않습니다.

## 2. 복사 전에 기준을 확립

각 배치에 안정적인 식별자와 입력 버전을 부여합니다. 경로, 지문, 정확한
처리 및 수용 기준을 기록합니다. 시작된 시도와 수용된 결과를 구분합니다.
재개에 필요한 파라미터와 의존성을 보존하며, 소프트웨어가 요구하는 계산
상태를 포함합니다. 파일 이름 `final`만으로는 수용을 증명할 수 없습니다.

이 연습에서 여덟 개의 배치는 48개의 가상 쿠폰을 나타냅니다. 수용은
정수 기반의 결정적 결과에 의존하며, 이는 GPU 체크포인트 모델이 아닙니다.
여덟 개의 기준 출력은 중단 전에 계산됩니다.

## 3. 새 작업 유입 중단

새 배치의 수용을 닫고 마지막으로 수용된 식별자를 기록합니다. 워커를
중단하거나 예정된 재개 경계를 기다립니다. 이전 머신의 어떤 프로세스도
아직 출력을 수용할 수 없음을 확인합니다. 레지스트리를 완료, 진행 중,
재개 대상으로 분류합니다. 모호한 배치의 흔적을 보존하며 추측으로 완료
처리하지 않습니다.

이 연습에서 LOT-004에서의 중단은 3 / 1 / 4를 제공합니다. 조정 없는
재실행은 거부됩니다. 레지스트리와 그 결과는 함께 유지됩니다.

## 4. 복사, 점검, 권한 변경

대상은 고정된 데이터셋, 필요한 상태 및 호환되는 프로그램을 갖추어야
합니다. 대상에서 지문과 인벤토리를 검증합니다. 입력이 누락되었거나,
매니페스트가 변경되었거나, 결과가 더 이상 지문 및 수용 규칙과 일치하지
않으면 재개를 차단합니다.

이 연습에서 `basculer`는 먼저 소스를 종료한 후 연결이 닫힌 뒤 파일을
복사합니다. 프로그램은 점검 후에만 대상을 프로덕션에 개방합니다. 이
절차 외부에서 활성 데이터베이스의 핫 복사를 모방하지 마십시오. 실패 시
소스는 중단된 상태로 남습니다.

실제 시스템에서 로컬 파일의 종료는 격리된 이전 머신이 계속되는 것을
금지하지 않습니다. 결과를 수신하는 시스템에 의해 독점적 게시 권한이
강제되어야 하며, 이전 권한의 거부와 그 거부의 증거가 있어야 합니다.
현재 프로그램은 이 보호를 제공하지 않습니다.

## 5. 조정 및 수용

완료된 모든 결과가 존재하며 수용 가능한지 검증합니다. 수용 없는 진행 중
시도는 이전 생산자의 중단이 확인된 후 재개 대상으로 돌립니다. 수용을
다시 열기 전에 제한된 재개를 수행합니다. 예상 배치, 수용된 고유
식별자, 오류 및 재개를 집계합니다. 단순한 프로세스 종료와 구별되는
수용을 기록합니다.

프로그램에서 `preparer-reprise`는 유일한 진행 중 배치를 재개 대상
배치로 변환합니다. `executer`는 완료된 세 개의 배치를 재계산하지
않습니다. 최종 점검은 여덟 개의 수용된 출력이 기준과 동일할 것을
요구합니다. LOT-004는 두 번의 시도가 있지만 하나의 수용된 출력만
있습니다.

## 6. 관찰 가능한 신호에서 복귀 트리거

| 신호 | 이번 훈련에서 제안하는 결정 |
|---|---|
| 입력 지문이 다름 | 처리 전에 차단하고 고정된 버전을 다시 찾습니다 |
| 결과 누락 또는 변조 | 수신을 차단하고 배치와 상태를 검토합니다 |
| 두 개의 권한 가능성 | 재개를 중단하고 단일 권한을 확립합니다 |
| 프로그램이 재개할 수 없음 | 승인을 닫힌 상태로 유지하고 최근 상태를 호환 환경으로 이전합니다 |
| 윈도우 기한 초과 | 전환 전에 팀이 정한 결정과 한도를 적용합니다 |

대상이 이미 새 결과를 수락한 경우, 소스의 예전 복사본으로 돌아가면
이러한 수락이 사라집니다. 대상을 동결하고 최근 상태를 내보내어 검증한 뒤
새로운 반환 위치로 이전합니다. 재개 전에 결과를 조정합니다. 외부 효과가
있는 경우, 그 목록도 반환의 일부입니다. 이번 훈련에서는 외부 효과가
발생하지 않습니다.

```text
python exercice.py basculer --source manuel/cible --destination manuel/retour --proprietaire atelier-retour
python exercice.py preparer-reprise --dossier manuel/retour
python exercice.py executer --dossier manuel/retour
python exercice.py comparer --reference manuel/reference --candidat manuel/retour
```

이 작업 후 `manuel/source`와 `manuel/cible`은 종료됩니다. 오직
`manuel/retour`만 작업할 수 있습니다. 복사가 실패하거나 검사가
결과를 거부하면 증거를 보존하고 두 프로듀서를 잠금 해제하지 않습니다.

## 7. 마이그레이션 종료

매니페스트, 전후 레지스트리, 지문, 검사 결과, 프로그램 버전,
재개 결정 및 필요 시 반환 결정을 보존합니다. 팀이 선택한 보존 기간이
지난 후에만 이전 복사본을 삭제합니다. 이 훈련은 어떤 폴더도 삭제하지
않습니다. 리소스는 가상이며 보고서와 함께 보관할 수 있습니다.
