@su-record/vibe 3.2.7 → 3.2.9
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/CLAUDE.md +5 -2
- package/agents/build-error-resolver.md +1 -1
- package/agents/code-reviewer.md +1 -1
- package/agents/e2e-tester.md +1 -1
- package/agents/event/event-ops.md +1 -1
- package/agents/event/event-planner.md +1 -1
- package/agents/implementer.md +1 -1
- package/agents/security-reviewer.md +1 -1
- package/agents/tester.md +1 -1
- package/agents/ui/design-reviewer.md +1 -1
- package/agents/ui/design-system-gen.md +1 -1
- package/dist/cli/commands/info.d.ts +9 -0
- package/dist/cli/commands/info.d.ts.map +1 -1
- package/dist/cli/commands/info.js +32 -0
- package/dist/cli/commands/info.js.map +1 -1
- package/dist/cli/commands/info.test.js +34 -1
- package/dist/cli/commands/info.test.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts +18 -0
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +60 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/commands/upgrade.test.js +51 -1
- package/dist/cli/commands/upgrade.test.js.map +1 -1
- package/dist/cli/generate-release-notes.js +8 -6
- package/dist/cli/generate-release-notes.js.map +1 -1
- package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
- package/dist/cli/postinstall/claude-agents.js +3 -1
- package/dist/cli/postinstall/claude-agents.js.map +1 -1
- package/dist/cli/postinstall/constants.d.ts.map +1 -1
- package/dist/cli/postinstall/constants.js +17 -12
- package/dist/cli/postinstall/constants.js.map +1 -1
- package/dist/tests/curated-release-notes.test.js +55 -1
- package/dist/tests/curated-release-notes.test.js.map +1 -1
- package/dist/tools/release/releaseNotes.d.ts +22 -0
- package/dist/tools/release/releaseNotes.d.ts.map +1 -1
- package/dist/tools/release/releaseNotes.js +45 -0
- package/dist/tools/release/releaseNotes.js.map +1 -1
- package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -3
- package/hooks/scripts/__tests__/code-check-detectors.test.js +58 -0
- package/hooks/scripts/code-check.js +7 -0
- package/package.json +1 -1
- package/skills/vibe.analyze/references/output-templates.md +2 -2
- package/skills/vibe.review/SKILL.md +37 -18
- package/skills/vibe.run/SKILL.md +8 -6
- package/skills/vibe.run/references/parallel-agents.md +44 -60
- package/skills/vibe.run/references/ultrawork-mode.md +1 -1
- package/skills/vibe.spec/SKILL.md +2 -2
- package/vibe/rules/principles/dual-harness-doctrine.md +10 -9
|
@@ -403,22 +403,27 @@ export const LEGACY_SKILL_DIRS = [
|
|
|
403
403
|
];
|
|
404
404
|
// ─── Claude Code 네이티브 서브에이전트 매핑 ───
|
|
405
405
|
// Claude Code 모델 매핑 (사용 가능: sonnet, opus, haiku, inherit)
|
|
406
|
-
// 독트린: 기본은 세션 모델 상속 —
|
|
407
|
-
// (
|
|
406
|
+
// 독트린: 기본은 세션 모델 상속(`inherit`) — 명시 tier 는 의도적 예외만.
|
|
407
|
+
// WHY: 세션 모델이 강할수록(예: Opus 급) 고정 tier 는 업그레이드가 아니라
|
|
408
|
+
// **다운그레이드**로 작동한다. vibe.review 는 리뷰어를 8~11개 spawn 하므로
|
|
409
|
+
// 고정 tier 하나가 리뷰 품질 전체의 상한이 된다. 비용 라우팅으로 아끼는 것보다
|
|
410
|
+
// 약한 모델이 만든 오탐·누락을 사람이 되돌리는 비용이 크다.
|
|
411
|
+
// 예외는 "세션 모델과 무관하게 항상 이 tier 여야 한다"를 근거로 댈 수 있을 때만 추가한다.
|
|
408
412
|
export const CLAUDE_MODEL_MAPPING = {
|
|
413
|
+
// 의도적 예외 — 되돌리기 비싼 설계 판단은 세션 모델이 낮아도 상한을 보장한다
|
|
409
414
|
'architect': 'opus',
|
|
410
|
-
'implementer': '
|
|
411
|
-
'tester': '
|
|
412
|
-
'e2e-tester': '
|
|
413
|
-
'build-error-resolver': '
|
|
414
|
-
'code-reviewer': '
|
|
415
|
-
'security-reviewer': '
|
|
415
|
+
'implementer': 'inherit',
|
|
416
|
+
'tester': 'inherit',
|
|
417
|
+
'e2e-tester': 'inherit',
|
|
418
|
+
'build-error-resolver': 'inherit',
|
|
419
|
+
'code-reviewer': 'inherit',
|
|
420
|
+
'security-reviewer': 'inherit',
|
|
416
421
|
// UI agents (conditional group)
|
|
417
|
-
'design-reviewer': '
|
|
418
|
-
'design-system-gen': '
|
|
422
|
+
'design-reviewer': 'inherit',
|
|
423
|
+
'design-system-gen': 'inherit',
|
|
419
424
|
// Event agents (conditional group)
|
|
420
|
-
'event-planner': '
|
|
421
|
-
'event-ops': '
|
|
425
|
+
'event-planner': 'inherit',
|
|
426
|
+
'event-ops': 'inherit',
|
|
422
427
|
};
|
|
423
428
|
// Claude Code 에이전트 도구 세트 정의
|
|
424
429
|
export const CLAUDE_AGENT_TOOLS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/postinstall/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
3
|
import { describe, expect, it } from 'vitest';
|
|
4
|
-
import { classifyCommits, createReleaseNotes, selectPreviousSemanticTag, } from '../tools/release/releaseNotes.js';
|
|
4
|
+
import { classifyCommits, createReleaseNotes, selectChangedSpecPaths, selectPreviousSemanticTag, } from '../tools/release/releaseNotes.js';
|
|
5
5
|
const CLASSIFICATION_CASES = [
|
|
6
6
|
['feat: add packets', 'Added'],
|
|
7
7
|
['fix(parser): reject drift', 'Fixed'],
|
|
@@ -102,5 +102,59 @@ describe('release notes CLI', () => {
|
|
|
102
102
|
const cli = readFileSync(resolve('src/cli/generate-release-notes.ts'), 'utf8');
|
|
103
103
|
expect(cli).toContain("'--diff-filter=AMR'");
|
|
104
104
|
});
|
|
105
|
+
it('detects renames so pure moves can be filtered', () => {
|
|
106
|
+
const cli = readFileSync(resolve('src/cli/generate-release-notes.ts'), 'utf8');
|
|
107
|
+
expect(cli).toContain("'--name-status'");
|
|
108
|
+
expect(cli).toContain("'-M'");
|
|
109
|
+
});
|
|
110
|
+
// pathspec 은 rename 짝을 잘라 R100 을 A 로 만든다 — 경로 필터는 순수 함수 쪽에 있어야 한다
|
|
111
|
+
it('does not restrict the spec diff with a pathspec', () => {
|
|
112
|
+
const cli = readFileSync(resolve('src/cli/generate-release-notes.ts'), 'utf8');
|
|
113
|
+
expect(cli).not.toContain("'--', '.vibe/specs'");
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
/**
|
|
117
|
+
* 디렉토리 재편이 릴리즈 노트를 오염시키던 회귀를 막는다:
|
|
118
|
+
* 레거시 `.claude/vibe/specs/` → `.vibe/specs/` 이전만으로 몇 달 전 feature 가
|
|
119
|
+
* 신규 Highlights 로 올라갔다 (v3.2.8 준비 중 발견).
|
|
120
|
+
*/
|
|
121
|
+
describe('selectChangedSpecPaths', () => {
|
|
122
|
+
it('keeps added and modified specs', () => {
|
|
123
|
+
const nameStatus = ['A\t.vibe/specs/new-feature.md', 'M\t.vibe/specs/existing.md'].join('\n');
|
|
124
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual([
|
|
125
|
+
'.vibe/specs/new-feature.md',
|
|
126
|
+
'.vibe/specs/existing.md',
|
|
127
|
+
]);
|
|
128
|
+
});
|
|
129
|
+
it('drops pure renames — a move is not release content', () => {
|
|
130
|
+
const nameStatus = 'R100\t.claude/vibe/specs/old-feature.md\t.vibe/specs/old-feature.md';
|
|
131
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual([]);
|
|
132
|
+
});
|
|
133
|
+
it('keeps a rename that also changed content, using the new path', () => {
|
|
134
|
+
const nameStatus = 'R087\t.vibe/specs/before.md\t.vibe/specs/after.md';
|
|
135
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual(['.vibe/specs/after.md']);
|
|
136
|
+
});
|
|
137
|
+
it('drops deletions — they do not exist at the current tag', () => {
|
|
138
|
+
expect(selectChangedSpecPaths('D\t.vibe/specs/removed.md')).toEqual([]);
|
|
139
|
+
});
|
|
140
|
+
it('ignores non-markdown entries and blank lines', () => {
|
|
141
|
+
const nameStatus = ['A\t.vibe/specs/notes.txt', '', 'A\t.vibe/specs/real.md'].join('\n');
|
|
142
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual(['.vibe/specs/real.md']);
|
|
143
|
+
});
|
|
144
|
+
// 경로 필터가 git pathspec 이 아니라 이 함수에 있어야 하는 이유:
|
|
145
|
+
// pathspec 으로 제한하면 rename 원본이 밖에 있을 때 git 이 R100 대신 A 를 낸다.
|
|
146
|
+
it('filters to .vibe/specs/ so the diff can run without a pathspec', () => {
|
|
147
|
+
const nameStatus = [
|
|
148
|
+
'M\tsrc/cli/index.ts',
|
|
149
|
+
'A\tCLAUDE.md',
|
|
150
|
+
'M\t.vibe/features/thing.feature',
|
|
151
|
+
'A\t.vibe/specs/real.md',
|
|
152
|
+
].join('\n');
|
|
153
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual(['.vibe/specs/real.md']);
|
|
154
|
+
});
|
|
155
|
+
it('drops the legacy .claude/vibe/specs source side of a move', () => {
|
|
156
|
+
const nameStatus = 'R100\t.claude/vibe/specs/a.md\t.vibe/specs/a.md';
|
|
157
|
+
expect(selectChangedSpecPaths(nameStatus)).toEqual([]);
|
|
158
|
+
});
|
|
105
159
|
});
|
|
106
160
|
//# sourceMappingURL=curated-release-notes.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"curated-release-notes.test.js","sourceRoot":"","sources":["../../src/tests/curated-release-notes.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"curated-release-notes.test.js","sourceRoot":"","sources":["../../src/tests/curated-release-notes.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,28 @@ export interface ReleaseNotesInput {
|
|
|
15
15
|
type ReleaseSection = 'Breaking' | 'Added' | 'Fixed' | 'Changed' | 'Documentation' | 'Internal';
|
|
16
16
|
export type ClassifiedCommits = Record<ReleaseSection, string[]>;
|
|
17
17
|
export declare function selectPreviousSemanticTag(tags: string[], currentTag: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* `git diff --name-status -M --diff-filter=AMR <range>` 출력에서
|
|
20
|
+
* **이번 릴리즈의 SPEC**만 골라낸다.
|
|
21
|
+
*
|
|
22
|
+
* 경로 필터를 git pathspec 이 아니라 여기서 하는 이유: `-- .vibe/specs` 로
|
|
23
|
+
* 제한하면 rename 의 원본이 pathspec 밖일 때 git 이 짝을 못 찾아 R100 대신 A 로
|
|
24
|
+
* 보고하고, 순수 이동이 신규 SPEC 으로 새어든다.
|
|
25
|
+
*
|
|
26
|
+
* 제외 대상:
|
|
27
|
+
* - `.vibe/specs/` 밖의 경로 (릴리즈 노트의 SPEC 이 아니다)
|
|
28
|
+
* - `D` — 삭제된 SPEC (currentTag 에 없어 `git show` 가 실패한다)
|
|
29
|
+
* - `R100`/`C100` — 내용이 그대로인 이동/개명. 디렉토리 재편(예: 레거시
|
|
30
|
+
* `.claude/vibe/specs/` → `.vibe/specs/`)만으로 몇 달 전 feature 가 신규
|
|
31
|
+
* Highlights 로 올라가면 릴리즈 노트가 사용자를 오인시킨다. 이동은 릴리즈
|
|
32
|
+
* 내용이 아니다.
|
|
33
|
+
*
|
|
34
|
+
* `R` 중 유사도가 100 미만인 것(개명 + 실제 수정)은 신규 경로로 유지한다.
|
|
35
|
+
*
|
|
36
|
+
* @param nameStatus `--name-status` 원문 (pathspec 없이 전체 트리)
|
|
37
|
+
* @returns currentTag 기준 SPEC 경로
|
|
38
|
+
*/
|
|
39
|
+
export declare function selectChangedSpecPaths(nameStatus: string): string[];
|
|
18
40
|
export declare function classifyCommits(commits: ReleaseCommit[]): ClassifiedCommits;
|
|
19
41
|
export declare function createReleaseNotes(input: ReleaseNotesInput): string;
|
|
20
42
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseNotes.d.ts","sourceRoot":"","sources":["../../../src/tools/release/releaseNotes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,KAAK,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC;AAChG,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;AAmCjE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWpF;AAMD,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAa3E;AA4BD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkBnE"}
|
|
1
|
+
{"version":3,"file":"releaseNotes.d.ts","sourceRoot":"","sources":["../../../src/tools/release/releaseNotes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,KAAK,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,CAAC;AAChG,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC;AAmCjE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAWpF;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAmBnE;AAMD,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,CAa3E;AA4BD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkBnE"}
|
|
@@ -42,6 +42,51 @@ export function selectPreviousSemanticTag(tags, currentTag) {
|
|
|
42
42
|
throw new Error(`No previous semantic tag found for ${currentTag}`);
|
|
43
43
|
return candidates[0].tag;
|
|
44
44
|
}
|
|
45
|
+
/** SPEC 으로 인정하는 경로 접두사 — 레거시 `.claude/vibe/specs/` 는 제외(이전 원본) */
|
|
46
|
+
const SPEC_PATH_PREFIX = '.vibe/specs/';
|
|
47
|
+
/**
|
|
48
|
+
* `git diff --name-status -M --diff-filter=AMR <range>` 출력에서
|
|
49
|
+
* **이번 릴리즈의 SPEC**만 골라낸다.
|
|
50
|
+
*
|
|
51
|
+
* 경로 필터를 git pathspec 이 아니라 여기서 하는 이유: `-- .vibe/specs` 로
|
|
52
|
+
* 제한하면 rename 의 원본이 pathspec 밖일 때 git 이 짝을 못 찾아 R100 대신 A 로
|
|
53
|
+
* 보고하고, 순수 이동이 신규 SPEC 으로 새어든다.
|
|
54
|
+
*
|
|
55
|
+
* 제외 대상:
|
|
56
|
+
* - `.vibe/specs/` 밖의 경로 (릴리즈 노트의 SPEC 이 아니다)
|
|
57
|
+
* - `D` — 삭제된 SPEC (currentTag 에 없어 `git show` 가 실패한다)
|
|
58
|
+
* - `R100`/`C100` — 내용이 그대로인 이동/개명. 디렉토리 재편(예: 레거시
|
|
59
|
+
* `.claude/vibe/specs/` → `.vibe/specs/`)만으로 몇 달 전 feature 가 신규
|
|
60
|
+
* Highlights 로 올라가면 릴리즈 노트가 사용자를 오인시킨다. 이동은 릴리즈
|
|
61
|
+
* 내용이 아니다.
|
|
62
|
+
*
|
|
63
|
+
* `R` 중 유사도가 100 미만인 것(개명 + 실제 수정)은 신규 경로로 유지한다.
|
|
64
|
+
*
|
|
65
|
+
* @param nameStatus `--name-status` 원문 (pathspec 없이 전체 트리)
|
|
66
|
+
* @returns currentTag 기준 SPEC 경로
|
|
67
|
+
*/
|
|
68
|
+
export function selectChangedSpecPaths(nameStatus) {
|
|
69
|
+
const paths = [];
|
|
70
|
+
for (const line of nameStatus.split('\n')) {
|
|
71
|
+
const fields = line.split('\t').map((field) => field.trim());
|
|
72
|
+
const status = fields[0];
|
|
73
|
+
if (!status)
|
|
74
|
+
continue;
|
|
75
|
+
// rename/copy 는 `R100 old new` 형태 — 대상 경로는 마지막 필드
|
|
76
|
+
const isRenameLike = /^[RC]\d*$/.test(status);
|
|
77
|
+
const target = isRenameLike ? fields[2] : fields[1];
|
|
78
|
+
if (!target || !target.endsWith('.md'))
|
|
79
|
+
continue;
|
|
80
|
+
if (!target.startsWith(SPEC_PATH_PREFIX))
|
|
81
|
+
continue;
|
|
82
|
+
if (status.startsWith('D'))
|
|
83
|
+
continue;
|
|
84
|
+
if (isRenameLike && /^[RC]100$/.test(status))
|
|
85
|
+
continue;
|
|
86
|
+
paths.push(target);
|
|
87
|
+
}
|
|
88
|
+
return paths;
|
|
89
|
+
}
|
|
45
90
|
function emptySections() {
|
|
46
91
|
return { Breaking: [], Added: [], Fixed: [], Changed: [], Documentation: [], Internal: [] };
|
|
47
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseNotes.js","sourceRoot":"","sources":["../../../src/tools/release/releaseNotes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"releaseNotes.js","sourceRoot":"","sources":["../../../src/tools/release/releaseNotes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
[2026-07-
|
|
2
|
-
[2026-07-
|
|
3
|
-
[2026-07-
|
|
1
|
+
[2026-07-26T20:30:54.627Z] rm -rf /
|
|
2
|
+
[2026-07-26T20:30:54.745Z] ls -la
|
|
3
|
+
[2026-07-26T20:30:54.863Z] rm -rf src/infra/lib/evolution/
|
|
@@ -153,3 +153,61 @@ describe('console.log 허용 경로 정책', () => {
|
|
|
153
153
|
expect(isConsoleAllowed('src/infra/lib/MemoryManager.ts')).toBe(false);
|
|
154
154
|
});
|
|
155
155
|
});
|
|
156
|
+
|
|
157
|
+
// ─── 확장자 게이트 (문서 안의 코드 스니펫 오탐 방지) ──────────────────────
|
|
158
|
+
/**
|
|
159
|
+
* SKILL.md 등 문서에 인용된 `console.log(` 는 커밋되면 안 되는 디버그 코드가
|
|
160
|
+
* 아니라 예시다. 확장자 게이트가 없으면 문서를 편집할 때마다 고칠 수도 없는
|
|
161
|
+
* P1 이 주입되고, 반복되는 오탐이 게이트 신뢰도를 깎는다.
|
|
162
|
+
*
|
|
163
|
+
* 재구현이 아니라 실제 code-check.js 의 run() 을 통과시켜 검증한다.
|
|
164
|
+
*/
|
|
165
|
+
describe('console.log 확장자 게이트', () => {
|
|
166
|
+
let tempDir;
|
|
167
|
+
let runCodeCheck;
|
|
168
|
+
|
|
169
|
+
beforeEach(async () => {
|
|
170
|
+
tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'vibe-codecheck-ext-'));
|
|
171
|
+
({ run: runCodeCheck } = await import('../code-check.js'));
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
afterEach(() => {
|
|
175
|
+
fs.rmSync(tempDir, { recursive: true, force: true });
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
/** 허용 glob 에 걸리지 않는 경로를 쓰기 위해 src/feature/ 아래에 만든다 */
|
|
179
|
+
function writeFixture(name, body) {
|
|
180
|
+
const dir = path.join(tempDir, 'src', 'feature');
|
|
181
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
182
|
+
const full = path.join(dir, name);
|
|
183
|
+
fs.writeFileSync(full, body);
|
|
184
|
+
return full;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
it('마크다운 안의 console.log 는 findings 를 만들지 않는다', async () => {
|
|
188
|
+
const filePath = writeFixture(
|
|
189
|
+
'guide.md',
|
|
190
|
+
['# Guide', '', '```bash', 'node -e "console.log(1)"', '```', ''].join('\n'),
|
|
191
|
+
);
|
|
192
|
+
|
|
193
|
+
const { findings } = await runCodeCheck({ filePath });
|
|
194
|
+
|
|
195
|
+
expect(findings.filter(f => /console\.log/.test(f))).toEqual([]);
|
|
196
|
+
});
|
|
197
|
+
|
|
198
|
+
it('JSON 안의 console.log 문자열도 findings 를 만들지 않는다', async () => {
|
|
199
|
+
const filePath = writeFixture('fixture.json', '{ "cmd": "console.log(1)" }\n');
|
|
200
|
+
|
|
201
|
+
const { findings } = await runCodeCheck({ filePath });
|
|
202
|
+
|
|
203
|
+
expect(findings.filter(f => /console\.log/.test(f))).toEqual([]);
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
it('코드 확장자에서는 여전히 탐지한다 (게이트가 탐지 자체를 죽이지 않음)', async () => {
|
|
207
|
+
const filePath = writeFixture('service.ts', 'export const f = () => { console.log(1); };\n');
|
|
208
|
+
|
|
209
|
+
const { findings } = await runCodeCheck({ filePath });
|
|
210
|
+
|
|
211
|
+
expect(findings.some(f => /console\.log/.test(f))).toBe(true);
|
|
212
|
+
});
|
|
213
|
+
});
|
|
@@ -124,11 +124,18 @@ function detectAnyType(lines) {
|
|
|
124
124
|
|
|
125
125
|
/**
|
|
126
126
|
* P1: console.log 탐지 — 허용 경로가 아닌 곳의 src/ 코드.
|
|
127
|
+
*
|
|
128
|
+
* 코드 확장자에만 적용한다: 마크다운·JSON·텍스트에 인용된 `console.log(` 는
|
|
129
|
+
* 커밋되면 안 되는 디버그 코드가 아니라 문서상의 예시다. 확장자 게이트가 없으면
|
|
130
|
+
* SKILL.md 안의 bash/JS 스니펫이 매 편집마다 P1 으로 주입돼, 고칠 수도 없는
|
|
131
|
+
* 경고가 반복되고 게이트 신뢰도가 떨어진다.
|
|
132
|
+
*
|
|
127
133
|
* @param {string[]} lines
|
|
128
134
|
* @param {string} filePath
|
|
129
135
|
* @returns {Array<{ line: number, match: string, severity: 'P1' }>}
|
|
130
136
|
*/
|
|
131
137
|
function detectConsoleLogs(lines, filePath) {
|
|
138
|
+
if (!CODE_EXT_RE.test(filePath)) return [];
|
|
132
139
|
if (isConsoleAllowed(filePath)) return [];
|
|
133
140
|
const findings = [];
|
|
134
141
|
lines.forEach((line, i) => {
|
package/package.json
CHANGED
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
## Mode 1: Scale for Large Projects (6+ related files) — Additional Agent Prompts
|
|
16
16
|
|
|
17
17
|
```text
|
|
18
|
-
Agent(subagent_type="Explore",
|
|
18
|
+
Agent(subagent_type="Explore",
|
|
19
19
|
prompt="Find all test files related to [FEATURE]. Identify tested vs untested paths.")
|
|
20
20
|
|
|
21
|
-
Agent(subagent_type="Explore",
|
|
21
|
+
Agent(subagent_type="Explore",
|
|
22
22
|
prompt="Analyze [FEATURE] configuration, environment variables, and external integrations.")
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -7,7 +7,7 @@ user-invocable: true
|
|
|
7
7
|
|
|
8
8
|
# /vibe.review
|
|
9
9
|
|
|
10
|
-
**Parallel Agent Code Review**
|
|
10
|
+
**Parallel Agent Code Review** — focus 별 전문 리뷰어를 **가능한 범위에서 병렬로, 나머지는 순차로** 실행 (production 기본 셋 8종 + 조건부)
|
|
11
11
|
|
|
12
12
|
## Usage
|
|
13
13
|
|
|
@@ -31,7 +31,9 @@ user-invocable: true
|
|
|
31
31
|
> CODEX_AVAILABLE=$(node "{{VIBE_PATH}}/hooks/scripts/codex-detect.js" 2>/dev/null || echo "unavailable")
|
|
32
32
|
> ```
|
|
33
33
|
>
|
|
34
|
-
> `available`이면
|
|
34
|
+
> `available`이면 Codex 플러그인의 review/rescue 명령을 사용하고, `unavailable`이면 GPT+Antigravity Race 모드로 동작한다.
|
|
35
|
+
>
|
|
36
|
+
> ⚠️ **명령 이름을 가정하지 않는다.** 과거 본문은 `/codex:review`·`/codex:rescue` 를 고정 호출했으나, 이는 특정 플러그인 설치본에만 존재하는 표면이다. 실제 사용 가능한 명령을 확인한 뒤 쓰고, 없으면 Race 모드로 폴백한다 — 존재하지 않는 슬래시 명령을 실행하려 시도하지 않는다.
|
|
35
37
|
|
|
36
38
|
## Race Mode (v2.6.9)
|
|
37
39
|
|
|
@@ -41,9 +43,11 @@ user-invocable: true
|
|
|
41
43
|
|
|
42
44
|
## File Reading Policy (Mandatory)
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
46
|
+
> 규칙은 **전체 읽기**이지 특정 도구 이름이 아니다. 하네스가 제공하는 파일 읽기 수단을 쓴다 — Claude Code 는 `Read` 도구, Codex 는 셸(`cat`/`sed -n`) 등. 도구 이름이 없다고 규칙을 건너뛰지 않는다.
|
|
47
|
+
|
|
48
|
+
- **소스코드 파일**: 리뷰 대상 파일은 전체를 읽은 후 리뷰한다 (검색 결과만 훑어보고 판단 금지)
|
|
49
|
+
- **검색 도구 사용 제한**: grep/ripgrep 류는 **파일 위치 탐색**에만 쓴다. 내용 파악과 리뷰는 전체 읽기로 한다
|
|
50
|
+
- **에이전트 실행 시**: 프롬프트에 "대상 파일을 전체 읽은 후 분석하라"를 포함한다
|
|
47
51
|
- **부분 읽기 금지**: Grep 결과의 주변 몇 줄만 보고 판단하지 말 것. 전체 맥락을 파악해야 정확한 리뷰 가능
|
|
48
52
|
|
|
49
53
|
## Priority System
|
|
@@ -82,7 +86,7 @@ user-invocable: true
|
|
|
82
86
|
- "All items must be verified" → Only P1 is mandatory, P2/P3 are best-effort
|
|
83
87
|
- "Found one more issue" (repeated) → Only report P1s not mentioned in previous review
|
|
84
88
|
- Forcing code changes for P3 issues → P3 goes to TODO files only, never force code changes
|
|
85
|
-
- Infinite retries on auto-fix failure →
|
|
89
|
+
- Infinite retries on auto-fix failure → **escalation ladder**: 최초 시도 → 재시도 1회 → (Codex 플러그인 있으면) Codex Rescue 1회 → TODO. 같은 방식으로 계속 재시도하지 않는다
|
|
86
90
|
|
|
87
91
|
## Process
|
|
88
92
|
|
|
@@ -114,19 +118,30 @@ Detect project tech stack FIRST before launching reviewers.
|
|
|
114
118
|
| demo / prototype | >5 또는 prototype | correctness + security + data-integrity **3종** |
|
|
115
119
|
| production | 무관 | 아래 Core Reviewers 전체 (기존 기본 동작 — 불변) |
|
|
116
120
|
|
|
117
|
-
**Spawn
|
|
121
|
+
**Spawn one reviewer per focus, as concurrently as the harness allows** — a `code-reviewer` instance per focus plus `security-reviewer`, each scoped to the changed files.
|
|
122
|
+
|
|
123
|
+
호출 계약(하네스 무관): "에이전트 `{agent}` 를 인자 `Review {FILES} — focus: {focus}` 로 실행한다"
|
|
118
124
|
|
|
119
125
|
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
run agent code-reviewer args: "Review {FILES} — focus: correctness"
|
|
127
|
+
run agent code-reviewer args: "Review {FILES} — focus: data-integrity"
|
|
128
|
+
run agent code-reviewer args: "Review {FILES} — focus: performance"
|
|
129
|
+
run agent code-reviewer args: "Review {FILES} — focus: architecture"
|
|
130
|
+
run agent security-reviewer args: "Review {FILES} for vulnerabilities"
|
|
125
131
|
```
|
|
126
132
|
|
|
133
|
+
| 하네스 | 실행 방식 |
|
|
134
|
+
|---|---|
|
|
135
|
+
| Claude Code | 네이티브 서브에이전트를 **한 메시지에 모두** 스폰 (동시 실행) |
|
|
136
|
+
| Codex | 동시 슬롯 한도 내에서 스폰하고, 남는 focus 는 **순차 실행**한다 |
|
|
137
|
+
|
|
138
|
+
> **동시 슬롯이 focus 수보다 적으면 focus 를 버리지 말고 순차로 돌린다.** 커버리지가 동시성보다 우선이다 — 리뷰 축을 조용히 빠뜨리면 P1 을 놓친다. 스킵한 focus 가 있으면 최종 보고에 명시한다.
|
|
139
|
+
|
|
127
140
|
Stack-specific focus (`idioms`) is added when the diff touches that stack's files. Collect all results, then dedupe/merge findings before Phase 3.
|
|
128
141
|
|
|
129
|
-
**Core Reviewers (
|
|
142
|
+
**Core Reviewers (production stakes 의 기본 셋 — `code-reviewer` 를 focus 별로 하나씩 + `security-reviewer`):**
|
|
143
|
+
|
|
144
|
+
> demo/prototype 에서는 위 리뷰어 스케일링 표의 축소 셋만 실행한다. 이 표는 **production 의 전체 셋**이며 "무조건 8개 전부"라는 뜻이 아니다 — stakes 판정이 셋 크기를 결정한다 (SSOT: `vibe/rules/loop-contract.md` Stakes 표).
|
|
130
145
|
| Agent (focus) | Focus |
|
|
131
146
|
|-------|-------|
|
|
132
147
|
| security-reviewer | OWASP Top 10, vulnerabilities |
|
|
@@ -158,7 +173,7 @@ UI 파일이 없으면 이 Phase 전체를 건너뛴다 — reference 도 읽지
|
|
|
158
173
|
|
|
159
174
|
**검증 방법: "양쪽 동시 읽기"**
|
|
160
175
|
|
|
161
|
-
|
|
176
|
+
생산자와 소비자 코드를 **같은 판단 안에서 함께** 읽어 교차 비교한다 (한쪽만 읽고 판단 금지). 두 파일을 동시에 열 도구가 없어도 규칙은 유효하다 — 순서대로 전체를 읽은 뒤 비교하면 된다.
|
|
162
177
|
|
|
163
178
|
> Read `references/boundary-check.md` for the full verification-area table and checklist.
|
|
164
179
|
|
|
@@ -210,12 +225,16 @@ After agent results:
|
|
|
210
225
|
|
|
211
226
|
### Auto-Fix 실패 시 Codex Rescue (Codex 플러그인 활성화 시)
|
|
212
227
|
|
|
213
|
-
P1/P2 auto-fix
|
|
228
|
+
P1/P2 auto-fix 가 **재시도 1회까지 실패**하면(= 시도 2회), TODO 로 내리기 전에 Codex 에 **1회** 위임한다 — escalation ladder SSOT: 위 Anti-Patterns.
|
|
229
|
+
|
|
230
|
+
위임 요청 내용(호출 표면 무관):
|
|
214
231
|
|
|
215
232
|
```
|
|
216
|
-
|
|
233
|
+
Fix {priority} issue: {issue-description}. File: {file-path}
|
|
217
234
|
```
|
|
218
235
|
|
|
236
|
+
이 요청을 Codex 플러그인이 **실제로 제공하는** rescue/review 명령으로 전달한다. 제공 명령을 확인할 수 없으면 위임을 건너뛰고 바로 TODO 로 내린다 — 존재하지 않는 슬래시 명령을 실행하려 시도하지 않는다 (위 "명령 이름을 가정하지 않는다").
|
|
237
|
+
|
|
219
238
|
Codex 수정 완료 후 해당 리뷰 에이전트가 재검증.
|
|
220
239
|
|
|
221
240
|
### Phase 6: Todo File Creation (Items Requiring Manual Handling)
|
|
@@ -235,8 +254,8 @@ Save **remaining** findings to `.vibe/todos/`:
|
|
|
235
254
|
> Read `references/output-template.md` for the full Fix Workflow prompt template.
|
|
236
255
|
|
|
237
256
|
- Wait for user's choice before proceeding
|
|
238
|
-
- If user chooses VIBE → wait for
|
|
239
|
-
- If user chooses Plan Mode →
|
|
257
|
+
- If user chooses VIBE → wait for the user to invoke the `vibe.spec` skill
|
|
258
|
+
- If user chooses Plan Mode → enter the harness's plan/read-only mode if it has one (Claude Code: plan mode). **하네스에 등가 모드가 없으면**(Codex 등) 모드 전환 대신 "계획만 제시하고 사용자 승인 전까지 파일을 수정하지 않는다"를 그대로 지킨다 — 없는 모드를 호출하려 시도하지 않는다.
|
|
240
259
|
|
|
241
260
|
## Core Tools (Code Analysis)
|
|
242
261
|
|
package/skills/vibe.run/SKILL.md
CHANGED
|
@@ -41,10 +41,12 @@ Execute **Scenario-Driven Implementation** with automatic quality verification.
|
|
|
41
41
|
|
|
42
42
|
## File Reading Policy (Mandatory)
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
- **
|
|
47
|
-
-
|
|
44
|
+
> 규칙은 **전체 읽기**이지 특정 도구 이름이 아니다. 하네스가 제공하는 파일 읽기 수단을 쓴다 — Claude Code 는 `Read` 도구, Codex 는 셸(`cat`/`sed -n`) 등. 도구 이름이 없다고 규칙을 건너뛰지 않는다.
|
|
45
|
+
|
|
46
|
+
- **SPEC/Feature 파일**: 전체를 읽는다 (검색 결과 일부만 보고 판단 금지)
|
|
47
|
+
- **소스코드 파일**: 구현/수정 대상 파일은 전체를 읽은 후 작업한다
|
|
48
|
+
- **검색 도구 사용 제한**: grep/ripgrep 류는 **파일 위치 탐색**(어떤 파일에 있는지)에만 쓴다. 내용 파악은 전체 읽기로 한다
|
|
49
|
+
- **에이전트 실행 시**: 프롬프트에 "대상 파일을 전체 읽은 후 구현하라"를 포함한다
|
|
48
50
|
|
|
49
51
|
## **Scenario-Driven Development (SDD)**
|
|
50
52
|
|
|
@@ -120,7 +122,7 @@ After implementing each scenario, **automatic verification**:
|
|
|
120
122
|
> 전체 Boulder Loop 다이어그램, automation level 정의, confirmation matrix: `references/ultrawork-mode.md`
|
|
121
123
|
|
|
122
124
|
`ultrawork` 또는 `ulw` 포함 시 vibe.run-specific 동작:
|
|
123
|
-
- 병렬 탐색 (3
|
|
125
|
+
- 병렬 탐색 — 하네스의 네이티브 서브에이전트를 **동시 슬롯 한도까지** 스폰 (CC: 한 메시지에 3개 이상). 슬롯이 부족하면 개수를 줄이거나 순차 실행하되 탐색 항목을 버리지 않는다
|
|
124
126
|
- 비대화형 (중단점 없음)
|
|
125
127
|
- Race Review (GPT+Antigravity) 기본 활성화
|
|
126
128
|
- stuck 시 TODO 기록 후 다음 시나리오로 (사용자 질문 없음)
|
|
@@ -177,7 +179,7 @@ Default: a
|
|
|
177
179
|
| 1-1 | Phase Isolation Protocol | 3+ phase SPEC 은 phase 단위 격리 + 체크포인트 필수 |
|
|
178
180
|
| 1-2 | SPEC-First Gate | SPEC 에 없는 것을 구현하지 않는다 |
|
|
179
181
|
| 2 | Extract Scenario List | Feature 파일의 시나리오가 작업 단위 |
|
|
180
|
-
| 3 | Scenario-by-Scenario Implementation | 시나리오
|
|
182
|
+
| 3 | Scenario-by-Scenario Implementation | 기본 순차. **구현→검증 쌍은 시나리오 단위로 쪼개지 않는다**. `autonomous` 에서 서로 의존하지 않는 시나리오는 병렬 가능하되 검증은 시나리오별로 각각 (SSOT: 위 "하네스-안전 증분") |
|
|
181
183
|
| 4 | Brand Assets | 신규 프로젝트만 (`references/brand-assets.md`) |
|
|
182
184
|
| 5 | Race Code Review | `references/race-review.md` |
|
|
183
185
|
| 6 | Quality Report | 자동 생성 |
|