vibe-coding-master 0.4.2 → 0.4.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.
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>VibeCodingMaster</title>
7
- <script type="module" crossorigin src="/assets/index-uYhgIwNK.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-kJDZAzjD.css">
7
+ <script type="module" crossorigin src="/assets/index-Bck3Mfz8.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-12kW1cl6.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -498,11 +498,11 @@ For `.gitignore`, VCM uses hash comments:
498
498
  # VCM:END
499
499
  ```
500
500
 
501
- `.ai/vcm/` is the active VCM local control area, and `.claude/worktrees/` is the Claude-compatible task worktree area. The base repo keeps the task index; each task runtime repo keeps its own session, message, orchestration, and translation state.
501
+ `.ai/vcm/` is the active VCM local control area, and `.claude/worktrees/` is the Claude-compatible task worktree area. The base repo keeps project-scoped runtime state outside Git; each task runtime repo keeps its own session, message, orchestration, and translation state.
502
502
 
503
503
  VCM must preserve all user-authored content outside the managed block.
504
504
 
505
- After applying harness changes in the base repo, the UI shows the changed files. When a task is active, the result area also shows `Commit & rebase task`: VCM stages only the changed harness files, creates a `chore: update VCM harness` commit in the base repo, and rebases the active task branch onto that commit. If the task worktree is dirty or the base repo already has staged changes, VCM stops and asks the user to clean up first.
505
+ Harness changes are applied only in the active task worktree. VCM refuses to run harness operations when that worktree has Git-visible changes, writes the harness update, stages the changed harness files, and immediately creates a harness commit. Review Diff shows the latest active task commit diff, not an unstaged worktree diff. If the review is wrong, the user can revert the commit, modify and commit a follow-up, or ask Harness Engineer to revise the harness.
506
506
 
507
507
  Role sessions get VCM behavior from `CLAUDE.md` and `.claude/agents/*.md`, not from a pasted startup context.
508
508
 
@@ -217,7 +217,7 @@ Recommended actions:
217
217
  - Refresh harness status
218
218
  - Apply fixed harness update
219
219
  - Run bootstrap
220
- - Commit & rebase task
220
+ - Review latest harness commit diff
221
221
  - Open Harness Engineer session
222
222
 
223
223
  ### 6.2 Main Views
@@ -243,7 +243,7 @@ Overview should show:
243
243
  - modified harness files
244
244
  - outdated managed blocks
245
245
  - missing expected files
246
- - active task worktree sync status
246
+ - latest harness commit status
247
247
  - Harness Engineer session status
248
248
  - recent harness actions
249
249
 
@@ -619,7 +619,8 @@ Success condition: no harness change is applied invisibly.
619
619
  - Mark sessions with older revisions as `outdated`.
620
620
  - Offer `Notify role` for running stale sessions.
621
621
  - Keep restart available for stronger reload needs.
622
- - Integrate with existing Commit & rebase task flow.
622
+ - Apply harness changes only inside the active task worktree and commit them immediately.
623
+ - Make Review Diff show the latest active task worktree commit diff.
623
624
 
624
625
  Success condition: harness updates do not leave active task worktrees or active
625
626
  role sessions silently stale.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-coding-master",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "Local GUI session cockpit for Claude Code role sessions.",
5
5
  "type": "module",
6
6
  "files": [
@@ -2,7 +2,7 @@ import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
 
4
4
  const root = process.cwd();
5
- const buildDirs = ["dist", "dist-frontend"];
5
+ const buildDirs = ["dist", "dist-frontend", "scripts/harness-tools/__pycache__"];
6
6
 
7
7
  await Promise.all(buildDirs.map((dir) => {
8
8
  return fs.rm(path.join(root, dir), {
@@ -31,7 +31,7 @@ TS_REEXPORT = re.compile(
31
31
  r"\bexport\s+(?:type\s+)?(?P<form>\*|\{[^}]*\})\s+from\s+(?P<quote>[\"'`])(?P<specifier>[^\"'`]+)(?P=quote)"
32
32
  )
33
33
  TS_ROUTE_CALL = re.compile(
34
- r"\.\s*(?P<method>get|post|put|patch|delete|options|head)\s*\(\s*(?P<quote>[\"'`])(?P<path>[^\"'`]+)(?P=quote)",
34
+ r"\.\s*(?P<method>get|post|put|patch|delete|options|head)\s*(?:<(?:(?!>\s*\()[\s\S])*>\s*)?\(\s*(?P<quote>[\"'`])(?P<path>[^\"'`]+)(?P=quote)",
35
35
  re.IGNORECASE,
36
36
  )
37
37
  TS_ROUTE_OBJECT = re.compile(r"\.route\s*\(\s*\{(?P<body>.*?)\}\s*\)", re.IGNORECASE | re.DOTALL)