@decencia/ch-cli 1.35.0 → 1.37.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.
- package/agent/2t-decencia-channel-issue-coder.md +1 -1
- package/agent/2t-decencia-channel-pr-merger.md +1 -1
- package/agent/2t-decencia-channel-terraformer.md +1 -1
- package/dist/commands/sqa.d.ts +0 -23
- package/dist/commands/sqa.d.ts.map +1 -1
- package/dist/commands/sqa.js +132 -166
- package/dist/commands/sqa.js.map +1 -1
- package/package.json +1 -1
- package/skill/2t-decencia-channel-change-manager/SKILL.md +1 -1
- package/skill/2t-decencia-channel-change-propagation-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-cli-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-db-schema-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-github-issue/SKILL.md +1 -1
- package/skill/2t-decencia-channel-ia-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-orchestrator/SKILL.md +1 -1
- package/skill/2t-decencia-channel-policy-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-prd-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-project-bootstrap/SKILL.md +1 -1
- package/skill/2t-decencia-channel-screen-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-spec-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-builder-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sprint-runner/SKILL.md +1 -1
- package/skill/2t-decencia-channel-sqa-v2/SKILL.md +9 -3
- package/skill/2t-decencia-channel-userflow-v2/SKILL.md +1 -1
- package/skill/2t-decencia-channel-work-status-v2/SKILL.md +1 -1
|
@@ -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까지만(머지·base 브랜치 직접 push·이슈 close는 사람).
|
|
4
4
|
tools: Read, Write, Edit, Grep, Glob, Bash, Agent
|
|
5
5
|
model: opus
|
|
6
|
-
version: 1.
|
|
6
|
+
version: 1.37.0
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
|
@@ -3,7 +3,7 @@ name: 2t-decencia-channel-pr-merger
|
|
|
3
3
|
description: issue-coder가 낸 PR을 기본 완전 자율로 base 브랜치(기본 브랜치 또는 sprint 통합 브랜치)에 머지하는 에이전트. 핵심 역량은 다수 병렬 worktree가 만든 충돌을 작업 의도 기반(semantic)으로 해결하는 것. CI green+충돌없음이면 바로 squash 머지, 충돌이면 의도대로 해결 후 테스트로 검증하여 머지. 재SQA·전면 재리뷰는 하지 않음. 다수 PR은 직렬 머지.
|
|
4
4
|
tools: Read, Write, Edit, Grep, Glob, Bash
|
|
5
5
|
model: opus
|
|
6
|
-
version: 1.
|
|
6
|
+
version: 1.37.0
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
|
@@ -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
|
+
version: 1.37.0
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## 역할
|
package/dist/commands/sqa.d.ts
CHANGED
|
@@ -8,28 +8,5 @@ export declare function computeScenarioStepProgress(scenario: any): {
|
|
|
8
8
|
totalChecks: number;
|
|
9
9
|
passed: boolean;
|
|
10
10
|
};
|
|
11
|
-
/** [레거시 Run 열람 전용] 시나리오가 판정을 기록하던 TC id 전부 (steps[].tcRefs + closingTcRef). */
|
|
12
|
-
export declare function collectScenarioTcRefs(scenario: any): string[];
|
|
13
|
-
export interface ScenarioRunStatus {
|
|
14
|
-
id: string;
|
|
15
|
-
name: string;
|
|
16
|
-
/** 매핑 TC 중 Pass 개수 */
|
|
17
|
-
passedTcs: number;
|
|
18
|
-
/** 매핑 TC 총 개수 */
|
|
19
|
-
totalTcs: number;
|
|
20
|
-
passed: boolean;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Run 스냅샷의 시나리오별 통과 현황을 계산한다.
|
|
24
|
-
*
|
|
25
|
-
* 시나리오 자체는 결과를 갖지 않는다 — "판정·기록은 TC 단위"라서, 통과 = 매핑된 TC가
|
|
26
|
-
* 전부 Pass(result='yes')다. 매핑 TC가 하나도 없거나 Run 항목에 없는 id를 가리키면
|
|
27
|
-
* 미통과로 센다. 통과로 세면 검증 없이 Sprint가 닫힌다.
|
|
28
|
-
*
|
|
29
|
-
* 판정 규칙은 ch-api `SqaService.getScenarioPassStatus`와 같아야 한다. 여기서 다시
|
|
30
|
-
* 계산하는 이유는 `/sqa/runs/:runId/summary`가 시나리오를 싣지 않기 때문이다
|
|
31
|
-
* (Sprint 쪽 현황은 서버가 계산한 값을 그대로 쓴다 — `ch sprints progress`).
|
|
32
|
-
*/
|
|
33
|
-
export declare function computeScenarioRunStatus(scenarios: any[], runItems: any[]): ScenarioRunStatus[];
|
|
34
11
|
export declare function registerSqaCommand(program: Command): void;
|
|
35
12
|
//# sourceMappingURL=sqa.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqa.d.ts","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,GAAG,GAAG;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAWA;
|
|
1
|
+
{"version":3,"file":"sqa.d.ts","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6CpC;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,GAAG,GAAG;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB,CAWA;AA4ED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyyBzD"}
|
package/dist/commands/sqa.js
CHANGED
|
@@ -37,8 +37,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.computeScenarioStepProgress = computeScenarioStepProgress;
|
|
40
|
-
exports.collectScenarioTcRefs = collectScenarioTcRefs;
|
|
41
|
-
exports.computeScenarioRunStatus = computeScenarioRunStatus;
|
|
42
40
|
exports.registerSqaCommand = registerSqaCommand;
|
|
43
41
|
const fs = __importStar(require("fs"));
|
|
44
42
|
const path = __importStar(require("path"));
|
|
@@ -85,46 +83,70 @@ function computeScenarioStepProgress(scenario) {
|
|
|
85
83
|
passed: steps.length > 0 && passedChecks === totalChecks,
|
|
86
84
|
};
|
|
87
85
|
}
|
|
88
|
-
/**
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
/**
|
|
87
|
+
* 증빙 첨부 현황 한 줄 — 사람용 출력에만 붙인다.
|
|
88
|
+
* 기계 모드는 서버 응답(items[].evidenceFiles, scenarios[].steps[].evidenceFiles)에
|
|
89
|
+
* 파일명·크기·URL이 그대로 실려 오므로 따로 요약하지 않는다.
|
|
90
|
+
*/
|
|
91
|
+
function printEvidenceSummary(sheet) {
|
|
92
|
+
const items = Array.isArray(sheet?.items) ? sheet.items : [];
|
|
93
|
+
const scenarios = Array.isArray(sheet?.scenarios) ? sheet.scenarios : [];
|
|
94
|
+
const count = (files) => (Array.isArray(files) ? files.length : 0);
|
|
95
|
+
let files = 0;
|
|
96
|
+
let places = 0;
|
|
97
|
+
const bump = (n) => {
|
|
98
|
+
if (n > 0) {
|
|
99
|
+
files += n;
|
|
100
|
+
places += 1;
|
|
95
101
|
}
|
|
102
|
+
};
|
|
103
|
+
for (const item of items)
|
|
104
|
+
bump(count(item?.evidenceFiles));
|
|
105
|
+
for (const scenario of scenarios) {
|
|
106
|
+
for (const step of Array.isArray(scenario?.steps) ? scenario.steps : []) {
|
|
107
|
+
bump(count(step?.evidenceFiles));
|
|
108
|
+
}
|
|
109
|
+
bump(count(scenario?.closingEvidenceFiles));
|
|
96
110
|
}
|
|
97
|
-
if (
|
|
98
|
-
|
|
99
|
-
|
|
111
|
+
if (files === 0)
|
|
112
|
+
return;
|
|
113
|
+
(0, output_1.printInfo)(`증빙 첨부 ${files}건 (${places}곳) — 파일명·URL은 --json으로 확인`);
|
|
100
114
|
}
|
|
101
115
|
/**
|
|
102
|
-
*
|
|
116
|
+
* 판정 증빙 첨부 업로드.
|
|
103
117
|
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
* 미통과로 센다. 통과로 세면 검증 없이 Sprint가 닫힌다.
|
|
118
|
+
* 판정 기록(JSON)과 파일 업로드(multipart)는 요청이 나뉜다 — 판정을 먼저 남기고 파일을 붙인다.
|
|
119
|
+
* 업로드가 실패해도 판정은 이미 기록돼 있으므로, 실패는 경고로 알리고 종료코드로 드러낸다.
|
|
107
120
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
* (Sprint 쪽 현황은 서버가 계산한 값을 그대로 쓴다 — `ch sprints progress`).
|
|
121
|
+
* `key`는 증빙이 붙을 자리다(ch-api와 같은 규칙):
|
|
122
|
+
* 항목 = itemId / 시나리오 = `scn-<scenarioId>-step<N>`(N은 0부터) 또는 `scn-<scenarioId>-closing`
|
|
111
123
|
*/
|
|
112
|
-
function
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
return {
|
|
121
|
-
id: String(scenario?.id ?? ''),
|
|
122
|
-
name: String(scenario?.name ?? ''),
|
|
123
|
-
passedTcs,
|
|
124
|
-
totalTcs: tcIds.length,
|
|
125
|
-
passed: tcIds.length > 0 && passedTcs === tcIds.length,
|
|
126
|
-
};
|
|
124
|
+
async function uploadEvidenceFiles(client, sheetId, key, filePaths) {
|
|
125
|
+
const form = new form_data_1.default();
|
|
126
|
+
form.append('key', key);
|
|
127
|
+
for (const filePath of filePaths) {
|
|
128
|
+
form.append('files', fs.createReadStream(path.resolve(filePath)));
|
|
129
|
+
}
|
|
130
|
+
const { data } = await client.post(`/sqa/${sheetId}/evidence`, form, {
|
|
131
|
+
headers: { ...form.getHeaders() },
|
|
127
132
|
});
|
|
133
|
+
return data?.files ?? [];
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* 없는 첨부 경로를 모두 찾아 돌려준다(빈 배열이면 전부 존재).
|
|
137
|
+
* 요청을 보내기 전에 확인해야 판정만 남고 증빙이 빠지는 절반 상태를 막는다.
|
|
138
|
+
*/
|
|
139
|
+
function missingAttachPaths(filePaths) {
|
|
140
|
+
return filePaths.filter((f) => !fs.existsSync(path.resolve(f)));
|
|
141
|
+
}
|
|
142
|
+
/** `--attach "a.png, b.png"` → 경로 배열. 빈 항목은 버린다. */
|
|
143
|
+
function parseAttachPaths(attach) {
|
|
144
|
+
if (!attach)
|
|
145
|
+
return [];
|
|
146
|
+
return attach
|
|
147
|
+
.split(',')
|
|
148
|
+
.map((f) => f.trim())
|
|
149
|
+
.filter(Boolean);
|
|
128
150
|
}
|
|
129
151
|
function registerSqaCommand(program) {
|
|
130
152
|
const sqa = program
|
|
@@ -173,6 +195,8 @@ function registerSqaCommand(program) {
|
|
|
173
195
|
// scenarios[]를 편집해 update-scenario에 다시 넣는다.
|
|
174
196
|
if (isMachineOutput(globalOpts) || scenarios.length === 0) {
|
|
175
197
|
(0, output_1.formatOutput)(data, globalOpts);
|
|
198
|
+
if (!isMachineOutput(globalOpts))
|
|
199
|
+
printEvidenceSummary(data);
|
|
176
200
|
return;
|
|
177
201
|
}
|
|
178
202
|
// 사람용: 시나리오는 key-value 표에 원문 JSON으로 쏟지 않고 한 눈에 보이는
|
|
@@ -190,6 +214,7 @@ function registerSqaCommand(program) {
|
|
|
190
214
|
String(s?.userflowRef ?? ''),
|
|
191
215
|
];
|
|
192
216
|
}));
|
|
217
|
+
printEvidenceSummary(data);
|
|
193
218
|
}
|
|
194
219
|
catch (error) {
|
|
195
220
|
// Error already handled
|
|
@@ -598,49 +623,6 @@ function registerSqaCommand(program) {
|
|
|
598
623
|
// Error already handled
|
|
599
624
|
}
|
|
600
625
|
});
|
|
601
|
-
// ══════════════════════════════════════════════════
|
|
602
|
-
// Run (수행) commands
|
|
603
|
-
// ══════════════════════════════════════════════════
|
|
604
|
-
// start-run 은 제거됐다(Run 폐지) — 판정은 check/check-bulk 로 시트에 직접 기록한다.
|
|
605
|
-
// ch sqa runs — 수행 목록
|
|
606
|
-
sqa
|
|
607
|
-
.command('runs')
|
|
608
|
-
.description('SQA 수행 목록 조회')
|
|
609
|
-
.option('--sort <field>', '정렬 필드')
|
|
610
|
-
.option('--desc', '내림차순 정렬')
|
|
611
|
-
.option('--page <number>', '페이지 번호', '1')
|
|
612
|
-
.action(async (options) => {
|
|
613
|
-
const globalOpts = program.opts();
|
|
614
|
-
try {
|
|
615
|
-
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
616
|
-
const params = {};
|
|
617
|
-
if (options.sort)
|
|
618
|
-
params.sortBy = options.sort;
|
|
619
|
-
if (options.desc)
|
|
620
|
-
params.sortOrder = 'desc';
|
|
621
|
-
params.page = parseInt(options.page, 10);
|
|
622
|
-
const { data } = await client.get('/sqa/runs/list', { params });
|
|
623
|
-
(0, output_1.formatOutput)(data, globalOpts);
|
|
624
|
-
}
|
|
625
|
-
catch (error) {
|
|
626
|
-
// Error already handled
|
|
627
|
-
}
|
|
628
|
-
});
|
|
629
|
-
// ch sqa run <runId> — 수행 상세
|
|
630
|
-
sqa
|
|
631
|
-
.command('run <runId>')
|
|
632
|
-
.description('SQA 수행 상세 조회')
|
|
633
|
-
.action(async (runId) => {
|
|
634
|
-
const globalOpts = program.opts();
|
|
635
|
-
try {
|
|
636
|
-
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
637
|
-
const { data } = await client.get(`/sqa/runs/${runId}`);
|
|
638
|
-
(0, output_1.formatOutput)(data, globalOpts);
|
|
639
|
-
}
|
|
640
|
-
catch (error) {
|
|
641
|
-
// Error already handled
|
|
642
|
-
}
|
|
643
|
-
});
|
|
644
626
|
// ch sqa check <sheetId> <itemId> — 시트 항목 판정 기록 (Run 폐지 — 시트가 살아 있는 체크리스트)
|
|
645
627
|
sqa
|
|
646
628
|
.command('check <sheetId> <itemId>')
|
|
@@ -648,12 +630,22 @@ function registerSqaCommand(program) {
|
|
|
648
630
|
// 값 검증은 ch-api DTO(CheckSqaItemDto)가 수행한다. na는 "해당 없음".
|
|
649
631
|
.requiredOption('--result <result>', '결과 (yes|no|na)')
|
|
650
632
|
.option('--note <note>', '비고')
|
|
651
|
-
.option('--evidence <text>', '증빙 — URL 또는 설명 텍스트
|
|
633
|
+
.option('--evidence <text>', '증빙 — URL 또는 설명 텍스트')
|
|
634
|
+
.option('--attach <filePaths>', '증빙 첨부파일 경로 (쉼표 구분). 기존 첨부 뒤에 덧붙는다')
|
|
652
635
|
.action(async (sheetId, itemId, options) => {
|
|
653
636
|
const globalOpts = program.opts();
|
|
654
637
|
try {
|
|
638
|
+
const attachPaths = parseAttachPaths(options.attach);
|
|
639
|
+
const missing = missingAttachPaths(attachPaths);
|
|
640
|
+
if (missing.length > 0) {
|
|
641
|
+
(0, output_1.failInput)(`첨부파일을 찾을 수 없습니다: ${missing.join(', ')}`);
|
|
642
|
+
return;
|
|
643
|
+
}
|
|
655
644
|
if (globalOpts.dryRun) {
|
|
656
645
|
(0, output_1.printInfo)(`[DRY-RUN] SQA 시트 "${sheetId}" 항목 "${itemId}" 판정 요청`);
|
|
646
|
+
if (attachPaths.length > 0) {
|
|
647
|
+
(0, output_1.printInfo)(`[DRY-RUN] 증빙 ${attachPaths.length}건 첨부 요청`);
|
|
648
|
+
}
|
|
657
649
|
return;
|
|
658
650
|
}
|
|
659
651
|
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
@@ -663,8 +655,15 @@ function registerSqaCommand(program) {
|
|
|
663
655
|
if (options.evidence)
|
|
664
656
|
body.evidence = options.evidence;
|
|
665
657
|
const { data } = await client.patch(`/sqa/${sheetId}/items/${itemId}/result`, body);
|
|
666
|
-
|
|
658
|
+
let uploaded = [];
|
|
659
|
+
if (attachPaths.length > 0) {
|
|
660
|
+
uploaded = await uploadEvidenceFiles(client, sheetId, itemId, attachPaths);
|
|
661
|
+
}
|
|
662
|
+
(0, output_1.formatOutput)(uploaded.length > 0 ? { ...data, files: uploaded } : data, globalOpts);
|
|
667
663
|
(0, output_1.printSuccess)('검토결과가 기록되었습니다.');
|
|
664
|
+
if (uploaded.length > 0) {
|
|
665
|
+
(0, output_1.printInfo)(`증빙 ${uploaded.length}건 첨부됨`);
|
|
666
|
+
}
|
|
668
667
|
}
|
|
669
668
|
catch (error) {
|
|
670
669
|
// Error already handled
|
|
@@ -678,7 +677,8 @@ function registerSqaCommand(program) {
|
|
|
678
677
|
.option('--closing', '종료 정합 확인(closing)을 판정한다. --step과 배타')
|
|
679
678
|
.requiredOption('--result <result>', '결과 (yes|no|clear — clear는 판정 해제)')
|
|
680
679
|
.option('--note <note>', '비고 — 재현 조건·판정 사유')
|
|
681
|
-
.option('--evidence <text>', '증빙 — URL 또는 설명 텍스트
|
|
680
|
+
.option('--evidence <text>', '증빙 — URL 또는 설명 텍스트')
|
|
681
|
+
.option('--attach <filePaths>', '증빙 첨부파일 경로 (쉼표 구분). 기존 첨부 뒤에 덧붙는다')
|
|
682
682
|
.addHelpText('after', `
|
|
683
683
|
시나리오 통과 = 스텝 전부 yes + 종료 정합(closing) yes. 실행하면서 스텝을 지날 때마다 기록한다.
|
|
684
684
|
ch sqa check-scenario <sheetId> SCN-001 --step 1 --result yes
|
|
@@ -703,8 +703,17 @@ function registerSqaCommand(program) {
|
|
|
703
703
|
(0, output_1.failInput)('--step은 1 이상의 정수여야 합니다.');
|
|
704
704
|
return;
|
|
705
705
|
}
|
|
706
|
+
const attachPaths = parseAttachPaths(options.attach);
|
|
707
|
+
const missingAttach = missingAttachPaths(attachPaths);
|
|
708
|
+
if (missingAttach.length > 0) {
|
|
709
|
+
(0, output_1.failInput)(`첨부파일을 찾을 수 없습니다: ${missingAttach.join(', ')}`);
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
706
712
|
if (globalOpts.dryRun) {
|
|
707
713
|
(0, output_1.printInfo)(`[DRY-RUN] 시나리오 "${scenarioId}" ${hasClosing ? '종료 정합' : `스텝 ${options.step}`} 판정 요청`);
|
|
714
|
+
if (attachPaths.length > 0) {
|
|
715
|
+
(0, output_1.printInfo)(`[DRY-RUN] 증빙 ${attachPaths.length}건 첨부 요청`);
|
|
716
|
+
}
|
|
708
717
|
return;
|
|
709
718
|
}
|
|
710
719
|
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
@@ -717,8 +726,19 @@ function registerSqaCommand(program) {
|
|
|
717
726
|
if (options.evidence)
|
|
718
727
|
body.evidence = options.evidence;
|
|
719
728
|
const { data } = await client.patch(`/sqa/${sheetId}/scenarios/${scenarioId}/step-result`, body);
|
|
720
|
-
|
|
729
|
+
let uploaded = [];
|
|
730
|
+
if (attachPaths.length > 0) {
|
|
731
|
+
// 증빙 자리 좌표는 ch-api와 같은 규칙 — 스텝 번호는 0부터다(CLI 인자는 1부터).
|
|
732
|
+
const key = hasClosing
|
|
733
|
+
? `scn-${scenarioId}-closing`
|
|
734
|
+
: `scn-${scenarioId}-step${stepIndex}`;
|
|
735
|
+
uploaded = await uploadEvidenceFiles(client, sheetId, key, attachPaths);
|
|
736
|
+
}
|
|
737
|
+
(0, output_1.formatOutput)(uploaded.length > 0 ? { ...data, files: uploaded } : data, globalOpts);
|
|
721
738
|
(0, output_1.printSuccess)('시나리오 판정이 기록되었습니다.');
|
|
739
|
+
if (uploaded.length > 0) {
|
|
740
|
+
(0, output_1.printInfo)(`증빙 ${uploaded.length}건 첨부됨`);
|
|
741
|
+
}
|
|
722
742
|
}
|
|
723
743
|
catch (error) {
|
|
724
744
|
// Error already handled
|
|
@@ -729,7 +749,11 @@ function registerSqaCommand(program) {
|
|
|
729
749
|
.command('check-bulk <sheetId>')
|
|
730
750
|
.description('SQA 시트 여러 항목 검토결과 일괄 기록')
|
|
731
751
|
// 각 항목 result는 yes|no|na (값 검증은 ch-api DTO가 수행).
|
|
732
|
-
.requiredOption('--file <filePath>', '결과 JSON 파일 경로 ({items:[{itemId,result,note
|
|
752
|
+
.requiredOption('--file <filePath>', '결과 JSON 파일 경로 ({items:[{itemId,result,note?,attach?:[경로]}]})')
|
|
753
|
+
.addHelpText('after', `
|
|
754
|
+
항목마다 attach 배열로 증빙을 함께 붙일 수 있다. 판정을 먼저 일괄 기록한 뒤 항목별로 업로드한다.
|
|
755
|
+
{ "items": [ { "itemId": "item-1-...", "result": "yes", "attach": ["a.png", "log.txt"] } ] }
|
|
756
|
+
`)
|
|
733
757
|
.action(async (sheetId, options) => {
|
|
734
758
|
const globalOpts = program.opts();
|
|
735
759
|
try {
|
|
@@ -751,94 +775,36 @@ function registerSqaCommand(program) {
|
|
|
751
775
|
(0, output_1.printError)('파일이 올바른 JSON 형식이 아닙니다.');
|
|
752
776
|
return;
|
|
753
777
|
}
|
|
778
|
+
// 첨부는 판정 본문에 섞지 않는다 — ch-api의 일괄 판정 DTO는 판정 필드만 받는다.
|
|
779
|
+
const attachByItem = new Map();
|
|
780
|
+
for (const item of Array.isArray(results?.items) ? results.items : []) {
|
|
781
|
+
const paths = Array.isArray(item?.attach)
|
|
782
|
+
? item.attach.filter((p) => typeof p === 'string')
|
|
783
|
+
: [];
|
|
784
|
+
if (paths.length > 0)
|
|
785
|
+
attachByItem.set(item.itemId, paths);
|
|
786
|
+
delete item.attach;
|
|
787
|
+
}
|
|
788
|
+
// 없는 파일은 판정을 보내기 전에 걸러낸다 — 절반만 붙은 상태로 끝나지 않게.
|
|
789
|
+
for (const [itemId, paths] of attachByItem) {
|
|
790
|
+
const missing = missingAttachPaths(paths);
|
|
791
|
+
if (missing.length > 0) {
|
|
792
|
+
(0, output_1.failInput)(`첨부파일을 찾을 수 없습니다 (${itemId}): ${missing.join(', ')}`);
|
|
793
|
+
return;
|
|
794
|
+
}
|
|
795
|
+
}
|
|
754
796
|
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
755
797
|
const { data } = await client.post(`/sqa/${sheetId}/items/result-bulk`, results);
|
|
756
|
-
|
|
757
|
-
(
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
// Error already handled
|
|
761
|
-
}
|
|
762
|
-
});
|
|
763
|
-
// complete 는 제거됐다(Run 폐지) — 완료 개념 없이 시트의 판정 현황이 곧 상태다.
|
|
764
|
-
// ch sqa summary <runId> — 수행 집계 (+ 시나리오 통과 현황)
|
|
765
|
-
sqa
|
|
766
|
-
.command('summary <runId>')
|
|
767
|
-
.description('SQA 수행 Pass/Fail 집계 + 시나리오 통과 현황 조회')
|
|
768
|
-
.action(async (runId) => {
|
|
769
|
-
const globalOpts = program.opts();
|
|
770
|
-
try {
|
|
771
|
-
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
772
|
-
// 집계 엔드포인트는 TC만 센다. 시나리오 통과 현황은 Run 상세의 스냅샷
|
|
773
|
-
// (run.scenarios)과 항목 결과로 여기서 계산한다. 두 요청을 병렬로 묶지
|
|
774
|
-
// 않는 것은 없는 runId일 때 같은 404를 두 번 찍지 않으려는 것이다.
|
|
775
|
-
const { data: summary } = await client.get(`/sqa/runs/${runId}/summary`);
|
|
776
|
-
const { data: run } = await client.get(`/sqa/runs/${runId}`);
|
|
777
|
-
const scenarios = Array.isArray(run?.scenarios)
|
|
778
|
-
? run.scenarios
|
|
779
|
-
: [];
|
|
780
|
-
// 시나리오가 없는 Run의 출력은 종전 그대로다 — 안 쓰는 프로젝트에 없던 키를
|
|
781
|
-
// 들이밀지 않는다.
|
|
782
|
-
if (scenarios.length === 0) {
|
|
783
|
-
(0, output_1.formatOutput)(summary, globalOpts);
|
|
784
|
-
return;
|
|
785
|
-
}
|
|
786
|
-
const statuses = computeScenarioRunStatus(scenarios, run?.items ?? []);
|
|
787
|
-
const passed = statuses.filter((s) => s.passed).length;
|
|
788
|
-
if (isMachineOutput(globalOpts)) {
|
|
789
|
-
(0, output_1.formatOutput)({
|
|
790
|
-
...summary,
|
|
791
|
-
scenarios: { passed, total: statuses.length, items: statuses },
|
|
792
|
-
}, globalOpts);
|
|
793
|
-
return;
|
|
798
|
+
let uploadedCount = 0;
|
|
799
|
+
for (const [itemId, paths] of attachByItem) {
|
|
800
|
+
const files = await uploadEvidenceFiles(client, sheetId, itemId, paths);
|
|
801
|
+
uploadedCount += files.length;
|
|
794
802
|
}
|
|
795
|
-
(0, output_1.formatOutput)(
|
|
796
|
-
(0, output_1.
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
s.name,
|
|
800
|
-
`${s.passedTcs}/${s.totalTcs}`,
|
|
801
|
-
s.passed ? 'Y' : 'N',
|
|
802
|
-
]));
|
|
803
|
-
}
|
|
804
|
-
catch (error) {
|
|
805
|
-
// Error already handled
|
|
806
|
-
}
|
|
807
|
-
});
|
|
808
|
-
// ch sqa export <runId> — 수행 엑셀 Export
|
|
809
|
-
sqa
|
|
810
|
-
.command('export <runId>')
|
|
811
|
-
.description('SQA 수행 엑셀 Export')
|
|
812
|
-
.requiredOption('--output <filePath>', '출력 파일 경로')
|
|
813
|
-
.action(async (runId, options) => {
|
|
814
|
-
const globalOpts = program.opts();
|
|
815
|
-
try {
|
|
816
|
-
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
817
|
-
const response = await client.get(`/sqa/runs/${runId}/export`, {
|
|
818
|
-
responseType: 'arraybuffer',
|
|
819
|
-
});
|
|
820
|
-
const outputPath = path.resolve(options.output);
|
|
821
|
-
fs.writeFileSync(outputPath, Buffer.from(response.data));
|
|
822
|
-
(0, output_1.printSuccess)(`엑셀 파일이 저장되었습니다: ${outputPath}`);
|
|
823
|
-
}
|
|
824
|
-
catch (error) {
|
|
825
|
-
// Error already handled
|
|
826
|
-
}
|
|
827
|
-
});
|
|
828
|
-
// ch sqa delete-run <runId> — 수행 삭제
|
|
829
|
-
sqa
|
|
830
|
-
.command('delete-run <runId>')
|
|
831
|
-
.description('SQA 수행 삭제')
|
|
832
|
-
.action(async (runId) => {
|
|
833
|
-
const globalOpts = program.opts();
|
|
834
|
-
try {
|
|
835
|
-
if (globalOpts.dryRun) {
|
|
836
|
-
(0, output_1.printInfo)(`[DRY-RUN] SQA Run "${runId}" 삭제 요청`);
|
|
837
|
-
return;
|
|
803
|
+
(0, output_1.formatOutput)(uploadedCount > 0 ? { ...data, attachedFiles: uploadedCount } : data, globalOpts);
|
|
804
|
+
(0, output_1.printSuccess)('일괄 판정이 완료되었습니다.');
|
|
805
|
+
if (uploadedCount > 0) {
|
|
806
|
+
(0, output_1.printInfo)(`증빙 ${uploadedCount}건 첨부됨 (항목 ${attachByItem.size}개)`);
|
|
838
807
|
}
|
|
839
|
-
const client = (0, client_1.createClient)({ projectId: globalOpts.project });
|
|
840
|
-
await client.delete(`/sqa/runs/${runId}`);
|
|
841
|
-
(0, output_1.printSuccess)('SQA 수행이 삭제되었습니다.');
|
|
842
808
|
}
|
|
843
809
|
catch (error) {
|
|
844
810
|
// Error already handled
|
package/dist/commands/sqa.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqa.js","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sqa.js","sourceRoot":"","sources":["../../src/commands/sqa.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: 2t-decencia-channel-change-manager
|
|
3
3
|
description: 기존 소통채널 프로젝트의 기능 추가/수정을 사용자와 대화로 명확화 → 전파 스킬로 연관 PRD/spec/유저플로우/정책/IA/화면/DB/SQA 일괄 갱신 → 변경으로 생긴 새 할일을 GitHub 이슈로 발행하는 오케스트레이터 스킬. (1)대화로 변경 내용 확정 → (2)[게이트] 영향 범위 확인 후 전파 적용 → (3)[게이트] 할일 목록 확인 후 이슈 발행. "이 기능 바꿀래"·"기획 수정"·"이거 추가해줘(기존 프로젝트)" 류 요청 시.
|
|
4
4
|
allowed-tools: Bash(ch:*) Bash(git:*) Bash(gh:*) Read Write
|
|
5
|
-
version: 1.
|
|
5
|
+
version: 1.37.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -10,7 +10,7 @@ description: |
|
|
|
10
10
|
(4) ch screens 명령(list/get/create/update/delete/migrate)으로 화면을 다루거나 레거시 프로젝트를 화면 모드로 이관할 때,
|
|
11
11
|
(5) spec의 화면 연결을 CLI로 걸거나 풀 때 (`ch specs screen-refs`),
|
|
12
12
|
(6) Spec ID를 JIRA 스타일(`LOGIN-001`)로 직접 지정할 때 (`ch specs create --id`).
|
|
13
|
-
version: 1.
|
|
13
|
+
version: 1.37.0
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
<!-- 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.
|
|
5
|
+
version: 1.37.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.
|
|
5
|
+
version: 1.37.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- 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) 내용 확정 → (3)spec 업로드 → (4)유저플로우 → (5)정책정의서 → (6)DB 스키마·spec 연결 → (7)화면설계서(화면 생성·연결) → (8)검증기준서(SQA). 각 단계 사용자 승인 게이트, 작성 디테일은 기존 2t-decencia-channel-*-v2 스킬을 적극 재사용. "새 기획 만들어줘"·"프로젝트 처음부터 세팅" 류 요청 시.
|
|
4
4
|
allowed-tools: Bash(ch:*) Bash(git:*) Read Write
|
|
5
|
-
version: 1.
|
|
5
|
+
version: 1.37.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- 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.
|
|
5
|
+
version: 1.37.0
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
<!-- ch-version-gate -->
|
|
@@ -12,7 +12,7 @@ description: |
|
|
|
12
12
|
(4) 보안/성능/접근성/호환성 비기능 TC를 시트에 채워야 할 때,
|
|
13
13
|
(5) 명세 영역별 완성형 TC 번들(퍼블리싱/프론트/백엔드 디센시아 운영 관점 포함)을 가져다 쓸 때,
|
|
14
14
|
(6) Sprint 종료 전 spec별 TC 통과·시나리오 통과 여부를 점검할 때.
|
|
15
|
-
version: 1.
|
|
15
|
+
version: 1.37.0
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
<!-- ch-version-gate -->
|
|
@@ -126,7 +126,13 @@ ch sqa reorder-items <sheetId> --file order.json # ["id1","id2",...] 또는 {
|
|
|
126
126
|
- `<itemId>`는 `ch sqa get <sheetId> --json`의 `items[].id`. 항상 최신값을 먼저 확보(§0).
|
|
127
127
|
- **`dbTableRefs`(SSOT 링크)**: 항목이 검증하는 DB 테이블을 `tableId`로 가리킨다(쉼표 구분). 서버가 실존 검증(없는 tableId → 400). 컬럼 정의·스키마는 절대 항목 문구에 적지 말 것 — db-tables가 SSOT([[2t-decencia-channel-db-schema-v2]] §SSOT 원칙). `update-item --db-tables`는 통째 교체. 이 직접 링크로 "테이블 변경 → 영향 SQA 항목"을 1-hop으로 추적한다(spec.relatedSpec 우회 불필요).
|
|
128
128
|
- **판정은 시트 항목에 직접 기록한다(Run 폐지)**: `ch sqa check <sheetId> <itemId> --result yes|no|na --note ... --evidence ...` / `check-bulk <sheetId> --file`. (`na` = 해당 없음, 값 검증은 ch-api DTO)
|
|
129
|
-
- **판정에는 비고·증빙을 남길 수 있다** — 비고(`--note`)·증빙 텍스트/URL(`--evidence`)
|
|
129
|
+
- **판정에는 비고·증빙을 남길 수 있다** — 비고(`--note`)·증빙 텍스트/URL(`--evidence`), 그리고 **증빙 파일은 `--attach`로 CLI에서 바로 붙인다**(쉼표 구분, 여러 장 가능). 웹에서도 같은 자리에 올릴 수 있다(시트 항목 클릭 → 사이드 패널).
|
|
130
|
+
- 항목: `ch sqa check <sheetId> <itemId> --result yes --note "…" --attach "a.png,log.txt"`
|
|
131
|
+
- 시나리오: `ch sqa check-scenario <sheetId> <scenarioId> --step 3 --result yes --attach "step3.png"`
|
|
132
|
+
- 일괄: `check-bulk`의 JSON 항목에 `"attach": ["a.png"]`를 넣는다.
|
|
133
|
+
- 스크린샷뿐 아니라 **실행 로그·판정 매트릭스(.txt/.csv)도 받는다** — 그쪽이 더 정확한 증빙일 때가 많다.
|
|
134
|
+
- 첨부는 **덧붙는다**(기존 것을 지우지 않는다). 재판정으로 결과가 뒤집혀도 이전 증빙이 남아 정정 이력이 읽힌다.
|
|
135
|
+
- 붙은 파일은 `ch sqa get --json`의 `items[].evidenceFiles`(시나리오는 `steps[].evidenceFiles`)에 파일명·크기·**열리는 URL**로 실려 온다.
|
|
130
136
|
- 항목 정의를 고쳤으면 그 항목만 다시 판정하면 된다 — 스냅샷이 없으니 실행이 낡을 일이 없다. 기획 변경 전파 시 영향받은 항목의 결과를 지워 재검증 대상으로 표시한다.
|
|
131
137
|
|
|
132
138
|
## 4. SQA 시트 구성 표준 — 무엇을 넣어야 하는가
|
|
@@ -496,7 +502,7 @@ ch specs update <specId> --status completed --no-version
|
|
|
496
502
|
- **TC를 시나리오 판정 기록처로 쓰지 말 것** — 시나리오 실행 중 개별 결함을 발견하면 그 TC에도 no를 남기는 건 정당하지만, 스텝 통과를 TC에 기록하는 건 옛 방식이다. 스텝 판정은 스텝에.
|
|
497
503
|
- **TC를 발명하지 말 것** — spec에서 도출한다(§2, 플로우 있으면 분기당·없으면 규칙당). 번들 전개·역할 전수 조합으로 TC를 불리는 것이 가장 흔한 실수다. 반대로 §4.2 핵심 9개 미등록도 누락이다.
|
|
498
504
|
- §4.3 번들을 **별도 시트 묶음으로 등록**하지 말 것 — 각 명세의 A축 항목으로 풀어 써야 한다. 추상 문구 그대로 박아넣지 말 것.
|
|
499
|
-
- 판정(`check`/`check-bulk`)은 시트 항목에 직접 남는다.
|
|
505
|
+
- 판정(`check`/`check-bulk`)은 시트 항목에 직접 남는다. 시트가 곧 살아 있는 체크리스트다.
|
|
500
506
|
- `update-item`/`delete-item`/`reorder-items`는 `itemId` 키 기반 → 반드시 `ch sqa get --json`으로 최신 id 확보 후 실행(stale id 주의).
|
|
501
507
|
- `reorder-items`의 `--order`는 현재 모든 항목 id를 빠짐없이·중복없이 나열해야 함. 일부만 주면 400.
|
|
502
508
|
- `ch sqa create`는 서버 DTO상 `performDate`가 필수 — CLI에서 `--date` 생략하면 오늘 날짜로 자동 채워지지만, 명시적 날짜가 필요하면 `--date YYYY-MM-DD` 지정.
|