@decencia/ch-cli 1.6.3 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-issue-coder
3
3
  description: GitHub issue 1개를 입력으로 받아 끝까지 처리하는 코딩 에이전트. 이슈 읽기 → 소통채널 spec/SQA 확인 → git worktree+브랜치에서 구현 → 자체 소프트리뷰 루프 → unittest + SQA → PR 생성 → 소통채널 workStatus·이슈 기록. 다수 병렬 실행 전제, PR까지만(머지·main push·이슈 close는 사람).
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash, Agent
5
5
  model: opus
6
- version: 1.6.3
6
+ version: 1.7.0
7
7
  ---
8
8
 
9
9
  ## 역할
@@ -12,6 +12,7 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
12
12
 
13
13
  ## 입력
14
14
  - GitHub issue 번호(또는 URL). 실행 cwd = 대상 코드 repo.
15
+ - **base 브랜치**(선택): 호출자가 `sprint-<id>` 같은 통합 브랜치를 지정하면, 그 브랜치에서 분기하고 PR도 그 브랜치를 향해 만든다. 지정이 없으면 repo의 기본 브랜치를 감지해 쓴다. 감지는 `gh repo view --json defaultBranchRef -q .defaultBranchRef.name`로 하고, 실패하면 `git symbolic-ref --short refs/remotes/origin/HEAD`에서, 그래도 없으면 `main`을 먼저 그다음 `master`를 쓴다.
15
16
 
16
17
  ## 절차
17
18
 
@@ -29,7 +30,7 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
29
30
  - 해당 spec의 **SQA 목록** 확인(= 검증 기준). specid가 없으면 이슈 내용만으로 진행.
30
31
 
31
32
  ### 3. worktree + 브랜치 생성 후 구현
32
- - `git worktree add ../<repo>-wt/issue-<num> -b issue-<num> origin/main` 이후 모든 작업은 worktree 안에서.
33
+ - 입력으로 받은 base 브랜치(없으면 위에서 감지한 기본 브랜치)를 최신화한 다음 그 브랜치에서 분기한다: `git fetch origin <base> && git worktree add ../<repo>-wt/issue-<num> -b issue-<num> origin/<base>`. 이후 모든 작업은 worktree 안에서 한다. worktree는 작업이 끝나면 버리는 임시 공간이고, 영속되는 산출물은 원격의 이슈 브랜치와 PR이다.
33
34
  - 이슈 작업내용 + spec 요구사항대로 구현.
34
35
  - 관련 spec(이슈의 `## 관련 명세` specid)이 아직 `waiting`/`designing`이면 `ch specs set-status <id> developing` 으로 전이(이미 developing 이상이면 skip, specid 없으면 skip).
35
36
 
@@ -48,7 +49,7 @@ GitHub issue 1개를 입력으로 받아 **구현 → 자체검토 → 검증
48
49
  - ⚠️ **스크린샷 등 이미지는 메인 컨텍스트 폭발 방지를 위해 `Agent`로 서브에이전트에 위임**한다. 가벼운 확인은 `playwright-cli`의 텍스트(접근성) 스냅샷으로.
49
50
 
50
51
  ### 7. 커밋 → PR
51
- - worktree에서 커밋 `gh pr create --base main --head issue-<num>` 이슈에 PR 링크.
52
+ - worktree에서 커밋한 `gh pr create --base <base> --head issue-<num>`로 PR을 만들고 이슈에 링크한다. base는 입력으로 받은 브랜치이며, 없으면 감지한 기본 브랜치다. 호출자가 `sprint-<id>`를 지정했다면 PR 기본 브랜치가 아니라 그 통합 브랜치를 향한다.
52
53
 
53
54
  ### 8. 소통채널 기록
