@rehearsal-db/core 0.1.0-beta.16 → 0.1.0-beta.18
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 +36 -1
- package/README.md +1 -0
- package/dist/package.json +1 -2
- package/dist/src/application/interactive_task.d.mts +30 -0
- package/dist/src/application/interactive_task.mjs +83 -0
- package/dist/src/application/session.d.mts +1 -0
- package/dist/src/cli/arguments.mjs +2 -0
- package/dist/src/cli/basic_command_handlers.mjs +1 -0
- package/dist/src/cli/cli_commands.mjs +2 -0
- package/dist/src/cli/guided.mjs +8 -0
- package/dist/src/cli/identity_command_handlers.d.mts +6 -2
- package/dist/src/cli/identity_command_handlers.mjs +216 -20
- package/dist/src/cli/identity_renderer.d.mts +8 -0
- package/dist/src/cli/identity_renderer.mjs +33 -0
- package/dist/src/cli/project_commands.d.mts +125 -1
- package/dist/src/cli/project_commands.mjs +11 -2
- package/dist/src/cli/runtime_commands.d.mts +25 -0
- package/dist/src/cli/runtime_commands.mjs +24 -6
- package/dist/src/identity/claim_identity_lookup.d.mts +7 -1
- package/dist/src/identity/claim_identity_lookup.mjs +20 -11
- package/dist/src/identity/connect.d.mts +30 -0
- package/dist/src/identity/connect.mjs +111 -0
- package/dist/src/project/configuration_rendering.mjs +2 -0
- package/docs/README.md +1 -0
- package/docs/architecture.md +2 -0
- package/docs/commands.md +18 -15
- package/docs/configuration.md +1 -0
- package/docs/releasing.md +13 -8
- package/docs/runtime-policies.md +12 -3
- package/docs/stability.md +69 -0
- package/docs/troubleshooting.md +17 -0
- package/package.json +1 -2
package/docs/runtime-policies.md
CHANGED
|
@@ -166,9 +166,18 @@ Authentication has three separate parts:
|
|
|
166
166
|
3. The identity policy matches that verified local identity and transfers only the
|
|
167
167
|
reviewed copied-account graph.
|
|
168
168
|
|
|
169
|
-
The email stays in an environment variable; only its reviewed hash is committed.
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
The email stays in an environment variable; only its reviewed hash is committed. The
|
|
170
|
+
guided command keeps the app available for ordinary sign-in, detects the reviewed local
|
|
171
|
+
Auth match, presents a redacted preview, and supplies the exact plan fingerprint
|
|
172
|
+
internally after one confirmation:
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
npx rehearsal identity connect
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
It never intercepts provider credentials or reads browser state. After connection it
|
|
179
|
+
reopens the app; sign out and sign in once to receive fresh claims. Scripts may retain
|
|
180
|
+
the explicit plan and claim sequence:
|
|
172
181
|
|
|
173
182
|
```bash
|
|
174
183
|
npx rehearsal identity plan --identity=approved-owner
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Stability and the first stable release
|
|
2
|
+
|
|
3
|
+
Rehearsal leaves beta when the workflow it already promises is dependable. Stable
|
|
4
|
+
`0.1.0` does not require every planned database, desktop interface, or paid feature.
|
|
5
|
+
|
|
6
|
+
## What becomes a compatibility promise
|
|
7
|
+
|
|
8
|
+
Starting with `0.1.0`, Rehearsal treats these documented surfaces as public:
|
|
9
|
+
|
|
10
|
+
- CLI command names, flags, JSON result fields, and exit categories in
|
|
11
|
+
[CLI commands](commands.md);
|
|
12
|
+
- `rehearsal.config.mjs` schema version 1 and the policy formats documented in
|
|
13
|
+
[Configuration](configuration.md), [Sanitization](sanitization.md), and
|
|
14
|
+
[Runtime and identity policies](runtime-policies.md);
|
|
15
|
+
- package entry points and generated declarations listed in
|
|
16
|
+
[TypeScript](typescript.md);
|
|
17
|
+
- supported Node.js, operating-system, Docker, Supabase, and PostgreSQL boundaries in
|
|
18
|
+
[COMPATIBILITY.md](https://github.com/Ddupasquier/rehearsal-db/blob/main/COMPATIBILITY.md);
|
|
19
|
+
- non-destructive ownership, confirmation, credential, and hosted-access guarantees in
|
|
20
|
+
[Security model](security-model.md).
|
|
21
|
+
|
|
22
|
+
Patch releases may fix defects and improve messages without changing those contracts.
|
|
23
|
+
A future breaking contract change requires a version that clearly communicates it under
|
|
24
|
+
Semantic Versioning. Internal source files, terminal decoration, exact prose, temporary
|
|
25
|
+
file names, and undocumented package paths are not compatibility promises.
|
|
26
|
+
|
|
27
|
+
## What blocks a release candidate
|
|
28
|
+
|
|
29
|
+
An issue blocks `0.1.0-rc.1` when it can cause any of the following within a supported
|
|
30
|
+
configuration:
|
|
31
|
+
|
|
32
|
+
- data loss, credential exposure, hosted-system access, or mutation outside resources
|
|
33
|
+
that Rehearsal can prove it owns;
|
|
34
|
+
- an incorrect baseline, migration set, verification result, or successful status;
|
|
35
|
+
- failure of clean installation, supported-version upgrade, restore, reset, cleanup, or
|
|
36
|
+
interruption recovery;
|
|
37
|
+
- a documented CLI, configuration, policy, or TypeScript contract behaving differently
|
|
38
|
+
from its reference;
|
|
39
|
+
- a supported Node.js, Supabase, PostgreSQL, macOS, or Linux path failing its maintained
|
|
40
|
+
automated gate.
|
|
41
|
+
|
|
42
|
+
Cosmetic improvements, new database families, production-shaped sampling, the VS Code
|
|
43
|
+
extension, desktop work, and commercial capabilities do not block the first stable
|
|
44
|
+
release.
|
|
45
|
+
|
|
46
|
+
## Promotion sequence
|
|
47
|
+
|
|
48
|
+
1. Ship beta.18 with only stability, release-safety, upgrade, and documentation work.
|
|
49
|
+
2. Freeze broad feature development on the release branch.
|
|
50
|
+
3. Publish `0.1.0-rc.1` from protected `main` through the reviewed npm environment.
|
|
51
|
+
4. Run the complete Rehearsal Test Lab gate twice from clean isolated workspaces.
|
|
52
|
+
5. Perform one final package-only upgrade in a real consumer. The consumer must use the
|
|
53
|
+
published package rather than duplicate Rehearsal machinery.
|
|
54
|
+
6. Keep the candidate available for at least seven calendar days. Restart the window if
|
|
55
|
+
a blocking package change is required.
|
|
56
|
+
7. Publish `0.1.0` only when no blocking issue remains and the accepted registry artifact
|
|
57
|
+
matches the tested artifact exactly.
|
|
58
|
+
|
|
59
|
+
Test Lab is the primary verification system. A real consumer is the final compatibility
|
|
60
|
+
check, not a replacement for package-owned coverage. Real Google or GitHub consent does
|
|
61
|
+
not need to run on every build unless authentication behavior changes.
|
|
62
|
+
|
|
63
|
+
## npm channels
|
|
64
|
+
|
|
65
|
+
Beta and release-candidate versions publish under the `beta` tag. Before a stable
|
|
66
|
+
release exists, `latest` follows that reviewed prerelease so the ordinary install command
|
|
67
|
+
remains useful. Once stable `0.1.0` exists, `latest` stays on the stable line and `beta`
|
|
68
|
+
continues to identify the newest prerelease. Stable publication never rewrites the
|
|
69
|
+
`beta` tag.
|
package/docs/troubleshooting.md
CHANGED
|
@@ -172,6 +172,23 @@ need; skipping nonce validation reduces replay protection. Otherwise keep using
|
|
|
172
172
|
documented legacy configuration.
|
|
173
173
|
Never paste provider secrets into tracked config or terminal output.
|
|
174
174
|
|
|
175
|
+
For the shortest supported copied-account flow, run:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
npx rehearsal identity connect
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
Leave that terminal open, then sign in through the sandbox application normally. Rehearsal
|
|
182
|
+
waits for one verified match and shows a redacted plan before it changes anything. If it
|
|
183
|
+
keeps waiting, finish the provider callback and confirm the reviewed matcher environment
|
|
184
|
+
value is available in the terminal that started Rehearsal. `Ctrl+C`, `Ctrl+Z`, or choosing
|
|
185
|
+
**Not now** stops only the owned application and leaves the database unchanged.
|
|
186
|
+
|
|
187
|
+
After a successful connection, sign out and sign in once so the application receives
|
|
188
|
+
fresh role claims. Rehearsal remembers the connection in the current disposable runtime;
|
|
189
|
+
`reset` deliberately removes that receipt, so the next copied-account connection requires
|
|
190
|
+
review again.
|
|
191
|
+
|
|
175
192
|
If `identity plan` refuses the matcher, read the message literally:
|
|
176
193
|
|
|
177
194
|
- **Provider or matcher type is unsupported:** use only the combinations documented in
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rehearsal-db/core",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Safely rehearse PostgreSQL and Supabase migrations against sanitized, production-shaped data.",
|
|
6
6
|
"repository": {
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
"homepage": "https://ddupasquier.github.io/rehearsal-db/",
|
|
14
14
|
"publishConfig": {
|
|
15
15
|
"access": "public",
|
|
16
|
-
"tag": "beta",
|
|
17
16
|
"provenance": true
|
|
18
17
|
},
|
|
19
18
|
"type": "module",
|