@su-record/vibe 3.2.43 → 3.2.45
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.
|
|
4
|
+
"version": "3.2.45",
|
|
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.45",
|
|
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
|
@@ -125,6 +125,19 @@ Claude Code 는 `Workflow` 도구(dynamic workflows)를 제공한다 — 한 실
|
|
|
125
125
|
- **Codex 에는 등가물이 없다** — 하네스별 능력 차이지 워크플로 분기가 아니다. vibe 코어의 루프 계약은 양쪽에서 동일하게 남는다 (Dual-Harness Doctrine)
|
|
126
126
|
- 넘기더라도 **격리·검증 규정은 그대로** 적용된다 — 파일을 쓰는 병렬 단위는 worktree, 검증자는 독립 컨텍스트
|
|
127
127
|
|
|
128
|
+
### 테스트는 불변식을 고정하고, 선택은 고정하지 않는다
|
|
129
|
+
값을 박은 단언은 유지보수자가 선택을 바꾸려 할 때 **"되돌려라" 를 요구한다**. 실제로 `browser-ladder.test.ts` 가 "Agent Browser 가 1순위" 를 단언하고 있어서, 도구를 걷어내는 작업이 테스트 수정을 동반해야 했다.
|
|
130
|
+
|
|
131
|
+
| 고정한다 (불변식) | 고정하지 않는다 (선택) |
|
|
132
|
+
|---|---|
|
|
133
|
+
| 사다리에 오른 도구는 **얻는 경로**가 함께 적혀 있을 것 | 어느 도구가 1순위인지 |
|
|
134
|
+
| 마켓플레이스 source 가 **빌드 산출물**을 가리킬 것 | 그 산출물이 어느 경로인지 (빌드 스크립트에서 읽는다) |
|
|
135
|
+
| 고른 capability 의 매핑값**만** 나올 것 | 그 매핑이 어느 패키지인지 (매핑에서 읽는다) |
|
|
136
|
+
|
|
137
|
+
기준값이 필요하면 **SSOT 에서 읽어온다** — 테스트에 복사하면 그 순간 두 벌이 된다.
|
|
138
|
+
|
|
139
|
+
예외: **정책 단언**은 값을 박아도 된다 (예: "taste-skill 은 자동 설치 매핑에 없다"). 임의의 선택이 아니라 결정을 고정하는 것이고, 뒤집으려면 테스트를 의도적으로 지우면 된다 — 그 사실을 테스트 이름에 적는다.
|
|
140
|
+
|
|
128
141
|
### Gotchas
|
|
129
142
|
- `better-sqlite3` WAL mode — synchronous API
|
|
130
143
|
- `crypto.timingSafeEqual` requires same-length buffers — check length first
|
package/package.json
CHANGED
|
@@ -13,6 +13,25 @@ priority: 60
|
|
|
13
13
|
|
|
14
14
|
> Are you processing video files programmatically? If just embedding a YouTube/Vimeo player, this skill is not needed.
|
|
15
15
|
|
|
16
|
+
## Prerequisite — FFmpeg
|
|
17
|
+
|
|
18
|
+
이 스킬의 모든 명령은 FFmpeg 에 의존한다. **작업 전에 존재를 먼저 확인한다:**
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
ffmpeg -version && ffprobe -version
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
없으면 설치를 안내하고 멈춘다 — 뒤로 갈수록 실패가 비싸진다.
|
|
25
|
+
|
|
26
|
+
| 환경 | 설치 |
|
|
27
|
+
|---|---|
|
|
28
|
+
| macOS | `brew install ffmpeg` |
|
|
29
|
+
| Debian/Ubuntu | `sudo apt install ffmpeg` |
|
|
30
|
+
| 그 외 | https://ffmpeg.org/download.html |
|
|
31
|
+
|
|
32
|
+
> 코덱까지 갖춰졌는지는 별개다 — 아래 Gotchas 의 "Assuming codec availability" 참조.
|
|
33
|
+
> 빌드마다 포함 코덱이 다르므로 인코딩 전에 `ffmpeg -codecs` 로 확인한다.
|
|
34
|
+
|
|
16
35
|
## Gotchas
|
|
17
36
|
|
|
18
37
|
| Gotcha | Consequence | Prevention |
|