@su-record/vibe 1.1.9 → 1.2.0
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/agents/explorer.md +21 -21
- package/.claude/agents/implementer.md +24 -24
- package/.claude/agents/searcher.md +26 -26
- package/.claude/agents/simplifier.md +52 -53
- package/.claude/agents/tester.md +17 -17
- package/.claude/commands/vibe.analyze.md +138 -138
- package/.claude/commands/vibe.diagram.md +48 -48
- package/.claude/commands/vibe.reason.md +174 -174
- package/.claude/commands/vibe.run.md +384 -175
- package/.claude/commands/vibe.spec.md +160 -160
- package/.claude/commands/vibe.ui.md +38 -38
- package/.claude/commands/vibe.verify.md +77 -77
- package/.claude/settings.local.json +2 -1
- package/CLAUDE.md +17 -0
- package/README.md +64 -10
- package/package.json +4 -2
- package/templates/hooks-template.json +16 -5
|
@@ -5,146 +5,146 @@ argument-hint: "feature name"
|
|
|
5
5
|
|
|
6
6
|
# /vibe.verify
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Verify implementation based on Feature scenarios.
|
|
9
9
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
12
|
```
|
|
13
|
-
/vibe.verify "
|
|
13
|
+
/vibe.verify "feature-name"
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
## Rules Reference
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
- `quality/checklist.md` -
|
|
20
|
-
- `standards/complexity-metrics.md` -
|
|
18
|
+
**Must follow `.vibe/rules/`:**
|
|
19
|
+
- `quality/checklist.md` - Code quality checklist
|
|
20
|
+
- `standards/complexity-metrics.md` - Complexity standards
|
|
21
21
|
|
|
22
22
|
## Process
|
|
23
23
|
|
|
24
|
-
### 1. Feature
|
|
24
|
+
### 1. Load Feature File
|
|
25
25
|
|
|
26
|
-
`.vibe/features/{
|
|
26
|
+
Read `.vibe/features/{feature-name}.feature`
|
|
27
27
|
|
|
28
|
-
### 2.
|
|
28
|
+
### 2. Verify by Scenario
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
For each Scenario:
|
|
31
31
|
|
|
32
|
-
1. **Given** (
|
|
33
|
-
2. **When** (
|
|
34
|
-
3. **Then** (
|
|
32
|
+
1. **Given** (Precondition) - Check state
|
|
33
|
+
2. **When** (Action) - Execute feature
|
|
34
|
+
3. **Then** (Result) - Verify expected result
|
|
35
35
|
|
|
36
|
-
### 3.
|
|
36
|
+
### 3. Verification Methods
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
- Given/When/Then
|
|
38
|
+
**Code verification:**
|
|
39
|
+
- Check if feature is implemented
|
|
40
|
+
- Verify Given/When/Then steps work
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
- `npm test`, `pytest`, `flutter test
|
|
44
|
-
- BDD
|
|
42
|
+
**Test execution (if available):**
|
|
43
|
+
- Run `npm test`, `pytest`, `flutter test`, etc.
|
|
44
|
+
- Check BDD test framework results
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
46
|
+
**Manual verification:**
|
|
47
|
+
- If no test code, verify via code review
|
|
48
|
+
- Check if each scenario's logic is implemented
|
|
49
49
|
|
|
50
|
-
### 4.
|
|
50
|
+
### 4. Result Report
|
|
51
51
|
|
|
52
52
|
```markdown
|
|
53
|
-
# Verification Report: {
|
|
53
|
+
# Verification Report: {feature-name}
|
|
54
54
|
|
|
55
55
|
## Summary
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
56
|
+
- **Total Scenarios**: N
|
|
57
|
+
- **Passed**: N ✅
|
|
58
|
+
- **Failed**: N ❌
|
|
59
|
+
- **Quality Score**: XX/100
|
|
60
60
|
|
|
61
61
|
## Scenario Results
|
|
62
62
|
|
|
63
|
-
### ✅ Scenario 1: {
|
|
64
|
-
- Given:
|
|
65
|
-
- When:
|
|
66
|
-
- Then:
|
|
67
|
-
-
|
|
63
|
+
### ✅ Scenario 1: {title}
|
|
64
|
+
- Given: Verified
|
|
65
|
+
- When: Implemented
|
|
66
|
+
- Then: Works
|
|
67
|
+
- **Verification**: AC-1 satisfied
|
|
68
68
|
|
|
69
|
-
### ❌ Scenario 2: {
|
|
70
|
-
- Given:
|
|
71
|
-
- When:
|
|
72
|
-
- Then:
|
|
73
|
-
-
|
|
69
|
+
### ❌ Scenario 2: {title}
|
|
70
|
+
- Given: Verified
|
|
71
|
+
- When: Implemented
|
|
72
|
+
- Then: **Failed** - {reason}
|
|
73
|
+
- **Fix needed**: {specific details}
|
|
74
74
|
|
|
75
75
|
## Code Quality
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
76
|
+
- Complexity: ✅ Appropriate
|
|
77
|
+
- Test Coverage: XX%
|
|
78
|
+
- Error Handling: ✅
|
|
79
79
|
|
|
80
80
|
## Next Steps
|
|
81
|
-
- {
|
|
81
|
+
- {How to fix failed scenarios}
|
|
82
82
|
```
|
|
83
83
|
|
|
84
84
|
## Input
|
|
85
85
|
|
|
86
|
-
- `.vibe/features/{
|
|
87
|
-
- `.vibe/specs/{
|
|
88
|
-
-
|
|
86
|
+
- `.vibe/features/{feature-name}.feature` - BDD scenarios
|
|
87
|
+
- `.vibe/specs/{feature-name}.md` - SPEC document (reference)
|
|
88
|
+
- Implemented source code
|
|
89
89
|
|
|
90
90
|
## Output
|
|
91
91
|
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
92
|
+
- Verification result report (terminal output)
|
|
93
|
+
- Passed/failed scenario list
|
|
94
|
+
- Items needing fixes
|
|
95
95
|
|
|
96
96
|
## Example
|
|
97
97
|
|
|
98
98
|
```
|
|
99
|
-
User: /vibe.verify "
|
|
99
|
+
User: /vibe.verify "login"
|
|
100
100
|
|
|
101
101
|
Claude:
|
|
102
|
-
# Verification Report:
|
|
102
|
+
# Verification Report: login
|
|
103
103
|
|
|
104
104
|
## Summary
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
-
|
|
105
|
+
- **Total Scenarios**: 4
|
|
106
|
+
- **Passed**: 3 ✅
|
|
107
|
+
- **Failed**: 1 ❌
|
|
108
|
+
- **Quality Score**: 85/100
|
|
109
109
|
|
|
110
110
|
## Scenario Results
|
|
111
111
|
|
|
112
|
-
### ✅ Scenario 1:
|
|
113
|
-
- Given:
|
|
114
|
-
- When:
|
|
115
|
-
- Then:
|
|
112
|
+
### ✅ Scenario 1: Login with valid credentials
|
|
113
|
+
- Given: User is on login page → ✅ LoginPage component exists
|
|
114
|
+
- When: Enter valid email/password → ✅ handleSubmit implemented
|
|
115
|
+
- Then: Redirect to dashboard → ✅ router.push('/dashboard')
|
|
116
116
|
|
|
117
|
-
### ✅ Scenario 2:
|
|
118
|
-
- Given:
|
|
119
|
-
- When:
|
|
120
|
-
- Then:
|
|
117
|
+
### ✅ Scenario 2: Login with wrong password
|
|
118
|
+
- Given: Login page → ✅
|
|
119
|
+
- When: Wrong password → ✅
|
|
120
|
+
- Then: Show error message → ✅ "Password does not match"
|
|
121
121
|
|
|
122
|
-
### ✅ Scenario 3:
|
|
123
|
-
- Given:
|
|
124
|
-
- When:
|
|
125
|
-
- Then:
|
|
122
|
+
### ✅ Scenario 3: Email format validation
|
|
123
|
+
- Given: Login page → ✅
|
|
124
|
+
- When: Invalid email format → ✅
|
|
125
|
+
- Then: Validation error → ✅ zod validation
|
|
126
126
|
|
|
127
|
-
### ❌ Scenario 4:
|
|
128
|
-
- Given:
|
|
129
|
-
- When: "
|
|
130
|
-
- Then:
|
|
127
|
+
### ❌ Scenario 4: Forgot password link
|
|
128
|
+
- Given: Login page → ✅
|
|
129
|
+
- When: Click "Forgot password" → ❌ Link missing
|
|
130
|
+
- Then: Navigate to forgot password page → ❌
|
|
131
131
|
|
|
132
132
|
## Next Steps
|
|
133
|
-
Scenario 4
|
|
134
|
-
-
|
|
135
|
-
- /forgot-password
|
|
133
|
+
Scenario 4 fix needed:
|
|
134
|
+
- Add "Forgot password" link to LoginPage
|
|
135
|
+
- Implement /forgot-password route
|
|
136
136
|
```
|
|
137
137
|
|
|
138
138
|
## Next Step
|
|
139
139
|
|
|
140
|
-
|
|
140
|
+
On verification pass:
|
|
141
141
|
```
|
|
142
|
-
|
|
142
|
+
Complete! Proceed to next feature.
|
|
143
143
|
```
|
|
144
144
|
|
|
145
|
-
|
|
145
|
+
On verification fail:
|
|
146
146
|
```
|
|
147
|
-
/vibe.run "
|
|
147
|
+
/vibe.run "feature-name" --fix # Fix failed scenarios
|
|
148
148
|
```
|
|
149
149
|
|
|
150
150
|
---
|
package/CLAUDE.md
CHANGED
|
@@ -8,12 +8,29 @@ SPEC 주도 AI 코딩 프레임워크 (Claude Code 전용)
|
|
|
8
8
|
/vibe.spec → /vibe.run → /vibe.verify
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
+
## ULTRAWORK Mode (권장)
|
|
12
|
+
|
|
13
|
+
`ultrawork` 또는 `ulw` 키워드를 포함하면 최대 성능 모드 활성화:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
/vibe.run "기능명" ultrawork # 모든 최적화 자동 활성화
|
|
17
|
+
/vibe.run "기능명" ulw # 동일 (단축어)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**활성화 기능:**
|
|
21
|
+
- 병렬 서브에이전트 탐색 (3+ 동시)
|
|
22
|
+
- Boulder Loop (모든 Phase 완료까지 자동 진행)
|
|
23
|
+
- 에러 자동 재시도 (최대 3회)
|
|
24
|
+
- 컨텍스트 70%+ 시 자동 압축/저장
|
|
25
|
+
- Phase 간 확인 없이 연속 실행
|
|
26
|
+
|
|
11
27
|
## Commands
|
|
12
28
|
|
|
13
29
|
| 명령어 | 설명 |
|
|
14
30
|
|--------|------|
|
|
15
31
|
| `/vibe.spec "기능명"` | SPEC 작성 (PTCF 구조) |
|
|
16
32
|
| `/vibe.run "기능명"` | 구현 실행 |
|
|
33
|
+
| `/vibe.run "기능명" ultrawork` | **최대 성능 모드** |
|
|
17
34
|
| `/vibe.verify "기능명"` | 검증 |
|
|
18
35
|
| `/vibe.reason "문제"` | 체계적 추론 |
|
|
19
36
|
| `/vibe.analyze` | 프로젝트 분석 |
|
package/README.md
CHANGED
|
@@ -13,10 +13,12 @@ SPEC 문서 하나로 AI가 바로 구현하는 2-step 워크플로우.
|
|
|
13
13
|
## Features
|
|
14
14
|
|
|
15
15
|
- **Claude Code 전용**: 네이티브 슬래시 커맨드 + MCP 통합
|
|
16
|
-
- **
|
|
16
|
+
- **ULTRAWORK Mode**: `ulw` 한 단어로 모든 최적화 자동 활성화
|
|
17
|
+
- **Boulder Loop**: 모든 Phase 완료까지 자동 진행 (시지푸스처럼)
|
|
18
|
+
- **병렬 서브에이전트**: Haiku 3+ 동시 탐색으로 ~3배 속도 향상
|
|
17
19
|
- **PTCF 구조**: Persona, Task, Context, Format - Gemini 프롬프트 최적화
|
|
18
20
|
- **코딩 규칙 내장**: `.vibe/rules/` - 품질 기준, 복잡도 제한, 안티패턴
|
|
19
|
-
- **자동
|
|
21
|
+
- **자동 컨텍스트 관리**: 70%+ 시 자동 압축/저장
|
|
20
22
|
- **36개 MCP 도구**: @su-record/hi-ai 통합
|
|
21
23
|
|
|
22
24
|
---
|
|
@@ -46,9 +48,10 @@ cd my-project
|
|
|
46
48
|
### 2. 슬래시 커맨드 사용 (Claude Code)
|
|
47
49
|
|
|
48
50
|
```
|
|
49
|
-
/vibe.spec "로그인 기능"
|
|
50
|
-
/vibe.run "로그인 기능"
|
|
51
|
-
/vibe.
|
|
51
|
+
/vibe.spec "로그인 기능" # SPEC 작성 (대화형)
|
|
52
|
+
/vibe.run "로그인 기능" # 구현 실행
|
|
53
|
+
/vibe.run "로그인 기능" ultrawork # 🚀 최대 성능 모드 (권장)
|
|
54
|
+
/vibe.verify "로그인 기능" # 검증
|
|
52
55
|
```
|
|
53
56
|
|
|
54
57
|
---
|
|
@@ -62,10 +65,10 @@ cd my-project
|
|
|
62
65
|
│ ↓ .vibe/specs/{기능명}.md (PTCF 구조) │
|
|
63
66
|
│ ↓ .vibe/features/{기능명}.feature (BDD) │
|
|
64
67
|
├─────────────────────────────────────────────────────┤
|
|
65
|
-
│ /vibe.run "기능명"
|
|
66
|
-
│ ↓
|
|
67
|
-
│ ↓ Phase
|
|
68
|
-
│ ↓
|
|
68
|
+
│ /vibe.run "기능명" ultrawork │
|
|
69
|
+
│ ↓ 🚀 ULTRAWORK: 병렬 탐색 + 자동 진행 │
|
|
70
|
+
│ ↓ Boulder Loop: 모든 Phase 완료까지 자동 실행 │
|
|
71
|
+
│ ↓ 에러 자동 재시도 (3회) │
|
|
69
72
|
├─────────────────────────────────────────────────────┤
|
|
70
73
|
│ /vibe.verify "기능명" │
|
|
71
74
|
│ ↓ Acceptance Criteria 검증 │
|
|
@@ -105,6 +108,8 @@ cd my-project
|
|
|
105
108
|
|--------|------|
|
|
106
109
|
| `/vibe.spec "기능명"` | SPEC 작성 (PTCF 구조) |
|
|
107
110
|
| `/vibe.run "기능명"` | 구현 실행 |
|
|
111
|
+
| `/vibe.run "기능명" ultrawork` | 🚀 **최대 성능 모드** (권장) |
|
|
112
|
+
| `/vibe.run "기능명" ulw` | ultrawork 단축어 |
|
|
108
113
|
| `/vibe.run "기능명" --phase N` | 특정 Phase만 실행 |
|
|
109
114
|
| `/vibe.verify "기능명"` | 검증 |
|
|
110
115
|
|
|
@@ -125,6 +130,52 @@ cd my-project
|
|
|
125
130
|
|
|
126
131
|
---
|
|
127
132
|
|
|
133
|
+
## ULTRAWORK Mode
|
|
134
|
+
|
|
135
|
+
> `ultrawork` 또는 `ulw` 키워드 하나로 **모든 최적화가 자동 활성화**됩니다.
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
/vibe.run "기능명" ultrawork # 최대 성능 모드
|
|
139
|
+
/vibe.run "기능명" ulw # 동일 (단축어)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 활성화 기능
|
|
143
|
+
|
|
144
|
+
| 기능 | 설명 |
|
|
145
|
+
|------|------|
|
|
146
|
+
| **병렬 탐색** | 3+ Task(haiku) 에이전트 동시 실행 |
|
|
147
|
+
| **Boulder Loop** | 모든 Phase 완료까지 자동 진행 (멈추지 않음) |
|
|
148
|
+
| **자동 재시도** | 에러 발생 시 최대 3회 자동 재시도 |
|
|
149
|
+
| **컨텍스트 관리** | 70%+ 시 자동 압축 및 저장 |
|
|
150
|
+
| **무중단 실행** | Phase 간 확인 없이 연속 진행 |
|
|
151
|
+
| **외부 LLM** | GPT/Gemini 활성화 시 자동 참조 |
|
|
152
|
+
|
|
153
|
+
### Boulder Loop
|
|
154
|
+
|
|
155
|
+
시지푸스처럼 바위를 굴리듯, **모든 작업이 완료될 때까지** 자동으로 진행:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Phase 1 → Phase 2 → Phase 3 → ... → Phase N
|
|
159
|
+
↓ ↓ ↓ ↓
|
|
160
|
+
[병렬탐색] [병렬탐색] [병렬탐색] [병렬탐색]
|
|
161
|
+
[구현] [구현] [구현] [구현]
|
|
162
|
+
[테스트] [테스트] [테스트] [테스트]
|
|
163
|
+
↓
|
|
164
|
+
🎉 완료까지 자동!
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 일반 모드 vs ULTRAWORK
|
|
168
|
+
|
|
169
|
+
| 항목 | 일반 모드 | ULTRAWORK |
|
|
170
|
+
|------|----------|-----------|
|
|
171
|
+
| Phase 전환 | 일시정지 가능 | 자동 진행 |
|
|
172
|
+
| 에러 발생 | 보고 후 중단 | 자동 재시도 (3회) |
|
|
173
|
+
| 컨텍스트 70%+ | 경고만 | 자동 압축/저장 |
|
|
174
|
+
| 탐색 방식 | 순차 가능 | **강제 병렬** |
|
|
175
|
+
| 완료 조건 | Phase별 | 전체 완료까지 |
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
128
179
|
## Project Structure
|
|
129
180
|
|
|
130
181
|
`vibe init` 실행 후 생성되는 구조:
|
|
@@ -251,8 +302,11 @@ AI의 역할과 전문성 정의
|
|
|
251
302
|
| Hook | 트리거 | 동작 |
|
|
252
303
|
|------|--------|------|
|
|
253
304
|
| `SessionStart` | 세션 시작 | 이전 컨텍스트 자동 복원 |
|
|
305
|
+
| `UserPromptSubmit` | `ultrawork`/`ulw` 감지 | 🚀 ULTRAWORK 모드 활성화 |
|
|
254
306
|
| `PostToolUse` | Write/Edit 후 | 품질 체크리스트 검토 |
|
|
255
|
-
| `Notification` | 컨텍스트 70
|
|
307
|
+
| `Notification` | 컨텍스트 70% | 경고 (ULTRAWORK: 자동 저장) |
|
|
308
|
+
| `Notification` | 컨텍스트 85% | 즉시 저장 + 압축 |
|
|
309
|
+
| `Notification` | 컨텍스트 95% | 긴급 저장 + 세션 전환 준비 |
|
|
256
310
|
|
|
257
311
|
### 선택적 연동 (외부 LLM)
|
|
258
312
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@su-record/vibe",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Vibe - Claude Code exclusive SPEC-driven AI coding framework",
|
|
5
5
|
"bin": {
|
|
6
6
|
"vibe": "./bin/vibe"
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
"mcp",
|
|
19
19
|
"framework",
|
|
20
20
|
"requirements",
|
|
21
|
-
"user-story"
|
|
21
|
+
"user-story",
|
|
22
|
+
"ultrawork",
|
|
23
|
+
"parallel-agents"
|
|
22
24
|
],
|
|
23
25
|
"author": "Su",
|
|
24
26
|
"license": "MIT",
|
|
@@ -5,7 +5,18 @@
|
|
|
5
5
|
"hooks": [
|
|
6
6
|
{
|
|
7
7
|
"type": "prompt",
|
|
8
|
-
"prompt": "mcp__vibe__start_session
|
|
8
|
+
"prompt": "Call mcp__vibe__start_session to restore previous session context."
|
|
9
|
+
}
|
|
10
|
+
]
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"UserPromptSubmit": [
|
|
14
|
+
{
|
|
15
|
+
"matcher": "ultrawork|ulw|울트라워크",
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "prompt",
|
|
19
|
+
"prompt": "🚀 ULTRAWORK MODE DETECTED. You MUST: (1) Use PARALLEL Task calls for ALL exploration, (2) Enable Boulder Loop - auto-continue through ALL phases without pausing, (3) Auto-retry on errors up to 3 times, (4) Run mcp__vibe__auto_save_context at 70%+ context, (5) Do NOT ask for confirmation between phases. Keep rolling until ALL acceptance criteria pass."
|
|
9
20
|
}
|
|
10
21
|
]
|
|
11
22
|
}
|
|
@@ -16,7 +27,7 @@
|
|
|
16
27
|
"hooks": [
|
|
17
28
|
{
|
|
18
29
|
"type": "prompt",
|
|
19
|
-
"prompt": ".vibe/rules/quality/checklist.md
|
|
30
|
+
"prompt": "Review the code you just modified against .vibe/rules/quality/checklist.md. Briefly report any issues found."
|
|
20
31
|
}
|
|
21
32
|
]
|
|
22
33
|
}
|
|
@@ -27,7 +38,7 @@
|
|
|
27
38
|
"hooks": [
|
|
28
39
|
{
|
|
29
40
|
"type": "prompt",
|
|
30
|
-
"prompt": "
|
|
41
|
+
"prompt": "Context at 70%. You still have headroom - don't rush or produce sloppy work. But start being selective about file reads. If ULTRAWORK mode: run mcp__vibe__auto_save_context now."
|
|
31
42
|
}
|
|
32
43
|
]
|
|
33
44
|
},
|
|
@@ -36,7 +47,7 @@
|
|
|
36
47
|
"hooks": [
|
|
37
48
|
{
|
|
38
49
|
"type": "prompt",
|
|
39
|
-
"prompt": "
|
|
50
|
+
"prompt": "Context at 85%. IMMEDIATELY run mcp__vibe__auto_save_context with urgency='high'. Summarize current progress and next steps. Compress verbose outputs."
|
|
40
51
|
}
|
|
41
52
|
]
|
|
42
53
|
},
|
|
@@ -45,7 +56,7 @@
|
|
|
45
56
|
"hooks": [
|
|
46
57
|
{
|
|
47
58
|
"type": "prompt",
|
|
48
|
-
"prompt": "
|
|
59
|
+
"prompt": "Context at 95% - CRITICAL. Run mcp__vibe__auto_save_context with urgency='critical' NOW. Save all progress, blockers, and next steps. Prepare for session transition. If in ULTRAWORK mode, the next session will auto-restore and continue."
|
|
49
60
|
}
|
|
50
61
|
]
|
|
51
62
|
}
|