@wpmoo/toolkit 0.9.28 → 0.9.29

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/README.md CHANGED
@@ -64,6 +64,9 @@ Short alias:
64
64
  npx wpmoo
65
65
  ```
66
66
 
67
+ Optional short alias: `npx wpmoo`. Use `npx @wpmoo/toolkit` for documentation,
68
+ scripts, and automation.
69
+
67
70
  Deprecated compatibility aliases:
68
71
 
69
72
  ```bash
@@ -71,7 +74,10 @@ npx @wpmoo/odoo
71
74
  npx @wpmoo/odoo-dev
72
75
  ```
73
76
 
74
- Deprecated package paths `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` remain available as compatibility aliases that redirect to `@wpmoo/toolkit`.
77
+ Deprecated package paths `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` remain
78
+ available through the 1.x line as compatibility aliases that redirect to
79
+ `@wpmoo/toolkit`. Removing either compatibility alias requires a future major
80
+ release and prior notice.
75
81
 
76
82
  When the current directory is not already a WPMoo environment, the CLI opens the create flow. It asks for a product slug, Odoo version, and environment folder. The default environment folder is `./<product>_dev`.
77
83
 
@@ -196,6 +202,13 @@ JSON variant exposes a versioned PostgreSQL diagnostics contract.
196
202
  `postgres` payload; individual fields are optional so automation can safely handle
197
203
  environments where PostgreSQL does not expose a metric.
198
204
 
205
+ JSON compatibility policy:
206
+
207
+ - Automation should ignore unknown JSON fields.
208
+ - Minor and patch releases may add optional fields without a breaking release.
209
+ - Removing, renaming, or changing the meaning of a documented field requires a
210
+ major release or a `schemaVersion` bump.
211
+
199
212
  ## Release Artifacts
200
213
 
201
214
  WPMoo Toolkit releases are valid when the required npm artifacts publish
@@ -219,6 +232,8 @@ warning while keeping the scoped package release valid.
219
232
  packages are valid.
220
233
  - **Smoke expectation**: run `npm run smoke:published -- "$VERSION"` after the
221
234
  release tag workflow completes.
235
+ - **1.0 release smoke**: For `1.0.0`, generated-environment acceptance smoke is
236
+ required before the release is considered final.
222
237
 
223
238
  ## Documentation
224
239
 
package/dist/help.js CHANGED
@@ -76,8 +76,9 @@ Options:
76
76
 
77
77
  Package aliases:
78
78
  npx @wpmoo/toolkit is the official package path.
79
- npx wpmoo is the short alias.
80
- npx @wpmoo/odoo and npx @wpmoo/odoo-dev remain deprecated compatibility aliases.
79
+ npx wpmoo is an optional best-effort short alias; use @wpmoo/toolkit for automation.
80
+ npx @wpmoo/odoo and npx @wpmoo/odoo-dev remain deprecated compatibility aliases through 1.x.
81
+ Removing a compatibility alias requires a future major release and prior notice.
81
82
 
82
83
  Daily actions:
83
84
  Daily actions must be run from a generated environment root containing .wpmoo/odoo.json.
@@ -160,6 +161,11 @@ Machine-readable JSON output:
160
161
  doctor --json --postgres includes a structured postgres object for automation.
161
162
  Incomplete or malformed PostgreSQL metric rows are reported as unavailable diagnostics.
162
163
 
164
+ JSON compatibility policy:
165
+ Automation should ignore unknown fields.
166
+ Minor and patch releases may add optional fields.
167
+ Removing, renaming, or changing the meaning of a documented field requires a major release or schemaVersion bump.
168
+
163
169
  Example:
164
170
  npx @wpmoo/toolkit create \\
165
171
  --product odoo_sample_module \\
@@ -11,13 +11,11 @@ Ready:
11
11
  - Generated environments use local `./moo` for daily commands.
12
12
  - Direct commands cover create, status, doctor, source, repository, module,
13
13
  service, database, snapshot, restore, lint, and POT workflows.
14
- - Deprecated package aliases remain compatibility paths:
14
+ - Compatibility aliases remain available through the 1.x line:
15
15
  `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev`.
16
-
17
- Remaining decision:
18
-
19
- - Whether the optional unscoped `npx wpmoo` short alias should be promoted,
20
- kept best-effort, or removed from public examples before `1.0.0`.
16
+ - The optional unscoped `npx wpmoo` short alias remains best-effort and
17
+ warning-only. User-facing examples may mention it as optional, but
18
+ documentation, scripts, and automation should use `npx @wpmoo/toolkit`.
21
19
 
22
20
  ## Stable JSON Contracts
23
21
 
@@ -29,11 +27,10 @@ Ready:
29
27
  - `doctor --json --postgres` exposes a versioned `postgres` payload with
30
28
  `contractVersion` and diagnostics `schemaVersion`.
31
29
  - PostgreSQL diagnostics treat unavailable optional metrics as optional fields.
32
-
33
- Remaining decision:
34
-
35
- - Document a compatibility policy for future JSON schema changes, including
36
- whether minor additive fields are allowed without a major release.
30
+ - Post-1.0 JSON contracts allow additive optional fields in minor and patch
31
+ releases.
32
+ - Automation should ignore unknown JSON fields.
33
+ - Breaking JSON changes require a major release or a schemaVersion bump.
37
34
 
38
35
  ## Deprecated Alias Policy
39
36
 
@@ -44,11 +41,9 @@ Ready:
44
41
  releases.
45
42
  - The optional `wpmoo` short alias is warning-only and does not determine
46
43
  release validity.
47
-
48
- Remaining decision:
49
-
50
- - Set an explicit deprecation horizon for compatibility aliases after `1.0.0`,
51
- or commit to maintaining them indefinitely.
44
+ - Compatibility aliases remain available through the 1.x line.
45
+ - Removing a compatibility alias requires a future major release and prior
46
+ notice.
52
47
 
53
48
  ## Generated File Compatibility
54
49
 
@@ -61,11 +56,10 @@ Ready:
61
56
  - PostgreSQL 18 mount compatibility is documented and doctor can apply safe
62
57
  mount-target fixes.
63
58
  - Generated `./moo` delegates daily commands and keeps local guard behavior.
64
-
65
- Remaining decision:
66
-
67
- - Define a generated-file migration policy for environments created by older
68
- pre-1.0 releases.
59
+ - Generated environments created by pre-1.0 releases are supported through safe
60
+ reset and doctor-guided generated-file migration checks.
61
+ - Generated-file migration support must preserve product source repositories,
62
+ `.env` files, database dumps, and Docker volumes.
69
63
 
70
64
  ## Stage And Production Policy
71
65
 
@@ -79,11 +73,9 @@ Ready:
79
73
  - `restore-snapshot --dry-run`, `doctor`, and `doctor --postgres` remain safe
80
74
  preview/read-only paths.
81
75
  - Migration-risk lifecycle commands can require `WPMOO_ALLOW_MIGRATIONS=1`.
82
-
83
- Remaining decision:
84
-
85
- - Decide whether stage/prod approvals should gain a timestamped confirmation
86
- file or continue to rely on environment variables only.
76
+ - Environment-variable approvals remain supported through 1.x.
77
+ - Timestamped approval files may be added as an additive safety layer, not as a
78
+ replacement for env flags in 1.x.
87
79
 
88
80
  ## Release Artifact Policy
89
81
 
@@ -97,11 +89,8 @@ Ready:
97
89
  the current version already exists.
98
90
  - `npm run smoke:published -- "$VERSION"` is the preferred published package
99
91
  smoke check.
100
-
101
- Remaining decision:
102
-
103
- - Decide whether release smoke should include a generated-environment acceptance
104
- run by default for `1.0.0` tags.
92
+ - Generated-environment acceptance smoke is mandatory for a 1.0.0 release
93
+ candidate.
105
94
 
106
95
  ## Current Audit
107
96
 
@@ -119,11 +108,16 @@ Completed checks:
119
108
  markers in `README.md`, `docs`, or `src`.
120
109
  - Local markdown link review passed across `README.md` and `docs/*.md`.
121
110
 
122
- Final gap list:
123
-
124
- - Define JSON compatibility rules for post-1.0 additive fields.
125
- - Decide the long-term compatibility alias policy.
126
- - Decide generated-environment migration support for older pre-1.0 outputs.
127
- - Decide whether stage/prod approvals need timestamped confirmation files.
128
- - Decide whether generated-environment published smoke should be mandatory for
129
- `1.0.0` tags.
111
+ Final policy decisions:
112
+
113
+ - JSON compatibility permits additive optional fields in minor and patch
114
+ releases; breaking changes require a major release or schemaVersion bump.
115
+ - Compatibility aliases remain available through the 1.x line; removal requires
116
+ a future major release and prior notice.
117
+ - Pre-1.0 generated environments are supported through safe reset and
118
+ doctor-guided generated-file migration checks that preserve source code and
119
+ local runtime data.
120
+ - Environment-variable approvals remain supported through 1.x; timestamped
121
+ approval files may be added only as an additive safety layer.
122
+ - Generated-environment acceptance smoke is mandatory for a `1.0.0` release
123
+ candidate.
@@ -3,7 +3,11 @@
3
3
  Use `npx @wpmoo/toolkit ...` for package/operator commands. Use `./moo ...`
4
4
  inside a generated environment for daily local commands. The deprecated
5
5
  compatibility aliases `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` redirect to
6
- the toolkit package; new automation should use `@wpmoo/toolkit`.
6
+ the toolkit package; new automation should use `@wpmoo/toolkit`. Deprecated
7
+ compatibility aliases remain available through the 1.x line. Removing a
8
+ compatibility alias requires a future major release and prior notice. The
9
+ unscoped `npx wpmoo` short alias is optional and best-effort; scripts should use
10
+ `npx @wpmoo/toolkit`.
7
11
 
8
12
  ## Package Commands
9
13
 
@@ -65,6 +69,10 @@ Current JSON contract notes:
65
69
  - `doctor --json --postgres` adds `postgres.contractVersion` and a PostgreSQL
66
70
  diagnostics object with its own `schemaVersion`.
67
71
  - PostgreSQL fields are optional when a metric is unavailable.
72
+ - Automation should ignore unknown JSON fields.
73
+ - Minor and patch releases may add optional fields without a breaking release.
74
+ - Removing, renaming, or changing the meaning of a documented field requires a
75
+ major release or a `schemaVersion` bump.
68
76
 
69
77
  ## Environment Variables
70
78
 
@@ -107,4 +115,3 @@ Prefer read-only and dry-run commands first:
107
115
  ./moo doctor --postgres
108
116
  ./moo restore-snapshot --dry-run before-change devel
109
117
  ```
110
-
package/docs/handoff.md CHANGED
@@ -60,6 +60,14 @@ Suggested smoke check:
60
60
  npm run smoke:published -- "$VERSION"
61
61
  ```
62
62
 
63
+ For a 1.0.0 tag, run generated-environment acceptance smoke with
64
+ WPMOO_SMOKE_ENVIRONMENT=1. Treat the release as final only after that smoke
65
+ passes:
66
+
67
+ ```bash
68
+ WPMOO_SMOKE_ENVIRONMENT=1 npm run smoke:published -- "$VERSION"
69
+ ```
70
+
63
71
  Current command standard:
64
72
 
65
73
  - Use `npx @wpmoo/toolkit ...` for package/operator commands.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wpmoo/toolkit",
3
- "version": "0.9.28",
3
+ "version": "0.9.29",
4
4
  "description": "WPMoo Toolkit for development, staging, and production lifecycle workflows.",
5
5
  "type": "module",
6
6
  "repository": {