vibe-coding-master 0.7.16 → 0.7.17

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.
Files changed (28) hide show
  1. package/README.md +12 -0
  2. package/dist/backend/adapters/claude-adapter.js +4 -1
  3. package/dist/backend/api/session-routes.js +5 -0
  4. package/dist/backend/api/usage-analytics-routes.js +31 -0
  5. package/dist/backend/cli/install-vcm-harness.js +51 -2
  6. package/dist/backend/server.js +25 -5
  7. package/dist/backend/services/architect-restart-service.js +136 -0
  8. package/dist/backend/services/claude-hook-service.js +6 -0
  9. package/dist/backend/services/gate-review-service.js +40 -0
  10. package/dist/backend/services/harness-service.js +51 -4
  11. package/dist/backend/services/message-service.js +5 -0
  12. package/dist/backend/services/session-service.js +34 -6
  13. package/dist/backend/services/task-close-service.js +1 -0
  14. package/dist/backend/services/usage-analytics-service.js +346 -0
  15. package/dist/backend/templates/harness/architect-agent.js +18 -10
  16. package/dist/backend/templates/harness/architect-scaffold-worker-agent.js +23 -0
  17. package/dist/backend/templates/harness/claude-root.js +1 -1
  18. package/dist/backend/templates/harness/gate-review.js +7 -2
  19. package/dist/backend/templates/harness/project-manager-agent.js +1 -1
  20. package/dist/backend/templates/harness/restart-architect-skill.js +75 -0
  21. package/dist/backend/templates/harness/vcm-architecture-interview-skill.js +31 -5
  22. package/dist/backend/templates/harness/vcm-route-message-skill.js +3 -3
  23. package/dist/shared/types/usage-analytics.js +1 -0
  24. package/dist-frontend/assets/index-CStWyouh.js +97 -0
  25. package/dist-frontend/assets/{index-CiEUp9Si.css → index-Ci7z8tW3.css} +1 -1
  26. package/dist-frontend/index.html +2 -2
  27. package/package.json +1 -1
  28. package/dist-frontend/assets/index-BAE_pjXJ.js +0 -97
