@rehearsal-db/core 1.2.0 → 1.3.0
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 +17 -1
- package/COMPATIBILITY.md +15 -6
- package/README.md +1 -1
- package/dist/package.json +2 -1
- package/dist/src/cli/arguments.d.mts +1 -0
- package/dist/src/cli/arguments.mjs +4 -0
- package/dist/src/cli/basic_command_handlers.mjs +2 -0
- package/dist/src/cli/cli_commands.mjs +2 -0
- package/dist/src/cli/project_commands.d.mts +8 -0
- package/dist/src/cli/runtime_commands.d.mts +2 -19
- package/dist/src/cli/runtime_commands.mjs +3 -90
- package/dist/src/cli/runtime_stack_runner.d.mts +41 -0
- package/dist/src/cli/runtime_stack_runner.mjs +104 -0
- package/dist/src/cli/runtime_workload_admission.d.mts +8 -0
- package/dist/src/cli/runtime_workload_admission.mjs +22 -0
- package/dist/src/cli/source_commands.d.mts +8 -0
- package/dist/src/cli/workload_command_handlers.d.mts +2 -0
- package/dist/src/cli/workload_command_handlers.mjs +38 -0
- package/dist/src/project/configuration_contract.d.mts +5 -0
- package/dist/src/project/configuration_normalization.d.mts +4 -0
- package/dist/src/project/configuration_resolution.d.mts +4 -0
- package/dist/src/project/configuration_resource_policy.d.mts +4 -0
- package/dist/src/project/configuration_resource_policy.mjs +20 -1
- package/dist/src/project/configuration_schema.mjs +1 -0
- package/dist/src/runtime/workload_queue.d.mts +39 -0
- package/dist/src/runtime/workload_queue.mjs +211 -0
- package/dist/src/runtime/workload_queue_location.d.mts +1 -0
- package/dist/src/runtime/workload_queue_location.mjs +43 -0
- package/dist/src/runtime/workload_queue_store.d.mts +27 -0
- package/dist/src/runtime/workload_queue_store.mjs +182 -0
- package/dist/src/shared/cancellation.mjs +1 -0
- package/docs/architecture.md +9 -0
- package/docs/commands.md +26 -6
- package/docs/configuration.md +33 -1
- package/docs/getting-started.md +1 -1
- package/docs/releasing.md +4 -0
- package/docs/roadmap.md +8 -6
- package/docs/stability.md +4 -4
- package/docs/updating.md +2 -2
- package/docs/vscode.md +1 -1
- package/package.json +2 -1
package/docs/configuration.md
CHANGED
|
@@ -386,7 +386,8 @@ inspection remain explicit command choices. See [CLI commands](commands.md).
|
|
|
386
386
|
|
|
387
387
|
### Resource review policies
|
|
388
388
|
|
|
389
|
-
|
|
389
|
+
Resource review limits apply to the configured project topology, not the shared Docker
|
|
390
|
+
engine. The optional workload queue instead coordinates participating local projects:
|
|
390
391
|
|
|
391
392
|
```ts
|
|
392
393
|
resources: {
|
|
@@ -394,6 +395,7 @@ resources: {
|
|
|
394
395
|
retainedEnvironmentCount: 2,
|
|
395
396
|
maximumBytes: null,
|
|
396
397
|
cleanupSchedule: "daily-preview",
|
|
398
|
+
workloadQueue: { enabled: true, waitTimeoutSeconds: 30 },
|
|
397
399
|
},
|
|
398
400
|
```
|
|
399
401
|
|
|
@@ -410,6 +412,36 @@ resources: {
|
|
|
410
412
|
shown on the next resource inspection. There is no daemon, operating-system scheduler,
|
|
411
413
|
or automatic deletion. An approved cleanup records an owner-only, project/policy-bound
|
|
412
414
|
review time; ordinary read-only inspection writes nothing.
|
|
415
|
+
- `workloadQueue` is optional and off when omitted. With `enabled: true`, participating
|
|
416
|
+
Rehearsal clients serialize their `start`, `reset`, `run` and `migrate` runtime phases
|
|
417
|
+
across projects for the same local OS user, boot and process namespace. Waiting is
|
|
418
|
+
bounded to `waitTimeoutSeconds` (integer 0–300; default 30); zero refuses immediately
|
|
419
|
+
when busy. Ctrl+C cancels the waiting request without interrupting its holder.
|
|
420
|
+
Stop, discard, inspection and cleanup remain available. `open` releases admission
|
|
421
|
+
after startup, before its interactive session; application proofs run outside this
|
|
422
|
+
first lifecycle-only queue. This does **not** measure available RAM, stop existing
|
|
423
|
+
runtimes, limit other tools, or promise an entire Docker/VM memory budget. All projects
|
|
424
|
+
that should cooperate must opt in. Older clients and different OS users/namespaces do
|
|
425
|
+
not participate. Local filesystems with coherent atomic file operations are required;
|
|
426
|
+
this is not a network-filesystem or distributed scheduler.
|
|
427
|
+
Configure it in the source configuration for now; the existing editor field-metadata
|
|
428
|
+
contract is unchanged so older supported Starter clients keep working.
|
|
429
|
+
|
|
430
|
+
Run `rehearsal workloads` (or `--json`) without Docker to inspect this queue. Waiting
|
|
431
|
+
requests whose processes have died can be removed automatically because guarded work
|
|
432
|
+
never began. A dead **holder** remains blocking: its child may still be running.
|
|
433
|
+
After checking its owned commands and descendants, use the exact digest shown by
|
|
434
|
+
inspection with `rehearsal workloads recover --confirm-workloads=<digest>`. Recovery
|
|
435
|
+
removes only those reviewed dead-holder metadata records. It never kills a process,
|
|
436
|
+
stops a container, removes data or treats age alone as permission to steal admission.
|
|
437
|
+
Live owners cannot be recovered, even after a wait expires. Malformed or inaccessible
|
|
438
|
+
state refuses admission; it is not silently deleted.
|
|
439
|
+
|
|
440
|
+
Queue state is private to the local OS user under `~/Library/Application Support/Rehearsal`
|
|
441
|
+
on macOS or `~/.local/state/rehearsal` on Linux/WSL, independent of `TMPDIR`. Advanced
|
|
442
|
+
launchers can set `REHEARSAL_USER_STATE_DIRECTORY` to one absolute local directory;
|
|
443
|
+
every cooperating client must use the same value. Do not delete or move active queue
|
|
444
|
+
state. Boot/namespace-separated records are retained, not automatically pruned.
|
|
413
445
|
|
|
414
446
|
Temporary files and application processes created by an operation are cleaned up by
|
|
415
447
|
that operation's existing ownership boundary. These policies do not turn a persistent
|
package/docs/getting-started.md
CHANGED
|
@@ -15,7 +15,7 @@ They are readable helpers, not native executables or bundled Node/Docker install
|
|
|
15
15
|
Existing Node.js 22, 24 or 26 is required. The default only checks an existing project;
|
|
16
16
|
installation needs an explicit option and does not start a database. Review the
|
|
17
17
|
[shared behavior and release availability](https://github.com/Ddupasquier/rehearsal-db/blob/main/installers/README.md)
|
|
18
|
-
before choosing an install option.
|
|
18
|
+
before choosing an install option. The helper's exact target requires that version to
|
|
19
19
|
be published; a checked-in helper is not proof of publication.
|
|
20
20
|
|
|
21
21
|
### Windows: use a WSL 2 Linux workspace
|
package/docs/releasing.md
CHANGED
|
@@ -133,6 +133,10 @@ release-source migration.
|
|
|
133
133
|
|
|
134
134
|
1. Start from protected `main` on a dedicated ticketed release branch.
|
|
135
135
|
2. Verify the exact version, changelog, compatibility notes, and packed file list.
|
|
136
|
+
Reconcile the core, VS Code extension and Test Lab READMEs and affected guides with
|
|
137
|
+
their actual published versions and contracts. Keep candidate availability explicit,
|
|
138
|
+
link to the owning installation/update guide instead of duplicating version lists,
|
|
139
|
+
and retain dated historical evidence without presenting it as current acceptance.
|
|
136
140
|
3. Run `npm run release:verify`. It performs the package checks and every
|
|
137
141
|
installed-consumer scenario against one tarball, then records the exact package
|
|
138
142
|
version, SHA-256, environment, commands, timings, and results in
|
package/docs/roadmap.md
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
# Next steps
|
|
2
2
|
|
|
3
|
-
Rehearsal core
|
|
4
|
-
[npm](https://www.npmjs.com/package/@rehearsal-db/core)
|
|
5
|
-
ordinary PostgreSQL migration rehearsals. The [free VS Code Starter
|
|
6
|
-
adds a visual workbench
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
Rehearsal core is available on
|
|
4
|
+
[npm](https://www.npmjs.com/package/@rehearsal-db/core) for guided Supabase and
|
|
5
|
+
ordinary PostgreSQL migration rehearsals. The [free VS Code Starter preview](vscode.md)
|
|
6
|
+
adds a visual workbench through Marketplace and reviewed GitHub VSIX releases.
|
|
7
|
+
[Releases and updates](updating.md) explains how to find and install the published
|
|
8
|
+
versions; a roadmap or source version is not a publication claim. Neither requires
|
|
9
|
+
a purchase or account. Core is MIT-licensed; all features included in Starter are
|
|
10
|
+
free indefinitely for personal or commercial development.
|
|
9
11
|
|
|
10
12
|
Stable core, the editor preview and a future paid Pro offer have separate completion
|
|
11
13
|
boundaries. A downloadable preview does not imply that every native accessibility,
|
package/docs/stability.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Stability and release verification
|
|
2
2
|
|
|
3
|
-
Rehearsal core
|
|
4
|
-
[npm](https://www.npmjs.com/package/@rehearsal-db/core). This page defines
|
|
3
|
+
Stable Rehearsal core releases are available on
|
|
4
|
+
[npm](https://www.npmjs.com/package/@rehearsal-db/core). This page defines the
|
|
5
5
|
compatibility promise and the verification policy for releases; it is not an
|
|
6
6
|
unfinished launch checklist. Stable core does not require every planned database,
|
|
7
7
|
editor interface, or paid feature.
|
|
8
8
|
|
|
9
9
|
The compatibility promise began with **1.0.0**. The separate
|
|
10
|
-
[VS Code Starter
|
|
10
|
+
[VS Code Starter preview](vscode.md) has its own editor acceptance and does
|
|
11
11
|
not turn a core release into a completed accessibility or provider walkthrough.
|
|
12
12
|
|
|
13
13
|
## What becomes a compatibility promise
|
|
@@ -98,7 +98,7 @@ baseline. Automatic compatible updates do not cross the 0.x-to-1.x version bound
|
|
|
98
98
|
review the changelog and deliberately select the stable version:
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
|
-
npm install --save-dev --save-exact @rehearsal-db/core@1.
|
|
101
|
+
npm install --save-dev --save-exact @rehearsal-db/core@1.3.0
|
|
102
102
|
npx --no-install rehearsal --version
|
|
103
103
|
npx --no-install rehearsal doctor
|
|
104
104
|
```
|
package/docs/updating.md
CHANGED
|
@@ -38,11 +38,11 @@ instead of installing both extension identities together.
|
|
|
38
38
|
|
|
39
39
|
Finish active Rehearsal commands first. Read the [release notes](https://github.com/Ddupasquier/rehearsal-db/releases),
|
|
40
40
|
then use your project's existing package manager and dependency location. For an npm
|
|
41
|
-
project that keeps Rehearsal in development dependencies, update to the reviewed 1.
|
|
41
|
+
project that keeps Rehearsal in development dependencies, update to the reviewed 1.3.0
|
|
42
42
|
release only after it appears in the official registry:
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
|
-
npm install --save-dev --save-exact @rehearsal-db/core@1.
|
|
45
|
+
npm install --save-dev --save-exact @rehearsal-db/core@1.3.0
|
|
46
46
|
npx --no-install rehearsal --version
|
|
47
47
|
```
|
|
48
48
|
|
package/docs/vscode.md
CHANGED
|
@@ -70,7 +70,7 @@ real WSL core fixtures do not certify a native Remote-WSL editor walkthrough.
|
|
|
70
70
|
setup, source access, migration execution and cleanup keep their own confirmations.
|
|
71
71
|
|
|
72
72
|
Core and the extension have independent version numbers. This guide targets core
|
|
73
|
-
**1.
|
|
73
|
+
**1.3.0** and Starter **0.1.24**, only once each is published. See [Updates](updating.md)
|
|
74
74
|
when moving an existing installation forward.
|
|
75
75
|
The extension's minimum core is `0.1.0-rc.4`. A project that is not ready should show
|
|
76
76
|
setup guidance, not require you to build the extension. Opening the dashboard does not
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rehearsal-db/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Catch PostgreSQL and Supabase migrations that pass on empty databases but fail on real data—before deploy.",
|
|
6
6
|
"repository": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"projectDiscovery": 1,
|
|
27
27
|
"resourceInventory": 1,
|
|
28
28
|
"resourceManager": 1,
|
|
29
|
+
"workloadQueue": 1,
|
|
29
30
|
"migrationReview": 1,
|
|
30
31
|
"migrationInsights": 1,
|
|
31
32
|
"migrationImpact": 1,
|