@neocompose/cli 0.71.3 → 0.71.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,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.71.4] - 2026-10-07
4
+
5
+ - Do not report records already acknowledged by `neo push` as new pull changes. Advance the pull cursor without compiling or rewriting unchanged sources, while retaining concurrent remote changes and reset detection.
6
+
3
7
  ## [0.71.3] - 2026-10-07
4
8
 
5
9
  - Infer omitted NeoFlow display names from custom authored symbols for dialogues, body nodes, options, and outcomes. Keep generated symbols unlabeled, honor explicit names and empty labels, and preserve naming semantics through pull and export.
package/dist/neo.mjs CHANGED
@@ -46198,7 +46198,7 @@ var init_registry = __esm({
46198
46198
  "../packages/manifest/schema-contract/registry.mjs"() {
46199
46199
  "use strict";
46200
46200
  PROJECT_SCHEMA_CONTRACT = Object.freeze({
46201
- cliVersion: "0.71.3",
46201
+ cliVersion: "0.71.4",
46202
46202
  projectFileUploadBatchSize: 32,
46203
46203
  documentRecords: {
46204
46204
  member: {
@@ -172770,8 +172770,9 @@ async function fetchProjectDocumentDelta(workspace, cursor) {
172770
172770
  const changedKeys = /* @__PURE__ */ new Set();
172771
172771
  for (const record7 of result.records) {
172772
172772
  const key = `${record7.recordKind}:${record7.recordId}`;
172773
- changedKeys.add(key);
172774
172773
  if (record7.deleted) {
172774
+ if (!records2.has(key)) continue;
172775
+ changedKeys.add(key);
172775
172776
  records2.delete(key);
172776
172777
  heads.set(key, {
172777
172778
  recordKind: record7.recordKind,
@@ -172786,6 +172787,8 @@ async function fetchProjectDocumentDelta(workspace, cursor) {
172786
172787
  `Project document delta record "${key}" is live but has no content hash.`
172787
172788
  );
172788
172789
  }
172790
+ if (records2.get(key)?.contentHash === record7.contentHash) continue;
172791
+ changedKeys.add(key);
172789
172792
  records2.set(key, {
172790
172793
  recordKind: record7.recordKind,
172791
172794
  recordId: record7.recordId,
@@ -186264,7 +186267,7 @@ There is no --keep-current: preserving current semantic state defines flatten.
186264
186267
  async function main() {
186265
186268
  const args = parseArgs(process.argv.slice(2));
186266
186269
  if (args.command === "--version") {
186267
- console.log("0.71.3");
186270
+ console.log("0.71.4");
186268
186271
  return;
186269
186272
  }
186270
186273
  if (args.command === null || args.command === "help" || args.command === "--help" || args.command === "-h") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.71.3",
3
+ "version": "0.71.4",
4
4
  "description": "Neo Compose native project-source CLI with bidirectional sync.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -9,7 +9,7 @@ description: >-
9
9
  `@neocompose/cli` or `node cli/bin/neo.mjs` in the neo-compose repository.
10
10
  ---
11
11
 
12
- <!-- reviewed-through-cli: 0.71.3 -->
12
+ <!-- reviewed-through-cli: 0.71.4 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -118,7 +118,7 @@ wrappers.
118
118
  The marker near the top of `SKILL.md` must exactly match the package version:
119
119
 
120
120
  ```html
121
- <!-- reviewed-through-cli: 0.71.3 -->
121
+ <!-- reviewed-through-cli: 0.71.4 -->
122
122
  ```
123
123
 
124
124
  The quoted version above is checked too, so this instruction cannot go stale
@@ -37,6 +37,9 @@ declarations with no prior placement use the canonical per-declaration layout. U
37
37
  version. Normal pulls persist a transaction cursor and fetch only changed
38
38
  records. If the remote head is unchanged, pull preserves the local source
39
39
  without compiling it; use `neo status` to inspect local edits and diagnostics.
40
+ Pull ignores records whose hashes already match the saved server baseline,
41
+ including echoes of this checkout's last push, and advances its cursor without
42
+ compiling or rewriting source. Later remote edits still count as changes.
40
43
  An undo/reset metadata change invalidates the cursor and causes a safe
41
44
  full-snapshot fallback.
42
45