@su-record/vibe 3.2.36 → 3.2.37

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.36",
4
+ "version": "3.2.37",
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.36",
3
+ "version": "3.2.37",
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",
package/CLAUDE.md CHANGED
@@ -39,6 +39,7 @@ Function ≤50 lines · Nesting ≤3 · Params ≤5 · Cyclomatic ≤10 — appl
39
39
 
40
40
  ### Forbidden Patterns
41
41
  No `console.log` in commits · No hardcoded strings/numbers · No commented-out code · No incomplete code without TODO
42
+ - **수치에는 출처를 붙인다** — 실측(무엇을 어떻게 쟀는지) · 1차 문서 · 추정(추정임을 명시). 셋 다 아니면 숫자를 쓰지 않고 방향만 적는다. 측정 안 한 배수/퍼센트 금지, 모델마다 달라지는 값의 절대 하드코딩 금지(하네스 임계 신호를 쓴다). SSOT: `vibe/constitution.md` §3.5
42
43
 
43
44
  ### Convergence (review / auto-fix loops)
44
45
  Loop semantics SSOT: `vibe/rules/loop-contract.md` (ANCHOR→ACT→JUDGE→RECORD; exit = gates pass │ stuck │ max_iterations).
package/README.md CHANGED
@@ -142,7 +142,7 @@ codex
142
142
 
143
143
  # 라이프사이클
144
144
  /vibe.design lint # Stitch 9-섹션 완전성 검증
145
- /vibe.design verify # 구현 ↔ DESIGN.md hex 토큰 드리프트 (<1s/100 파일)
145
+ /vibe.design verify # 구현 ↔ DESIGN.md hex 토큰 드리프트
146
146
  ```
147
147
 
148
148
  **자동 통합**:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@su-record/vibe",
3
- "version": "3.2.36",
3
+ "version": "3.2.37",
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",
@@ -4,7 +4,7 @@ Use this document before a session ends or a long pause when detailed work state
4
4
 
5
5
  ## When to Generate
6
6
 
7
- - Context reaches roughly 80–100k tokens.
7
+ - Context reaches the harness's own threshold — the `context_window_80/90/95` signal, i.e. the 85% rule in CLAUDE.md. Do not hardcode an absolute token count: the window differs by model (200k vs 1M), so a fixed number is wrong for most sessions.
8
8
  - The session has already been compacted three times.
9
9
  - Work will pause for an extended period.
10
10
  - Complex progress needs a durable record for a teammate or future session.
@@ -90,24 +90,32 @@ is the SSOT for proportional execution.
90
90
 
91
91
  ### Parallel Task Call Pattern (MUST FOLLOW)
92
92
 
93
- **Correct — Single message with multiple parallel Tasks:**
93
+ **Correct — Single message with multiple parallel spawns:**
94
94
  ```
95
95
  <message>
96
- Task("Analyze src/components/ for existing patterns")
97
- Task("Check package.json dependencies")
98
- Task("Find usage of similar features in codebase")
96
+ Agent("Analyze src/components/ for existing patterns")
97
+ Agent("Check package.json dependencies")
98
+ Agent("Find usage of similar features in codebase")
99
99
  </message>
100
- All 3 run simultaneously, ~3x faster
100
+ 건이 동시에 돈다. 벽시계 시간은 **가장 느린 하나**로 수렴한다
101
101
  ```
102
102
 
103
103
  **WRONG — Sequential calls (DO NOT DO THIS):**
104
104
  ```