@@ -0,0 +1,75 @@
1
+ export function renderRestartArchitectSkillRules() {
2
+ return `## Purpose
3
+
4
+ Use this skill only after Architect has completed and committed the architecture plan and scaffold for Code-Change Flow.
5
+
6
+ Run:
7
+
8
+ \`\`\`bash
9
+ .ai/tools/request-architect-restart
10
+ \`\`\`
11
+
12
+ If VCM reports \`scheduled\`, write the completed Architect-to-PM route message and end the turn. VCM restarts Architect only after the route is accepted by PM.
13
+
14
+ Do not use this skill for incomplete planning, user clarification, Debug Mode, Architecture Diagnosis Mode, or docs sync.`;
15
+ }
16
+ export function renderRequestArchitectRestartTool() {
17
+ return `#!/usr/bin/env python3
18
+ import json
19
+ import os
20
+ import sys
21
+ import urllib.error
22
+ import urllib.parse
23
+ import urllib.request
24
+
25
+
26
+ def emit(status, **fields):
27
+ payload = {"status": status, **fields}
28
+ print(json.dumps(payload, ensure_ascii=False))
29
+
30
+
31
+ def main():
32
+ if os.environ.get("VCM_ROLE") != "architect":
33
+ emit("rejected", message="Only architect may schedule the post-planning restart.")
34
+ return 2
35
+
36
+ api_url = os.environ.get("VCM_API_URL", "").rstrip("/")
37
+ task_slug = os.environ.get("VCM_TASK_SLUG", "").strip()
38
+ if not api_url or not task_slug:
39
+ emit("rejected", message="VCM_API_URL or VCM_TASK_SLUG is unavailable.")
40
+ return 2
41
+
42
+ url = (
43
+ api_url
44
+ + "/api/tasks/"
45
+ + urllib.parse.quote(task_slug, safe="")
46
+ + "/sessions/architect/restart-after-planning"
47
+ )
48
+ request = urllib.request.Request(
49
+ url,
50
+ data=b"{}",
51
+ headers={"content-type": "application/json"},
52
+ method="POST",
53
+ )
54
+ try:
55
+ with urllib.request.urlopen(request, timeout=5) as response:
56
+ payload = json.loads(response.read().decode("utf-8"))
57
+ emit(payload.get("status", "scheduled"), taskSlug=task_slug, sessionId=payload.get("sessionId"))
58
+ return 0
59
+ except urllib.error.HTTPError as error:
60
+ try:
61
+ payload = json.loads(error.read().decode("utf-8"))
62
+ message = payload.get("error", {}).get("message", str(error))
63
+ except Exception:
64
+ message = str(error)
65
+ emit("rejected", message=message)
66
+ return 2
67
+ except (OSError, ValueError, urllib.error.URLError) as error:
68
+ emit("failed", message=str(error))
69
+ return 2
70
+
71
+
72
+ if __name__ == "__main__":
73
+ sys.exit(main())
74
+ `;
75
+ }
@@ -1,7 +1,7 @@
1
1
  export function renderVcmArchitectureInterviewSkillRules() {
2
2
  return `## Purpose
3
3
 
4
- Use this skill only when project-manager routes the Architect Interview step of Code-Change Flow. Establish confirmed user-owned behavior before architecture planning begins.
4
+ Use this skill only when project-manager routes the Architect Interview step of Code-Change Flow. Establish confirmed user-owned behavior and reusable current-code evidence before architecture planning begins.
5
5
 
6
6
  During an active Architect Interview, handle the user's answers and final confirmation only as defined by this skill.
7
7
 
@@ -14,9 +14,10 @@ During an active Architect Interview, handle the user's answers and final confir
14
14
 
15
15
  ## Evidence First
16
16
 
17
- - Read the PM route, task request, relevant durable docs, generated context, and enough current-worktree source to distinguish project facts from unresolved user decisions.
17
+ - Read the PM route, task request, relevant durable docs, generated context, and the complete current-worktree behavior path inside the affected feature or module boundary.
18
18
  - If a fact can be established from the worktree or available tools, investigate it instead of asking the user.
19
19
  - If code, docs, and the user's requested behavior conflict, state the concrete conflict and ask which user-visible behavior is intended.
20
+ - Maintain \`.ai/vcm/handoffs/architecture-evidence.md\` while reading. Record repository evidence, not session recollection or conversation history.
20
21
 
21
22
  ## User Decision Filter
22
23
 
@@ -67,16 +68,41 @@ Architecture Brief Status: interviewing|confirmed
67
68
 
68
69
  Record concise confirmed requirements and constraints, not implementation design. Use \`None\` under Unresolved User Decisions only when no user-owned decision remains.
69
70
 
71
+ Maintain the evidence artifact with this structure:
72
+
73
+ \`\`\`md
74
+ # Architecture Evidence: <task>
75
+
76
+ Architecture Evidence Status: incomplete|complete
77
+
78
+ ## Planning Boundary
79
+
80
+ ## Entry Points And Behavior Paths
81
+
82
+ ## State And Lifecycle
83
+
84
+ ## Callers And Consumers
85
+
86
+ ## External Boundaries
87
+
88
+ ## Code And Docs Conflicts
89
+
90
+ ## Evidence Commands
91
+ \`\`\`
92
+
93
+ Identify inspected files and symbols, callers or consumers, state and side effects, verified behavior, and the worktree revision. Replace stale evidence instead of appending history.
94
+
70
95
  ## Completion
71
96
 
72
97
  When no unresolved user decision remains, present the complete brief to the user and ask for explicit confirmation. If the user corrects it, update the brief and continue the interview.
73
98
 
74
- Only after explicit confirmation:
99
+ Only after explicit confirmation and complete code evidence:
75
100
 
76
101
  1. Set \`Architecture Brief Status: confirmed\`.
77
102
  2. Record the confirmation under User Confirmation.
78
- 3. Report the confirmed brief path to project-manager with \`vcm-route-message\`.
79
- 4. End the turn immediately.
103
+ 3. Set \`Architecture Evidence Status: complete\`.
104
+ 4. Report both artifact paths to project-manager with \`vcm-route-message\`.
105
+ 5. End the turn immediately.
80
106
 
81
107
  Do not continue into architecture planning. Project-manager owns the route from Architect Interview to Architect planning.`;
82
108
  }
@@ -124,9 +124,9 @@ Do not:
124
124
  - start a shell loop
125
125
  - wait for another role's answer
126
126
  - paste directly into another role terminal
127
- - use Claude Code Task/Subagent to replace VCM role routing. Coder worker
128
- subagents are governed by Coder's \`vcm-coder-worker\` rules and are not
129
- route-message delivery.
127
+ - use Claude Code Task/Subagent to replace VCM role routing. Coder workers and
128
+ Architect's foreground \`vcm-architect-scaffold-worker\` are internal role work,
129
+ not route-message delivery.
130
130
 
131
131
  VCM scans pending route files after the Stop hook and delivers later replies in a new turn.
132
132
 
@@ -0,0 +1 @@
1
+ export {};