vibe-coding-master 0.3.1 → 0.3.2
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 +1 -1
- package/dist/backend/services/codex-review-service.js +1 -1
- package/dist/backend/templates/handoff.js +10 -0
- package/dist/backend/templates/harness/architect-agent.js +8 -4
- package/dist/backend/templates/harness/claude-root.js +1 -1
- package/dist/backend/templates/harness/coder-agent.js +1 -1
- package/dist/backend/templates/harness/codex-review.js +4 -0
- package/dist/backend/templates/harness/reviewer-agent.js +1 -0
- package/dist/shared/validation/artifact-check.js +1 -0
- package/docs/cc-best-practices.md +1 -0
- package/docs/codex-review-gates.md +5 -0
- package/docs/full-harness-baseline.md +1 -1
- package/docs/product-design.md +2 -1
- package/docs/vcm-cc-best-practices.md +15 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -163,7 +163,7 @@ The recommended flow is:
|
|
|
163
163
|
|
|
164
164
|
```text
|
|
165
165
|
project-manager
|
|
166
|
-
-> architect architecture plan and code scaffolding
|
|
166
|
+
-> architect architecture plan, Scaffold Manifest, and code scaffolding
|
|
167
167
|
-> coder implementation and baseline unit checks
|
|
168
168
|
-> reviewer independent validation
|
|
169
169
|
-> architect docs sync / architecture drift check
|
|
@@ -537,7 +537,7 @@ async function computeInputHash(deps, taskRepoRoot, gate) {
|
|
|
537
537
|
digest.update("<missing>");
|
|
538
538
|
}
|
|
539
539
|
}
|
|
540
|
-
if (gate === "final-diff") {
|
|
540
|
+
if (gate === "architecture-plan" || gate === "final-diff") {
|
|
541
541
|
digest.update(await commandStdout(deps.runner, taskRepoRoot, ["status", "--porcelain=v1"]));
|
|
542
542
|
digest.update(await commandStdout(deps.runner, taskRepoRoot, ["diff", "--binary"]));
|
|
543
543
|
digest.update(await commandStdout(deps.runner, taskRepoRoot, ["diff", "--cached", "--binary"]));
|
|
@@ -9,6 +9,16 @@ TBD
|
|
|
9
9
|
|
|
10
10
|
TBD
|
|
11
11
|
|
|
12
|
+
## Scaffold Manifest
|
|
13
|
+
|
|
14
|
+
Task-specific context and coder guidance go here, not in source-code comments.
|
|
15
|
+
Source-code comments should only describe durable behavior, contracts, invariants,
|
|
16
|
+
error boundaries, or non-obvious logic that should remain useful after this task.
|
|
17
|
+
|
|
18
|
+
| File | Action | Task Context | Durable Code Comment Needed | Coder Work | Allowed Freedom | VCM:CODE | Proof Point | Replan Trigger |
|
|
19
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
20
|
+
| TBD | TBD | TBD | TBD | TBD | TBD | TBD | TBD | TBD |
|
|
21
|
+
|
|
12
22
|
## Implementation Plan
|
|
13
23
|
|
|
14
24
|
TBD
|
|
@@ -21,24 +21,28 @@ export function renderArchitectHarnessRules() {
|
|
|
21
21
|
|
|
22
22
|
### Architecture Plan
|
|
23
23
|
|
|
24
|
-
- Before coder work starts, write \`.ai/vcm/handoffs/architecture-plan.md
|
|
24
|
+
- Before coder work starts, write \`.ai/vcm/handoffs/architecture-plan.md\`, choose the minimum necessary code scaffolding, and include a Scaffold Manifest for task-specific context and coder guidance.
|
|
25
25
|
|
|
26
26
|
#### Plan Document
|
|
27
27
|
|
|
28
28
|
- Define the expected implementation scope: affected modules, changed or created files, each file's responsibility, why it is in scope, and user-visible behavior changes.
|
|
29
29
|
- Define every non-private callable surface intended for use outside its file: visibility, signature shape, responsibility, expected callers, behavior contract, side effects, and error boundaries.
|
|
30
|
+
- Include a \`Scaffold Manifest\` for task-specific file context: file action, why the file is in scope, coder work, allowed implementation freedom, expected \`VCM:CODE\` placeholders, durable code comment needs, proof points, and Replan triggers.
|
|
31
|
+
- Put task context, phase notes, handoff instructions, temporary rationale, and coder guidance in the \`Scaffold Manifest\`, not in source-code comments.
|
|
30
32
|
- Cover architecture docs impact, known risks, and Replan triggers.
|
|
31
33
|
- For docs impact, state whether changes belong in \`docs/ARCHITECTURE.md\`, affected \`<module>/ARCHITECTURE.md\`, \`.ai/generated/public-surface.json\`, or no durable architecture doc.
|
|
32
34
|
|
|
33
35
|
#### Code Scaffolding
|
|
34
36
|
|
|
35
|
-
- Create or update module/file scaffolding
|
|
36
|
-
-
|
|
37
|
+
- Create or update only the minimum module/file scaffolding needed to make boundaries, callable surfaces, and placeholders unambiguous.
|
|
38
|
+
- Source-code comments must describe durable behavior, contracts, invariants, error boundaries, or non-obvious logic that should remain useful after the task is complete.
|
|
39
|
+
- Do not put task-specific context, phase notes, handoff instructions, temporary plan rationale, or coder guidance in source-code comments.
|
|
40
|
+
- When changing an existing file, update only affected durable comments or callable surfaces; do not rewrite unrelated file comments.
|
|
37
41
|
- Define every new or changed non-private callable surface directly in code with its signature shape and contract comment.
|
|
38
42
|
- When changing an existing non-private callable surface, update its signature and contract comment in code before coder work starts; leave \`VCM:CODE\` only where implementation must change.
|
|
39
43
|
- Non-private callable surface includes any function, method, type, trait, enum, constant, re-export, or similar symbol that another file can call or depend on.
|
|
40
44
|
- Mark incomplete implementation bodies with \`VCM:CODE\`; coder must implement them and remove the markers before handoff.
|
|
41
|
-
- Architect scaffolding may include modules, files, signatures, type shapes, comments, and placeholder bodies, but not real business implementation beyond minimal scaffold code.
|
|
45
|
+
- Architect scaffolding may include modules, files, signatures, type shapes, durable comments, and placeholder bodies, but not real business implementation beyond minimal scaffold code.
|
|
42
46
|
- Coder may add private implementation helpers, but must not add or change cross-file callable surface without architect replan.
|
|
43
47
|
|
|
44
48
|
### Phase Planning
|
|
@@ -27,7 +27,7 @@ export function renderRootClaudeHarnessRules() {
|
|
|
27
27
|
## VCM Task Flow
|
|
28
28
|
|
|
29
29
|
- Code changes use the full route: \`project-manager -> architect -> coder -> reviewer -> architect docs sync -> project-manager final acceptance\`.
|
|
30
|
-
- Before code changes, architect must write an architecture plan and code scaffolding that cover file responsibilities, cross-file callable surfaces, user-visible behavior, docs impact, risks, and Replan triggers.
|
|
30
|
+
- Before code changes, architect must write an architecture plan with a Scaffold Manifest and minimum necessary code scaffolding that cover file responsibilities, cross-file callable surfaces, user-visible behavior, docs impact, risks, and Replan triggers.
|
|
31
31
|
- Docs-only changes may use: \`project-manager -> architect -> project-manager final acceptance\`.
|
|
32
32
|
- Test-only or validation-only work may use: \`project-manager -> reviewer -> project-manager final acceptance\`.
|
|
33
33
|
- If a docs/test/validation-only task reveals required code, architecture, public contract, dependency, durable-doc, or test-strategy changes, route back through the full code-change flow.
|
|
@@ -14,7 +14,7 @@ export function renderCoderHarnessRules() {
|
|
|
14
14
|
- Do not fake completion: no hardcoded success, disabled logic, swallowed errors, test-only shortcuts, or silent fallback that hides failure.
|
|
15
15
|
- Keep the diff inside approved scope: no unrelated rewrites, drive-by refactors, renamed symbols, moved files, or formatting churn.
|
|
16
16
|
- Preserve existing behavior unless the architecture plan explicitly changes it; keep existing call sites and shared code paths working.
|
|
17
|
-
- Maintain code documentation: preserve architect-written comments, add comments for non-obvious
|
|
17
|
+
- Maintain code documentation: preserve durable architect-written contract comments, do not copy Scaffold Manifest task context into source comments, add comments only for non-obvious durable logic, remove stale/debug/TODO/task-process comments, and keep code and comments consistent.
|
|
18
18
|
|
|
19
19
|
### General Coding Standards
|
|
20
20
|
|
|
@@ -31,10 +31,12 @@ Check that the plan:
|
|
|
31
31
|
- matches the user request and approved scope
|
|
32
32
|
- names affected modules/files, file responsibilities, and user-visible changes
|
|
33
33
|
- defines new or changed non-private callable surfaces: visibility, signature shape, callers, contract, side effects, and error boundaries
|
|
34
|
+
- includes a Scaffold Manifest that carries task-specific context, coder guidance, allowed freedom, expected \`VCM:CODE\`, durable code comment needs, proof points, and Replan triggers
|
|
34
35
|
- preserves dependency direction and avoids unapproved dependencies
|
|
35
36
|
- states docs/generated-context impact or explains why none is needed
|
|
36
37
|
- names risks, proof points, phase boundaries when needed, and Replan triggers
|
|
37
38
|
- uses \`VCM:CODE\` for incomplete implementation and leaves no coder ambiguity
|
|
39
|
+
- keeps task-specific context, phase notes, handoff instructions, and coder guidance out of source-code comments
|
|
38
40
|
- does not take over reviewer-owned validation strategy or test adequacy
|
|
39
41
|
|
|
40
42
|
### Validation Adequacy
|
|
@@ -56,6 +58,7 @@ Check that the final diff:
|
|
|
56
58
|
- stays inside the approved plan, phase, and user constraints
|
|
57
59
|
- introduces no unapproved modules, dependencies, public contracts, cross-file callable surfaces, or durable-doc changes
|
|
58
60
|
- removes all \`VCM:CODE\` markers
|
|
61
|
+
- leaves no task-specific process comments in source or test code, such as role handoff notes, phase notes, current-task rationale, or coder instructions
|
|
59
62
|
- contains no fake completion: hardcoded success, disabled logic, swallowed errors, test-only shortcuts, or silent fallback hiding failure
|
|
60
63
|
- preserves existing behavior unless the plan changes it
|
|
61
64
|
- keeps changed functions focused and meaningfully named
|
|
@@ -161,6 +164,7 @@ Review whether the architecture plan is ready for coder implementation.
|
|
|
161
164
|
- \`../../.claude/agents/coder.md\`
|
|
162
165
|
- \`../../.claude/agents/reviewer.md\`
|
|
163
166
|
- \`../../.ai/vcm/handoffs/architecture-plan.md\`
|
|
167
|
+
- current git status and scaffold diff from \`../..\`
|
|
164
168
|
- \`../../.ai/generated/module-index.json\`
|
|
165
169
|
- \`../../.ai/generated/public-surface.json\`
|
|
166
170
|
|
|
@@ -23,6 +23,7 @@ export function renderReviewerHarnessRules() {
|
|
|
23
23
|
- Record failed commands, observed behavior, expected behavior, reproduction steps, skipped checks, and coverage gaps.
|
|
24
24
|
- If validation fails or expected behavior is unclear, report the evidence to project-manager; architect owns diagnosis and next-step routing.
|
|
25
25
|
- Add or modify tests, fixtures, or test helpers needed for validation confidence.
|
|
26
|
+
- If task-specific process comments appear in changed code while reviewing behavior, report them as a maintainability gap; task context belongs in handoff artifacts, not durable code comments.
|
|
26
27
|
- Update \`docs/TESTING.md\` when validation strategy, commands, level mapping, integration/E2E case definitions, selection rules, final-validation cleanup, test gaps, or test expectations change.
|
|
27
28
|
|
|
28
29
|
### Testing Documentation
|
|
@@ -123,6 +123,7 @@ Recommended inputs:
|
|
|
123
123
|
- original user request
|
|
124
124
|
- project-manager route message or durable task plan when present
|
|
125
125
|
- architecture plan
|
|
126
|
+
- Scaffold Manifest and any architect-created scaffold diff
|
|
126
127
|
- relevant durable architecture docs
|
|
127
128
|
- `docs/TESTING.md` when the plan depends on validation strategy
|
|
128
129
|
- changed file list when architect created scaffolding
|
|
@@ -132,6 +133,8 @@ Codex should review whether:
|
|
|
132
133
|
- the plan matches the user request
|
|
133
134
|
- the architecture boundaries are clear and compatible with the existing repo
|
|
134
135
|
- file responsibilities and public contracts are specific enough for coder
|
|
136
|
+
- the Scaffold Manifest carries task-specific context and coder guidance instead
|
|
137
|
+
of putting that information in source-code comments
|
|
135
138
|
- the plan avoids unnecessary scope expansion
|
|
136
139
|
- risks, dependencies, migrations, permissions, data, and error paths are named
|
|
137
140
|
- acceptance and validation evidence can be produced
|
|
@@ -215,6 +218,8 @@ Codex should review whether:
|
|
|
215
218
|
- the final diff satisfies the user request
|
|
216
219
|
- the implementation contains correctness bugs or behavior regressions
|
|
217
220
|
- the code follows existing project conventions
|
|
221
|
+
- source and test comments contain no task-specific process notes, phase notes,
|
|
222
|
+
current-task rationale, or coder instructions
|
|
218
223
|
- tests and implementation remain aligned
|
|
219
224
|
- durable docs and generated artifacts are consistent with the diff
|
|
220
225
|
- files outside the expected scope are explained
|
|
@@ -81,7 +81,7 @@ These entries match the current `example/rust-layered/.ai/vcm-harness-manifest.j
|
|
|
81
81
|
| Claude settings | `.claude/settings.json` | json-merge | Long-term | VCM owns hook entries matching VCM command markers. |
|
|
82
82
|
| Agent directory | `.claude/agents/` | VCM-created directory | Long-term | Contains the four core VCM role agents. |
|
|
83
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: plan document, code scaffolding, Debug Mode, docs sync. |
|
|
84
|
+
| Core agent | `.claude/agents/architect.md` | managed-block | Long-term | Architect role rules: plan document, Scaffold Manifest, code scaffolding, Debug Mode, docs sync. |
|
|
85
85
|
| Core agent | `.claude/agents/coder.md` | managed-block | Long-term | Coder role rules: scaffold implementation, coding standards, baseline unit checks. |
|
|
86
86
|
| Core agent | `.claude/agents/reviewer.md` | managed-block | Long-term | Reviewer role rules: independent validation, TESTING.md strategy, integration/E2E case lists. |
|
|
87
87
|
| Skill directory | `.claude/skills/` | VCM-created directory | Conditional long-term | Keep while repo-local VCM skills are installed. |
|
package/docs/product-design.md
CHANGED
|
@@ -75,7 +75,7 @@ Recommended flow:
|
|
|
75
75
|
|
|
76
76
|
```text
|
|
77
77
|
project-manager
|
|
78
|
-
-> architect architecture plan and code scaffolding
|
|
78
|
+
-> architect architecture plan, Scaffold Manifest, and code scaffolding
|
|
79
79
|
-> coder implementation and baseline unit checks
|
|
80
80
|
-> reviewer independent validation
|
|
81
81
|
-> architect docs sync / architecture drift check
|
|
@@ -219,6 +219,7 @@ The project manager must not become the architect, coder, reviewer, or debugger
|
|
|
219
219
|
The architect owns:
|
|
220
220
|
|
|
221
221
|
- architecture plan
|
|
222
|
+
- Scaffold Manifest for task-specific file context and coder guidance
|
|
222
223
|
- module boundaries
|
|
223
224
|
- file responsibilities
|
|
224
225
|
- cross-file callable surfaces and contract comments
|
|
@@ -194,8 +194,9 @@ VCM uses four core roles:
|
|
|
194
194
|
- `architect`: technical planner and docs-sync owner. It defines module/file
|
|
195
195
|
responsibilities, cross-file callable surfaces, public contracts, phase
|
|
196
196
|
boundaries, risks, and durable docs updates. Before coder work starts,
|
|
197
|
-
architect writes the plan
|
|
198
|
-
contract comments and
|
|
197
|
+
architect writes the plan with a Scaffold Manifest and materializes only the
|
|
198
|
+
minimum necessary code scaffolding with durable contract comments and
|
|
199
|
+
`VCM:CODE` placeholders.
|
|
199
200
|
- `coder`: implementation owner. It changes production code and baseline unit
|
|
200
201
|
tests within the approved plan. It follows the architect-defined scaffold,
|
|
201
202
|
implements and removes `VCM:CODE` placeholders, follows general coding
|
|
@@ -240,19 +241,28 @@ workload or context size is not a valid reason to change the architect plan.
|
|
|
240
241
|
## 7.1 Architecture Plan And Code Scaffolding
|
|
241
242
|
|
|
242
243
|
For code changes, the architect plan is not only a markdown handoff. It is a
|
|
243
|
-
plan document plus code
|
|
244
|
+
plan document plus a Scaffold Manifest and the minimum necessary code
|
|
245
|
+
scaffolding.
|
|
244
246
|
|
|
245
247
|
The plan document defines affected modules, changed or created files, file
|
|
246
248
|
responsibilities, why each file is in scope, user-visible behavior changes,
|
|
247
249
|
non-private cross-file callable surfaces, docs impact, risks, and Replan
|
|
248
250
|
triggers.
|
|
249
251
|
|
|
252
|
+
The Scaffold Manifest carries task-specific file context for the current handoff:
|
|
253
|
+
why a file is in scope, what coder should implement, allowed implementation
|
|
254
|
+
freedom, expected `VCM:CODE` placeholders, durable code comment needs, proof
|
|
255
|
+
points, and Replan triggers. Task context, phase notes, handoff instructions,
|
|
256
|
+
temporary rationale, and coder guidance belong in the Scaffold Manifest, not in
|
|
257
|
+
source-code comments.
|
|
258
|
+
|
|
250
259
|
Code scaffolding materializes that plan in the repository before coder work
|
|
251
260
|
starts:
|
|
252
261
|
|
|
253
262
|
- new modules or files are created when needed
|
|
254
|
-
-
|
|
255
|
-
are documented in code
|
|
263
|
+
- durable behavior, contracts, invariants, error boundaries, or non-obvious
|
|
264
|
+
logic are documented in code only when they should remain useful after the
|
|
265
|
+
task is complete
|
|
256
266
|
- new or changed non-private callable surfaces are defined directly in code with
|
|
257
267
|
signature shape and contract comments
|
|
258
268
|
- incomplete implementation bodies are marked with `VCM:CODE`
|