001 / 만든 이유
oah는 각자에게 맞고 AI가 발전하는 만큼 함께 바뀌는 개발 환경을 만들도록 돕습니다. 가져다 고쳐 쓸 수 있는 참고 구현이자 가이드라인입니다. 코드를 만드는 것만으로 작업이 끝나지는 않습니다. 어디까지 바꿀지 정하고, 결과를 검증하고, 다음 세션이 읽을 기록도 남겨야 합니다. oah는 이 과정들을 연결해 하나의 요청이 작업과 확인, 기록까지 이어지게 합니다.
설치·운영v0.3.0에서 사용 가능
v0.3.0의 선택 기능이다. 마지막 리스가 끝나면 oah가 각 도구의 업데이트 명령으로 Claude Code, Codex와 Claude Code 플러그인을 갱신할 수 있고, 모델 목록은 다음 호출에서 새로 읽는다. Codex 플러그인과 MCP 서버는 갱신하지 않는다. oah init에서 한 번 묻고, 끌 수 있다.
새 모델은 Claude Code와 Codex 자체가 최신일 때만 쓸 수 있고, 작업 도중에 갱신하면 실행 중인 일을 흔들 수 있다.
.oah/config.toml의 [updates]에 after_finish = true가 있을 때만 켜진다. 이 키가 없는 설정은 꺼진 것으로 본다.oah finish 뒤에 interval_hours(기본 24)마다 많아야 한 번 패스가 백그라운드로 시작한다. finish는 패스를 기다리지 않고 자기 종료 코드도 바꾸지 않는다.claude update, codex update, claude plugin marketplace update, 그다음 사용자 범위 플러그인마다 claude plugin update <plugin> --scope user --json이다. 명령은 설치된 CLI의 --help에 있을 때만 쓴다.updated와 current만 확인된 버전을 기록하고, 그 밖에는 unverified, needs-confirmation, unsupported, failed 가운데 하나다.oah update는 지금 패스를 돌리고, oah update status는 아무것도 실행하지 않고 마지막 패스를 보여 준다.기존 프로젝트의 `.oah/config.toml`에서 켠다(업그레이드 문서).
[updates]
after_finish = truecodex plugin marketplace upgrade로 갱신한 뒤 /hooks에서 훅을 다시 승인한다.npx, 셸, -y 같은 확인 플래그, 훅 승인은 건드리지 않는다.oah skills update)을 유지한다.OAH_UPDATE_DEFERRED). 한 컴퓨터에서 두 번째 패스는 OAH_UPDATE_BUSY다.