vibe-coding-master 0.7.8 → 0.7.9

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.
@@ -144,6 +144,7 @@ export function createClaudeHookService(deps) {
144
144
  }
145
145
  await deps.harnessService?.recordHarnessBootstrapHook(context.project.repoRoot, {
146
146
  eventName,
147
+ taskSlug: input.taskSlug,
147
148
  sessionId: session?.id,
148
149
  claudeSessionId: stringOrUndefined(input.event.session_id)
149
150
  });
@@ -422,7 +422,6 @@ export function createHarnessService(deps) {
422
422
  await persistHarnessBootstrapRunState(deps.fs, repoRoot, {
423
423
  version: 1,
424
424
  status: "running",
425
- taskSlug,
426
425
  targetRepoRoot,
427
426
  sessionId: session.id,
428
427
  claudeSessionId: session.claudeSessionId,
@@ -444,7 +443,7 @@ export function createHarnessService(deps) {
444
443
  async recordHarnessBootstrapHook(repoRoot, input) {
445
444
  const state = await loadPersistedHarnessBootstrapRunState(deps.fs, repoRoot);
446
445
  if (state?.status !== "running" || !matchesBootstrapRunState(state, input)) {
447
- return getHarnessBootstrapStatus(deps, repoRoot, state?.targetRepoRoot ?? repoRoot, now, vcmVersion, state?.taskSlug);
446
+ return getHarnessBootstrapStatus(deps, repoRoot, state?.targetRepoRoot ?? repoRoot, now, vcmVersion, input.taskSlug);
448
447
  }
449
448
  const timestamp = now();
450
449
  if (input.eventName === "Stop" && state.targetRepoRoot) {
@@ -457,7 +456,7 @@ export function createHarnessService(deps) {
457
456
  updatedAt: timestamp,
458
457
  lastHookEvent: input.eventName
459
458
  });
460
- return getHarnessBootstrapStatus(deps, repoRoot, state.targetRepoRoot ?? repoRoot, now, vcmVersion, state.taskSlug);
459
+ return getHarnessBootstrapStatus(deps, repoRoot, state.targetRepoRoot ?? repoRoot, now, vcmVersion, input.taskSlug);
461
460
  }
462
461
  };
463
462
  }
@@ -1506,15 +1505,13 @@ async function getHarnessBootstrapStatus(deps, repoRoot, targetRepoRoot, now, vc
1506
1505
  await checkFilledMarkdown(deps.fs, targetRepoRoot, "docs/TESTING.md", "Testing doc", "testing-doc")
1507
1506
  ];
1508
1507
  const persistedRunState = await loadPersistedHarnessBootstrapRunState(deps.fs, repoRoot);
1509
- const runState = taskSlug && persistedRunState?.taskSlug !== taskSlug
1510
- ? undefined
1511
- : persistedRunState;
1508
+ const runState = persistedRunState;
1512
1509
  const session = await getCurrentHarnessEngineerBootstrapSession(deps, repoRoot, taskSlug);
1513
1510
  const fixedHarnessReady = checks[0]?.status === "ok";
1514
1511
  const projectChecks = checks.slice(1);
1515
1512
  const projectComplete = projectChecks.every((check) => check.status === "ok");
1516
1513
  const projectStarted = projectChecks.some((check) => check.status === "ok" || check.status === "incomplete");
1517
- const runActive = runState?.status === "running" && session?.status === "running";
1514
+ const runActive = isActiveHarnessBootstrapRun(runState, session, targetRepoRoot);
1518
1515
  const status = !fixedHarnessReady
1519
1516
  ? "not_ready"
1520
1517
  : runActive
@@ -1759,7 +1756,6 @@ async function loadPersistedHarnessBootstrapRunState(fs, repoRoot) {
1759
1756
  return {
1760
1757
  version: 1,
1761
1758
  status,
1762
- taskSlug: typeof payload.taskSlug === "string" ? payload.taskSlug : undefined,
1763
1759
  targetRepoRoot: typeof payload.targetRepoRoot === "string" ? payload.targetRepoRoot : undefined,
1764
1760
  sessionId: typeof payload.sessionId === "string" ? payload.sessionId : undefined,
1765
1761
  claudeSessionId: typeof payload.claudeSessionId === "string" ? payload.claudeSessionId : undefined,
@@ -1787,6 +1783,13 @@ function matchesBootstrapRunState(state, input) {
1787
1783
  }
1788
1784
  return true;
1789
1785
  }
1786
+ function isActiveHarnessBootstrapRun(state, session, targetRepoRoot) {
1787
+ return state?.status === "running"
1788
+ && session?.status === "running"
1789
+ && state.sessionId === session.id
1790
+ && state.targetRepoRoot === targetRepoRoot
1791
+ && (!state.claudeSessionId || state.claudeSessionId === session.claudeSessionId);
1792
+ }
1790
1793
  async function readOptionalText(fs, repoRoot, relativePath) {
1791
1794
  const absolutePath = resolveHarnessPath(repoRoot, relativePath);
1792
1795
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibe-coding-master",
3
- "version": "0.7.8",
3
+ "version": "0.7.9",
4
4
  "description": "Local GUI session cockpit for Claude Code role sessions.",
5
5
  "type": "module",
6
6
  "files": [