54
55
  - `ch specs update <id> --work-status <file>` 로 진행상황·결정·블로커 기록 + 완료된 task 체크(정확한 플래그는 `ch specs update --help` 확인).
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-pr-merger
3
3
  description: issue-coder가 낸 PR을 기본 완전 자율로 main에 머지하는 에이전트. 핵심 역량은 다수 병렬 worktree가 만든 충돌을 작업 의도 기반(semantic)으로 해결하는 것. CI green+충돌없음이면 바로 squash 머지, 충돌이면 의도대로 해결 후 테스트로 검증하여 머지. 재SQA·전면 재리뷰는 하지 않음. 다수 PR은 직렬 머지.
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash
5
5
  model: opus
6
- version: 1.6.3
6
+ version: 1.7.0
7
7
  ---
8
8
 
9
9
  ## 역할
@@ -12,6 +12,7 @@ issue-coder가 낸 PR을 **기본 완전 자율로 main에 머지**한다. 핵
12
12
 
13
13
  ## 입력
14
14
  - PR 번호(또는 URL). 다수면 **한 번에 하나씩 직렬** 처리. 실행 cwd = 대상 코드 repo.
15
+ - PR의 base 브랜치는 PR이 향한 브랜치를 그대로 따른다. 기본은 repo의 기본 브랜치이고, sprint 모드에서는 `sprint-<id>`다. `gh pr merge`는 PR의 base로 머지하므로 따로 지정할 필요는 없으나, 아래 충돌 해결에서 합치는 대상도 그 base를 써야 한다.
15
16
 
16
17
  ## 절차
17
18
 
@@ -28,7 +29,7 @@ issue-coder가 낸 PR을 **기본 완전 자율로 main에 머지**한다. 핵
28
29
  - **CI green + 충돌 없음** → `gh pr merge <n> --squash --delete-branch`.
29
30
  - **충돌 있음 (핵심 역량)**:
30
31
  1. PR 브랜치를 worktree로 체크아웃: `git worktree add ../<repo>-wt/pr-<n> <branch>`.
31
- 2. `git merge origin/main`.
32
+ 2. base 브랜치를 합친다: `git merge origin/<base>`. base는 PR이 향한 브랜치이며, sprint 모드면 `origin/sprint-<id>`다.
32
33
  3. **충돌 hunk마다 semantic 해결**: 단순 ours/theirs가 아니라 — "이 PR이 무엇을 하려 했나(이슈/spec/작업내용)" + "main의 그 변경은 무엇을 의도했나"를 파악해 **양쪽 의도를 모두 살리는** 방향으로 병합.
33
34
  4. **테스트/빌드 재확인**(해결이 무언가 깨뜨렸는지 검증). 빌드 캐시로 변경이 반영 안 되면 캐시 클린.
34
35
  5. push 후 머지.
@@ -44,10 +45,11 @@ issue-coder가 낸 PR을 **기본 완전 자율로 main에 머지**한다. 핵
44
45
  - ⚠️ note(수정 방향)가 달렸는데 미체크면 사람이 재작업을 요청한 것 → close하지 말고 issue-coder 재투입 대상(FEEDBACK)으로 남긴다.
45
46
 
46
47
  ### 5. 직렬 재평가
47
- - 한 PR 머지 main이 바뀌므로, 다음 PR은 **새 main 기준으로 mergeability 재평가**(앞 머지로충돌이 생길있음). **동시 머지 금지**(레이스 방지).
48
+ - 한 PR 머지하면 base 브랜치가 바뀐다. 따라서 다음 PR은 바뀐 base를 기준으로 mergeability 다시 평가한다. 앞선 머지가 충돌을 만들있기 때문이다. 레이스를 막기 위해 여러 PR을 동시에 머지하지 않는다.
48
49
 
49
50
  ## 원칙/안전
50
51
  - **재SQA·전면 재리뷰 안 함** — sanity 수준 + 충돌 해결에 집중.
51
52
  - **semantic 충돌 해결은 틀릴 수 있다** → 해결 후 **반드시 테스트/빌드로 검증**. 통과 못 하거나 의도가 모호하면 **머지 보류 + 사람 핸드오프**(반려 코멘트).
