# OSCODE 자체 판단 엔진

판단과 생성을 분리하는 설계에서 아이디어를 얻어 OSCODE 코드로 구현한 로컬 기능입니다. 외부 판단 API를 호출하지 않습니다. 자체 학습한 AI 모델이 아니라, 명시적인 규칙으로 판단하는 첫 번째 구현입니다.

**지원 버전:** npm 0.14.0부터 자체 로컬 엔진을 제공합니다. 이전 외부 판단 연결 코드는 제거했습니다. `npx @choijinwon/oscode@0.14.0 --agent frontend`로 실행하세요.

## 사용법

```text
/decide 버튼 디자인 만들어줘
/decide
/usage
```

디자인·오류 진단·테스트·아키텍처·일반 작업 중 하나를 반환하며, 일치한 규칙 ID를 근거로 표시합니다. 판단 결과는 도구 정의의 우선순위에 반영됩니다. `/decide` 미리보기는 파일 변경이나 명령 실행을 하지 않습니다.

## 모드

```sh
OSCODE_DECISION_MODE=local node bin/oscode.js --agent frontend
OSCODE_DECISION_MODE=shadow node bin/oscode.js --agent frontend
OSCODE_DECISION_MODE=off node bin/oscode.js --agent frontend
```

- `local`: 기본. OSCODE 내부 규칙으로 판단하고 도구 순서에 적용합니다.
- `shadow`: 판단 후보와 근거만 기록하고 기존 도구 선택을 유지합니다.
- `off`: 판단을 도구 선택에 적용하지 않습니다.

이전 외부 판단 모드 설정은 새 코드에서 로컬 모드로 전환합니다. 외부 공급자 키와 신뢰도 환경변수는 읽지 않습니다.

## 처리 방식

외부 통신·추가 모델 호출·판단용 API 키가 없습니다. 4,000자가 넘거나 여러 분류가 섞인 요청은 일반 경로로 처리합니다. 일치한 규칙은 근거이며 확률이 아니므로 `confidence`와 `probabilities`는 `null`입니다. `engine`은 `oscode-rules-v1`, `network`는 `false`, `modelRequests`는 `0`입니다.

코드 생성과 복잡한 추론에는 기존에 연결한 생성 모델을 계속 사용합니다. 그 모델로 전달되는 코드·대화와 로컬 판단을 구분해야 합니다. 승인·PLAN·작업 폴더 제한은 유지됩니다. 이 규칙 엔진은 학습 모델 수준의 이해력이나 작업 전체의 토큰 절감률을 보장하지 않습니다.
