@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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CLAUDE.md +1 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/skills/vibe.continue/references/handoff.md +1 -1
- package/skills/vibe.run/references/parallel-agents.md +17 -9
- package/vibe/constitution.md +27 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe",
|
|
3
3
|
"displayName": "Vibe",
|
|
4
|
-
"version": "3.2.
|
|
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.
|
|
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
package/package.json
CHANGED
|
@@ -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
|
|
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
|
|
93
|
+
**Correct — Single message with multiple parallel spawns:**
|
|
94
94
|
```
|
|
95
95
|
<message>
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
→
|
|
100
|
+
→ 세 건이 동시에 돈다. 벽시계 시간은 **가장 느린 하나**로 수렴한다
|
|
101
101
|
```
|
|
102
102
|
|
|
103
103
|
**WRONG — Sequential calls (DO NOT DO THIS):**
|
|
104
104
|
```
|
|
105
|
-
<message>
|
|
106
|
-
<message>
|
|
107
|
-
<message>
|
|
108
|
-
→
|
|
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:
|
package/vibe/constitution.md
CHANGED
|
@@ -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
|