@su-record/vibe 3.2.59 → 3.2.60

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vibe",
3
3
  "displayName": "Vibe",
4
- "version": "3.2.59",
4
+ "version": "3.2.60",
5
5
  "description": "Verification harness for AI coding agents — \"done\" is decided by deterministic gates (test exit codes, run-ledger, regression memory), not the model self-report.",
6
6
  "author": {
7
7
  "name": "su-record",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe",
3
- "version": "3.2.59",
3
+ "version": "3.2.60",
4
4
  "description": "Verification harness for AI coding agents — \"done\" is decided by deterministic gates (test exit codes, run-ledger, regression memory), not the model self-report.",
5
5
  "author": {
6
6
  "name": "su-record",
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA0BzC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAYjE;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpE;AAcD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAkChE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE;AAgCD,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKnF;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAU9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,GAAE,MAAM,GAAG,IAAW,GAClC,MAAM,CAwBR;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,GAAE,UAA8B,GAAG,IAAI,CAsFtE"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA+BzC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAYjE;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAMpE;AA0BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAuChE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzE;AAgCD,+DAA+D;AAC/D,eAAO,MAAM,gBAAgB,+BAA+B,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAKnF;AAaD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAU9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,GAAE,MAAM,GAAG,IAAW,GAClC,MAAM,CAwBR;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,QAAQ,GAAE,UAA8B,GAAG,IAAI,CAsFtE"}
@@ -7,7 +7,7 @@ import { join } from 'path';
7
7
  import { pathToFileURL } from 'url';
8
8
  import { log, getPackageJson } from '../utils.js';
9
9
  import { formatLLMStatus } from '../auth.js';
10
- import { installProjectHooks, installProjectCodexHooks, projectHooksStale } from '../setup.js';
10
+ import { installProjectHooks, installProjectCodexHooks, projectHooksStale, codexHooksStale, } from '../setup.js';
11
11
  import { detectCodexCli } from '../utils/cli-detector.js';
12
12
  import { getCoreConfigDir } from '../setup/GlobalInstaller.js';
13
13
  import { missingNativeDeps, repairNativeDeps, nativeDepHint } from '../setup/NativeDeps.js';
@@ -80,6 +80,16 @@ function hasClaudeHooks(projectRoot) {
80
80
  return false;
81
81
  }
82
82
  }
83
+ /** 위와 같은 기준의 Codex 판 — 파일만 있고 `hooks` 키가 없으면 미설치다 */
84
+ function hasCodexHooks(projectRoot) {
85
+ try {
86
+ const config = JSON.parse(readFileSync(join(projectRoot, '.codex', 'hooks.json'), 'utf-8'));
87
+ return Boolean(config.hooks);
88
+ }
89
+ catch {
90
+ return false;
91
+ }
92
+ }
83
93
  /**
84
94
  * 업그레이드 후 현재 프로젝트의 훅을 복구한다.
85
95
  *
@@ -120,11 +130,16 @@ export function repairProjectHooks(projectRoot) {
120
130
  // 보고(vibe status)와 같은 기준으로 복구한다 — `.codex/`·AGENTS.md 는 gitignore
121
131
  // 대상이라 fresh clone 에 없고, 아티팩트로만 판정하면 Codex 훅이 영영 복구되지
122
132
  // 않는다. `vibe init` 도 detectCodexCli().installed 로 설치를 결정한다.
133
+ //
134
+ // 판정 모양은 위 `.claude` 분기와 같아야 한다 — 한쪽만 staleness 를 보면 그 하네스
135
+ // 에서만 훅 정의 변경이 도달한다. 실측(v3.2.59): `PostCompact` 추가 후에도 기존
136
+ // `.codex/hooks.json` 은 `PreCompact` 까지만 남아 있었다.
123
137
  const usesCodex = hasCodexDir || hasAgentsMd || detectCodexCli().installed;
124
- if (usesCodex && !existsSync(join(projectRoot, '.codex', 'hooks.json'))) {
138
+ const codexStale = codexHooksStale(projectRoot);
139
+ if (usesCodex && (!hasCodexHooks(projectRoot) || codexStale)) {
125
140
  try {
126
141
  installProjectCodexHooks(projectRoot);
127
- repaired.push('.codex/hooks.json');
142
+ repaired.push(codexStale ? '.codex/hooks.json (stale)' : '.codex/hooks.json');
128
143
  }
129
144
  catch { /* 위와 동일 */ }
