vibe-coding-master 0.4.41 → 0.5.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/dist/backend/api/task-routes.js +7 -0
- package/dist/backend/api/translation-routes.js +11 -0
- package/dist/backend/errors.js +2 -0
- package/dist/backend/gateway/gateway-service.js +31 -61
- package/dist/backend/server.js +11 -1
- package/dist/backend/services/round-service.js +34 -0
- package/dist/backend/services/task-launch-service.js +91 -0
- package/dist/backend/services/translation-service.js +87 -0
- package/dist/backend/services/translation-worker-service.js +228 -72
- package/dist-frontend/assets/index-BaDS9Ohj.js +96 -0
- package/dist-frontend/index.html +1 -1
- package/docs/ARCHITECTURE.md +123 -0
- package/docs/TESTING.md +121 -73
- package/docs/known-issues.md +155 -0
- package/package.json +1 -1
- package/dist-frontend/assets/index-CsxS5H0d.js +0 -96
- package/docs/claude-code-translation-plan.md +0 -1268
- package/docs/full-harness-baseline.md +0 -160
- package/docs/gate-review-gates.md +0 -132
- package/docs/gateway-design.md +0 -813
- package/docs/v0.2-implementation-plan.md +0 -408
- package/docs/v0.4-harness-optimization-plan.md +0 -664
|
@@ -1,664 +0,0 @@
|
|
|
1
|
-
# VCM 0.4 Harness Optimization Plan
|
|
2
|
-
|
|
3
|
-
Last updated: 2026-06-22
|
|
4
|
-
|
|
5
|
-
This document defines the VCM 0.4 product plan.
|
|
6
|
-
|
|
7
|
-
The original VCM 0.4 custom workflow engine plan has moved to
|
|
8
|
-
`docs/v0.5-custom-workflow-plan.md`. VCM 0.4 will focus on the current fixed
|
|
9
|
-
workflow, project harness quality, and visual harness configuration.
|
|
10
|
-
|
|
11
|
-
## 1. Product Goal
|
|
12
|
-
|
|
13
|
-
VCM 0.4 should make the existing VCM workflow easier to understand, tune, and
|
|
14
|
-
improve without requiring a fully free custom workflow engine.
|
|
15
|
-
|
|
16
|
-
The current workflow remains the default product shape:
|
|
17
|
-
|
|
18
|
-
```text
|
|
19
|
-
project-manager
|
|
20
|
-
-> architect
|
|
21
|
-
-> coder
|
|
22
|
-
-> reviewer
|
|
23
|
-
-> architect
|
|
24
|
-
-> project-manager
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Optional project-level tool roles, such as Translator, stay outside the core
|
|
28
|
-
chain unless VCM explicitly routes work to them. Gate Reviewer is an optional
|
|
29
|
-
task-scoped VCM flow role.
|
|
30
|
-
|
|
31
|
-
The target outcome:
|
|
32
|
-
|
|
33
|
-
- users can inspect all VCM harness content from the UI
|
|
34
|
-
- users can adjust role definitions, skills, and project harness settings safely
|
|
35
|
-
- users can ask a dedicated Harness Engineer to improve project harness quality
|
|
36
|
-
- every proposed harness change is shown as a diff before it is applied
|
|
37
|
-
- VCM fixed managed blocks remain protected
|
|
38
|
-
- VCM product or template problems can be reported upstream as GitHub issues
|
|
39
|
-
- the current workflow becomes more reliable without adding arbitrary workflow
|
|
40
|
-
graph editing in 0.4
|
|
41
|
-
|
|
42
|
-
## 2. Scope Decision
|
|
43
|
-
|
|
44
|
-
VCM 0.4 is not the free custom workflow release.
|
|
45
|
-
|
|
46
|
-
The previous custom workflow plan is still valuable, but it is too large for the
|
|
47
|
-
next release because it requires a workflow engine, node model, branch
|
|
48
|
-
conditions, artifact contracts, graph editing, workflow run state, and migration
|
|
49
|
-
rules.
|
|
50
|
-
|
|
51
|
-
VCM 0.4 should instead be:
|
|
52
|
-
|
|
53
|
-
```text
|
|
54
|
-
Harness Engineer + Harness Studio
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
This gives users direct control over the system they already use every day:
|
|
58
|
-
roles, skills, managed blocks, project instructions, session defaults, and
|
|
59
|
-
harness update flow.
|
|
60
|
-
|
|
61
|
-
## 3. Non-Goals
|
|
62
|
-
|
|
63
|
-
VCM 0.4 should not:
|
|
64
|
-
|
|
65
|
-
- build a general workflow graph editor
|
|
66
|
-
- replace the current fixed VCM role chain
|
|
67
|
-
- allow arbitrary user-defined workflow nodes
|
|
68
|
-
- allow AI to silently edit harness files
|
|
69
|
-
- let any role overwrite VCM fixed managed blocks
|
|
70
|
-
- make auxiliary roles part of the main task flow by default
|
|
71
|
-
- submit external GitHub issues without explicit user confirmation
|
|
72
|
-
- require users to understand Claude Code hook internals
|
|
73
|
-
|
|
74
|
-
## 4. Core Concepts
|
|
75
|
-
|
|
76
|
-
### 4.1 Fixed Harness
|
|
77
|
-
|
|
78
|
-
Fixed harness content is VCM-owned template content installed into a project.
|
|
79
|
-
It includes managed blocks in files such as:
|
|
80
|
-
|
|
81
|
-
- `CLAUDE.md`
|
|
82
|
-
- `.claude/agents/project-manager.md`
|
|
83
|
-
- `.claude/agents/architect.md`
|
|
84
|
-
- `.claude/agents/coder.md`
|
|
85
|
-
- `.claude/agents/reviewer.md`
|
|
86
|
-
- `.claude/agents/gate-reviewer.md`
|
|
87
|
-
- `.claude/agents/translator.md`
|
|
88
|
-
- `.claude/skills/*/SKILL.md`
|
|
89
|
-
- `.ai/tools/*`
|
|
90
|
-
- `.ai/vcm-harness-manifest.json`
|
|
91
|
-
|
|
92
|
-
VCM fixed content is updated by VCM releases and the harness installer. It must
|
|
93
|
-
remain deterministic and recoverable.
|
|
94
|
-
|
|
95
|
-
### 4.2 Project Harness Customization
|
|
96
|
-
|
|
97
|
-
Project harness customization is repository-specific guidance layered around
|
|
98
|
-
VCM fixed content.
|
|
99
|
-
|
|
100
|
-
Examples:
|
|
101
|
-
|
|
102
|
-
- project coding rules
|
|
103
|
-
- domain terminology
|
|
104
|
-
- repository-specific testing commands
|
|
105
|
-
- module boundaries
|
|
106
|
-
- review preferences
|
|
107
|
-
- role behavior tweaks
|
|
108
|
-
- scaffold conventions
|
|
109
|
-
- project-specific validation expectations
|
|
110
|
-
|
|
111
|
-
Project harness customization is the primary editable surface for VCM 0.4.
|
|
112
|
-
|
|
113
|
-
### 4.3 Harness Engineer
|
|
114
|
-
|
|
115
|
-
`harness-engineer` is a project-scoped Claude Code tool role.
|
|
116
|
-
|
|
117
|
-
It understands:
|
|
118
|
-
|
|
119
|
-
- VCM fixed harness rules
|
|
120
|
-
- project-specific harness content
|
|
121
|
-
- role definitions
|
|
122
|
-
- skills
|
|
123
|
-
- project docs
|
|
124
|
-
- harness manifest state
|
|
125
|
-
- the boundary between VCM product defects and project harness defects
|
|
126
|
-
|
|
127
|
-
It helps users improve the harness, but it is not part of the task workflow
|
|
128
|
-
round state.
|
|
129
|
-
|
|
130
|
-
## 5. Harness Engineer Role
|
|
131
|
-
|
|
132
|
-
### 5.1 Role Identity
|
|
133
|
-
|
|
134
|
-
Recommended role id:
|
|
135
|
-
|
|
136
|
-
```text
|
|
137
|
-
harness-engineer
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
Recommended display name:
|
|
141
|
-
|
|
142
|
-
```text
|
|
143
|
-
Harness Engineer
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
The role should be project-scoped, not task-scoped.
|
|
147
|
-
|
|
148
|
-
Session behavior:
|
|
149
|
-
|
|
150
|
-
- one long-lived session per project
|
|
151
|
-
- default action is resume existing session
|
|
152
|
-
- restart is available from the Harness Engineer session panel
|
|
153
|
-
- closing a task does not stop this role
|
|
154
|
-
- this role does not keep a VCM task round running
|
|
155
|
-
- this role can be opened from Harness Studio
|
|
156
|
-
|
|
157
|
-
### 5.2 Responsibilities
|
|
158
|
-
|
|
159
|
-
Harness Engineer is responsible for:
|
|
160
|
-
|
|
161
|
-
- reading current project harness files
|
|
162
|
-
- understanding VCM fixed harness constraints
|
|
163
|
-
- accepting user feedback about role behavior or harness quality
|
|
164
|
-
- diagnosing whether a problem is project-specific or VCM-level
|
|
165
|
-
- proposing harness changes as reviewable diffs
|
|
166
|
-
- explaining the impact of proposed changes
|
|
167
|
-
- identifying which active sessions may need restart or a reminder
|
|
168
|
-
- helping the user keep harness content concise and consistent
|
|
169
|
-
- drafting VCM GitHub issues for product or template problems
|
|
170
|
-
|
|
171
|
-
### 5.3 Boundaries
|
|
172
|
-
|
|
173
|
-
Harness Engineer must not:
|
|
174
|
-
|
|
175
|
-
- silently apply changes
|
|
176
|
-
- edit business source code as part of harness maintenance
|
|
177
|
-
- overwrite VCM fixed managed blocks
|
|
178
|
-
- submit GitHub issues without user confirmation
|
|
179
|
-
- include private project code, logs, or secrets in an upstream issue
|
|
180
|
-
- modify task workflow state
|
|
181
|
-
- act as PM, Architect, Coder, Reviewer, Gate Reviewer, or Translator
|
|
182
|
-
|
|
183
|
-
### 5.4 Allowed Files
|
|
184
|
-
|
|
185
|
-
Harness Engineer may inspect:
|
|
186
|
-
|
|
187
|
-
- `CLAUDE.md`
|
|
188
|
-
- `.claude/agents/**`
|
|
189
|
-
- `.claude/skills/**`
|
|
190
|
-
- `.ai/tools/**`
|
|
191
|
-
- `.ai/vcm-harness-manifest.json`
|
|
192
|
-
- `.ai/generated/**`
|
|
193
|
-
- project docs such as `docs/ARCHITECTURE.md` and `docs/TESTING.md`
|
|
194
|
-
- VCM state relevant to harness status
|
|
195
|
-
|
|
196
|
-
Harness Engineer may propose edits to:
|
|
197
|
-
|
|
198
|
-
- project-editable harness sections
|
|
199
|
-
- role files outside protected fixed managed blocks
|
|
200
|
-
- project docs used by harness
|
|
201
|
-
- project-specific skill guidance when allowed
|
|
202
|
-
|
|
203
|
-
Harness Engineer may not directly edit VCM fixed managed blocks. If it finds a
|
|
204
|
-
fixed block problem, it should create a VCM issue draft instead.
|
|
205
|
-
|
|
206
|
-
## 6. Harness Studio UI
|
|
207
|
-
|
|
208
|
-
VCM 0.4 should add a Harness Studio UI for inspecting and configuring harness
|
|
209
|
-
content.
|
|
210
|
-
|
|
211
|
-
### 6.1 Entry Point
|
|
212
|
-
|
|
213
|
-
The existing VCM Harness sidebar group can become the entry point.
|
|
214
|
-
|
|
215
|
-
Recommended actions:
|
|
216
|
-
|
|
217
|
-
- Open Harness Studio
|
|
218
|
-
- Refresh harness status
|
|
219
|
-
- Apply fixed harness update
|
|
220
|
-
- Run bootstrap
|
|
221
|
-
- Review latest harness commit diff
|
|
222
|
-
- Open Harness Engineer session
|
|
223
|
-
|
|
224
|
-
### 6.2 Main Views
|
|
225
|
-
|
|
226
|
-
Harness Studio should include:
|
|
227
|
-
|
|
228
|
-
- Overview
|
|
229
|
-
- Agents
|
|
230
|
-
- Skills
|
|
231
|
-
- Root Context
|
|
232
|
-
- Project Docs
|
|
233
|
-
- Tools
|
|
234
|
-
- Harness Status
|
|
235
|
-
- Proposed Changes
|
|
236
|
-
- VCM Feedback
|
|
237
|
-
|
|
238
|
-
### 6.3 Overview
|
|
239
|
-
|
|
240
|
-
Overview should show:
|
|
241
|
-
|
|
242
|
-
- fixed harness status
|
|
243
|
-
- bootstrap status
|
|
244
|
-
- modified harness files
|
|
245
|
-
- outdated managed blocks
|
|
246
|
-
- missing expected files
|
|
247
|
-
- latest harness commit status
|
|
248
|
-
- Harness Engineer session status
|
|
249
|
-
- recent harness actions
|
|
250
|
-
|
|
251
|
-
### 6.4 Agents
|
|
252
|
-
|
|
253
|
-
Agents view should show:
|
|
254
|
-
|
|
255
|
-
- Project Manager
|
|
256
|
-
- Architect
|
|
257
|
-
- Coder
|
|
258
|
-
- Reviewer
|
|
259
|
-
- Gate Reviewer
|
|
260
|
-
- Translator
|
|
261
|
-
- Harness Engineer
|
|
262
|
-
|
|
263
|
-
For each agent:
|
|
264
|
-
|
|
265
|
-
- file path
|
|
266
|
-
- role type: core, optional flow role, or tool role
|
|
267
|
-
- session scope: task or project
|
|
268
|
-
- managed block status
|
|
269
|
-
- editable project section
|
|
270
|
-
- default model
|
|
271
|
-
- default effort
|
|
272
|
-
- permission mode
|
|
273
|
-
- restart requirement after changes
|
|
274
|
-
|
|
275
|
-
The UI should make role type visible:
|
|
276
|
-
|
|
277
|
-
- core workflow role: participates in task flow
|
|
278
|
-
- optional flow role: participates only when enabled
|
|
279
|
-
- tool role: project utility, not part of task flow
|
|
280
|
-
|
|
281
|
-
### 6.5 Skills
|
|
282
|
-
|
|
283
|
-
Skills view should show installed VCM skills:
|
|
284
|
-
|
|
285
|
-
- `vcm-route-message`
|
|
286
|
-
- `vcm-final-acceptance`
|
|
287
|
-
- `vcm-harness-bootstrap`
|
|
288
|
-
- `vcm-long-running-validation`
|
|
289
|
-
- `vcm-gate-review`
|
|
290
|
-
|
|
291
|
-
For each skill:
|
|
292
|
-
|
|
293
|
-
- file path
|
|
294
|
-
- description
|
|
295
|
-
- managed block status
|
|
296
|
-
- whether it is current
|
|
297
|
-
- related roles
|
|
298
|
-
- editable project notes when supported
|
|
299
|
-
|
|
300
|
-
### 6.6 Root Context
|
|
301
|
-
|
|
302
|
-
Root Context view should show:
|
|
303
|
-
|
|
304
|
-
- `CLAUDE.md`
|
|
305
|
-
- VCM fixed managed block status
|
|
306
|
-
- project-specific sections
|
|
307
|
-
- warnings for duplicated or conflicting rules
|
|
308
|
-
- active session refresh guidance
|
|
309
|
-
|
|
310
|
-
### 6.7 Project Docs
|
|
311
|
-
|
|
312
|
-
Project Docs view should show durable harness-relevant docs:
|
|
313
|
-
|
|
314
|
-
- architecture docs
|
|
315
|
-
- module docs
|
|
316
|
-
- testing docs
|
|
317
|
-
- public surface docs
|
|
318
|
-
- module index
|
|
319
|
-
- generated docs
|
|
320
|
-
|
|
321
|
-
It should show whether docs are missing, stale, or incomplete.
|
|
322
|
-
|
|
323
|
-
### 6.8 Tools
|
|
324
|
-
|
|
325
|
-
Tools view should show:
|
|
326
|
-
|
|
327
|
-
- `.ai/tools/run-long-check`
|
|
328
|
-
- `.ai/tools/watch-job`
|
|
329
|
-
- `.ai/tools/vcm-bash-guard`
|
|
330
|
-
- `.ai/tools/request-gate-review`
|
|
331
|
-
- generated doc tools
|
|
332
|
-
|
|
333
|
-
For each tool:
|
|
334
|
-
|
|
335
|
-
- path
|
|
336
|
-
- executable status
|
|
337
|
-
- managed status
|
|
338
|
-
- purpose
|
|
339
|
-
- related skill
|
|
340
|
-
|
|
341
|
-
### 6.9 Proposed Changes
|
|
342
|
-
|
|
343
|
-
All Harness Engineer changes must flow through Proposed Changes.
|
|
344
|
-
|
|
345
|
-
The UI should show:
|
|
346
|
-
|
|
347
|
-
- changed files
|
|
348
|
-
- unified diff
|
|
349
|
-
- generated summary
|
|
350
|
-
- risk notes
|
|
351
|
-
- affected roles
|
|
352
|
-
- whether active sessions need restart or reminder
|
|
353
|
-
- apply, discard, or revise actions
|
|
354
|
-
|
|
355
|
-
No harness edit should be applied without user confirmation.
|
|
356
|
-
|
|
357
|
-
### 6.10 VCM Feedback
|
|
358
|
-
|
|
359
|
-
VCM Feedback view handles upstream VCM issues.
|
|
360
|
-
|
|
361
|
-
When Harness Engineer finds a VCM-level product or fixed template issue, it
|
|
362
|
-
should create an issue draft for:
|
|
363
|
-
|
|
364
|
-
```text
|
|
365
|
-
https://github.com/CodingForMoney/VibeCodingMaster
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
The user must review and confirm before VCM submits the issue.
|
|
369
|
-
|
|
370
|
-
## 7. Change Review Model
|
|
371
|
-
|
|
372
|
-
All modifications require reviewable diffs.
|
|
373
|
-
|
|
374
|
-
Required flow:
|
|
375
|
-
|
|
376
|
-
```text
|
|
377
|
-
User feedback or harness diagnosis
|
|
378
|
-
-> Harness Engineer proposes changes
|
|
379
|
-
-> VCM stores a pending change set
|
|
380
|
-
-> UI shows diff and impact
|
|
381
|
-
-> User confirms
|
|
382
|
-
-> VCM applies the changes
|
|
383
|
-
-> VCM refreshes harness status
|
|
384
|
-
-> User may commit and rebase active task worktrees
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
Harness Engineer can explain, revise, or discard pending changes, but it cannot
|
|
388
|
-
skip the review step.
|
|
389
|
-
|
|
390
|
-
## 8. VCM Issue Feedback Flow
|
|
391
|
-
|
|
392
|
-
Harness Engineer must classify issues before acting:
|
|
393
|
-
|
|
394
|
-
```text
|
|
395
|
-
Project harness issue
|
|
396
|
-
-> propose project harness diff
|
|
397
|
-
|
|
398
|
-
VCM product or fixed template issue
|
|
399
|
-
-> draft GitHub issue for CodingForMoney/VibeCodingMaster
|
|
400
|
-
```
|
|
401
|
-
|
|
402
|
-
### 8.1 Issue Draft Requirements
|
|
403
|
-
|
|
404
|
-
A VCM issue draft should include:
|
|
405
|
-
|
|
406
|
-
- title
|
|
407
|
-
- problem description
|
|
408
|
-
- reproduction steps
|
|
409
|
-
- expected behavior
|
|
410
|
-
- actual behavior
|
|
411
|
-
- VCM version
|
|
412
|
-
- affected harness files or UI areas
|
|
413
|
-
- impact
|
|
414
|
-
- suggested fix if known
|
|
415
|
-
- sanitized context only
|
|
416
|
-
|
|
417
|
-
### 8.2 Privacy Rules
|
|
418
|
-
|
|
419
|
-
Issue drafts must not include:
|
|
420
|
-
|
|
421
|
-
- private source code
|
|
422
|
-
- secrets
|
|
423
|
-
- private file contents
|
|
424
|
-
- full terminal logs
|
|
425
|
-
- private repository names unless user confirms
|
|
426
|
-
- user identity or environment details unless necessary
|
|
427
|
-
|
|
428
|
-
Harness Engineer should summarize private context instead of copying it.
|
|
429
|
-
|
|
430
|
-
### 8.3 Submission Rule
|
|
431
|
-
|
|
432
|
-
VCM may submit the issue only after explicit user confirmation.
|
|
433
|
-
|
|
434
|
-
Before submission, UI should show:
|
|
435
|
-
|
|
436
|
-
- target repository
|
|
437
|
-
- final issue title
|
|
438
|
-
- final issue body
|
|
439
|
-
- privacy warning
|
|
440
|
-
- submit or cancel action
|
|
441
|
-
|
|
442
|
-
## 9. Managed Block Policy
|
|
443
|
-
|
|
444
|
-
VCM managed blocks remain protected.
|
|
445
|
-
|
|
446
|
-
Managed blocks use markers such as:
|
|
447
|
-
|
|
448
|
-
```text
|
|
449
|
-
<!-- VCM:BEGIN version=1 -->
|
|
450
|
-
...
|
|
451
|
-
<!-- VCM:END -->
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
or:
|
|
455
|
-
|
|
456
|
-
```text
|
|
457
|
-
# VCM:BEGIN version=1
|
|
458
|
-
...
|
|
459
|
-
# VCM:END
|
|
460
|
-
```
|
|
461
|
-
|
|
462
|
-
Rules:
|
|
463
|
-
|
|
464
|
-
- VCM installer owns fixed managed block content.
|
|
465
|
-
- Harness Engineer must not directly rewrite fixed managed block content.
|
|
466
|
-
- Project-specific customization should live outside fixed managed blocks.
|
|
467
|
-
- If a fixed managed block is wrong, create a VCM issue draft.
|
|
468
|
-
- If a managed block is stale, users should run fixed harness update.
|
|
469
|
-
- If a managed block is user-modified, VCM should warn before replacing it.
|
|
470
|
-
|
|
471
|
-
## 10. Session Refresh Policy
|
|
472
|
-
|
|
473
|
-
Claude Code sessions do not automatically re-read every changed instruction file
|
|
474
|
-
in a reliable, user-visible way.
|
|
475
|
-
|
|
476
|
-
VCM tracks a project-level `harnessRevision`.
|
|
477
|
-
|
|
478
|
-
Revision behavior:
|
|
479
|
-
|
|
480
|
-
- fixed harness update increments the revision when it changes files
|
|
481
|
-
- Harness Studio file saves increment the revision when content changes
|
|
482
|
-
- each Claude Code role session records the revision it started or resumed with
|
|
483
|
-
- session views compare the recorded revision with the current project revision
|
|
484
|
-
- stale sessions are shown as `outdated`
|
|
485
|
-
|
|
486
|
-
VCM offers:
|
|
487
|
-
|
|
488
|
-
- `Notify role`: send a compact update message into the running session, asking
|
|
489
|
-
the role to re-read `CLAUDE.md`, its agent definition, and relevant skills
|
|
490
|
-
- `Restart`: start a fresh Claude Code process when role definition, hook, or
|
|
491
|
-
core harness changes are significant
|
|
492
|
-
- `Resume`: for stopped sessions, reload through the normal Claude Code startup
|
|
493
|
-
path
|
|
494
|
-
|
|
495
|
-
Harness Engineer should include session impact in every proposed change.
|
|
496
|
-
|
|
497
|
-
## 11. Storage
|
|
498
|
-
|
|
499
|
-
Recommended storage:
|
|
500
|
-
|
|
501
|
-
```text
|
|
502
|
-
<baseRepoRoot>/.ai/vcm/harness/
|
|
503
|
-
pending-changes/
|
|
504
|
-
applied-changes/
|
|
505
|
-
issue-drafts/
|
|
506
|
-
diagnostics/
|
|
507
|
-
|
|
508
|
-
<baseRepoRoot>/.ai/vcm/harness-engineer/
|
|
509
|
-
session.json
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
Guidelines:
|
|
513
|
-
|
|
514
|
-
- pending changes are review artifacts
|
|
515
|
-
- applied change records are lightweight audit metadata
|
|
516
|
-
- issue drafts are user-reviewable
|
|
517
|
-
- no unnecessary terminal logs
|
|
518
|
-
- no hidden external submissions
|
|
519
|
-
|
|
520
|
-
## 12. Backend Capabilities
|
|
521
|
-
|
|
522
|
-
VCM backend should provide APIs for:
|
|
523
|
-
|
|
524
|
-
- listing harness files
|
|
525
|
-
- reading harness file content
|
|
526
|
-
- validating managed blocks
|
|
527
|
-
- computing diffs
|
|
528
|
-
- storing pending change sets
|
|
529
|
-
- applying confirmed changes
|
|
530
|
-
- discarding pending changes
|
|
531
|
-
- refreshing harness status
|
|
532
|
-
- starting, resuming, restarting, and stopping Harness Engineer
|
|
533
|
-
- creating VCM issue drafts
|
|
534
|
-
- submitting confirmed GitHub issues
|
|
535
|
-
|
|
536
|
-
GitHub issue creation should be optional and graceful:
|
|
537
|
-
|
|
538
|
-
- if GitHub auth is unavailable, keep the issue draft and show manual copy
|
|
539
|
-
- if network fails, preserve the draft and allow retry
|
|
540
|
-
|
|
541
|
-
## 13. Safety and Permissions
|
|
542
|
-
|
|
543
|
-
Default safety rules:
|
|
544
|
-
|
|
545
|
-
- Harness Engineer can read project harness files.
|
|
546
|
-
- Harness Engineer can write only through VCM pending change sets by default.
|
|
547
|
-
- Direct file writes should be reserved for confirmed apply operations.
|
|
548
|
-
- VCM should validate paths before applying changes.
|
|
549
|
-
- External issue submission always requires user confirmation.
|
|
550
|
-
- Fixed managed block edits are blocked unless performed by the VCM installer.
|
|
551
|
-
|
|
552
|
-
The safest default is:
|
|
553
|
-
|
|
554
|
-
```text
|
|
555
|
-
AI proposes.
|
|
556
|
-
VCM diffs.
|
|
557
|
-
User approves.
|
|
558
|
-
VCM applies.
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
## 14. Relation to Current Workflow
|
|
562
|
-
|
|
563
|
-
VCM 0.4 should not change the task execution model by default.
|
|
564
|
-
|
|
565
|
-
Current behavior remains:
|
|
566
|
-
|
|
567
|
-
- PM coordinates the task.
|
|
568
|
-
- Architect plans and evaluates complex fixes.
|
|
569
|
-
- Coder implements.
|
|
570
|
-
- Reviewer validates.
|
|
571
|
-
- Gate Reviewer optionally performs gate reviews.
|
|
572
|
-
- Translator remains a project translation tool role.
|
|
573
|
-
- Harness Engineer maintains harness quality.
|
|
574
|
-
|
|
575
|
-
Harness Engineer is not included in:
|
|
576
|
-
|
|
577
|
-
- role tab bar for a task
|
|
578
|
-
- VCM round completion detection
|
|
579
|
-
- task close cleanup
|
|
580
|
-
- PM dispatch flow
|
|
581
|
-
|
|
582
|
-
It is opened from Harness Studio as a project tool session.
|
|
583
|
-
|
|
584
|
-
## 15. Implementation Phases
|
|
585
|
-
|
|
586
|
-
### Phase 1: Harness Engineer Role
|
|
587
|
-
|
|
588
|
-
- Add `harness-engineer` role definition.
|
|
589
|
-
- Install `.claude/agents/harness-engineer.md`.
|
|
590
|
-
- Add project-scoped session persistence.
|
|
591
|
-
- Add UI entry to open Harness Engineer session.
|
|
592
|
-
- Ensure it is not part of task round state.
|
|
593
|
-
|
|
594
|
-
Success condition: users can start or resume Harness Engineer for a project
|
|
595
|
-
without affecting active tasks.
|
|
596
|
-
|
|
597
|
-
### Phase 2: Harness Inventory and Status UI
|
|
598
|
-
|
|
599
|
-
- Add Harness Studio shell.
|
|
600
|
-
- List agents, skills, root context, tools, and project docs.
|
|
601
|
-
- Show managed block status.
|
|
602
|
-
- Show stale, missing, and modified harness files.
|
|
603
|
-
|
|
604
|
-
Success condition: users can understand current harness state without opening
|
|
605
|
-
files manually.
|
|
606
|
-
|
|
607
|
-
### Phase 3: Diff-Based Harness Changes
|
|
608
|
-
|
|
609
|
-
- Add pending change set model.
|
|
610
|
-
- Let Harness Engineer propose changes.
|
|
611
|
-
- Show diffs in UI.
|
|
612
|
-
- Require user confirmation before apply.
|
|
613
|
-
- Refresh harness status after apply.
|
|
614
|
-
|
|
615
|
-
Success condition: no harness change is applied invisibly.
|
|
616
|
-
|
|
617
|
-
### Phase 4: Session Impact and Worktree Sync
|
|
618
|
-
|
|
619
|
-
- Track `harnessRevision` for project harness changes.
|
|
620
|
-
- Mark sessions with older revisions as `outdated`.
|
|
621
|
-
- Offer `Notify role` for running stale sessions.
|
|
622
|
-
- Keep restart available for stronger reload needs.
|
|
623
|
-
- Apply harness changes only inside the active task worktree and commit them immediately.
|
|
624
|
-
- Make Review Diff show the latest active task worktree commit diff.
|
|
625
|
-
|
|
626
|
-
Success condition: harness updates do not leave active task worktrees or active
|
|
627
|
-
role sessions silently stale.
|
|
628
|
-
|
|
629
|
-
### Phase 5: VCM Issue Feedback
|
|
630
|
-
|
|
631
|
-
- Add VCM issue draft model.
|
|
632
|
-
- Add issue draft UI.
|
|
633
|
-
- Add optional GitHub issue submission after confirmation.
|
|
634
|
-
- Add privacy checks and manual copy fallback.
|
|
635
|
-
|
|
636
|
-
Success condition: Harness Engineer can help users report VCM product or fixed
|
|
637
|
-
template problems upstream safely.
|
|
638
|
-
|
|
639
|
-
## 16. Open Decisions
|
|
640
|
-
|
|
641
|
-
Before implementation, decide:
|
|
642
|
-
|
|
643
|
-
- final role name: `harness-engineer` or `harness-maintainer`
|
|
644
|
-
- exact editable sections in each harness file
|
|
645
|
-
- whether pending change sets store full file snapshots or patches
|
|
646
|
-
- GitHub integration method for issue submission
|
|
647
|
-
- whether Harness Engineer can run validation commands directly
|
|
648
|
-
- how to show session restart impact in the UI
|
|
649
|
-
- whether applied change audit records should be committed or ignored
|
|
650
|
-
|
|
651
|
-
## 17. Design Summary
|
|
652
|
-
|
|
653
|
-
VCM 0.4 should optimize the workflow VCM already has.
|
|
654
|
-
|
|
655
|
-
The important product move is not free-form workflow editing. The important
|
|
656
|
-
move is making harness configuration visible, reviewable, and improvable.
|
|
657
|
-
|
|
658
|
-
Harness Engineer gives users an AI collaborator that understands both VCM's
|
|
659
|
-
fixed harness and the project's local harness. Harness Studio gives users a
|
|
660
|
-
safe place to inspect and apply changes. The GitHub issue feedback flow closes
|
|
661
|
-
the loop when a project-level harness problem is actually a VCM product or
|
|
662
|
-
template problem.
|
|
663
|
-
|
|
664
|
-
VCM 0.5 can then build on this foundation with the full custom workflow engine.
|