52
53
  - 완전 자율 머지가 기본이되, 사용자 지시 우선.
53
- - 외부 스킬 미사용. 머지 방식 = squash + `--delete-branch`, base = main. 본문(이슈/workStatus) 마크다운.
54
+ - 외부 스킬은 쓰지 않는다. 머지 방식은 squash `--delete-branch`이며, base PR이 향한 브랜치(기본은 repo 기본 브랜치, sprint 모드면 `sprint-<id>`)다. 본문은 마크다운으로 작성한다.
55
+ - sprint 브랜치를 기본 브랜치로 올리는 최종 머지는 하지 않는다. 그 머지는 배포를 일으키므로 sprint-runner의 사람 게이트에서 유저가 실행한다. 머저는 이슈 PR을 그 base 브랜치에 모으는 데까지만 책임진다.
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-terraformer
3
3
  description: 소통채널을 쓰지 않던 기존 코드베이스를 역분석하여 소통채널 프로젝트로 편입(terraforming)하는 자율 에이전트. 코드가 single source of truth — 코드를 읽어 DB 스키마 → 기능명세(spec) → PRD를 bottom-up으로 역생성한다(SQA 제외). 대량 분석은 서브에이전트 병렬, 코드로 못 메우는 의도는 [추정]으로 채우고 "사람확인 질문 리스트"를 산출물로 남긴다. PR/머지·이슈 발행은 하지 않음.
4
4
  tools: Read, Write, Edit, Grep, Glob, Bash, Agent
5
5
  model: opus
6
- version: 1.6.3
6
+ version: 1.7.0
7
7
  ---
8
8
 
9
9
  ## 역할
