@neocompose/cli 0.50.7 → 0.50.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.
- package/CHANGELOG.md +21 -0
- package/dist/neo.mjs +46365 -45369
- package/package.json +1 -1
- package/skills/neocompose-cli/SKILL.md +3 -1
- package/skills/neocompose-cli/references/cli-development.md +3 -1
- package/skills/neocompose-cli/references/commands-and-sync.md +25 -2
- package/skills/neocompose-cli/references/values-identities-and-references.md +5 -1
package/package.json
CHANGED
|
@@ -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.50.
|
|
12
|
+
<!-- reviewed-through-cli: 0.50.9 -->
|
|
13
13
|
|
|
14
14
|
# Neo Compose CLI
|
|
15
15
|
|
|
@@ -44,6 +44,8 @@ Those are not part of format 4.
|
|
|
44
44
|
once with the installed CLI so the workspace carries compatible
|
|
45
45
|
derived-edge extractor metadata.
|
|
46
46
|
6. Push one reviewed atomic change with `neo push`.
|
|
47
|
+
Completion arrives through a live subscription. Progress counts refresh every
|
|
48
|
+
five seconds while the durable job runs; a disconnect does not cancel it.
|
|
47
49
|
|
|
48
50
|
Treat pull followed immediately by status or dry-run as a semantic no-op. If it
|
|
49
51
|
reports project changes, stop and report a round-trip bug instead of pushing.
|
|
@@ -55,6 +55,8 @@ stale header.
|
|
|
55
55
|
|
|
56
56
|
## Shared implementation contract
|
|
57
57
|
|
|
58
|
+
The CLI uses plain document snapshots and shared runtime functions. Keep Retree and web view models out of its imports. The headless architecture check follows CLI imports, and `cli/build.mjs` rejects UI modules and packages in the actual bundle metadata.
|
|
59
|
+
|
|
58
60
|
Keep parsing, strict resolution, formatting, diagnostics, symbols, and
|
|
59
61
|
NeoScript compilation in the browser-safe `@neocompose/neoscript-language`
|
|
60
62
|
service. Monaco, VS Code, CLI, trusted server, and corpus tooling must consume
|
|
@@ -88,7 +90,7 @@ wrappers.
|
|
|
88
90
|
The marker near the top of `SKILL.md` must exactly match the package version:
|
|
89
91
|
|
|
90
92
|
```html
|
|
91
|
-
<!-- reviewed-through-cli: 0.50.
|
|
93
|
+
<!-- reviewed-through-cli: 0.50.9 -->
|
|
92
94
|
```
|
|
93
95
|
|
|
94
96
|
The quoted version above is checked too, so this instruction cannot go stale
|
|
@@ -89,11 +89,21 @@ Durable preparation is selected from the semantic record workload, not the
|
|
|
89
89
|
size of the project-wide source identity. Its storage artifact carries one
|
|
90
90
|
copy of the authored transaction, and resumable staging reads one plan per
|
|
91
91
|
bounded batch while preserving an atomic write boundary per physical chunk.
|
|
92
|
-
The complete source stays local
|
|
93
|
-
|
|
92
|
+
The complete source stays local. Normal push hashes the exact authored source
|
|
93
|
+
inputs already read during preparation, including file paths and formatting,
|
|
94
|
+
without regenerating canonical source. The same source bytes and workspace base
|
|
95
|
+
retain reconnect identity across candidate UUID allocation. A formatting or path
|
|
96
|
+
change produces a new identity. Dry-run uses the same authored hash and separately
|
|
97
|
+
rehearses the complete canonical source round trip. A lowering mismatch can
|
|
94
98
|
therefore surface on the next canonical pull; dry-run is the opt-in full
|
|
95
99
|
source-to-record proof.
|
|
96
100
|
|
|
101
|
+
When a transaction commits, its status response carries the first bounded result
|
|
102
|
+
page. The CLI downloads further pages when needed and validates the full result
|
|
103
|
+
count before advancing its base. Result application rechecks source bytes,
|
|
104
|
+
managed binaries, and the workspace base before reusing local preparation; edits
|
|
105
|
+
made while waiting trigger fresh analysis and the existing merge behavior.
|
|
106
|
+
|
|
97
107
|
One accepted push atomically commits records, main-locale text, stored bindings,
|
|
98
108
|
and staged file metadata under CAS. Pending durable IDs and source rewrites
|
|
99
109
|
become real only after acceptance.
|
|
@@ -254,3 +264,16 @@ machine-readable output and do not depend on interactive pickers or confirms.
|
|
|
254
264
|
contents before writing C#, preserves unchanged `.meta` files, removes obsolete
|
|
255
265
|
outputs listed in `NeoGeneratedFiles.json`, and removes the former
|
|
256
266
|
`NeoGeneratedTypes.cs`. Stable identities in the manifest preserve `.meta` GUIDs when types are renamed. Keep the manifest with the generated files.
|
|
267
|
+
|
|
268
|
+
## Push timing diagnostics
|
|
269
|
+
|
|
270
|
+
Set `NEO_COMPOSE_TRACE_PERFORMANCE=1` when measuring a push. It writes
|
|
271
|
+
`neo-performance` JSON lines to stderr for workspace loading, local candidate
|
|
272
|
+
preparation, file uploads, submission, authentication, live transaction completion,
|
|
273
|
+
result download, and local result application. `startedMs` is relative to the
|
|
274
|
+
CLI process and `durationMs` covers the named operation. Nested spans overlap;
|
|
275
|
+
do not add all durations. Normal command JSON remains on stdout.
|
|
276
|
+
|
|
277
|
+
Durable pushes submit compressed JSON directly to a Convex HTTP action and subscribe to completion with the scoped session's refreshing JWT. Bodies above 1 MiB and staged media use an internal Node action; requests beyond the direct transport's bounds use the existing server upload route. The CLI pins the deployment through the authenticated app origin before sending it a session token.
|
|
278
|
+
Results pin the workspace to that transaction's hash, so a concurrent later commit still
|
|
279
|
+
requires a pull before another push.
|
|
@@ -163,7 +163,11 @@ construction predating the P75 collapse converges the same way: its next push
|
|
|
163
163
|
drops the constructor-settled keys the body duplicated from the creation data
|
|
164
164
|
and stamps the construction's provenance. That is a one-time storage
|
|
165
165
|
convergence, not an edit — resolved values do not change, and the argument
|
|
166
|
-
rows stay reachable through the creation data that already named them.
|
|
166
|
+
rows stay reachable through the creation data that already named them.
|
|
167
|
+
|
|
168
|
+
Defaulted members may be added without recreating existing instances, including
|
|
169
|
+
instances whose sparse arguments are retained only as constructor data.
|
|
170
|
+
A construction whose durable constructor arguments changed, whose
|
|
167
171
|
class changed, or which predates a required constructor parameter fails with
|
|
168
172
|
`construction-arguments-conflict` instead of silently replaying a different
|
|
169
173
|
recipe. Edit members supported by the recorded construction, or delete and
|