@rpamis/comet 0.1.4 → 0.1.6
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/README.md +5 -4
- package/assets/manifest.json +19 -15
- package/assets/skills/comet/SKILL.md +206 -204
- package/assets/skills/comet/scripts/comet-yaml-validate.sh +4 -2
- package/assets/skills/comet-archive/SKILL.md +151 -151
- package/assets/skills/comet-build/SKILL.md +203 -161
- package/assets/skills/comet-design/SKILL.md +108 -108
- package/assets/skills/comet-hotfix/SKILL.md +167 -165
- package/assets/skills/comet-open/SKILL.md +123 -123
- package/assets/skills/comet-tweak/SKILL.md +154 -152
- package/assets/skills/comet-verify/SKILL.md +164 -164
- package/assets/skills-zh/comet/SKILL.md +206 -0
- package/assets/skills-zh/comet-archive/SKILL.md +151 -0
- package/assets/skills-zh/comet-build/SKILL.md +203 -0
- package/assets/skills-zh/comet-design/SKILL.md +108 -0
- package/assets/skills-zh/comet-hotfix/SKILL.md +167 -0
- package/assets/skills-zh/comet-open/SKILL.md +123 -0
- package/assets/skills-zh/comet-tweak/SKILL.md +154 -0
- package/assets/skills-zh/comet-verify/SKILL.md +164 -0
- package/dist/core/init.d.ts.map +1 -1
- package/dist/core/init.js +32 -3
- package/dist/core/init.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,10 +30,11 @@ comet init
|
|
|
30
30
|
|
|
31
31
|
1. Prompt you to select AI platforms (auto-detects existing configs)
|
|
32
32
|
2. Choose install scope: project-level (current directory) or global (home directory)
|
|
33
|
-
3.
|
|
34
|
-
4. Install [
|
|
35
|
-
5.
|
|
36
|
-
6.
|
|
33
|
+
3. Select language for Comet skills: English or 中文
|
|
34
|
+
4. Install [OpenSpec](https://github.com/Fission-AI/OpenSpec) skills
|
|
35
|
+
5. Install [Superpowers](https://github.com/obra/superpowers) skills
|
|
36
|
+
6. Deploy Comet skills (in your chosen language) to selected platforms
|
|
37
|
+
7. Create `docs/superpowers/specs/` and `docs/superpowers/plans/` working directories
|
|
37
38
|
|
|
38
39
|
## Commands
|
|
39
40
|
|
package/assets/manifest.json
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.1.0",
|
|
3
|
-
"skills": [
|
|
4
|
-
"comet/SKILL.md",
|
|
5
|
-
"comet/scripts/comet-guard.sh",
|
|
6
|
-
"comet/scripts/comet-yaml-validate.sh",
|
|
7
|
-
"comet-open/SKILL.md",
|
|
8
|
-
"comet-design/SKILL.md",
|
|
9
|
-
"comet-build/SKILL.md",
|
|
10
|
-
"comet-verify/SKILL.md",
|
|
11
|
-
"comet-archive/SKILL.md",
|
|
12
|
-
"comet-hotfix/SKILL.md",
|
|
13
|
-
"comet-tweak/SKILL.md"
|
|
14
|
-
]
|
|
15
|
-
|
|
1
|
+
{
|
|
2
|
+
"version": "0.1.0",
|
|
3
|
+
"skills": [
|
|
4
|
+
"comet/SKILL.md",
|
|
5
|
+
"comet/scripts/comet-guard.sh",
|
|
6
|
+
"comet/scripts/comet-yaml-validate.sh",
|
|
7
|
+
"comet-open/SKILL.md",
|
|
8
|
+
"comet-design/SKILL.md",
|
|
9
|
+
"comet-build/SKILL.md",
|
|
10
|
+
"comet-verify/SKILL.md",
|
|
11
|
+
"comet-archive/SKILL.md",
|
|
12
|
+
"comet-hotfix/SKILL.md",
|
|
13
|
+
"comet-tweak/SKILL.md"
|
|
14
|
+
],
|
|
15
|
+
"languages": [
|
|
16
|
+
{ "id": "en", "name": "English", "skillsDir": "skills" },
|
|
17
|
+
{ "id": "zh", "name": "中文", "skillsDir": "skills-zh" }
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -1,204 +1,206 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: comet
|
|
3
|
-
description: "Comet — OpenSpec + Superpowers
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Comet — OpenSpec + Superpowers
|
|
7
|
-
|
|
8
|
-
OpenSpec
|
|
9
|
-
|
|
10
|
-
```
|
|
11
|
-
OpenSpec
|
|
12
|
-
Superpowers
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<IMPORTANT>
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
1. brainstorming
|
|
26
|
-
2. build
|
|
27
|
-
3. verify
|
|
28
|
-
4. finishing-branch
|
|
29
|
-
5.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
</IMPORTANT>
|
|
33
|
-
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
### Step 0:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
1.
|
|
41
|
-
2.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
| # | Change
|
|
55
|
-
|
|
56
|
-
| 1 | xxx-feature | Build | 3/5 tasks |
|
|
57
|
-
| 2 | yyy-fix | Design | No design doc |
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
**Preset
|
|
63
|
-
-
|
|
64
|
-
-
|
|
65
|
-
|
|
66
|
-
### Step 1: Comet
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
```yaml
|
|
73
|
-
workflow: full
|
|
74
|
-
phase: build
|
|
75
|
-
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
76
|
-
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
77
|
-
build_mode: subagent-driven-development
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
| `
|
|
90
|
-
| `
|
|
91
|
-
| `
|
|
92
|
-
| `
|
|
93
|
-
| `
|
|
94
|
-
| `
|
|
95
|
-
| `
|
|
96
|
-
| `
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
|
118
|
-
|
|
119
|
-
| `/comet-
|
|
120
|
-
| `/comet-
|
|
121
|
-
| `/comet-
|
|
122
|
-
| `/comet-
|
|
123
|
-
| `/comet-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
/comet
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
|
151
|
-
|
|
152
|
-
|
|
|
153
|
-
|
|
|
154
|
-
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
bash
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
│
|
|
181
|
-
│ │ ├──
|
|
182
|
-
│ │ ├──
|
|
183
|
-
│ │ ├──
|
|
184
|
-
│ │
|
|
185
|
-
│
|
|
186
|
-
└──
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
1
|
+
---
|
|
2
|
+
name: comet
|
|
3
|
+
description: "Comet — OpenSpec + Superpowers dual-star development workflow. Start with /comet for automatic phase detection and dispatch to subcommands. Five phases: open → design → build → verify → archive."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Comet — OpenSpec + Superpowers Dual-Star Development Workflow
|
|
7
|
+
|
|
8
|
+
OpenSpec and Superpowers orbit the same goal like a binary star system. OpenSpec handles WHAT, Superpowers handles HOW.
|
|
9
|
+
|
|
10
|
+
```
|
|
11
|
+
OpenSpec handles WHAT — outline, proposal, spec lifecycle, archive
|
|
12
|
+
Superpowers handles HOW — technical design, planning, execution, closing
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Core principle: brainstorming cannot be skipped. Every change must undergo deep design (except hotfix and tweak presets).**
|
|
16
|
+
|
|
17
|
+
<IMPORTANT>
|
|
18
|
+
## Phase Transitions
|
|
19
|
+
|
|
20
|
+
A single `/comet` invocation starts from the detected phase and prompts or advances to the next phase when exit conditions are met.
|
|
21
|
+
|
|
22
|
+
Flow chain: open → design → build → verify → archive
|
|
23
|
+
|
|
24
|
+
Nodes requiring user participation:
|
|
25
|
+
1. Confirm design approach during brainstorming
|
|
26
|
+
2. Select execution mode during build phase
|
|
27
|
+
3. Decide to fix or accept deviation when verify fails
|
|
28
|
+
4. Choose branch handling method for finishing-branch
|
|
29
|
+
5. Encounter upgrade conditions (hotfix/tweak → full workflow)
|
|
30
|
+
|
|
31
|
+
Agents should not skip these decision points; other unambiguous phase transitions can proceed automatically.
|
|
32
|
+
</IMPORTANT>
|
|
33
|
+
|
|
34
|
+
## Automatic Phase Detection
|
|
35
|
+
|
|
36
|
+
### Step 0: Active Change Discovery
|
|
37
|
+
|
|
38
|
+
**Execute immediately:**
|
|
39
|
+
|
|
40
|
+
1. Run `openspec list --json` to get all active changes
|
|
41
|
+
2. For each change, check `docs/superpowers/specs/` and `docs/superpowers/plans/` for associated files to determine phase and progress
|
|
42
|
+
|
|
43
|
+
**Branch logic:**
|
|
44
|
+
|
|
45
|
+
| Situation | Action |
|
|
46
|
+
|-----------|--------|
|
|
47
|
+
| No active change | → Invoke `/comet-open` |
|
|
48
|
+
| Exactly 1 active change | → Auto-select, enter phase determination (Step 1) |
|
|
49
|
+
| Multiple active changes | → List for user selection |
|
|
50
|
+
|
|
51
|
+
**Multi-change selection**: Display using AskUserQuestion, example format:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
| # | Change Name | Current Phase | Task Progress |
|
|
55
|
+
|---|-------------|---------------|---------------|
|
|
56
|
+
| 1 | xxx-feature | Build | 3/5 tasks |
|
|
57
|
+
| 2 | yyy-fix | Design | No design doc |
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
After user selection, enter phase determination for the selected change.
|
|
61
|
+
|
|
62
|
+
**Preset detection**:
|
|
63
|
+
- If user explicitly describes as bug fix / hotfix and hotfix conditions are met, directly invoke `/comet-hotfix` (skip selection).
|
|
64
|
+
- If user explicitly describes as copy, config, docs, prompt, or small non-bug adjustment and tweak conditions are met, directly invoke `/comet-tweak` (skip selection).
|
|
65
|
+
|
|
66
|
+
### Step 1: Comet State Metadata Reading
|
|
67
|
+
|
|
68
|
+
Prefer reading `openspec/changes/<name>/.comet.yaml`. If not available, fall back to `openspec status --change "<name>" --json`, `tasks.md`, and `docs/superpowers/` file checks.
|
|
69
|
+
|
|
70
|
+
Recommended metadata structure:
|
|
71
|
+
|
|
72
|
+
```yaml
|
|
73
|
+
workflow: full
|
|
74
|
+
phase: build
|
|
75
|
+
design_doc: docs/superpowers/specs/YYYY-MM-DD-topic-design.md
|
|
76
|
+
plan: docs/superpowers/plans/YYYY-MM-DD-feature.md
|
|
77
|
+
build_mode: subagent-driven-development
|
|
78
|
+
isolation: branch
|
|
79
|
+
verify_mode: light
|
|
80
|
+
verify_result: pending
|
|
81
|
+
verified_at: null
|
|
82
|
+
archived: false
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Field meanings:
|
|
86
|
+
|
|
87
|
+
| Field | Meaning |
|
|
88
|
+
|-------|---------|
|
|
89
|
+
| `workflow` | `full`, `hotfix`, or `tweak` |
|
|
90
|
+
| `phase` | Current phase: `open`, `design`, `build`, `verify`, `archive` |
|
|
91
|
+
| `design_doc` | Associated Superpowers Design Doc path, can be empty |
|
|
92
|
+
| `plan` | Associated Superpowers Plan path, can be empty |
|
|
93
|
+
| `build_mode` | Selected execution mode, can be empty |
|
|
94
|
+
| `isolation` | `branch` or `worktree`, workspace isolation method, defaults to `branch` |
|
|
95
|
+
| `verify_mode` | `light` or `full`, can be empty |
|
|
96
|
+
| `verify_result` | `pending`, `pass`, or `fail` |
|
|
97
|
+
| `verified_at` | Verification pass time, can be empty |
|
|
98
|
+
| `archived` | Whether change is archived |
|
|
99
|
+
|
|
100
|
+
### Step 2: Phase Determination
|
|
101
|
+
|
|
102
|
+
For the selected change, determine current state in the following order:
|
|
103
|
+
|
|
104
|
+
1. **`archived: true` or change moved to archive** → Workflow complete
|
|
105
|
+
2. **`verify_result: pass` and `archived` is not `true`** → Invoke `/comet-archive`
|
|
106
|
+
3. **`phase: verify` or tasks.md all checked** → Invoke `/comet-verify`
|
|
107
|
+
4. **`phase: build` or has Design Doc but plan/execution incomplete** → Invoke `/comet-build`
|
|
108
|
+
5. **`phase: design` or has change but no Design Doc** → Invoke `/comet-design`
|
|
109
|
+
6. **No active change or state undeterminable** → Invoke `/comet-open`
|
|
110
|
+
|
|
111
|
+
If metadata conflicts with file state, use verifiable file state as source of truth and correct `.comet.yaml` before continuing phase.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Subcommands
|
|
116
|
+
|
|
117
|
+
| Command | Phase | Owner | Artifacts |
|
|
118
|
+
|---------|-------|-------|-----------|
|
|
119
|
+
| `/comet-open` | 1. Open | OpenSpec | proposal.md、design.md、tasks.md |
|
|
120
|
+
| `/comet-design` | 2. Deep Design | Superpowers | Design Doc、delta spec |
|
|
121
|
+
| `/comet-build` | 3. Plan & Build | Superpowers | Implementation plan、code commits |
|
|
122
|
+
| `/comet-verify` | 4. Verify & Close | Both | Verification report、branch handling |
|
|
123
|
+
| `/comet-archive` | 5. Archive | OpenSpec | delta→main spec sync、design doc markup、archive |
|
|
124
|
+
| `/comet-hotfix` | Preset path | Both | Quick fix (skip brainstorming) |
|
|
125
|
+
| `/comet-tweak` | Preset path | Both | Small change (skip brainstorming and full plan) |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Flow Diagram
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
/comet
|
|
133
|
+
↓ Auto-detect
|
|
134
|
+
/comet-open ──→ /comet-design ──→ /comet-build ──→ /comet-verify ──→ /comet-archive
|
|
135
|
+
(OpenSpec) (Superpowers) (Superpowers) (Both) (OpenSpec)
|
|
136
|
+
|
|
137
|
+
/comet-hotfix(preset path, skip brainstorming)
|
|
138
|
+
open ──→ build ──→ verify ──→ archive
|
|
139
|
+
↑ If upgrade triggered → supplement Design Doc → return to full workflow
|
|
140
|
+
|
|
141
|
+
/comet-tweak(preset path, skip brainstorming and full plan)
|
|
142
|
+
open ──→ lightweight build ──→ light verify ──→ archive
|
|
143
|
+
↑ If upgrade triggered → supplement Design Doc → return to full workflow
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Error Handling
|
|
149
|
+
|
|
150
|
+
| Scenario | Handling |
|
|
151
|
+
|----------|----------|
|
|
152
|
+
| `openspec list --json` fails | Check if openspec is installed, prompt user to run `openspec init` |
|
|
153
|
+
| Sub-skill unavailable (e.g., `superpowers:brainstorming`) | Stop workflow, prompt to install or enable corresponding skill |
|
|
154
|
+
| `.comet.yaml` malformed or missing | Use file state as source of truth (tasks.md、docs/superpowers/), correct metadata then continue |
|
|
155
|
+
| Maven compile/test fails | Return to build phase for fixes, do not enter verify |
|
|
156
|
+
| Incomplete change directory structure | Fill missing files according to `comet-open` artifact requirements |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Quick Reference
|
|
161
|
+
|
|
162
|
+
### Script Location
|
|
163
|
+
|
|
164
|
+
Comet phase guard script `comet-guard.sh` is distributed with the skill package, located in `comet/scripts/` directory.
|
|
165
|
+
**Do not hardcode platform paths**, self-locate at runtime with:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
COMET_GUARD=$(find . -path '*/comet/scripts/comet-guard.sh' -type f -print -quit)
|
|
169
|
+
bash "$COMET_GUARD" <change-name> <phase>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
In subsequent documentation, `bash $COMET_GUARD <change> <phase>` refers to this command. After loading comet, agents should cache `COMET_GUARD` path in shell environment to avoid repeated `find`.
|
|
173
|
+
|
|
174
|
+
### File Structure
|
|
175
|
+
|
|
176
|
+
```
|
|
177
|
+
openspec/ # OpenSpec — WHAT
|
|
178
|
+
├── config.yaml
|
|
179
|
+
├── changes/
|
|
180
|
+
│ ├── <name>/ # Active change
|
|
181
|
+
│ │ ├── .openspec.yaml
|
|
182
|
+
│ │ ├── .comet.yaml
|
|
183
|
+
│ │ ├── proposal.md # Why + What
|
|
184
|
+
│ │ ├── design.md # High-level architecture decisions
|
|
185
|
+
│ │ ├── specs/<capability>/spec.md # Delta capability spec
|
|
186
|
+
│ │ └── tasks.md # Task checklist
|
|
187
|
+
│ └── archive/YYYY-MM-DD-<name>/ # Archived
|
|
188
|
+
└── specs/<capability>/spec.md # Main specs (sync from delta at archive)
|
|
189
|
+
|
|
190
|
+
docs/superpowers/ # Superpowers — HOW
|
|
191
|
+
├── specs/YYYY-MM-DD-<topic>-design.md # Design doc (technical RFC, mark status at archive)
|
|
192
|
+
└── plans/YYYY-MM-DD-<feature>.md # Implementation plan (file header contains change association metadata)
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Best Practices
|
|
196
|
+
|
|
197
|
+
1. **brainstorming cannot be skipped** — Every change must undergo deep design (except hotfix and tweak)
|
|
198
|
+
2. **delta spec is a living document** — Freely modify during phase 3, sync at archive
|
|
199
|
+
3. **Keep tasks.md in sync** — Check off each completed task
|
|
200
|
+
4. **Commit frequently** — One commit per task, message reflects design intent
|
|
201
|
+
5. **Verify before archive** — Execute `/comet-archive` only after `/comet-verify` passes
|
|
202
|
+
6. **Classify incremental updates** — Small edits, medium brainstorming, large new changes
|
|
203
|
+
7. **Plan must associate with change** — File header contains `change:` and `design-doc:` metadata
|
|
204
|
+
8. **Archive closure** — design doc and plan must mark `archived-with` status
|
|
205
|
+
9. **Incremental modification of existing features** — Create delta spec baseline based on main spec, not from scratch
|
|
206
|
+
10. **Preset has limits** — Switch to full workflow promptly when hotfix/tweak meet upgrade conditions
|
|
@@ -49,7 +49,7 @@ warn_msg() { warn " WARN: $1"; WARNINGS=$((WARNINGS + 1)); }
|
|
|
49
49
|
echo "[VALIDATE] $YAML" >&2
|
|
50
50
|
|
|
51
51
|
# --- Required fields ---
|
|
52
|
-
REQUIRED_FIELDS="workflow phase design_doc plan build_mode verify_mode verify_result verified_at archived"
|
|
52
|
+
REQUIRED_FIELDS="workflow phase design_doc plan build_mode isolation verify_mode verify_result verified_at archived"
|
|
53
53
|
for field in $REQUIRED_FIELDS; do
|
|
54
54
|
if ! grep -q "^${field}:" "$YAML" 2>/dev/null; then
|
|
55
55
|
fail "missing required field '$field'"
|
|
@@ -78,6 +78,7 @@ validate_enum() {
|
|
|
78
78
|
workflow=$(field_value "workflow")
|
|
79
79
|
phase=$(field_value "phase")
|
|
80
80
|
build_mode=$(field_value "build_mode")
|
|
81
|
+
isolation=$(field_value "isolation")
|
|
81
82
|
verify_mode=$(field_value "verify_mode")
|
|
82
83
|
verify_result=$(field_value "verify_result")
|
|
83
84
|
archived=$(field_value "archived")
|
|
@@ -87,6 +88,7 @@ plan=$(field_value "plan")
|
|
|
87
88
|
validate_enum "workflow" "$workflow" "full hotfix tweak"
|
|
88
89
|
validate_enum "phase" "$phase" "design build verify archive"
|
|
89
90
|
validate_enum "build_mode" "$build_mode" "subagent-driven-development executing-plans direct"
|
|
91
|
+
validate_enum "isolation" "$isolation" "branch worktree"
|
|
90
92
|
validate_enum "verify_mode" "$verify_mode" "light full"
|
|
91
93
|
validate_enum "verify_result" "$verify_result" "pending pass fail"
|
|
92
94
|
validate_enum "archived" "$archived" "true false"
|
|
@@ -106,7 +108,7 @@ if [ -n "$plan" ] && [ "$plan" != "null" ]; then
|
|
|
106
108
|
fi
|
|
107
109
|
|
|
108
110
|
# --- Unknown keys check ---
|
|
109
|
-
KNOWN_KEYS="workflow phase design_doc plan build_mode verify_mode verify_result verified_at archived"
|
|
111
|
+
KNOWN_KEYS="workflow phase design_doc plan build_mode isolation verify_mode verify_result verified_at archived"
|
|
110
112
|
while IFS=: read -r key _; do
|
|
111
113
|
key="${key// /}"
|
|
112
114
|
[ -z "$key" ] && continue
|