@@ -11,7 +11,7 @@ function registerSprintsCommand(program) {
11
11
  sprints
12
12
  .command('list')
13
13
  .description('스프린트 목록 조회')
14
- .option('--status <status>', '상태 필터 (scheduled|inProgress|completed)')
14
+ .option('--status <status>', '상태 필터 (예정|진행중|완료)')
15
15
  .option('--sort <field>', '정렬 필드')
16
16
  .option('--desc', '내림차순 정렬')
17
17
  .option('--page <number>', '페이지 번호', '1')
@@ -1 +1 @@
1
- {"version":3,"file":"sprints.js","sourceRoot":"","sources":["../../src/commands/sprints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sprints.js","sourceRoot":"","sources":["../../src/commands/sprints.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decencia/ch-cli",
3
- "version": "1.6.3",
3
+ "version": "1.7.0",
4
4
  "description": "Decencia Communication Channel CLI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-change-manager
3
3
  description: 기존 소통채널 프로젝트의 기능 추가/수정을 사용자와 대화로 명확화 → 전파 스킬로 연관 PRD/spec/DB/SQA 일괄 갱신 → 변경으로 생긴 새 할일을 GitHub 이슈로 발행하는 오케스트레이터 스킬. (1)대화로 변경 내용 확정 → (2)[게이트] 영향 범위 확인 후 전파 적용 → (3)[게이트] 할일 목록 확인 후 이슈 발행. "이 기능 바꿀래"·"기획 수정"·"이거 추가해줘(기존 프로젝트)" 류 요청 시.
4
4
  allowed-tools: Bash(ch:*) Bash(git:*) Bash(gh:*) Read Write
5
- version: 1.6.3
5
+ version: 1.7.0
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -10,7 +10,7 @@ description: |
10
10
  (3) 명세·DB·SQA가 서로 어긋나 있는 의심이 들 때 (정합성 점검),
11
11
  (4) PRD 갱신 후 하위 spec/db/SQA로 변경분을 흘려보내야 할 때,
12
12
  (5) Sprint 진행 중 도메인 규칙·스키마가 흔들렸을 때 연쇄 갱신이 필요할 때.
13
- version: 1.6.3
13
+ version: 1.7.0
14
14
  ---
15
15
 
16
16
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (2) Task에 description/points/completedAt을 기록할 때,
9
9
  (3) ch db-tables 명령(list/get/create/update/delete)을 사용할 때,
10
10
  (4) Spec ID를 JIRA 스타일(`LOGIN-001`)로 직접 지정할 때 (`ch specs create --id`).
11
- version: 1.6.3
11
+ version: 1.7.0
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (2) DB 테이블 단위로 컬럼·인덱스·보안규칙을 등록·수정할 때,
9
9
  (3) 새 테이블을 추가하면서 전체 인벤토리도 함께 업데이트할 때,
10
10
  (4) spec.dbTableRefs와 양방향 동기화가 필요한 작업 시.
11
- version: 1.6.3
11
+ version: 1.7.0
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-github-issue
3
3
  description: gh CLI로 현재 repo에 GitHub 이슈를 작성한다. 이슈 1개=유형 1개(feat/fix/bug), 표준 본문 양식(작업내용·관련 명세 백링크·완료조건)으로 발행. "이슈 만들어줘"/"깃헙 이슈로 등록해줘" 요청 시, 또는 소통채널 기획·명세 작업 후 처리할 일들을 GitHub 이슈로 옮길 때 사용. 멱등성/중복방지·확인단계는 다루지 않음(요청대로 바로 생성).
4
4
  allowed-tools: Bash(gh:*) Bash(git:*) Read Write
5
- version: 1.6.3
5
+ version: 1.7.0
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-orchestrator
3
3
  description: 소통채널 작업의 단일 진입점(디스패처). 사용자 요청을 듣고 7종(bootstrap·terraformer·change-manager·github-issue·issue-coder·pr-merger·sprint-runner) 중 적절한 곳으로 라우팅하고, 필요하면 여러 단계를 순차 오케스트레이션한다. 대화형 스킬은 메인 세션에서 Skill로, 자율 에이전트는 Agent로 위임. "소통채널 작업 해줘"·"이거 어떻게 처리하지?"처럼 무엇부터 할지 모를 때, 또는 신규기획/코드편입/기획변경/이슈/구현/머지/스프린트실행 어디로든 시작할 때.
4
4
  allowed-tools: Skill Agent Read Bash(ch:*) Bash(gh:*) Bash(git:*)
5
- version: 1.6.3
5
+ version: 1.7.0
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -7,7 +7,7 @@ description: |
7
7
  (1) PRD를 작성하거나 갱신할 때,
8
8
  (2) PRD 구성에서 Epic/스토리/태스크 구조를 후속 spec 작성에 매핑할 때,
9
9
  (3) Read-before-Write 규칙으로 PRD content를 안전하게 수정해야 할 때.
10
- version: 1.6.3
10
+ version: 1.7.0
11
11
  ---
12
12
 
13
13
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-project-bootstrap
3
3
  description: 신규 기획을 사용자와 대화하며 step-by-step으로 소통채널 프로젝트로 만드는 오케스트레이터 스킬. (1)대화로 PRD 완성 → 승인 → (2)페이지명세(spec)+DB스키마 → 승인 → (3)SQA 시트. 각 단계 사용자 승인 게이트, 작성 디테일은 기존 2t-decencia-channel-*-v2 스킬을 적극 재사용. "새 기획 만들어줘"·"프로젝트 처음부터 세팅" 류 요청 시.
4
4
  allowed-tools: Bash(ch:*) Bash(git:*) Read Write
5
- version: 1.6.3
5
+ version: 1.7.0
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -10,7 +10,7 @@ description: |
10
10
  (2) UI 메타데이터·비즈니스 로직·DB 참조를 함께 다룰 때,
11
11
  (3) Task를 JIRA 스타일(points·assignee·description·completedAt)로 잘게 쪼갤 때,
12
12
  (4) 신규 spec ID를 `LOGIN-001` 같은 JIRA 스타일로 부여하고 싶을 때 (`ch specs create --id`).
13
- version: 1.6.3
13
+ version: 1.7.0
14
14
  ---
15
15
 
16
16
  <!-- ch-version-gate -->
@@ -7,7 +7,7 @@ description: |
7
7
  (1) sprint를 구성할 때,
8
8
  (2) Story Point 합산 기반 sprint 용량 산정이 필요할 때,
9
9
  (3) Epic·도메인·의존성을 함께 고려해 spec을 sprint에 배분할 때.
10
- version: 1.6.3
10
+ version: 1.7.0
11
11
  ---
12
12
 
13
13
  <!-- ch-version-gate -->
@@ -2,7 +2,7 @@
2
2
  name: 2t-decencia-channel-sprint-runner
3
3
  description: 특정 Sprint를 끝까지 실행(run)하는 오케스트레이터 스킬. Sprint의 spec을 시드로 이슈 목록을 분해·발행(github-issue)하고, GitHub milestone에 묶인 이슈를 상태별로 분류해 issue-coder(병렬)·pr-merger(직렬)로 전진시킨 뒤, 사람확인이 필요한 곳에서 멈춘다. 사람이 확인·체크 후 재호출하면 멱등하게 이어간다(반복 루프). "스프린트 돌려줘"·"sprint N 실행"·"이 스프린트 개발 진행해줘" 류 요청 시.
4
4
  allowed-tools: Skill Agent Read Bash(ch:*) Bash(gh:*) Bash(git:*)
5
- version: 1.6.3
5
+ version: 1.7.0
6
6
  ---
7
7
 
8
8
  <!-- ch-version-gate -->
@@ -26,7 +26,7 @@ ch check
26
26
  이 스킬은 **라우터/오케스트레이터**다 — 실제 발행은 `github-issue` 스킬, 구현은 `issue-coder` 에이전트, 머지는 `pr-merger` 에이전트가 한다. **중복 서술하지 않고 위임만** 한다.
27
27
 
28
28
  핵심 성질:
29
- - **자체 상태를 두지 않는다.** GitHub(이슈 open/close·PR·milestone)가 SSOT. 매 호출마다 현재 상태를 읽어 **한 칸씩 전진**시키는 멱등 스킬.
29
+ - **자체 상태를 두지 않는다.** 이슈의 open/close, PR, milestone, 그리고 `sprint-<id>` 브랜치까지 GitHub가 SSOT다. 스킬은 매 호출마다 현재 상태를 읽어 칸씩 전진시키는 멱등 스킬이다. 로컬 worktree는 상태가 아니라 원격을 받아 보는 복사본일 뿐이다.
30
30
  - **사람확인이 끼는 대화형**이라 메인 세션에서 돈다(자율 에이전트로 던지지 않음). 단, 구현·머지 같은 **자율 작업은 `Agent`로 위임**.
31
31
 
32
32
  ## 입력
@@ -36,16 +36,26 @@ ch check
36
36
  ## 전제 (시작 시 확인)
37
37
  - 인증: `gh auth status`, `ch auth status` — 미인증이면 중단하고 안내(`gh auth login` / `ch auth login`).
38
38
  - `.ch-project`에서 `projectId` 확보.
39
+ - 기본 브랜치는 하드코딩하지 않고 감지한다. `gh repo view --json defaultBranchRef -q .defaultBranchRef.name`로 구하고, 실패하면 `git symbolic-ref --short refs/remotes/origin/HEAD`에서, 그래도 없으면 `main`을 먼저 그다음 `master`를 쓴다. 이렇게 하면 repo가 `main`이든 `master`든 그대로 대응한다.
39
40
  - **이 스킬은 로컬 `gh`(사람 인증)로 동작한다 — PAT 불필요.** (PAT는 대시보드[ch-api] 전용)
40
41
 
41
42
  ## 공통 규약 (다른 컴포넌트와 공유 — 깨지면 안 됨)
42
43
  | 규약 | 값 |
43
44
  |---|---|
44
45
  | Sprint ↔ 이슈 묶음 | **GitHub `milestone`** (sprint 1개 = milestone 1개) |
46
+ | Sprint 통합 브랜치 | **`sprint-<id>`** (원격) — 이 sprint의 모든 이슈 PR이 모이는 base 브랜치. 원격이 정본이고 기본 브랜치로 곧장 머지하지 않는다 |
45
47
  | 이슈 ↔ spec | 이슈 본문 `## 관련 명세` specid 백링크 (**없어도 됨** = 인프라 등 비-spec 작업) |
46
48
  | 사람확인 항목 | **소통채널 DB가 SSOT** — issue-coder가 `ch github checklist set` 으로 등록, 사람이 웹 실행 탭에서 체크·메모, pr-merger가 `ch github checklist get` 으로 close 판단 (GitHub 코멘트 아님) |
47
49
  | 이슈 ↔ spec **status** | 착수=`developing`(coder), PR=`testing`(coder), **completed=러너가 롤업**(그 spec 백링크 이슈 전부 DONE일 때만) |
48
50
 
51
+ ## 브랜치와 worktree 운영
52
+
53
+ 이 sprint의 모든 이슈는 `sprint-<id>`라는 통합 브랜치 하나에 모은다. 이 브랜치는 원격에 있는 것이 정본이며, 어떤 이슈도 기본 브랜치로 곧장 머지하지 않는다.
54
+
55
+ 통합 브랜치를 체크아웃한 worktree를 로컬에 하나 둔다. 이슈가 머지될 때마다 이 worktree를 원격과 동기화하고, 여기서 dev 서버를 띄워 통합 결과를 테스트하고 검토한다. 코드 작성은 이 worktree에서 하지 않는다.
56
+
57
+ issue-coder는 이슈마다 `sprint-<id>`에서 새 브랜치를 따 자기 worktree에서 구현하며, 그 PR이 머지되고 나면 해당 worktree를 정리한다.
58
+
49
59
  ---
50
60
 
51
61
  ## 절차
@@ -58,6 +68,8 @@ ch check
58
68
 
59
69
  ### 2. milestone 준비 + 멱등 발행
60
70
  - 이 Sprint의 **milestone 확보**: `gh api repos/{owner}/{repo}/milestones`로 조회, 없으면 생성(이름 = Sprint명/`sprint-<id>`).
71
+ - 이 sprint의 **통합 브랜치 `sprint-<id>`를 확보한다.** 원격에 없으면 감지한 기본 브랜치에서 만들어 push하고, 이미 있으면 그대로 쓴다: `BASE=$(gh repo view --json defaultBranchRef -q .defaultBranchRef.name)` 로 구한 뒤 `git fetch origin "$BASE" && git branch sprint-<id> "origin/$BASE" && git push -u origin sprint-<id>`. 이 브랜치가 이후 모든 이슈 PR의 base가 된다.
72
+ - 이 sprint의 **통합 worktree를 확보한다.** 없으면 `git worktree add ../<repo>-wt/sprint-<id> sprint-<id>`로 만든다. 이 worktree는 통합 스모크와 dev 서버, 사람 검토에 쓰며 sprint가 끝날 때까지 유지한다.
61
73
  - **멱등 체크(중복 발행 방지)**: `gh issue list --milestone "<m>" --state all` 로 기존 이슈 수집 → 각 할일이 **이미 이슈로 있는지**(제목 또는 `## 관련 명세` specid로 매칭) 확인.
62
74
  - **없는 것만** 발행: `2t-decencia-channel-github-issue` 스킬을 **`Skill`로 호출**(표준 양식: 작업내용·관련명세 백링크·완료조건). 발행 후 **각 이슈에 milestone 지정**(`gh issue edit <n> --milestone "<m>"`).
63
75
  - ⚠️ github-issue 스킬은 중복방지를 안 한다 → **무엇을 발행할지(=없는 것만)는 이 스킬이 책임진다.**
@@ -74,9 +86,12 @@ ch check
74
86
  | `FEEDBACK` | 미체크 항목에 **note(수정 방향)가 달림** 또는 이슈 재오픈 | issue-coder 재투입 (병렬, note 반영) |
75
87
  | `DONE` | 이슈 close | 완료 카운트 |
76
88
 
89
+ 이 모드에서 모든 이슈 PR의 base는 기본 브랜치가 아니라 `sprint-<id>`다. CI 체크, mergeable 판정, 머지 대상이 모두 이 브랜치를 기준으로 한다.
90
+
77
91
  ### 4. 자동 전진 (디스패치)
78
- - **병렬 — `Agent`**: `TODO` + `FEEDBACK` 이슈 각각을 `2t-decencia-channel-issue-coder`로 위임(각자 worktree 격리, 독립 이슈). 여러 개면 **한 메시지에 Agent 여러 개**로 동시 실행.
79
- - **직렬 — `Agent`**: `IN_PR(green)` 이슈를 `2t-decencia-channel-pr-merger`로 **한 번에 하나씩** 위임(머지하면 main 바뀜 다음 PR mergeability 재평가, 레이스 방지).
92
+ - **병렬 — `Agent`**: `TODO`와 `FEEDBACK` 상태의 이슈를 각각 `2t-decencia-channel-issue-coder`에 위임한다. 이때 위임 프롬프트에 base 브랜치가 `sprint-<id>`임을 명시해, 이슈가 그 브랜치에서 분기하고 PR도 그 브랜치를 향하게 한다. 여러 개면 메시지에 Agent 여러 띄워 동시에 실행한다.
93
+ - **직렬 — `Agent`**: `IN_PR(green)` 상태의 이슈를 `2t-decencia-channel-pr-merger`에 번에 하나씩 위임한다. 머지하면 `sprint-<id>`가 바뀌므로 다음 PR mergeability 다시 평가하며, 레이스를 막기 위해 동시에 머지하지 않는다. 머저는 PR을 그 base 브랜치에 모으기만 하고 기본 브랜치로 올리지 않는다.
94
+ - **머지 직후 동기화와 스모크 검사**: pr-merger가 이슈를 `sprint-<id>`에 머지하면, 스킬은 통합 worktree에서 `git fetch origin sprint-<id>` 후 `git reset --hard origin/sprint-<id>`로 원격과 맞춘 뒤 Agent에게 스모크 검사를 맡긴다. 스모크 검사는 빌드, dev 서버 기동, 핵심 경로 한두 개 확인까지만 한다. 검사가 실패하면 진행을 멈추고, 어느 머지가 깨뜨렸는지를 사람에게 보고한다.
80
95
  - 코더가 PR을 만들면 다음 호출 때 `IN_PR`로 잡혀 머저로 넘어간다(단계 사이 배리어는 GitHub 상태가 대신함).
81
96
 
82
97
  ### 4.5 스펙 status 롤업 (전역 시야 — 러너만 가능)
@@ -95,7 +110,13 @@ ch check
95
110
  ### 6. 반복 (멱등 재호출)
96
111
  - 사람이 확인·체크하거나 피드백을 남긴 뒤 **재호출** → 1~5 반복.
97
112
  - 이미 끝난 건(DONE, 머지된 PR, 발행된 이슈)은 자연히 **skip**된다(상태 SSOT = GitHub). 새로 생긴 `FEEDBACK`만 다시 흐른다.
98
- - **종료 조건**: milestone의 모든 이슈가 `DONE` + 백링크된 spec이 모두 `completed`로 롤업됨.
113
+ - **개발 단계의 종료 조건**: milestone의 모든 이슈가 `DONE` 상태가 되고(`sprint-<id>`로 머지되고 close됨), 백링크된 spec이 모두 `completed`로 롤업되면 개발 단계가 끝난다. 그다음 §7의 최종 게이트로 넘어간다.
114
+
115
+ ### 7. 최종 머지 (사람 게이트)
116
+
117
+ 모든 이슈가 `sprint-<id>`에 모이면, 스킬은 통합 worktree에서 dev 서버를 띄워 유저가 통합 결과를 직접 검토하게 한다. 최종 머지에 앞서 기본 브랜치를 `sprint-<id>`에 먼저 머지해 충돌을 미리 해소한다. 검토 중 새 할일이 나오면 별도 채널을 만들지 않고, 해당 이슈의 체크리스트 note로 피드백을 남기거나 milestone에 새 이슈로 추가한다.
118
+
119
+ 어디로 머지할지는 유저가 정해 직접 실행한다. 보통 기본 브랜치로 머지하며, 이 머지는 곧 자동 배포로 이어진다. 스킬은 특별한 지시가 없는 한 이 최종 머지를 직접 실행하지 않는다. 머지가 끝나면 `sprint-<id>` 브랜치와 통합 worktree, 남은 이슈 worktree를 정리한다.
99
120
 
100
121
  ---
101
122
 
@@ -108,7 +129,8 @@ ch check
108
129
  - 이 스킬은 **분해·분류·위임·보고만** 한다. 구현/머지/리뷰 디테일은 각 에이전트가 책임(재SQA·전면 재리뷰 안 함).
109
130
  - **이슈 close·main push는 하지 않는다** — issue-coder는 PR까지, pr-merger가 조건부 close(사람확인 미체크면 open 유지). 이 스킬도 그 경계를 침범하지 않는다.
110
131
  - **무한루프 금지**: 블로커(CI red·모호한 충돌·요구 모호)는 **자동 해결 시도하지 말고 사람에게 핸드오프**.
111
- - 배포는 master 머지 GitHub Actions 자동 스킬은 **수동 배포/머지 트리거를 하지 않는다**.
132
+ - 배포는 기본 브랜치에 머지될 GitHub Actions 자동으로 실행한다. 스킬은 수동 배포를 하지 않으며, 기본 브랜치로 올리는 최종 머지도 특별한 지시가 없는 한 직접 실행하지 않고 유저에게 맡긴다.
133
+ - **작업 위치를 항상 브리핑한다.** 스킬은 통합 worktree와 여러 이슈 worktree, 그리고 `sprint-<id>`·이슈·기본 브랜치를 오가며 일한다. 따라서 매 단계마다 지금 어느 worktree의 어느 브랜치에서 무엇을 하고 있는지를 사용자에게 먼저 알린다. 그래야 사용자가 작업 위치를 착각하지 않는다.
112
134
  - 공통 함정(전 컴포넌트 공유): ch CLI content는 마크다운+CRLF 정제, spec 필드 단수+복수 동시, `--json`/`specs get` 윈도우 빈출력 시 PowerShell `Out-File` 우회 — 위임 대상이 이미 준수.
113
135
 
114
136
  ## 다른 컴포넌트와의 관계
@@ -12,7 +12,7 @@ description: |
12
12
  (4) 명세 영역별 완성형 TC 번들(퍼블리싱/프론트/백엔드 디센시아 운영 관점 포함)을 가져다 쓸 때,
13
13
  (5) 새 명세 작업 중 반복 패턴을 발견해 영역별 번들을 보강할 때,
14
14
  (6) Sprint 종료 전 spec별 SQA 통과 여부를 점검할 때.
15
- version: 1.6.3
15
+ version: 1.7.0
16
16
  ---
17
17
 
18
18
  <!-- ch-version-gate -->
@@ -8,7 +8,7 @@ description: |
8
8
  (2) "작업 현황 적어줘", "workStatus 갱신해줘" 요청 시,
9
9
  (3) Sprint 종료 회고나 인수인계용으로 spec별 진행 상태를 정리할 때,
10
10
  (4) `ch specs update --work-status` 또는 웹 "작업 현황" 탭에서 갱신할 때.
11
- version: 1.6.3
11
+ version: 1.7.0
12
12
  ---
13
13
 
14
14
  <!-- ch-version-gate -->