vibe-coding-master 0.0.17 → 0.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/README.md +57 -28
- package/dist/backend/api/artifact-routes.js +5 -5
- package/dist/backend/api/harness-routes.js +8 -0
- package/dist/backend/server.js +8 -2
- package/dist/backend/services/artifact-service.js +12 -12
- package/dist/backend/services/harness-service.js +579 -5
- package/dist/backend/services/project-service.js +4 -1
- package/dist/backend/services/session-service.js +1 -3
- package/dist/backend/services/task-service.js +16 -17
- package/dist/backend/templates/handoff.js +64 -26
- package/dist/backend/templates/harness/architect-agent.js +42 -12
- package/dist/backend/templates/harness/claude-root.js +42 -18
- package/dist/backend/templates/harness/coder-agent.js +15 -11
- package/dist/backend/templates/harness/known-issues-doc.js +22 -0
- package/dist/backend/templates/harness/project-manager-agent.js +66 -16
- package/dist/backend/templates/harness/pull-request-template.js +29 -0
- package/dist/backend/templates/harness/reviewer-agent.js +40 -12
- package/dist/backend/templates/harness/vcm-final-acceptance-skill.js +105 -0
- package/dist/backend/templates/harness/vcm-harness-bootstrap-skill.js +78 -0
- package/dist/backend/templates/harness/vcm-long-running-validation-skill.js +50 -0
- package/dist/backend/templates/harness/vcm-route-message-skill.js +86 -0
- package/dist/backend/templates/message-envelope.js +1 -0
- package/dist/backend/templates/role-command.js +7 -1
- package/dist/shared/validation/artifact-check.js +14 -9
- package/dist-frontend/assets/index-CrY5Ryps.js +90 -0
- package/dist-frontend/assets/index-CvvtrrCN.css +32 -0
- package/dist-frontend/index.html +2 -2
- package/docs/cc-best-practices.md +433 -192
- package/docs/full-harness-baseline.md +254 -0
- package/docs/product-design.md +9 -9
- package/docs/v0.2-implementation-plan.md +379 -0
- package/docs/vcm-cc-best-practices.md +449 -0
- package/package.json +3 -1
- package/scripts/harness-tools/generate-module-index +298 -0
- package/scripts/harness-tools/generate-public-surface +692 -0
- package/scripts/install-vcm-harness.mjs +1607 -0
- package/scripts/uninstall-vcm-harness.mjs +490 -0
- package/scripts/verify-package.mjs +4 -0
- package/dist-frontend/assets/index-D40qaonx.css +0 -32
- package/dist-frontend/assets/index-DK2F4LFT.js +0 -90
- package/docs/v1-architecture-design.md +0 -1014
- package/docs/v1-implementation-plan.md +0 -1379
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
# Full Harness Baseline
|
|
2
|
+
|
|
3
|
+
Last updated: 2026-06-08
|
|
4
|
+
|
|
5
|
+
Status: Temporary working document.
|
|
6
|
+
|
|
7
|
+
This file tracks the current VCM 0.2 harness baseline as represented by
|
|
8
|
+
`example/rust-layered`. It is not a broad inventory of the old
|
|
9
|
+
`cc-best-practices.md` baseline.
|
|
10
|
+
|
|
11
|
+
When the example stabilizes, migrate the durable decisions into
|
|
12
|
+
`docs/vcm-cc-best-practices.md` and delete this file.
|
|
13
|
+
|
|
14
|
+
## Current Principle
|
|
15
|
+
|
|
16
|
+
VCM separates three kinds of files:
|
|
17
|
+
|
|
18
|
+
- Harness-managed files: VCM owns, upgrades, repairs, and can uninstall these
|
|
19
|
+
through `.ai/vcm-harness-manifest.json`.
|
|
20
|
+
- Project-owned durable docs: VCM bootstrap may create or initialize these, but
|
|
21
|
+
they become project truth and are not VCM-owned harness.
|
|
22
|
+
- Runtime state: VCM writes these during task execution and deletes them during
|
|
23
|
+
task cleanup. Runtime files are not manifest entries.
|
|
24
|
+
|
|
25
|
+
The manifest is a harness ownership and lifecycle record. It should include
|
|
26
|
+
VCM-managed rules, agents, skills, settings merges, harness tools, generated
|
|
27
|
+
context artifacts, PR template managed blocks, marker metadata, JSON ownership,
|
|
28
|
+
lifecycle labels, runtime roots, and uninstall actions.
|
|
29
|
+
|
|
30
|
+
The manifest should not list project-owned durable docs such as
|
|
31
|
+
`docs/ARCHITECTURE.md`, `docs/TESTING.md`, `docs/known-issues.md`,
|
|
32
|
+
`docs/plans/`, or module-level `ARCHITECTURE.md` files as managed entries. It
|
|
33
|
+
should not list `.ai/vcm/**` runtime files as managed entries either.
|
|
34
|
+
|
|
35
|
+
## Install And Bootstrap Flow
|
|
36
|
+
|
|
37
|
+
VCM 0.2 uses a two-stage harness setup:
|
|
38
|
+
|
|
39
|
+
1. Fixed install: VCM runs the deterministic fixed installer. This creates or
|
|
40
|
+
updates VCM-owned managed blocks, whole-file skills, role agents, settings
|
|
41
|
+
hooks, harness tools, generated-context directories, the PR template, and
|
|
42
|
+
`.ai/vcm-harness-manifest.json`.
|
|
43
|
+
2. AI bootstrap: VCM starts a temporary Claude Code terminal in the repository
|
|
44
|
+
root and instructs it to use `vcm-harness-bootstrap`. This fills
|
|
45
|
+
project-owned content and generated artifacts.
|
|
46
|
+
|
|
47
|
+
The fixed install does not copy example project content. It may create blank
|
|
48
|
+
durable doc templates when missing, but project-specific facts are added only by
|
|
49
|
+
bootstrap or by later role work.
|
|
50
|
+
|
|
51
|
+
Bootstrap should produce or refresh:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
CLAUDE.md project context outside the VCM managed block
|
|
55
|
+
docs/ARCHITECTURE.md
|
|
56
|
+
<module>/ARCHITECTURE.md
|
|
57
|
+
docs/TESTING.md
|
|
58
|
+
.ai/generated/module-index.json
|
|
59
|
+
.ai/generated/public-surface.json
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Bootstrap runtime metadata is temporary:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
.ai/vcm/bootstrap/session.json
|
|
66
|
+
.ai/vcm/bootstrap/bootstrap.log
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
These files are runtime state, not manifest entries. They can be deleted after
|
|
70
|
+
the generated artifacts and durable docs are complete.
|
|
71
|
+
|
|
72
|
+
## Current Manifest Entries
|
|
73
|
+
|
|
74
|
+
These entries match the current `example/rust-layered/.ai/vcm-harness-manifest.json`.
|
|
75
|
+
|
|
76
|
+
| Area | Path | Ownership | Lifecycle | Notes |
|
|
77
|
+
| --- | --- | --- | --- | --- |
|
|
78
|
+
| Manifest | `.ai/vcm-harness-manifest.json` | whole-file | Long-term | VCM harness ownership record. |
|
|
79
|
+
| Root rules | `CLAUDE.md` | managed-block | Long-term | VCM HTML marker block only; project context outside the block is project-owned. |
|
|
80
|
+
| Ignore rules | `.gitignore` | managed-block | Long-term | VCM hash-comment marker block. The example comments `.ai/vcm/` so readers can inspect runtime artifacts. |
|
|
81
|
+
| Claude settings | `.claude/settings.json` | json-merge | Long-term | VCM owns hook entries matching VCM command markers. |
|
|
82
|
+
| Agent directory | `.claude/agents/` | VCM-created directory | Long-term | Contains the four core VCM role agents. |
|
|
83
|
+
| Core agent | `.claude/agents/project-manager.md` | managed-block | Long-term | Project-manager role rules. |
|
|
84
|
+
| Core agent | `.claude/agents/architect.md` | managed-block | Long-term | Architect role rules. |
|
|
85
|
+
| Core agent | `.claude/agents/coder.md` | managed-block | Long-term | Coder role rules. |
|
|
86
|
+
| Core agent | `.claude/agents/reviewer.md` | managed-block | Long-term | Reviewer role rules. |
|
|
87
|
+
| Skill directory | `.claude/skills/` | VCM-created directory | Conditional long-term | Keep while repo-local VCM skills are installed. |
|
|
88
|
+
| Skill | `.claude/skills/vcm-route-message.md` | whole-file | Conditional long-term | Route-file authoring protocol. |
|
|
89
|
+
| Skill | `.claude/skills/vcm-final-acceptance.md` | whole-file | Conditional long-term | PM final evidence audit. |
|
|
90
|
+
| Skill | `.claude/skills/vcm-long-running-validation.md` | whole-file | Conditional long-term | Role-independent long-running command protocol. |
|
|
91
|
+
| Skill | `.claude/skills/vcm-harness-bootstrap.md` | whole-file | Conditional long-term | AI-assisted project understanding procedure. |
|
|
92
|
+
| Harness tool directory | `.ai/tools/` | VCM-created directory | Long-term | Repo-local harness tools. |
|
|
93
|
+
| Generated-context tool | `.ai/tools/generate-module-index` | whole-file | Long-term | Generates `.ai/generated/module-index.json`. |
|
|
94
|
+
| Generated-context tool | `.ai/tools/generate-public-surface` | whole-file | Long-term | Generates `.ai/generated/public-surface.json`. |
|
|
95
|
+
| Runtime tool | `.ai/tools/run-long-check` | whole-file | Conditional long-term | Starts file-backed long-running command jobs. |
|
|
96
|
+
| Runtime tool | `.ai/tools/watch-job` | whole-file | Conditional long-term | Bounded watcher for long-running command jobs. |
|
|
97
|
+
| Generated context directory | `.ai/generated/` | VCM-created directory | Long-term | Derived context artifacts. |
|
|
98
|
+
| Generated context | `.ai/generated/module-index.json` | derived artifact | Derived | Regenerated by `generate-module-index`; do not hand-edit as source truth. |
|
|
99
|
+
| Generated context | `.ai/generated/public-surface.json` | derived artifact | Derived | Regenerated by `generate-public-surface`; do not hand-edit as source truth. |
|
|
100
|
+
| PR template | `.github/pull_request_template.md` | managed-block | Long-term | VCM PR checklist block. |
|
|
101
|
+
|
|
102
|
+
Runtime roots recorded by the manifest:
|
|
103
|
+
|
|
104
|
+
```text
|
|
105
|
+
.ai/vcm/
|
|
106
|
+
.claude/worktrees/
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
These roots are cleanup targets, not managed entries.
|
|
110
|
+
|
|
111
|
+
## Project-Owned Bootstrap Outputs
|
|
112
|
+
|
|
113
|
+
The current example includes project-owned durable docs created or initialized
|
|
114
|
+
during harness bootstrap. They are important for the workflow, but they are not
|
|
115
|
+
VCM-owned harness and should not appear as manifest entries.
|
|
116
|
+
|
|
117
|
+
| Area | Path | Owner | Lifecycle | Notes |
|
|
118
|
+
| --- | --- | --- | --- | --- |
|
|
119
|
+
| Project context | `CLAUDE.md` content outside VCM block | Project | Long-term | Rust-layered project facts and constraints. |
|
|
120
|
+
| Project architecture | `docs/ARCHITECTURE.md` | Architect | Long-term | Project-level module overview, responsibilities, relationships, dependency direction, and links to module docs. |
|
|
121
|
+
| Module architecture | `<module>/ARCHITECTURE.md` | Architect | Long-term | Module-level boundaries, behavior, important public surface explanations, and risks. |
|
|
122
|
+
| Testing docs | `docs/TESTING.md` | Reviewer | Long-term | Validation levels, Rust commands, generated-context freshness checks, and testing gaps. |
|
|
123
|
+
| Known issues | `docs/known-issues.md` | Architect | Rolling durable doc | Confirmed unresolved issues and accepted limitations. Remove fixed, rejected, or obsolete entries. |
|
|
124
|
+
| Durable plans | `docs/plans/` | Project | Conditional long-term | Durable plans only when a large task needs them. Completed routine plans should be deleted after durable facts are promoted. |
|
|
125
|
+
|
|
126
|
+
Current `example/rust-layered` does not use these old separate docs:
|
|
127
|
+
|
|
128
|
+
```text
|
|
129
|
+
docs/MODULE_MAP.md
|
|
130
|
+
docs/SECURITY.md
|
|
131
|
+
docs/DEPENDENCY_RULES.md
|
|
132
|
+
docs/AI_WORKFLOW.md
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Runtime State
|
|
136
|
+
|
|
137
|
+
Runtime state is created while VCM manages a task. It is task-local and should be
|
|
138
|
+
deleted during task cleanup after useful facts are promoted to code, tests,
|
|
139
|
+
durable docs, PR text, or commit history.
|
|
140
|
+
|
|
141
|
+
| Area | Path | Lifecycle | Notes |
|
|
142
|
+
| --- | --- | --- | --- |
|
|
143
|
+
| Worktrees | `.claude/worktrees/<task-slug>/` | Runtime cleanup | One task worktree shared by all roles. |
|
|
144
|
+
| Handoff root | `.ai/vcm/handoffs/` | Runtime cleanup | Role artifacts and route files for the active task. |
|
|
145
|
+
| Route messages | `.ai/vcm/handoffs/messages/<from-role>-<to-role>.md` | Runtime cleanup | Pending route files written by `vcm-route-message`. |
|
|
146
|
+
| Handoff logs | `.ai/vcm/handoffs/logs/` | Runtime cleanup | Debug/recovery logs, not durable project truth. |
|
|
147
|
+
| Architecture plan | `.ai/vcm/handoffs/architecture-plan.md` | Task-temporary | Architect handoff for one executable task. |
|
|
148
|
+
| Review report | `.ai/vcm/handoffs/review-report.md` | Task-temporary | Reviewer handoff for one executable task. |
|
|
149
|
+
| Docs sync report | `.ai/vcm/handoffs/docs-sync-report.md` | Task-temporary | Architect docs-sync handoff for one executable task. |
|
|
150
|
+
| Final acceptance | `.ai/vcm/handoffs/final-acceptance.md` | Task-temporary | PM final evidence-audit handoff for one executable task. |
|
|
151
|
+
| Task known issues | `.ai/vcm/handoffs/known-issues.md` | Task-temporary | Promote unresolved durable findings to `docs/known-issues.md`, then delete. |
|
|
152
|
+
| Long-running jobs | `.ai/vcm/jobs/<job-id>/` | Runtime cleanup | Status and logs from `run-long-check` / `watch-job`. |
|
|
153
|
+
| Bootstrap session | `.ai/vcm/bootstrap/session.json` | Runtime cleanup | Last harness-bootstrap terminal metadata. |
|
|
154
|
+
| Bootstrap log | `.ai/vcm/bootstrap/bootstrap.log` | Runtime cleanup | Terminal log for the harness-bootstrap session. |
|
|
155
|
+
| App-local task records | `~/.vcm/projects/<project-id>/tasks/<task-slug>.json` | Runtime cleanup | VCM UI/lifecycle subtask records outside the connected repo. |
|
|
156
|
+
|
|
157
|
+
Runtime state under `.ai/vcm/**` is excluded from manifest entries. The manifest
|
|
158
|
+
records `.ai/vcm/` only as a runtime root.
|
|
159
|
+
|
|
160
|
+
## Current Skills
|
|
161
|
+
|
|
162
|
+
The current example installs these skills:
|
|
163
|
+
|
|
164
|
+
- `vcm-route-message`: route-file write protocol.
|
|
165
|
+
- `vcm-final-acceptance`: final PM evidence audit.
|
|
166
|
+
- `vcm-long-running-validation`: role-independent long-running command protocol.
|
|
167
|
+
- `vcm-harness-bootstrap`: one-time or occasional project-understanding, generated-context refresh, and durable-doc bootstrap procedure.
|
|
168
|
+
|
|
169
|
+
The current example does not install a separate `vcm-docs-sync` skill. Docs sync
|
|
170
|
+
is expressed in the architect role rules and writes
|
|
171
|
+
`.ai/vcm/handoffs/docs-sync-report.md`.
|
|
172
|
+
|
|
173
|
+
## Current Tools
|
|
174
|
+
|
|
175
|
+
The current example keeps only four `.ai/tools/` files:
|
|
176
|
+
|
|
177
|
+
```text
|
|
178
|
+
.ai/tools/generate-module-index
|
|
179
|
+
.ai/tools/generate-public-surface
|
|
180
|
+
.ai/tools/run-long-check
|
|
181
|
+
.ai/tools/watch-job
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
The generated-context tools currently support Rust projects only. The fixed
|
|
185
|
+
installer may install them as the default Rust baseline, but non-Rust projects
|
|
186
|
+
need project-specific generators before `.ai/generated/*` can be trusted.
|
|
187
|
+
|
|
188
|
+
The current example intentionally does not install these old validation or
|
|
189
|
+
discovery wrappers:
|
|
190
|
+
|
|
191
|
+
```text
|
|
192
|
+
.ai/tools/check-fast
|
|
193
|
+
.ai/tools/check-changed
|
|
194
|
+
.ai/tools/check-module
|
|
195
|
+
.ai/tools/check-boundaries
|
|
196
|
+
.ai/tools/check-agent-rules
|
|
197
|
+
.ai/tools/check-docs-freshness
|
|
198
|
+
.ai/tools/check-generated-artifacts
|
|
199
|
+
.ai/tools/find-owner
|
|
200
|
+
.ai/tools/find-callers
|
|
201
|
+
.ai/tools/find-tests
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
Rust unit tests and integration tests are run with native Cargo commands chosen
|
|
205
|
+
by the responsible role. The harness does not need a fixed wrapper for every
|
|
206
|
+
validation level.
|
|
207
|
+
|
|
208
|
+
## Generated Context
|
|
209
|
+
|
|
210
|
+
The current example has two generated artifacts:
|
|
211
|
+
|
|
212
|
+
```text
|
|
213
|
+
.ai/generated/module-index.json
|
|
214
|
+
.ai/generated/public-surface.json
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
Current support is Rust-only:
|
|
218
|
+
|
|
219
|
+
- `generate-module-index` reads Cargo workspace structure, auto-detects a
|
|
220
|
+
direct child `cargoRoot` when the project root has no `Cargo.toml`, and
|
|
221
|
+
filters workspace member paths that do not contain a crate.
|
|
222
|
+
- `generate-public-surface` indexes crate-external Rust `pub fn`,
|
|
223
|
+
`pub struct`, `pub enum`, and `pub trait` items, using `pub use` only to
|
|
224
|
+
resolve re-exported high-value API entries.
|
|
225
|
+
|
|
226
|
+
There is no `test-map.json`. Test files are discoverable through
|
|
227
|
+
`module-index.json` and Rust's normal Cargo test layout.
|
|
228
|
+
|
|
229
|
+
Generated artifacts are derived context, not durable project truth. They must be
|
|
230
|
+
regenerated by their tools after relevant source, manifest, module, or public API
|
|
231
|
+
changes.
|
|
232
|
+
|
|
233
|
+
## Not Part Of The Current Example
|
|
234
|
+
|
|
235
|
+
The following items are intentionally not part of the current `rust-layered`
|
|
236
|
+
baseline:
|
|
237
|
+
|
|
238
|
+
```text
|
|
239
|
+
.claude/commands/
|
|
240
|
+
.claude/agents/optional/
|
|
241
|
+
.ai/task-specs/
|
|
242
|
+
.ai/vcm/tasks/
|
|
243
|
+
.ai/vcm/handoffs/role-commands/
|
|
244
|
+
docs/plans/active/
|
|
245
|
+
docs/plans/completed/
|
|
246
|
+
docs/MODULE_MAP.md
|
|
247
|
+
docs/SECURITY.md
|
|
248
|
+
docs/DEPENDENCY_RULES.md
|
|
249
|
+
docs/AI_WORKFLOW.md
|
|
250
|
+
.ai/generated/test-map.json
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Do not reintroduce these into the example baseline unless there is a specific,
|
|
254
|
+
current VCM requirement.
|
package/docs/product-design.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# VibeCodingMaster Product Design
|
|
2
2
|
|
|
3
|
-
Last updated: 2026-
|
|
3
|
+
Last updated: 2026-06-02
|
|
4
4
|
|
|
5
5
|
This document describes the current product direction and implemented V1 behavior for VCM.
|
|
6
6
|
|
|
@@ -163,7 +163,7 @@ The architect owns:
|
|
|
163
163
|
- module boundaries
|
|
164
164
|
- file responsibilities
|
|
165
165
|
- public contracts
|
|
166
|
-
-
|
|
166
|
+
- verifiable behavior and behavior/contract proof points
|
|
167
167
|
- Replan triggers
|
|
168
168
|
- post-review docs sync and architecture drift checks
|
|
169
169
|
|
|
@@ -179,12 +179,10 @@ The coder owns:
|
|
|
179
179
|
- implementation within the approved plan
|
|
180
180
|
- direct unit/contract/regression tests
|
|
181
181
|
- validation evidence
|
|
182
|
-
- implementation log
|
|
183
182
|
|
|
184
183
|
Outputs:
|
|
185
184
|
|
|
186
|
-
- `.ai/vcm/handoffs/
|
|
187
|
-
- `.ai/vcm/handoffs/validation-log.md`
|
|
185
|
+
- `.ai/vcm/handoffs/known-issues.md`
|
|
188
186
|
|
|
189
187
|
### Reviewer
|
|
190
188
|
|
|
@@ -199,6 +197,7 @@ The reviewer owns:
|
|
|
199
197
|
Output:
|
|
200
198
|
|
|
201
199
|
- `.ai/vcm/handoffs/review-report.md`
|
|
200
|
+
- `.ai/vcm/handoffs/known-issues.md`
|
|
202
201
|
|
|
203
202
|
## 6. Information Architecture
|
|
204
203
|
|
|
@@ -253,7 +252,7 @@ The default theme mode is `System`, which follows the OS/browser color-scheme pr
|
|
|
253
252
|
When `Round alert` is on, VCM shows a compact in-app prompt and plays a short, soft, two-note local chime after a full conversation round truly ends.
|
|
254
253
|
`Try alert` must work even when no conversation has just completed so the user can verify browser sound and notification behavior.
|
|
255
254
|
|
|
256
|
-
There is no separate `Pause orchestration` or `Resume orchestration` control in the GUI. The current product model is one on/off toggle in the
|
|
255
|
+
There is no separate `Pause orchestration` or `Resume orchestration` control in the GUI. The current product model is one on/off toggle in the role console toolbar.
|
|
257
256
|
|
|
258
257
|
`VCM Harness` shows whether VCM managed blocks are installed/up to date in the project rules files and `.gitignore`.
|
|
259
258
|
|
|
@@ -279,6 +278,8 @@ The task workspace header is one compact row:
|
|
|
279
278
|
|
|
280
279
|
The header does not show `TASK WORKSPACE`, branch, or worktree path. Task branch/worktree details remain task metadata, but they are not first-row chrome.
|
|
281
280
|
|
|
281
|
+
The task workspace does not show a manual `Refresh` button. Task status, role status, messages, orchestration state, and round completion state refresh automatically. The only remaining `Refresh` control is inside the sidebar `VCM Harness` section, where it rechecks managed project files.
|
|
282
|
+
|
|
282
283
|
Role tabs show the session status for each role.
|
|
283
284
|
|
|
284
285
|
The main task workspace only renders the active role console. Messages and Events are opened from the sidebar.
|
|
@@ -420,8 +421,7 @@ Each task creates:
|
|
|
420
421
|
coder.log
|
|
421
422
|
reviewer.log
|
|
422
423
|
architecture-plan.md
|
|
423
|
-
|
|
424
|
-
validation-log.md
|
|
424
|
+
known-issues.md
|
|
425
425
|
review-report.md
|
|
426
426
|
docs-sync-report.md
|
|
427
427
|
messages/
|
|
@@ -509,7 +509,7 @@ VCM Harness injects Claude Code hooks into `.claude/settings.json`:
|
|
|
509
509
|
|
|
510
510
|
VCM uses `UserPromptSubmit` as the Claude Code acceptance signal. A successful PTY write only proves VCM delivered text to the embedded terminal; `UserPromptSubmit` proves Claude Code accepted the prompt.
|
|
511
511
|
|
|
512
|
-
The injected role rules require asynchronous file messaging: after writing or updating a route file, the role must end the current Claude Code turn and wait for VCM to deliver a later reply. Roles must not poll files, start shell loops,
|
|
512
|
+
The injected role rules require asynchronous file messaging: after writing or updating a route file, the role must end the current Claude Code turn and wait for VCM to deliver a later reply. Roles should use `.claude/skills/vcm-route-message.md` to author route files. Roles must not poll files, start shell loops, keep the turn open waiting for another role to answer, paste directly into another role terminal, or use Claude Code Task/Subagent for VCM role delegation.
|
|
513
513
|
|
|
514
514
|
There is no `vcmctl` in the target design. Hook entrypoints are direct HTTP from Claude Code hooks to the local VCM backend.
|
|
515
515
|
|