105
- <message>Task("Analyze...")</message>
106
- <message>Task("Check...")</message>
107
- <message>Task("Find...")</message>
108
- 3x slower, wastes time
105
+ <message>Agent("Analyze...")</message>
106
+ <message>Agent("Check...")</message>
107
+ <message>Agent("Find...")</message>
108
+ 벽시계 시간이 **셋의 합**이 된다. 서로 읽지 않는 작업을 줄 세운 대가다
109
109
  ```
110
110
 
111
+ > 도구 이름은 하네스가 바꾼다 — 서브에이전트 툴은 `Task` 에서 `Agent` 로 옮겨갔다
112
+ > (2026-08 실측: 세션 로그 60개에서 `Agent` 13회 / `Task` 0회). Codex 에는 이 이름의
113
+ > 도구가 없으므로 **호출 문법이 아니라 의도**로 읽는다 — "독립 작업은 한 번에 띄운다".
114
+ >
115
+ > **배수로 말하지 않는다.** 이전 판에는 "~3x faster" 라고 적혀 있었는데 근거가 없고
116
+ > 사실도 아니다 — 병렬 실행의 벽시계 시간은 개수로 나눠지지 않고 가장 느린 항목과
117
+ > 스폰 오버헤드로 정해진다. 측정하지 않은 배수는 적지 않는다.
118
+
111
119
  ### Background Agent Pattern (autonomous + parallel ACT)
112
120
 
113
121
  Use the harness's native background subagents — spawn them in one message and continue working; completion notifications arrive automatically:
@@ -118,9 +118,36 @@ All reference documents are stored globally and specified in `.vibe/config.json`
118
118
  - Clear git commit messages
119
119
  - Use TODO/FIXME comments
120
120
  - Document important decisions
121
+ - **수치에는 출처를 붙인다** — 아래 참조
121
122
 
122
123
  ---
123
124
 
125
+ ## 3.5 수치 출처 규율 (Numbers Need Provenance)
126
+
127
+ 문서·SPEC·커밋 메시지에 쓰는 **모든 수치는 출처가 있어야 한다.** 출처는 셋 중 하나다:
128
+
129
+ | 종류 | 표기 | 예 |
130
+ |---|---|---|
131
+ | **실측** | 무엇을 어떻게 쟀는지 함께 | "세션 로그 60개 실측: `Agent` 13회 / `Task` 0회" |
132
+ | **1차 문서** | 공급자 공식 문서·명세 링크 | "동시 상한 min(16, cores-2) — Workflow 도구 명세" |
133
+ | **추정** | **추정임을 명시**하고 계산 근거를 남긴다 | "시나리오 상수 × 횟수 (추정)" |
134
+
135
+ 출처가 없으면 **숫자를 쓰지 않는다.** "더 빠르다", "줄어든다" 로 방향만 적는 것이
136
+ 틀린 배수를 적는 것보다 낫다.
137
+
138
+ **금지**
139
+ - 측정하지 않은 배수·퍼센트 (`3x faster`, `70% 절감`)
140
+ - 모델·환경에 따라 달라지는 값의 절대 하드코딩 (`80–100k 토큰` — 컨텍스트 창이
141
+ 200k 인지 1M 인지에 따라 뜻이 달라진다. 하네스가 주는 임계 신호를 쓴다)
142
+ - 출처 없이 인용된 제3자 수치 — **인용 자체가 1차 출처의 대체물이 아니다**
143
+
144
+ **WHY**: 근거 없는 수치는 반증되기 전까지 사실처럼 유통되고, 그 위에서 내린 결정은
145
+ 되돌리기 어렵다. 널리 퍼진 "AI 코딩 비용의 90%는 불필요한 컨텍스트" 인용문은 1차
146
+ 출처가 확인되지 않았고, 함께 돌던 "린트에 최상위 모델 = 30배" 는 공식 가격표 기준
147
+ 최대 10배, "배치 70~90% 절감" 은 공식 할인율 50% 였다. 방향은 맞아도 숫자는
148
+ 근거가 없었다. vibe 는 완료를 자기보고가 아니라 결정론적 게이트로 판정한다 —
149
+ 같은 기준을 **문서의 수치**에도 적용한다.
150
+
124
151
  ## 4. Tech Stack
125
152
 
126
153
  ### Backend