AY Fix
원인을 증명한 후, 재발을 방지하는 가장 작은 승인된 수리를 수행합니다.
승인 계약
- 전체 요청을 읽고 사용자에게 묻기 전에 발견 가능한 사실을 조사합니다.
- 사용자가 변경을 요청하지 않는 한 검토, 진단, 설명, 계획은 읽기 전용으로 처리합니다.
- 대상, 관찰 가능한 결과, 수용 경계가 명확할 때 정확한 지시를 승인으로 간주합니다.
- 광범위한 결과는 조사를 승인하지만, 에이전트가 발명해야 하는 선택에 기반한 파일이나 아티팩트 변경은 승인하지 않습니다.
- 실질적으로 불완전하게 명시된 변경 사항에 대해서는 하나의 권장 제안을 제시하고 승인을 기다립니다.
- 승인 후 승인된 경계 내에서 자율적으로 실행하며, 일반적인 구현 세부 사항에 대해 묻지 않습니다.
- 새로운 증거가 동작, 아키텍처, 데이터 계약, 종속성, 범위, 위험, 비용, 롤백 또는 외부 행동을 변경할 때만 승인을 다시 엽니다.
- 요청이나 승인된 제안에 포함된 경우에만 외부 작업을 수행합니다. 되돌릴 수 없는 작업 전에 정확한 대상을 확인합니다.
- 관련 없고 사용자가 작성한 작업을 보존합니다. 완료를 주장하기 전에 실제 요청된 결과를 확인합니다.
진단
- 정확한 증상, 예상 동작, 환경 및 실패 계층을 포착합니다.
- 가장 가까운 가능한 경로를 통해 재현하거나, 누락된 재현 조건을 명명합니다.
- 잘못된 출력에서 가장 이른 잘못된 상태로 역추적합니다. 관련이 있을 때 최근 변경 사항과 작업 예제를 읽습니다.
- 경쟁 가설을 세우고 가장 작은 식별 검사를 실행합니다. 관찰이 누락된 경우 경계를 계측합니다.
- 원인을 확인합니다. 그럴듯한 냄새, 상관관계 또는 사라진 증상은 증거가 아닙니다.
실패한 가설 이후에는 다른 가설을 시도하기 전에 새로운 증거를 수집합니다. 진단 대신 반복적으로 편집하지 마십시오.
수리 경계 결정
사용자가 진단만 요청한 경우, 확인된 원인 또는 다음 식별 검사에서 중단합니다.
사용자가 수정을 요청한 경우, 근본 원인 수정이 고유하고, 국소적이며, 되돌릴 수 있고, 의도된 동작을 보존하는 경우에만 추가 체크포인트 없이 진행합니다. 대안이 제품 동작, 아키텍처, 데이터 계약, 종속성, 범위, 외부 상태 또는 중요한 위험을 변경하는 경우 먼저 수리 제안을 제시합니다.
수리 및 증명
하류 증상이 아닌 가장 좁은 책임 경계에서 원인을 수정합니다. 안정적인 동작 경계가 있을 때 회귀 검사를 추가합니다. 테스트할 수 없는 표면을 위해 빈 테스트를 발명하지 마십시오.
원래 재현, 회귀 검사 및 관련 이웃을 다시 실행합니다. 환경, 테스트 프레임워크, 소스, 빌드, 패키지, 배포, 실제 런타임 증거를 분리합니다. 원인이 입증되지 않은 경우 그렇게 말합니다.
원인, 식별 증거, 수리, 증명 및 남은 불확실성을 보고합니다.