130
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../src/cli/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,22 @@ export interface CodexHooksConfig {
18
18
  };
19
19
  }
20
20
  export declare function buildCodexHooksConfig(coreDir?: string): CodexHooksConfig;
21
+ /**
22
+ * 설치된 Codex 프로젝트 훅이 현재 정의와 어긋났는가.
23
+ *
24
+ * WHY: `repairProjectHooks` 의 Codex 분기가 **부재만** 봤다 — 파일이 있으면 무조건
25
+ * 최신으로 취급했다. 그래서 훅 정의가 바뀌어도 이미 설치한 사용자에게는 **영영
26
+ * 도달하지 않는다**. 실측(v3.2.59): `PostCompact` 가 추가된 뒤 upgrade 해도 설치본은
27
+ * `PreCompact` 까지만 갖고 있었고, 파일을 지운 뒤 재실행해야 복구됐다.
28
+ *
29
+ * `.claude` 쪽은 `projectHooksStale` 이 같은 문제를 이미 막았다 — 이 함수는 그 판정을
30
+ * Codex 로 옮긴 것이고 안전 규약도 같다: 부재는 stale 이 아니라 미설치(호출부가 따로
31
+ * 본다), 판독 불가도 stale 이 아니다(사용자 설정을 함부로 덮지 않는다).
32
+ *
33
+ * 기대값을 파일 템플릿이 아니라 `buildCodexHooksConfig` 에서 얻는 이유: 설치가 쓰는
34
+ * 것과 **같은 출처**여야 판정과 설치가 갈라지지 않는다.
35
+ */
36
+ export declare function codexHooksStale(projectRoot: string, coreDir?: string): boolean;
21
37
  export declare function installProjectCodexHooks(projectRoot: string, coreDir?: string): void;
22
38
  export {};
23
39
  //# sourceMappingURL=CodexHooks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodexHooks.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/CodexHooks.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,YAAY,EAAE,cAAc,EAAE,CAAC;QAC/B,gBAAgB,EAAE,cAAc,EAAE,CAAC;QACnC,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,WAAW,EAAE,cAAc,EAAE,CAAC;QAC9B,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,mEAAmE;QACnE,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAaD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAA2B,GAAG,gBAAgB,CAa5F;AAaD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAA2B,GACnC,IAAI,CAWN"}
1
+ {"version":3,"file":"CodexHooks.d.ts","sourceRoot":"","sources":["../../../src/cli/setup/CodexHooks.ts"],"names":[],"mappings":"AAKA,UAAU,gBAAgB;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,gBAAgB,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,YAAY,EAAE,cAAc,EAAE,CAAC;QAC/B,gBAAgB,EAAE,cAAc,EAAE,CAAC;QACnC,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,WAAW,EAAE,cAAc,EAAE,CAAC;QAC9B,IAAI,EAAE,cAAc,EAAE,CAAC;QACvB,mEAAmE;QACnE,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,WAAW,EAAE,cAAc,EAAE,CAAC;KAC/B,CAAC;CACH;AAaD,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,MAA2B,GAAG,gBAAgB,CAa5F;AAaD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAA2B,GACnC,OAAO,CAIT;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAA2B,GACnC,IAAI,CAWN"}
@@ -38,6 +38,27 @@ function readExistingHooks(hooksPath) {
38
38
  return {};
39
39
  }
40
40
  }
