에이전트 임의 결정 및 가정 추적 (Decision & Assumption Audit). 에이전트가 사용자의 짧은 지시를 수행하는 동안 스스로 선택한 기본값, 생략한 예외 처리, 임의로 정한 경로/규격을 숨김없이 솔직하게 고백하고 목록화합니다. 단순한 반성문 서식을 넘어 증거 대조, 출처 구분, 사후합리화 차단, 후속 실행 보류(Hold)를 강제합니다. 트리거: '왜 그랬어?', '어떻게 한 거야?', '왜 그렇게 된 거야?', '이거 왜 이렇게 했어?', '임의 결정 까봐', '네가 결정한 거 나열해', '가정 뭐했어?', '결정사항 털어봐', '임의 결정 뭐 있어?', 'audit decisions', 'assumptions'.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Decision Assumption Audit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/lainholic-decision-assumption-audit-ai-skill-navigator)
---
name: decision-assumption-audit
license: MIT
description: >
에이전트 임의 결정 및 가정 추적 (Decision & Assumption Audit).
에이전트가 사용자의 짧은 지시를 수행하는 동안 스스로 선택한 기본값, 생략한 예외 처리,
임의로 정한 경로/규격을 숨김없이 솔직하게 고백하고 목록화합니다.
단순한 반성문 서식을 넘어 증거 대조, 출처 구분, 사후합리화 차단, 후속 실행 보류(Hold)를 강제합니다.
트리거: '왜 그랬어?', '어떻게 한 거야?', '왜 그렇게 된 거야?', '이거 왜 이렇게 했어?',
'임의 결정 까봐', '네가 결정한 거 나열해', '가정 뭐했어?', '결정사항 털어봐',
'임의 결정 뭐 있어?', 'audit decisions', 'assumptions'.
---
# Decision & Assumption Audit (에이전트 임의 결정 및 가정 추적)
## 1. 개요 및 목적 (Overview & Purpose)
에이전트는 사용자의 간결하고 직관적인 지시를 처리할 때 수많은 세부 결정(기본값 채우기, 경로 지정, 옵션 선택, 예외 처리 생략 등)을 암묵적으로 내립니다. 이 과정이 장기화되면 개발자는 시스템의 세부 구현을 파악하지 못하는 **인지적 굴복(Cognitive Surrender)**과 **이해 부채(Comprehension Debt)**에 빠지게 됩니다.
이 감사는 에이전트의 단순한 ‘주관적 자기보고’로 끝나지 않습니다.
**실제 사용자 지시, 적용 지침, 변경 산출물, 실행 명령, 로그, 검증 증거와 직접 대조**하여 에이전트의 재량 결정과 미확인 영역을 객관적으로 드러내고, 사용자에게 온전한 판단권과 통제권을 돌려드립니다.
---
## 2. 필수 감사 철칙 (Core Audit Rules)
1. **감사 호출 시 후속 상태 변경 즉시 보류 (Execution Hold)**:
- 사용자가 "임의 결정 까봐", "가정 뭐했어?" 등 감사를 지시하면, **해당 작업의 새로운 파일 쓰기, 코드 수정, 배포, 외부 전송 등 상태 변경을 즉시 일시정지(Hold)**하고 감사 보고에만 집중합니다.
- **보류는 감사 보고 완료만으로 자동 해제되지 않습니다.** 사용자의 명시적 재개 지시('계속해', '진행해' 등)가 정한 대상과 범위에 한해서만 후속 실행을 재개합니다.
- 이미 실행 중이거나 예약된 상태 변경이 있다면 존재와 진행 상태, 중단 가능 여부를 확인하여 보고합니다. 감사 권한만으로 임의 중지·취소·삭제·롤백하지 않습니다.
- 진행 중인 실행을 중단했는지 확인하지 못한 경우, '보류 완료' 또는 '중지 완료'로 단정 보고하지 않습니다.
- 읽기·조회 도구라도 파일 쓰기, 외부 전송, 인증 상태 변경 등의 부수효과가 있다면 기존 승인 범위를 확인하며, 감사 요청 자체를 부수효과의 승인으로 간주하지 않습니다.
- **감사 요청은 읽기·보고 요청이며, 수정·삭제·재실행·롤백의 자동 승인이 아닙니다.**
2. **결정의 출처 엄격 분리 및 권한 독립 판정**:
- 사용자의 발화에 없다는 이유만으로 모두 임의 결정으로 왜곡하거나, 반대로 자의적 결정을 지침 탓으로 돌리지 않습니다.
1. `[사용자 명시 지시]`: 사용자가 직접 지시한 내용
2. `[운영·프로젝트 지침]`: 공통절차, 프로젝트 AGENTS.md 등 문서상 규정된 의무
3. `[기존 코드·설정 승계]`: 기존 프로젝트 코드나 설정 파일에서 그대로 이어받은 값
4. `[도구·라이브러리 기본값]`: CLI 도구나 프레임워크 자체의 기본 동작
5. `[에이전트 순수 재량]`: 에이전트가 자체적으로 선택한 세부 판단
- 출처를 확인하지 못하면 **'출처 미확인'**을 증거 상태로 표시하며, 다섯 출처 중 하나로 억지 분류하지 않습니다.
- 복합 결정은 항목을 분해하거나 복수 출처와 각각의 증거를 기록합니다.
- **출처와 실행 권한은 별도로 판정합니다.** 코드 승계나 도구 기본값이라도 자동 승인의 근거가 아니며, 에이전트 재량이라는 사실만으로 모든 선택이 무조건 별도 승인 대상인 것도 아닙니다.
- 사후에 발견한 규정이나 설정을 당시 실제 판단 근거로 사용했다고 주장하지 않습니다. 당시 참고 여부는 작업 시점 기록으로 별도 확인합니다.
3. **사후 자기합리화 및 거짓 근거 창작 엄단**:
- 실수나 망각으로 빠뜨린 처리를 "속도와 효율을 위한 단순화 선택이었습니다" 식으로 포장하는 행위를 엄단합니다.
- 당시 기록으로 확인되는 근거와 감사 시점에 지어낸 사후 설명을 철저히 분리하며, 모르면 "당시 사유는 기록으로 확인되지 않습니다"라고 보고합니다.
- 코드 결과만 보고 당시 에이전트의 의도를 역추정하여 자의적으로 단정하지 않습니다.
4. **증거(Evidence) 필수 제시 및 입증 범위 엄격 구분**:
- 모든 감사 항목은 구체적인 `파일:라인`, `실행 명령`, `콘솔 로그` 등 실체적 증거를 첨부해야 합니다. 증거가 없는 항목은 '확인된 사실'이 아닌 '미확인 주장'으로 표기합니다.
- **각 증거가 입증하는 범위와 입증하지 못하는 범위를 명확히 분리합니다.** 명령 문자열, 실행 호출 기록, 프로세스 종료 코드, 산출물 상태, 정적 검사, 실제 동작 확인을 동일시하지 않습니다.
- 현재 파일 상태를 과거 작업 시점의 상태로 단정하지 않으며, 필요 시 당시 실행 로그 및 변경 이력과 대조합니다.
- 증거가 없는 중대 위험 의심은 '미확인 위험 우려'로 보고하고, 확인에 필요한 증거와 접근 제한을 명시합니다.
5. **위험 항목 개수 제한 철폐**:
- 중대한 위험, 미승인 실행, 승인이 필요한 항목은 "1~2개 핀셋 요약"으로 축소하지 않고 **발견된 전량을 빠짐없이 모두 보고**합니다. 사소한 항목을 대량 나열해 핵심 위험을 묻어버리는 행위를 엄단합니다.
6. **취소선 절대 사용 금지**:
- 보고서 및 모든 텍스트에서 취소선 서식을 일절 사용하지 않습니다.
---
## 3. 감사 분류 체계 (4대 기본 영역 + 7대 교차 점검축)
에이전트는 4대 기본 영역을 7대 교차 점검축과 대조하여 점검합니다.
7대 점검축별로 **'확인함 / 해당 없음 / 확인 불가 / 미점검'** 상태를 명시하여 점검 누락을 방지합니다.
### 4대 기본 영역 (Primary Taxonomies)
1. **경로 및 위치 (Path & Storage)**: 저장 경로, 폴더 생성, 임의 지정한 파일명
2. **기본값 및 플래그 (Defaults & Flags)**: CLI 파라미터, 모델 옵션, 타임아웃, 포맷 지정
3. **생략된 예외 처리 (Omissions & Skipped Cases)**: 에러 분기 부재, 네트워크 재시도 누락, 엣지케이스 미처리
4. **암묵적 가정 (Implicit Assumptions)**: 환경·라이브러리 버전 전제, 사용자 의도 넘겨짚기
### 7대 필수 교차 점검축 (Cross-Inspection Axes)
- **[요구사항/성공기준]**: 사용자의 요청을 자의적으로 축소/재해석했거나, 완료 조건을 임의로 정의했는가?
- **[권한/위임/외부전송]**: 외부 API, 원격 워커, 네트워크 전송을 임의로 실행했는가?
- **[데이터/보안]**: 비밀키 노출, 캐시 보존, 검증 비활성화 등이 발생했는가?
- **[환경/의존성]**: 전역 패키지 설치, 버전 충돌 위험, 미지원 플랫폼 가정이 있는가?
- **[검증/보고 (초록불의 맹점)]**: 테스트가 통과했으나 실제 동작 검증이 빠진 영역은 어디인가?
- **[운영/복구]**: 덮어쓰기·삭제 시 원본 백업이 누락되었거나 롤백이 불가한가?
- **[잔여물/비용]**: 종료되지 않은 백그라운드 프로세스, 임시파일, 유료 토큰/API 낭비가 있는가?
---
## 4. 보고 출력 규격 (Standard Audit Report Format)
사용자가 감사를 호출했을 때 에이전트는 다음 서식에 맞추어 보고합니다:
```markdown
### [Decision & Assumption Audit] 에이전트 임의 결정 및 가정 감사 보고서
#### 1. 즉시 주의 및 보류 항목 (Critical & Action Items)
*중대 위험, 미승인 실행, 사용자 즉각 판단이 필요한 사항을 개수 제한 없이 전량 보고합니다.*
- **[D-01] [영향도: 높음]** 미승인 옵션 적용 여부 / 위험 설명 / 사용자 승인 필요 사항
- *(위험 항목이 없을 경우: 확인한 대상 범위를 구체적으로 명시하며 '해당 없음' 보고)*
#### 2. 감사 대상 및 확인 범위 (Audit Scope & Evidence Base)
- **대상 작업 / 대화 구간**: 작업명 및 세션 범위
- **확인한 산출물 / 로그**: 검토한 파일 경로, 실행한 명령어 목록, 콘솔 로그
- **7대 축 점검 상태**:
- 요구사항(확인함), 권한/전송(확인함), 보안(해당없음), 환경(확인함), 검증(확인함), 운영복구(확인함), 잔여물(확인함)
- **미확인 영역 / 증거 공백**: 로그 부재나 권한 제한으로 대조하지 못한 범위 명시
#### 3. 결정·가정·생략 대조표 (Decisions & Assumptions Matrix)
| ID | 분류 | 내용 | 출처 (5단계) | 실행 상태 | 검증 입증 범위 | 확인 증거 (파일/로그) | 영향도 | 승인 필요 |
|---|---|---|---|---|---|---|---|---|
| D-01 | 경로 | `_work\...\tmp`에 저장 | 운영지침 준수 | 실행 및 산출물 확인 | 디렉터리 및 파일 실제 생성 완료 입증 | `run_command` 로그 #12 및 `Get-ChildItem` 경로 조회 | 낮음 | 불필요 |
| D-02 | 기본값 | `--depth 1` 옵션 적용 | 에이전트 재량 | 실행 호출 확인 (산출물 미확인) | 호출 인자에 `--depth 1` 포함됨만 입증 (clone 성공/산출물 상태 미입증) | git clone 명령어 로그 #15 | 중간 | 필요 (범위대조) |
| D-03 | 생략 | 검토한 함수 범위 내 예외 입력 fallback 분기 미확인 | 출처 미확인 | 정적 검사 확인 | 지정한 코드 범위 내 분기 부재만 입증 (호출자/상위 계층 미확인) | `script.py#L40-L60` 코드 검토 기록 | 높음 | 필요 |
> **증거 대조 주의사항**:
> - D-02처럼 호출 로그는 호출 사실만 입증할 뿐 종료 코드나 산출물 성공 여부를 입증하지 못함을 명시합니다.
> - D-03처럼 부재 판정은 확인한 코드 범위에 한정하며, 확인하지 않은 상위 호출 경로나 외부 처리 계층까지 부재한다고 단정하지 않습니다.
> - 당시 의도 기록이 없으면 의도적 단순화인지 단순 실수인지 자의적으로 단정하지 않고 '출처 미확인'으로 분류합니다.
#### 4. 선택 근거와 대안 (Reasoning & Alternatives by ID)
*가상 서식 안내: '당시 기록으로 확인된 근거'와 '당시 검토 대안'에는 해당 작업 시점 기록의 위치를 함께 적습니다. 기록이 없으면 '당시 기록으로 확인되지 않음'으로 명시하며, '대안 없음'과 '대안 검토 기록 없음'을 명확히 구분합니다.*
- **[D-01] 당시 기록으로 확인된 근거**: 당시 해당 규칙을 참고했는지는 당시 작업 시점 기록으로 확인되지 않음
- **감사 시점 규정 대조**: 작업폴더 격리 규칙과의 부합 여부를 사후 확인 (규칙 근거: `공통절차.md#L45`; 당시 참고 사실을 입증하는 기록은 아님)
- **당시 검토 대안**: 당시 기록으로 확인되지 않음 (대안 검토 기록 없음이며, 대안 자체가 없었다는 뜻은 아님)
- **[D-02] 당시 기록으로 확인된 근거**: 당시 다운로드 최적화 의도였는지 여부는 작업 시점 기록으로 확인되지 않음
- **당시 검토 대안**: 당시 기록으로 확인되지 않음 (대안 검토 기록 없음)
- **감사 시점 대안**: clone 성공 및 산출물 상태 확인 후, shallow clone을 유지할지 전체 히스토리를 확보할지 선택
- **[D-03] 당시 기록으로 확인된 근거**: 당시 사유는 작업 기록으로 확인되지 않음 (사후합리화 단정 금지)
- **당시 검토 대안**: 당시 기록으로 확인되지 않음 (대안 검토 기록 없음)
- **감사 시점 대안**: 호출자·상위 계층의 처리와 요구사항을 확인한 뒤, 함수 내부 fallback 추가 또는 상위 계층 처리 활용 여부 검토
#### 5. 사용자 승인 및 후속 조치 (Required Decisions)
*보류(Hold) 상태는 사용자의 명시적 지시가 있을 때까지 유지됩니다.*
- **[D-02 관련]**: clone 성공 및 산출물 상태 확인 후, shallow clone을 유지할지 전체 히스토리를 다시 받을지 선택
- **[D-03 관련]**: 상위 계층 처리를 확인한 뒤 fallback 처리 추가를 진행할지 여부 선택
```
---
## 5. 발동 조건 및 실행 제어 (Triggers & Lifecycle)
1. **명시적 호출 (즉시 후속 실행 보류 및 감사 진입)**:
- *"왜 그랬어?"* / *"어떻게 한 거야?"* / *"왜 그렇게 된 거야?"* / *"이거 왜 이렇게 했어?"*
- *"임의 결정 까봐"* / *"네가 결정한 거 나열해"* / *"가정 뭐했어?"* / *"결정사항 털어봐"*
- *"임의 결정 뭐 있어?"* / *"audit decisions"* / *"why did you do this?"*
- **행동**: 신규 쓰기/외부전송 즉시 보류(Hold) ➔ 감사 보고서 출력 ➔ 사용자의 명시적 재개 지시 대기.
2. **자발적 감사 (중대 작업 전후)**:
- **외부 배포 직전**: 배포 명령을 실행하기 **전에** 감사를 수행하고 보류 상태로 사용자 승인을 대기합니다. 사후 완료 보고로 대체하지 않습니다.
- **아키텍처 재설계, DB 마이그레이션, 보안/인증 설정 변경**: 작업 완료 보고서에 감사 결과를 필수로 첨부합니다.
- 자발적 감사에서 미승인 상태 변경이나 권한 불명확성이 발견되면 관련 후속 실행을 즉시 보류하고 보고합니다.