|
| 1 | +# v0.2.0 GitHub Release/tag 준비 문서 |
| 2 | + |
| 3 | +이 문서는 Hyper-Waterfall `v0.2.0` GitHub Release/tag 생성 전에 maintainer가 확인해야 할 체크리스트와 release notes 초안을 정리한다. 실제 `git tag`, `gh release create`, npm publish는 이 문서만으로 실행하지 않고, 작업지시자 승인 후 별도 단계에서 수행한다. |
| 4 | + |
| 5 | +## 목적 |
| 6 | + |
| 7 | +`v0.2.0`은 Hyper-Waterfall의 배포 기준을 GitHub Release/tag + `templates/manifest.json` + migration guide로 고정하는 M020 release다. 이 release가 생성되면 기존 적용 저장소는 목표 GitHub Release/tag의 manifest와 `docs/migrations/v0.1.0-to-v0.2.0.md`를 기준으로 업데이트 후보를 판단한다. |
| 8 | + |
| 9 | +## canonical 기준 |
| 10 | + |
| 11 | +| 항목 | 값 | 확인 관점 | |
| 12 | +|---|---|---| |
| 13 | +| framework version | `0.2.0` | `package.json`, `templates/manifest.json`, version 기록 예시가 같은 값을 가리켜야 한다. | |
| 14 | +| planned tag | `v0.2.0` | `templates/manifest.json`의 `release.plannedTag`와 release notes 대상 tag가 같아야 한다. | |
| 15 | +| baseline tag | `v0.1.0` | migration guide의 시작 version과 `templates/manifest.json`의 `release.baselineTag`가 같아야 한다. | |
| 16 | +| canonical source | `github-release` | 적용 저장소 version 기록 예시의 `source`와 manifest release source가 같아야 한다. | |
| 17 | +| migration guide | `docs/migrations/v0.1.0-to-v0.2.0.md` | 대상 버전, 추가/수정 파일, 수동 확인, 충돌 가능성, 검증 기준을 포함해야 한다. | |
| 18 | +| checksum 상태 | `pending-release` | release/tag 생성 전에는 값이 비어 있을 수 있고, release 생성 승인 뒤 확정해야 한다. | |
| 19 | + |
| 20 | +## release 전 체크리스트 |
| 21 | + |
| 22 | +### manifest/version |
| 23 | + |
| 24 | +- [ ] `ruby -rjson -e 'JSON.parse(File.read("templates/manifest.json"))'`가 통과한다. |
| 25 | +- [ ] `templates/manifest.json`의 `frameworkVersion`이 `0.2.0`이다. |
| 26 | +- [ ] `templates/manifest.json`의 `release.plannedTag`가 `v0.2.0`이다. |
| 27 | +- [ ] `templates/manifest.json`의 `release.baselineTag`가 `v0.1.0`이다. |
| 28 | +- [ ] `templates/manifest.json`의 `release.status`가 실제 release 전까지 `planned`임을 문서와 CLI가 안정 배포로 오해하지 않는다. |
| 29 | +- [ ] root checksum과 files checksum이 release 전 `pending-release`인지 확인하고, release 생성 승인 뒤 확정할 방법을 정한다. |
| 30 | +- [ ] `package.json`의 `version`이 `0.2.0`이다. |
| 31 | + |
| 32 | +### migration guide |
| 33 | + |
| 34 | +- [ ] `docs/migrations/v0.1.0-to-v0.2.0.md`가 존재한다. |
| 35 | +- [ ] 대상 버전 표가 `v0.1.0 -> v0.2.0`을 가리킨다. |
| 36 | +- [ ] 추가 파일, 수정 파일, 적용 저장소 수동 확인, 충돌 가능성, 검증, 후속 작업 섹션이 존재한다. |
| 37 | +- [ ] 보류 항목에 실제 `v0.2.0` GitHub Release/tag 생성과 npm publish가 명시되어 있다. |
| 38 | +- [ ] Hyper-Waterfall 버전 업데이트 PR 본문 반영 기준이 manifest diff, 수동 확인, conflict, 검증 결과를 포함한다. |
| 39 | + |
| 40 | +### 문서/채널 안내 |
| 41 | + |
| 42 | +- [ ] README가 기존 적용 저장소 업데이트의 canonical 기준을 GitHub Release/tag와 manifest로 설명한다. |
| 43 | +- [ ] `docs/distribution-channels.md`가 GitHub Release/tag를 P0 canonical 기준으로 두고, npm/Homebrew/Docker/plugin을 실행 채널로만 설명한다. |
| 44 | +- [ ] `docs/agent-entrypoint.md`가 신규 적용과 기존 업데이트 판단 결과 형식을 manifest, version 기록, migration guide 기준으로 설명한다. |
| 45 | +- [ ] `templates/mydocs/manual/git_workflow_guide.md`가 일반 task PR과 release PR을 구분한다. |
| 46 | +- [ ] `templates/mydocs/manual/task_workflow_guide.md`가 framework lifecycle 판단 후 일반 task 흐름으로 전환하는 기준을 설명한다. |
| 47 | + |
| 48 | +### release 생성 승인 게이트 |
| 49 | + |
| 50 | +- [ ] 작업지시자가 `v0.2.0` Git tag 생성 시점을 명시 승인했다. |
| 51 | +- [ ] 작업지시자가 GitHub Release publish 시점을 명시 승인했다. |
| 52 | +- [ ] release notes 본문에 포함할 변경 요약과 보류 항목을 승인했다. |
| 53 | +- [ ] checksum 확정 또는 `pending-release` 유지 여부를 승인했다. |
| 54 | +- [ ] npm publish는 이번 release/tag 생성과 별도 승인 항목으로 분리했다. |
| 55 | + |
| 56 | +## release notes 초안 |
| 57 | + |
| 58 | +제목: |
| 59 | + |
| 60 | +```text |
| 61 | +v0.2.0 - 배포·업데이트 프로토콜 MVP |
| 62 | +``` |
| 63 | + |
| 64 | +본문 초안: |
| 65 | + |
| 66 | +```md |
| 67 | +## 요약 |
| 68 | + |
| 69 | +`v0.2.0`은 Hyper-Waterfall의 canonical 배포 기준을 GitHub Release/tag + `templates/manifest.json` + migration guide로 정리한 release입니다. 기존 적용 저장소는 `.hyper-waterfall/version.json`, 목표 release manifest, `docs/migrations/v0.1.0-to-v0.2.0.md`를 비교해 업데이트 후보를 판단합니다. |
| 70 | + |
| 71 | +## 주요 변경 |
| 72 | + |
| 73 | +- `templates/manifest.json`으로 framework version, planned tag, baseline tag, 적용 대상 파일, update policy, checksum 상태를 정의했습니다. |
| 74 | +- `.hyper-waterfall/version.json`을 적용 저장소의 framework version 기록 위치로 정했습니다. |
| 75 | +- `docs/migrations/`에 migration guide 작성 규칙과 `v0.1.0 -> v0.2.0` guide를 추가했습니다. |
| 76 | +- `docs/agent-entrypoint.md`에 신규 적용과 기존 업데이트 판단 결과 형식을 정리했습니다. |
| 77 | +- npm CLI MVP가 `init`, `update`, `doctor` 판단 결과를 출력하도록 준비되었습니다. |
| 78 | +- 추가 배포 채널은 GitHub Release/tag 기준을 실행하거나 발견하기 쉽게 하는 계층으로 정리했습니다. |
| 79 | + |
| 80 | +## 업데이트 기준 |
| 81 | + |
| 82 | +- migration guide: `docs/migrations/v0.1.0-to-v0.2.0.md` |
| 83 | +- manifest: `templates/manifest.json` |
| 84 | +- 적용 저장소 version 기록: `.hyper-waterfall/version.json` |
| 85 | + |
| 86 | +## 보류 |
| 87 | + |
| 88 | +- npm publish는 별도 승인 후 진행합니다. |
| 89 | +- Homebrew, Docker, Codex plugin, Claude plugin 구현은 후속 이슈에서 별도 추적합니다. |
| 90 | +- 사용자 수정 가능성이 있는 파일은 manifest update policy와 migration guide를 기준으로 수동 확인합니다. |
| 91 | +``` |
| 92 | + |
| 93 | +## 생성 명령 후보 |
| 94 | + |
| 95 | +아래 명령은 승인 후 실행 후보일 뿐이다. 이 task의 Stage 구현 중에는 실행하지 않는다. |
| 96 | + |
| 97 | +```bash |
| 98 | +git tag v0.2.0 |
| 99 | +git push origin v0.2.0 |
| 100 | +gh release create v0.2.0 --title "v0.2.0 - 배포·업데이트 프로토콜 MVP" --notes-file /tmp/hyper-waterfall-v0.2.0-release-notes.md |
| 101 | +``` |
| 102 | + |
| 103 | +## 보류 항목 |
| 104 | + |
| 105 | +- npm publish 실행 |
| 106 | +- Homebrew formula/tap 구현 |
| 107 | +- Docker image 구현 |
| 108 | +- Codex plugin과 Claude plugin packaging |
| 109 | +- 자동 release pipeline |
| 110 | +- 승인 없는 checksum 값 확정 |
| 111 | + |
| 112 | +## 검증 기준 |
| 113 | + |
| 114 | +release/tag 생성 전 최소 검증: |
| 115 | + |
| 116 | +```bash |
| 117 | +ruby -rjson -e 'JSON.parse(File.read("templates/manifest.json"))' |
| 118 | +rg -n '0.2.0|v0.2.0|plannedTag|baselineTag|GitHub Release|manifest|migration|pending-release' templates/manifest.json docs/migrations/v0.1.0-to-v0.2.0.md README.md docs/distribution-channels.md docs/releases/v0.2.0.md package.json |
| 119 | +git tag --list --sort=version:refname |
| 120 | +gh release list --repo postmelee/hyper-waterfall --limit 20 |
| 121 | +git diff --check |
| 122 | +``` |
| 123 | + |
| 124 | +검증 결과에서 `v0.2.0` tag나 GitHub Release가 이미 존재하면, 새로 생성하지 말고 기존 release 상태를 먼저 확인한다. |
0 commit comments