41
+ /**
42
+ * 설치된 Codex 프로젝트 훅이 현재 정의와 어긋났는가.
43
+ *
44
+ * WHY: `repairProjectHooks` 의 Codex 분기가 **부재만** 봤다 — 파일이 있으면 무조건
45
+ * 최신으로 취급했다. 그래서 훅 정의가 바뀌어도 이미 설치한 사용자에게는 **영영
46
+ * 도달하지 않는다**. 실측(v3.2.59): `PostCompact` 가 추가된 뒤 upgrade 해도 설치본은
47
+ * `PreCompact` 까지만 갖고 있었고, 파일을 지운 뒤 재실행해야 복구됐다.
48
+ *
49
+ * `.claude` 쪽은 `projectHooksStale` 이 같은 문제를 이미 막았다 — 이 함수는 그 판정을
50
+ * Codex 로 옮긴 것이고 안전 규약도 같다: 부재는 stale 이 아니라 미설치(호출부가 따로
51
+ * 본다), 판독 불가도 stale 이 아니다(사용자 설정을 함부로 덮지 않는다).
52
+ *
53
+ * 기대값을 파일 템플릿이 아니라 `buildCodexHooksConfig` 에서 얻는 이유: 설치가 쓰는
54
+ * 것과 **같은 출처**여야 판정과 설치가 갈라지지 않는다.
55
+ */
56
+ export function codexHooksStale(projectRoot, coreDir = getCoreConfigDir()) {
57
+ const installed = readExistingHooks(path.join(projectRoot, '.codex', 'hooks.json'));
58
+ if (!installed.hooks)
59
+ return false;
60
+ return JSON.stringify(installed.hooks) !== JSON.stringify(buildCodexHooksConfig(coreDir).hooks);
61
+ }
41
62
  export function installProjectCodexHooks(projectRoot, coreDir = getCoreConfigDir()) {
42
63
  const codexDir = path.join(projectRoot, '.codex');
43
64
  const hooksPath = path.join(codexDir, 'hooks.json');
@@ -1 +1 @@
1
- {"version":3,"file":"CodexHooks.js","sourceRoot":"","sources":["../../../src/cli/setup/CodexHooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAwBxD,SAAS,cAAc,CAAC,OAAe,EAAE,SAAiB;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvG,OAAO,QAAQ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,SAAS,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,SAAiB;IACnD,OAAO;QACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;KAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAkB,gBAAgB,EAAE;IACxE,MAAM,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO;QACL,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;YAC5D,gBAAgB,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;YACpE,UAAU,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YACxD,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC5C,UAAU,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YACxD,WAAW,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;SAC3D;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,EAAE,CAAC;QACzC,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC9E,OAAO,MAAiC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,UAAkB,gBAAgB,EAAE;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACpD,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG;QACX,GAAG,QAAQ;QACX,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,KAAK;KAC5C,CAAC;IACF,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"CodexHooks.js","sourceRoot":"","sources":["../../../src/cli/setup/CodexHooks.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,6 @@
4
4
  export { detectOsLanguage } from './setup/LanguageDetector.js';
5
5
  export { getCoreConfigDir, } from './setup/GlobalInstaller.js';
6
6
  export { updateConstitution, updateRules, installProjectHooks, projectHooksStale, installCodexNotify, updateGitignore, updateConfig, generateProjectClaudeMd, generateProjectAgentsMd, generateProjectAntigravityMd, generateGlobalClaudeMd, generateGlobalCodexAgentsMd, generateGlobalAntigravityMd, } from './setup/ProjectSetup.js';
7
- export { buildCodexHooksConfig, installProjectCodexHooks, } from './setup/CodexHooks.js';
7
+ export { buildCodexHooksConfig, codexHooksStale, installProjectCodexHooks, } from './setup/CodexHooks.js';
8
8
  export { migrateLegacyCore, consolidateLegacyVibe, cleanupLegacy, removeLocalAssets, cleanupClaudeConfig, cleanupLegacyMcp } from './setup/LegacyMigration.js';
9
9
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EACL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAG/D,OAAO,EACL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
package/dist/cli/setup.js CHANGED
@@ -7,6 +7,6 @@ export { detectOsLanguage } from './setup/LanguageDetector.js';
7
7
  export { getCoreConfigDir, } from './setup/GlobalInstaller.js';
8
8
  // ProjectSetup
9
9
  export { updateConstitution, updateRules, installProjectHooks, projectHooksStale, installCodexNotify, updateGitignore, updateConfig, generateProjectClaudeMd, generateProjectAgentsMd, generateProjectAntigravityMd, generateGlobalClaudeMd, generateGlobalCodexAgentsMd, generateGlobalAntigravityMd, } from './setup/ProjectSetup.js';
10
- export { buildCodexHooksConfig, installProjectCodexHooks, } from './setup/CodexHooks.js';
10
+ export { buildCodexHooksConfig, codexHooksStale, installProjectCodexHooks, } from './setup/CodexHooks.js';
11
11
  export { migrateLegacyCore, consolidateLegacyVibe, cleanupLegacy, removeLocalAssets, cleanupClaudeConfig, cleanupLegacyMcp } from './setup/LegacyMigration.js';
12
12
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC,eAAe;AACf,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,mBAAmB;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,kBAAkB;AAClB,OAAO,EACL,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC,eAAe;AACf,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,sBAAsB,EACtB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "3.2.59",
3
+ "version": "3.2.60",
4
4
  "description": "AI Coding Framework for Claude Code — 7+ agents, 52 skills, multi-LLM orchestration",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
@@ -182,16 +182,30 @@ relevant files, and patterns in under 200 tokens.
182
182
  "이 요구사항으로 SPEC 을 쓸 때 결정이 필요한 지점" 을 **개수 제한 없이** 열거한다. 각 항목에 제안 기본값을 붙인다:
183
183
 
184
184
  ```
185
- {결정 지점} → {제안 기본값} → {갈라짐: Done Criteria 가 실제로 달라지는가 yes/no}
185
+ {결정 지점} → {제안 기본값} → {갈라짐: Done Criteria 가 실제로 달라지는가 yes/no} → {되돌림: 싸다 | 비싸다 | 못 되돌린다}
186
186
  ```
187
187
 
188
- 훑을 축(최소): 범위 경계 · 데이터 모델의 필수 필드 · 외부 연동 여부 · 인증/권한 · 오류 처리 방침 · 수치 파라미터(타임아웃·크기·재시도) · 하위 호환 · 기존 테스트/계약 영향 · 산출물 위치 · 언어·표기 규약.
188
+ 훑을 축(최소): 범위 경계 · 데이터 모델의 필수 필드 · 외부 연동 여부 · 인증/권한 · 오류 처리 방침 · 수치 파라미터(타임아웃·크기·재시도) · 하위 호환 · 기존 테스트/계약 영향 · 산출물 위치 · 언어·표기 규약 · **데이터 보존과 마이그레이션 경로** · **실패했을 때 사용자에게 보이는 것** · **부하가 늘면 먼저 깨지는 곳**.
189
+
190
+ 뒤의 세 축은 운영 축이다. 앞의 열 축은 "무엇을 만드는가" 를 훑지만, 만든 것이 오래 돌 때 비싼 값을 치르게 하는 결정은 대부분 이 셋에서 나온다. 3-a 는 내부 단계라 축을 늘려도 사용자가 답할 것은 늘지 않는다.
191
+
192
+ **되돌림 등급**은 "이 결정을 나중에 뒤집을 때 무엇을 치르는가" 로 판정한다. 결정 지점이 안 보이는 이유는 지식이 없어서가 아니라 **어느 결정이 비싼지 구분할 수단이 없어서**다 — 버튼 색과 저장 스키마가 같은 무게로 보인다. 등급이 그 구분을 대신한다.
193
+
194
+ | 등급 | 뜻 | 예 |
195
+ |---|---|---|
196
+ | 싸다 | 코드만 고치면 된다 | 타임아웃 값, 페이지 크기, 문구 |
197
+ | 비싸다 | 고치려면 여러 곳을 함께 바꿔야 한다 | 모듈 경계, 공개 API 형태 |
198
+ | 못 되돌린다 | 이미 쌓인 데이터·외부 계약이 남아 마이그레이션이 필요하다 | 저장 스키마, 식별자 체계, 과금 단위 |
199
+
200
+ 판정이 애매하면 **위로 올린다** — 싼 것을 비싸게 잘못 본 비용은 질문 1개고, 반대는 마이그레이션이다.
189
201
 
190
202
  이 목록 자체는 출력하지 않는다. 출력 대상은 3-b 의 질문과 최종 SPEC 의 Assumptions 뿐이다.
191
203
 
192
204
  #### 3-b. 답변 요청 (사용자에게 출력)
193
205
 
194
- 3-a 결과에서 `갈라짐: yes` 인 항목만 남기고, 그중 **최대 3개**만 묻는다. 3개를 넘으면 영향 범위가 큰 순으로 3개를 고르고 나머지는 기본값을 채택한다.
206
+ 3-a 결과에서 `갈라짐: yes` 인 항목만 남기고, 그중 **최대 3개**만 묻는다. 3개를 넘으면 **되돌림 등급이 높은 순**(`못 되돌린다` > `비싸다` > `싸다`)으로 고르고, 같은 등급 안에서는 영향 범위가 큰 순으로 고른다. 나머지는 기본값을 채택한다.
207
+
208
+ > 상한을 늘리지 않고 **순서만** 바꾼다. 사용자에게 주어진 3번의 답변 기회를 되돌리기 가장 비싼 결정에 먼저 쓰는 것이 목적이다 — 되돌릴 수 있는 결정은 틀려도 나중에 고치면 된다.
195
209
 
196
210
  - 질문은 **한 번에 묶어서** (번호 목록), 각 질문에 제안 기본값을 붙인다.
197
211
  - **3-b 로 묻지 않은 3-a 항목은 전부** SPEC 의 Assumptions 섹션에 기록한다. 누락 0건 — Step 5 체크리스트가 이를 점검한다.
@@ -214,6 +228,7 @@ relevant files, and patterns in under 200 tokens.
214
228
  - **Scenarios** — Given-When-Then. Happy path + 주요 edge case. 각 시나리오는 Done Criteria 중 하나에 매핑.
215
229
  - **Out of Scope** — 이번에 하지 않는 것을 명시 (비어 있으면 스코프 팽창 신호).
216
230
  - **Assumptions** — 3단계에서 채택한 기본값 전부.
231
+ - **되돌리기 어려운 결정** (해당 시에만) — 3-a 에서 `되돌림: 못 되돌린다` 로 판정한 항목. 각 줄은 `{무엇을 정했는가} → {나중에 뒤집으면 치를 비용}` 평문 1줄. Assumptions 안의 하위 목록이 아니라 **별도 섹션**으로 둔다 — 하류가 헤딩으로 찾을 수 있어야 한다. 해당 항목이 0건이면 섹션을 통째로 지운다.
217
232
  - **Constraints** — 구현·보안·호환성 경계. execution packet으로 압축돼도 반드시 보존한다.
218
233
  - **Rejected Alternatives (Traps)** — 검토했으나 기각한 설계 접근 + **기계적 기각 사유** 1줄씩 ("확장 안 됨" 같은 라벨이 아니라 "shelve 는 multi-writer 에서 thread-safe 하지 않다" 수준). 루프가 같은 막다른 길을 재방문하지 않기 위한 섹션 — Constraints 처럼 execution packet 압축에도 보존한다. 실질적 설계 선택지가 없었거나 demo/prototype 이면 생략.
219
234
  - **API Contract** (해당 시에만) — 엔드포인트/요청/응답 형태. 이 섹션이 있으면 이후 `/vibe.contract` 가 drift 를 검사한다.
@@ -236,6 +251,7 @@ relevant files, and patterns in under 200 tokens.
236
251
  - [ ] Out of Scope 가 비어 있지 않은가
237
252
  - [ ] 요구사항에 있던 것 중 SPEC 에서 빠진 것이 없는가
238
253
  - [ ] 3-a 커버리지 스윕에서 나온 결정 지점이 **전부** 3-b 질문 또는 Assumptions 중 하나로 귀결됐는가 (누락 0건)
254
+ - [ ] 3-a 의 모든 항목에 되돌림 등급이 붙었고, `못 되돌린다` 항목이 SPEC 의 `되돌리기 어려운 결정` 섹션과 승인 메시지에 **둘 다** 반영됐는가 (0건이면 섹션·블록 모두 없어야 통과)
239
255
  - [ ] 설계 선택지가 있었던 결정에 기각 대안이 Rejected Alternatives (Traps) 로 남았는가 — 기계적 사유 포함 (production 만; 선택지가 없었으면 통과)
240
256
  - [ ] 헤더에 `Stakes:` 필드가 있고, demo/prototype 인데 SPEC 이 분할·대형화되지 않았는가
241
257
 
@@ -252,6 +268,7 @@ SPEC 요약(Goal, Done Criteria, 시나리오 수, Out of Scope, 열린 Assumpti
252
268
  Done Criteria: {N}개 (전부 결정론 게이트)
253
269
  Scenarios: {M}개 · Out of Scope: {K}항목
254
270
  Assumptions: {3개 이하면 전부 · 초과면 핵심 3개 + "그 외 N건은 SPEC 참조"}
271
+ {되돌림 노출 블록 — 아래 규칙 참조. 해당 없으면 이 줄을 통째로 없앤다}
255
272
 
256
273
  승인하면 이 SPEC 이 루프의 Done 정의가 됩니다.
257
274
  [1] 승인 → 이 세션에서 계속 [2] 승인 → 새 세션에서 run{권장 표시}
@@ -261,6 +278,23 @@ SPEC 요약(Goal, Done Criteria, 시나리오 수, Out of Scope, 열린 Assumpti
261
278
  - 수정 요청 → 반영 후 재제시 (사용자 주도 반복 — 자동 루프 아님).
262
279
  - `automationLevel: autonomous` → 승인 생략, 요약만 출력하고 `[1]` 로 진행 (세션 경계 권고 없음 — 비대화형이라 리셋 불가).
263
280
 
281
+ #### 되돌림 노출 블록
282
+
283
+ 승인 직전은 되돌릴 수 없는 결정이 아직 공짜인 마지막 지점이다. 그 지점에서 "SPEC 하단 Assumptions 를 읽으라" 고 하는 것은 읽지 않는 쪽에 걸고 있는 것과 같다 — 그래서 승인 메시지로 끌어올린다.
284
+
285
+ - **노출 게이트는 `못 되돌린다` 하나뿐이다.** `비싸다` 는 3-b 정렬에만 쓰고 노출하지 않는다.
286
+ - **0건이면 블록을 통째로 생략한다.** 빈 블록도, "없음" 표기도 출력하지 않는다.
287
+ - 최대 3줄. 초과분은 `그 외 N건은 SPEC 참조` 로 접는다 (Assumptions 접기와 같은 임계 — 서로 다른 두 상한이 공존하지 않게).
288
+ - 각 줄은 전문용어 없는 평문 1줄. 읽는 사람이 기술 배경이 없다는 전제로 쓴다.
289
+ - `automationLevel: autonomous` 에서는 승인 메시지 자체가 없으므로 노출도 없다. 등급 판정과 SPEC 섹션 기록은 그대로 한다.
290
+
291
+ ```
292
+ ⚠️ 나중에 바꾸기 비싼 결정 ({N}건 — 지금 정하면 나중엔 데이터 마이그레이션이 필요합니다):
293
+ · {무엇을 정했는가} → {나중에 뒤집으면 치를 비용}
294
+ ```
295
+
296
+ 왜 게이트를 좁게 잡는가: 넓히면 거의 모든 SPEC 에서 블록이 뜨고, 매번 뜨는 경고는 읽히지 않는다. 위 Structure 절이 조건부인 것과 같은 이유다 — **해당 없는 SPEC 에서 침묵하지 않으면 통과 의식이 된다.** 자체 점검: 버그 수정 SPEC 에서 이 블록이 뜨면 등급 판정이 과하게 잡힌 것이다.
297
+
264
298
  #### 세션 경계 선택지 (`[2]`)
265
299
 
266
300
  승인 게이트에 **편승하는 선택지**다. 별도 프롬프트를 만들지 않는다 — loop-contract 의 "의무적 사람 개입은 SPEC 승인 1회" 불변식을 지킨다.
@@ -34,6 +34,21 @@
34
34
 
35
35
  - {Default adopted without asking — e.g., session expiry 24h}
36
36
 
37
+ ### 되돌리기 어려운 결정
38
+
39
+ > 3-a 커버리지 스윕에서 `되돌림: 못 되돌린다` 로 판정한 항목만 적는다. **해당 항목이
40
+ > 없으면 이 절을 통째로 지운다** — 해당 없는데 남겨두면 통과 의식이 된다 (Structure
41
+ > 절과 같은 조건부 규약).
42
+ >
43
+ > 여기 오는 것은 이미 쌓인 데이터나 외부 계약 때문에 코드만 고쳐서는 못 되돌리는
44
+ > 결정이다: 저장 스키마, 식별자 체계, 과금 단위 등. 각 줄은 전문용어 없이
45
+ > `{무엇을 정했는가} → {나중에 뒤집으면 치를 비용}` 한 줄로 쓴다.
46
+ >
47
+ > 이 절의 내용은 `vibe.spec` Step 6 승인 메시지에도 최대 3줄로 노출된다 — SPEC 을
48
+ > 열어보지 않는 사람에게 승인 직전에 한 번은 보이게 하기 위해서다.
49
+
50
+ - {무엇을 정했는가} → {나중에 뒤집으면 치를 비용}
51
+
37
52
  ### Constraints
38
53
 
39
54
  - {Invariant or implementation boundary that every execution packet must preserve}