@vibecompass/vibecompass 0.17.3 → 0.17.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.17.4 - 2026-10-17
4
+
5
+ A small sync fix: `pull-preview` and `sync-adopt` work on a root that has never
6
+ synced. The lane brief stays opt-in (D-368).
7
+
8
+ - `pull-preview` and `sync-adopt` no longer fail on a newly connected root.
9
+ With no sync cursor yet, they sent an empty base revision, which the hosted
10
+ server rejects as invalid (a 422) instead of returning a preview. They now
11
+ leave the base revision out until there is one, as `push` does.
12
+ - Tests: the suite passes under any temp directory. One A7 evaluation-harness
13
+ test passed only under a long temp path, such as a `lane-env` shell's. The
14
+ harness's isolation index also names its own-location rule in its method
15
+ text; its fingerprints are unchanged. The harness is not part of the
16
+ published package.
17
+
3
18
  ## 0.17.3 - 2026-10-12
4
19
 
5
20
  A small sync release: `push` tells you what the hosted dashboard could not
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibecompass/vibecompass",
3
- "version": "0.17.3",
3
+ "version": "0.17.4",
4
4
  "description": "Local-first project-memory core for VibeCompass",
5
5
  "type": "module",
6
6
  "bin": {
package/src/sync.js CHANGED
@@ -90,10 +90,11 @@ export async function pullPreviewProjectMemory(options = {}, environment = {}) {
90
90
  });
91
91
  const manifest = manifestResult.manifest;
92
92
  const cursor = readSyncCursor(manifest.sync, context.binding);
93
+ const baseRemoteRevisionId = normalizeUuid(cursor.last_successful_remote_revision);
93
94
 
94
95
  const response = await postJson(context, 'pull-preview', {
95
96
  state_version: manifest.state_version,
96
- base_remote_revision_id: normalizeUuid(cursor.last_successful_remote_revision),
97
+ ...(baseRemoteRevisionId ? { base_remote_revision_id: baseRemoteRevisionId } : {}),
97
98
  local_root_revision: manifest.canonical.local_root_revision,
98
99
  local_manifest_hash: manifest.canonical.manifest_hash,
99
100
  local_documents: buildLocalDocumentSummaries(manifest.documents),
@@ -272,10 +273,11 @@ export async function adoptRemoteHead(options = {}, environment = {}) {
272
273
  });
273
274
  const manifest = manifestResult.manifest;
274
275
  const cursor = readSyncCursor(manifest.sync, context.binding);
276
+ const baseRemoteRevisionId = normalizeUuid(cursor.last_successful_remote_revision);
275
277
 
276
278
  const response = await postJson(context, 'pull-preview', {
277
279
  state_version: manifest.state_version,
278
- base_remote_revision_id: normalizeUuid(cursor.last_successful_remote_revision),
280
+ ...(baseRemoteRevisionId ? { base_remote_revision_id: baseRemoteRevisionId } : {}),
279
281
  local_root_revision: manifest.canonical.local_root_revision,
280
282
  local_manifest_hash: manifest.canonical.manifest_hash,
281
283
  local_documents: buildLocalDocumentSummaries(manifest.documents),