Alpha Ticket은 사용자가 명시적으로 알파티켓 작업을 시작했을 때만 작동합니다. 구현 순서와 도구 선택은 Codex에 맡기고, 긴 작업에서도 사용자가 다시 판단할 수 있도록 범위·계약·현재 상태·검증 근거·승인 지점을 보존합니다.
일반 코딩 요청을 모두 통제하는 하네스가 아닙니다. 제품 의미와 되돌리기 어려운 결정은 사용자에게 남기고, 구현 방법은 모델이 선택합니다.
v3.2.3은 5열 Architecture 이관 중 검사가 조용히 사라지지 않도록 verified_by·check=none 모순, 잘못된 uses 연결, 빈 WORK public-point check를 기계적으로 막습니다.
왜 필요한가요?
긴 개발 작업에서는 코드 작성보다 “지금 무엇을 하고 있었는가”를 되찾는 일이 더 어려워질 수 있습니다.
- 과거 기록과 저장소 전체를 매번 다시 읽으면 현재 목표가 흐려집니다.
- 절차를 너무 세세하게 고정하면 모델이 더 좋은 구현 경로를 선택하기 어렵습니다.
- 작은 작업까지 문서와 승인 절차가 커지면 실제 제품 작업이 느려집니다.
- 티켓 문서의 과거 구조와 현재 코드의 실제 소유 구조가 쉽게 섞입니다.
Alpha Ticket은 이 문제를 두 영역으로 좁힙니다.
| 초점 | 하는 일 |
|---|---|
| 컨텍스트 관리 | 현재 티켓과 직접 연결된 문서·코드·검사만 찾아 읽습니다. |
| 사용자 레이어 | 사용자가 결정해야 할 제품 의미, 큰 위험, 승인 경계를 보존합니다. |
한눈에 보기
| 항목 | 동작 |
|---|---|
| 시작 조건 | 알파티켓, 자동알파티켓 또는 Alpha ID와 단계 문구 |
| 일반 요청 | 자동으로 개입하지 않음 |
| 실행 모드 | Fast · Core · Strict |
| 주요 정지점 | 작업 분할 · 설계 · 커밋 승인 |
| 원격 작업 | 커밋 승인 뒤에만 commit · push · PR · review 진행 |
| 검사기 | Python 표준 라이브러리만 사용하는 읽기 전용 alpha_lint.py |
작동 흐름
flowchart LR
A["알파티켓 시작"] --> B["필요한 컨텍스트 조립"]
B --> C{"작업 분할이 필요한가?"}
C -- "예" --> D["분할 승인"]
C -- "아니오" --> E["설계"]
D --> E
E --> F{"시작 방식"}
F -- "일반" --> G["설계 승인"]
F -- "자동" --> H["구현 · 검증"]
G --> H
H --> I["커밋 승인"]
I --> J["Commit · Push · Review"]
J --> K["Close"]
자동알파티켓은 구현까지 자동으로 진행하지만, 커밋은 자동 승인하지 않습니다.
설치
Codex에서 다음 요청을 실행합니다.
Use $skill-installer to install the skill from:
https://github.com/Qkoa/alpha-ticket/tree/main/alpha-ticket
설치 직후 스킬이 보이지 않으면 Codex를 다시 시작하거나 새 작업을 열어 주세요.
시작 예시
일반 알파티켓
설계 승인을 받은 뒤 구현합니다.
알파티켓 WU-123 결제 실패 복구 흐름을 설계하고 진행해줘
자동 알파티켓
분할이 필요하지 않으면 설계·구현·검증까지 이어서 진행하고 커밋 승인 앞에서 멈춥니다.
자동알파티켓 WU-124 CSV 내보내기 오류를 수정해줘
단계 이어가기
활성 Alpha 티켓이 있는 동안 다음과 같이 이어갈 수 있습니다.
설계 승인
커밋 승인
리뷰 검토
패치루프
티켓 클로즈
설계만 요청하기
알파티켓 WU-125 단독 설계
승인 경계
| 사용자 문구 | 승인되는 범위 | 다음 정지점 |
|---|---|---|
알파티켓 <id> |
필요한 문서 준비와 설계 기록 | 분할 또는 설계 승인 |
자동알파티켓 <id> |
설계, 구현, 검증 | 분할 또는 커밋 승인 |
설계 승인 |
런타임 구현과 검증 | 커밋 승인 |
커밋 승인 |
승인된 변경의 commit과 원격 작업 | 리뷰 결과 또는 close 준비 |
티켓 클로즈 |
종료 점검과 문서 정리 | finding 또는 종료 |
원본 삭제, 되돌리기 어려운 외부 변경, 비용 발생, 보안 경계 변경은 필요한 계약이 닫히지 않았다면 별도로 확인합니다.
실행 모드
| 모드 | 언제 사용하나요? | 종료 전 확인 |
|---|---|---|
| Fast | 작고 되돌리기 쉬우며 공개 계약과 자료 의미를 바꾸지 않는 변경 | focused 이상 |
| Core | 일반적인 제품 변경 | related |
| Strict | 자료 손상, 권한 침해, 금융 의미 오류, 공개 계약 파손처럼 큰 피해가 가능한 변경 | related + full |
작업 중 더 큰 위험이 발견되면 모드를 올립니다.
문서가 맡는 역할
| 원본 | 책임 |
|---|---|
| WORK | 작업 계약, 결정, 검증된 결과, 상태 변화 |
| QUEUE | 실행 순서, 현재 막힘, 바로 다음 행동 |
| INDEX | 문서 지도, 현재 코드 소유 위치, 다시 찾을 가치가 있는 직접 연결 |
| PRD | Feature 이름과 짧은 정의 |
| IR / OL / RFT | 문제·조사 / 미결정 / 개선 제안과 그 처분 |
| Memory | 사용자가 명시적으로 확인한 선호와 장기 제품 방향 |
INDEX는 과거 문서 목록인 동시에 긴 작업에서 필요한 컨텍스트를 다시 찾는 지도입니다. 파일 전체를 매번 읽지 않고 현재 티켓 ID·소유 이름·직접 언급된 문서 ID와 일치하는 행에서 시작합니다. feature family는 이름 충돌 구분, PRD 정의 확인, Memory 범위 선택에만 씁니다. Architecture에는 현재 소유 상태와 공개 연결점별 현재 검사를, Relations에는 소유 경계를 넘는 현재 소비와 장기 문서 관계를 남깁니다. WORK의 check는 이번 작업이 계약한 검사, WORK E는 실제 실행 결과를 맡습니다.
정합성 검사
alpha_lint.py는 프로젝트 파일을 수정하지 않는 읽기 전용 검사기입니다. Python 3.11 이상이 필요하며 외부 Python 패키지는 사용하지 않습니다.
전체 Alpha 문서 확인:
python3 <skill-path>/scripts/alpha_lint.py --root <project-root>
한 티켓 중심 확인:
python3 <skill-path>/scripts/alpha_lint.py --root <project-root> --ticket WU-123
티켓 종료 직전 확인:
python3 <skill-path>/scripts/alpha_lint.py --root <project-root> --ticket WU-123 --closing
요구 환경
- Codex에서 Agent Skills를 사용할 수 있는 환경
- Python 3.11 이상
- commit·push·PR 단계를 사용할 경우 Git과 GitHub 원격 저장소
- 프로젝트 안에 Alpha 문서를 저장할 쓰기 권한
별도 MCP 서버나 외부 Python 패키지는 필요하지 않습니다.
저장소 구조
alpha-ticket/
├── .gitignore
├── README.md
├── LICENSE
└── alpha-ticket/
├── SKILL.md
├── agents/
│ └── openai.yaml
├── references/
│ ├── migration-v3.2.1.md
│ └── ...
├── templates/
└── scripts/
└── alpha_lint.py
바깥 폴더는 GitHub 배포용 저장소이고, 안쪽 alpha-ticket/이 실제로 설치되는 스킬입니다.
기존 프로젝트 호환
공개 이름은 alpha-ticket으로 단순화했지만 기존 프로젝트와의 호환을 위해 다음 내부 식별자는 유지합니다.
- 설정 경로
.jaw/alpha.toml - 이전 문서에서 사용하던
jaw-alpha-ticket:*호환 표식
이 식별자를 새 이름으로 바꾸는 일은 별도의 문서 이관이 필요한 기능 변경입니다. 기존 Alpha 문서를 현재 형식으로 옮길 때는 migration guide를 참고하세요.
사용하지 않는 경우
- 사용자가 Alpha 티켓을 명시적으로 시작하지 않은 일반 코딩 요청
- 한 번의 짧은 답변으로 끝나는 단순 질문
- 사용자가 승인하지 않은 commit, push 또는 외부 게시
- 특정 폴더 구조나 하나의 정답 아키텍처를 강제하려는 목적
라이선스
이 저장소는 MIT License로 배포됩니다.
No comments yet
Be the first to share your take.