vibe-coding-master 0.2.3 → 0.2.4
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 +6 -2
- package/dist/backend/services/round-service.js +0 -1
- package/dist/backend/templates/harness/claude-root.js +10 -0
- package/dist/backend/templates/harness/vcm-long-running-validation-skill.js +7 -2
- package/dist-frontend/assets/{index-DaVjpyA9.js → index-CfZ3VYXY.js} +41 -41
- package/dist-frontend/index.html +1 -1
- package/docs/full-harness-baseline.md +4 -4
- package/docs/product-design.md +4 -1
- package/docs/vcm-cc-best-practices.md +5 -0
- package/package.json +1 -1
- package/scripts/install-vcm-harness.mjs +41 -5
package/README.md
CHANGED
|
@@ -212,7 +212,7 @@ The same file stores recent repository paths. The translation API key is stored
|
|
|
212
212
|
|
|
213
213
|
The sidebar `Settings` section also stores the UI theme preference in this file. The default is `system`, which follows the OS/browser color-scheme preference; users can cycle between `System`, `Light`, and `Dark`.
|
|
214
214
|
|
|
215
|
-
The same sidebar also has a `Flow pause alert` toggle. It is on by default and controls the local alert that fires when VCM detects that the current role flow has stopped advancing. Short flows use a weak reminder: the soft two-note chime plays 3 times, 1.4 seconds apart. Flows lasting 10 minutes or longer use a strong reminder: VCM shows an alert dialog and repeats the chime until the user confirms it. The alert sound reuses one browser audio context so repeated reminders remain reliable in stricter browsers such as Safari. The `Try alert` button always triggers the strong reminder for testing.
|
|
215
|
+
The same sidebar also has a `Flow pause alert` toggle. It is on by default and controls the local alert that fires when VCM detects that the current role flow has stopped advancing. Short flows use a weak reminder: the soft two-note chime plays 3 times, 1.4 seconds apart. Flows lasting 10 minutes or longer use a strong reminder: VCM shows an alert dialog and repeats the chime until the user confirms it. The alert sound reuses one browser audio context so repeated reminders remain reliable in stricter browsers such as Safari. Safari users may still need to manually set `Safari > Website Settings > Auto-Play > Allow All Auto-Play`; Chrome is recommended for the most reliable alert sound behavior. The `Try alert` button always triggers the strong reminder for testing.
|
|
216
216
|
|
|
217
217
|
Translation behavior:
|
|
218
218
|
|
|
@@ -263,6 +263,10 @@ CLAUDE.md
|
|
|
263
263
|
Repo-local skills are installed as `.claude/skills/<skill-name>/SKILL.md` so
|
|
264
264
|
Claude Code can register them.
|
|
265
265
|
|
|
266
|
+
VCM roles must not start background jobs. The only allowed background job is
|
|
267
|
+
`.ai/tools/run-long-check` when used through `vcm-long-running-validation`;
|
|
268
|
+
`.ai/tools/watch-job` enforces a 60 minute maximum timeout.
|
|
269
|
+
|
|
266
270
|
If a managed-block file already exists, VCM preserves user-authored content and only inserts or replaces the VCM block:
|
|
267
271
|
|
|
268
272
|
```md
|
|
@@ -380,7 +384,7 @@ When a `Stop` hook fires, VCM marks the round as settling for 10 seconds. If ano
|
|
|
380
384
|
|
|
381
385
|
The normal path is timer-driven: `Stop` starts a backend settle timer, and `UserPromptSubmit` cancels it. Reading the round state also checks expired deadlines as a recovery fallback after process restarts, sleep, or missed timers.
|
|
382
386
|
|
|
383
|
-
When `Flow pause alert` is enabled, the frontend polls the task round state and deduplicates each
|
|
387
|
+
When `Flow pause alert` is enabled, the frontend polls the task round state and deduplicates each paused round so the same paused state does not alert on every poll. Flow duration is measured from the first `UserPromptSubmit` to `pausedAt`, falling back to the last `Stop` when needed. If the paused flow lasted less than 10 minutes, it plays the local chime 3 times at 1.4 second intervals. If the paused flow lasted 10 minutes or longer, it shows a modal `Flow paused` alert and repeats the local chime until the user clicks `Confirm`. A pause can mean normal completion, user decision needed, dispatch failure, or another workflow interruption; the point is to get the user to look with the right amount of urgency.
|
|
384
388
|
|
|
385
389
|
## Resume Behavior
|
|
386
390
|
|
|
@@ -252,7 +252,6 @@ function toTaskRoundState(state, updatedAt) {
|
|
|
252
252
|
taskSlug: state.taskSlug,
|
|
253
253
|
status: current.status,
|
|
254
254
|
roundId: current.id,
|
|
255
|
-
pauseId: current.status === "paused" ? `${current.id}:${current.pausedAt ?? current.lastStopAt ?? ""}` : undefined,
|
|
256
255
|
activeRole: current.activeRole,
|
|
257
256
|
startedAt: current.startedAt,
|
|
258
257
|
lastPromptSubmittedAt: current.lastPromptSubmittedAt,
|
|
@@ -3,6 +3,16 @@ export function renderRootClaudeHarnessRules() {
|
|
|
3
3
|
|
|
4
4
|
- Use the durable project docs below as role-relevant project truth.
|
|
5
5
|
- Read module-local \`CLAUDE.md\` before editing a subdirectory if one exists.
|
|
6
|
+
- Use \`vcm-long-running-validation\` for long-running validation. Follow the background job limits below.
|
|
7
|
+
|
|
8
|
+
## VCM Background Jobs
|
|
9
|
+
|
|
10
|
+
- Do not start background jobs.
|
|
11
|
+
- The only allowed background job is \`.ai/tools/run-long-check\` when used through the \`vcm-long-running-validation\` skill.
|
|
12
|
+
- \`vcm-long-running-validation\` has a hard maximum timeout of 60 minutes.
|
|
13
|
+
- Do not run or suggest operations expected to exceed 60 minutes without user approval.
|
|
14
|
+
- Design every single validation/build operation to complete within 60 minutes; split anything larger before running it.
|
|
15
|
+
- Do not end the current turn only to wait for a long-running shell callback.
|
|
6
16
|
|
|
7
17
|
## VCM Durable Project Docs
|
|
8
18
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export function renderVcmLongRunningValidationSkillRules() {
|
|
2
2
|
return `## Rule
|
|
3
3
|
|
|
4
|
-
Do not
|
|
4
|
+
Do not start background jobs.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
The only allowed background job is \`.ai/tools/run-long-check\` when used through this skill.
|
|
7
|
+
|
|
8
|
+
This skill has a hard maximum timeout of 60 minutes. Do not run or suggest operations expected to exceed 60 minutes without user approval.
|
|
7
9
|
|
|
8
10
|
## Protocol
|
|
9
11
|
|
|
@@ -34,12 +36,15 @@ Example:
|
|
|
34
36
|
|
|
35
37
|
Timeout is not "unknown". It is a command result.
|
|
36
38
|
|
|
39
|
+
\`watch-job\` rejects timeouts over 60 minutes.
|
|
40
|
+
|
|
37
41
|
On timeout:
|
|
38
42
|
|
|
39
43
|
- summarize the latest log tail
|
|
40
44
|
- record the timeout in \`status.json\`
|
|
41
45
|
- report whether the timed-out process was stopped
|
|
42
46
|
- do not mark the command as passed
|
|
47
|
+
- do not continue the job in the background
|
|
43
48
|
|
|
44
49
|
\`watch-job\` should attempt to stop the timed-out command process group. If termination cannot be confirmed, say so in the summary.
|
|
45
50
|
|