@neocompose/cli 0.46.2 → 0.47.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neocompose/cli",
3
- "version": "0.46.2",
3
+ "version": "0.47.1",
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.46.2 -->
12
+ <!-- reviewed-through-cli: 0.47.1 -->
13
13
 
14
14
  # Neo Compose CLI
15
15
 
@@ -88,7 +88,7 @@ wrappers.
88
88
  The marker near the top of `SKILL.md` must exactly match the package version:
89
89
 
90
90
  ```html
91
- <!-- reviewed-through-cli: 0.46.2 -->
91
+ <!-- reviewed-through-cli: 0.47.1 -->
92
92
  ```
93
93
 
94
94
  The quoted version above is checked too, so this instruction cannot go stale
@@ -13,11 +13,15 @@ branches, releases, history, and authentication.
13
13
 
14
14
  ## Pull, inspect, and push
15
15
 
16
+ `neo doctor` fails on malformed records in the last-pulled document. Pull first to audit the current
17
+ head. After a reviewed `neo doctor --fix`, pull and check again.
18
+
16
19
  Use the high-level source workflow:
17
20
 
18
21
  ```sh
19
22
  neo pull
20
23
  neo status
24
+ neo doctor
21
25
  neo diff
22
26
  neo dialogue dryrun <dialogue-ref>
23
27
  neo push --dry-run
@@ -35,6 +39,9 @@ records. If the remote head is unchanged, pull preserves the local source
35
39
  without compiling it; use `neo status` to inspect local edits and diagnostics.
36
40
  An undo/reset metadata change invalidates the cursor and causes a safe
37
41
  full-snapshot fallback.
42
+ Pull pins every page and snapshot batch to one published generation and logical
43
+ revision. If either changes during assembly, the CLI discards the attempt and
44
+ restarts. Upgrade the CLI together with the P83 server read protocol.
38
45
 
39
46
  Treat `neo push --dry-run` as a full local commit rehearsal: source emission,
40
47
  in-memory pending-ID assignment, transport shapes, hashes, and repeat
@@ -169,6 +176,9 @@ neo history resume --run <run-id>
169
176
  Treat branches as copy-on-write forks and releases as immutable snapshots. The
170
177
  server derives the minimum compatibility bump; a caller may only raise it.
171
178
  Require the release login profile for release operations.
179
+ Branch creation waits for the durable copy to publish before reporting success.
180
+ The source stays readable while copying; the destination becomes readable only
181
+ after verification and publication.
172
182
 
173
183
  History rewrites require project owner or admin authority. `prune` and
174
184
  `flatten` create immutable plans without deleting anything. `apply` starts the
@@ -145,11 +145,18 @@ recipe. Edit members supported by the recorded construction, or delete and
145
145
  recreate the value.
146
146
 
147
147
  Write main-locale text directly in localizable string initializers. Pull/lower
148
- preserves other locales, comments, statuses, archive state, and unrelated
149
- localized-text links, including when the initializer is a class member default.
150
- Do not author localized-text IDs in place of prose. An empty string remains a
151
- valid authored string value; nullability, not text length, controls whether the
152
- member is required.
148
+ retargets only the edited assignment. Equal primary-locale text on the same
149
+ declared member shares a localization record across member overrides and
150
+ instances. Different members keep separate translation contexts. Editing a
151
+ class default updates its inheriting instances; editing one instance does not
152
+ change that default. Reverting the instance text to its default restores the
153
+ shared assignment and archives an unreferenced unique text record.
154
+
155
+ An empty string stores no localization ID. Entering nonempty primary-locale
156
+ text selects or creates the member's shared localization record. Do not author
157
+ localized-text IDs in place of prose. Nullability, not text length, controls
158
+ whether the member is required. Other locales remain translations of their
159
+ linked source record.
153
160
 
154
161
  ## Managed files
155
162