@devrouter/cli 0.1.1 → 0.1.3
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/dist/devrouter-lifecycle-worker.js +418 -119
- package/dist/devrouter.js +764 -226
- package/package.json +6 -1
- package/upgrade-prompts/0.1.2.md +57 -0
- package/upgrade-prompts/0.1.3.md +55 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devrouter/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Local dev routing CLI with shared Traefik reverse proxy",
|
|
5
5
|
"author": "Roland Schlaefli",
|
|
6
6
|
"homepage": "https://github.com/rschlaefli/devrouter#readme",
|
|
@@ -55,6 +55,11 @@
|
|
|
55
55
|
"qualify:codex-journey": "DR_JOURNEY_HARNESS=codex ./scripts/qualify-harness-journey.sh",
|
|
56
56
|
"qualify:non-node": "./scripts/qualify-non-node-consumer.sh",
|
|
57
57
|
"qualify:slow-dependency": "./scripts/qualify-slow-dependency-recovery.sh",
|
|
58
|
+
"qualify:killed-runtime": "./scripts/qualify-killed-runtime-recovery.sh",
|
|
59
|
+
"qualify:cohorts": "node --import tsx scripts/qualify-lifecycle-cohorts.ts",
|
|
60
|
+
"qualify:preparation": "node --import tsx scripts/qualify-process-preparation.ts",
|
|
61
|
+
"qualify:profiles": "node --import tsx scripts/qualify-profile-alternation.ts",
|
|
62
|
+
"qualify:host-suspend": "node --import tsx scripts/qualify-host-suspend.ts",
|
|
58
63
|
"test:process": "bash scripts/test-devrouter-process.sh",
|
|
59
64
|
"check": "biome check .",
|
|
60
65
|
"check:fix": "biome check --write .",
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.1.2
|
|
2
|
+
|
|
3
|
+
This is a patch release on top of 0.1.1. It carries the post-release reliability
|
|
4
|
+
review corrections: truthful recovery guidance, a harness gate that honors its
|
|
5
|
+
full wait budget and recognizes its own lifecycle commands in every supported
|
|
6
|
+
invocation form, evidence-accurate hook wording, bounded cause-and-location
|
|
7
|
+
diagnostics for unprovable capacity history, and a content-digest fence on
|
|
8
|
+
capacity snapshot replacement.
|
|
9
|
+
|
|
10
|
+
## What changed for a consumer
|
|
11
|
+
|
|
12
|
+
- The recovery line a refused managed start prints now reads `devrouter doctor
|
|
13
|
+
--repo <checkout>` (single-quoted when the path needs it) instead of a
|
|
14
|
+
positional path that `doctor` never accepted. Stored guidance that quotes the
|
|
15
|
+
old form should be refreshed.
|
|
16
|
+
- The harness gate (`devrouter harness gate`, wired as a PreToolUse hook) now
|
|
17
|
+
recognizes `devrouter` lifecycle commands as direct executables and through
|
|
18
|
+
the `npx`, `pnpm exec`, `npm exec` and `yarn` launchers, including
|
|
19
|
+
`env` and assignment prefixes. During a transition, `devrouter status`,
|
|
20
|
+
`stop` and `ensure` reach their own bounded checks instead of being deferred
|
|
21
|
+
or refused as unrelated calls. Unrelated calls still defer or refuse as
|
|
22
|
+
before.
|
|
23
|
+
- A gated call under a budget now waits the whole budget: the gate observes once
|
|
24
|
+
more at the deadline instead of refusing early when the next poll interval
|
|
25
|
+
would overrun it.
|
|
26
|
+
- Hook output no longer reports "environment settled" for passthrough,
|
|
27
|
+
unmanaged, invalid-payload or unavailable evidence; each decision says what it
|
|
28
|
+
actually observed.
|
|
29
|
+
- `devrouter doctor` names the bounded cause and the exact journal entry when
|
|
30
|
+
capacity history is unprovable, and the network-capacity check names the
|
|
31
|
+
missing evidence inputs, so the operator can act without guessing.
|
|
32
|
+
|
|
33
|
+
## Task
|
|
34
|
+
|
|
35
|
+
Use the published 0.1.2 CLI. Refresh consumer-side guidance that quotes the old
|
|
36
|
+
positional recovery command, and update the repository `devrouter.version`
|
|
37
|
+
metadata only when consumer source changes are authorized. No schema, command,
|
|
38
|
+
flag, environment or journal migration is needed, and the upgrade rewrites no
|
|
39
|
+
runtime state.
|
|
40
|
+
|
|
41
|
+
## Validation
|
|
42
|
+
|
|
43
|
+
Verify the resolved executable and installed version with `devrouter -V`, then
|
|
44
|
+
run `devrouter doctor --repo <checkout>` and confirm `global.cli-path`
|
|
45
|
+
reports one authoritative install. For an environment whose harness hook uses
|
|
46
|
+
`devrouter harness gate`, run one gated lifecycle command during a transition
|
|
47
|
+
and confirm it reaches its own check. When `doctor` reports unprovable capacity
|
|
48
|
+
history, follow the named cause-keyed recovery instead of deleting journal
|
|
49
|
+
state.
|
|
50
|
+
|
|
51
|
+
## Report
|
|
52
|
+
|
|
53
|
+
Report the release revision, the executable and installed version, the doctor
|
|
54
|
+
block for any affected checkout, and the terminal result of any authorized
|
|
55
|
+
lifecycle operation. Keep source and package validation separate from consumer
|
|
56
|
+
readiness or recovery, and record unknown ownership or surviving resources as
|
|
57
|
+
unresolved rather than as recovered.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.1.3
|
|
2
|
+
|
|
3
|
+
This is a patch release on top of 0.1.2. It carries the managed-stop and
|
|
4
|
+
managed-profile corrections found while qualifying the reliability roadmap, a
|
|
5
|
+
repaired Docker network inventory template, and one measured efficiency change
|
|
6
|
+
that removes a redundant provider startup per registry read. No schema, CLI
|
|
7
|
+
flag, environment variable or journal migration changes.
|
|
8
|
+
|
|
9
|
+
## What changed for a consumer
|
|
10
|
+
|
|
11
|
+
- `stop --delete` settles three shapes that a 0.1.2 install could leave stuck in
|
|
12
|
+
`stopping`, where `workspace journal settle` reported already-settled and every
|
|
13
|
+
later `ensure` was refused: a primary checkout whose Devsy registration was
|
|
14
|
+
already gone, a managed environment whose ignored generated profile had been
|
|
15
|
+
removed, and a stop that refused after the managed population changed outside
|
|
16
|
+
devrouter. Each correction keeps the fail-closed refusal whenever ownership,
|
|
17
|
+
identity or surviving resources are unproven.
|
|
18
|
+
- A checkout held up by one of those shapes recovers with the supported flow once
|
|
19
|
+
this CLI is installed: run `devrouter stop <checkout> --delete`, or
|
|
20
|
+
`devrouter workspace journal settle <checkout>` when no lifecycle worker can be
|
|
21
|
+
running. Do not delete provider registrations or edit journal files by hand.
|
|
22
|
+
- The Docker network inventory template is one complete JSON object per network
|
|
23
|
+
again, so the capacity check reads the daemon's networks instead of reporting
|
|
24
|
+
unknown inventory and refusing managed allocation.
|
|
25
|
+
- Lifecycle actions start the provider CLI fewer times: on the retained
|
|
26
|
+
qualification fixture a cold or retained `ensure` fell from 26 to 18 provider
|
|
27
|
+
invocations and `stop --delete` from 22 to 16, with the same ownership proofs
|
|
28
|
+
and Docker work.
|
|
29
|
+
- `status` and `doctor` report an unwound nested mount as a bounded non-blocking
|
|
30
|
+
observation, and read a container's mount table only when a configured mount
|
|
31
|
+
nests.
|
|
32
|
+
|
|
33
|
+
## Task
|
|
34
|
+
|
|
35
|
+
Use the published 0.1.3 CLI. Update the repository `devrouter.version` metadata
|
|
36
|
+
only when consumer source changes are authorized. No schema, command, flag,
|
|
37
|
+
environment or journal migration is needed, and the upgrade rewrites no runtime
|
|
38
|
+
state; a checkout already stuck in `stopping` is released by running the
|
|
39
|
+
supported stop or settlement command.
|
|
40
|
+
|
|
41
|
+
## Validation
|
|
42
|
+
|
|
43
|
+
Verify the resolved executable and installed version with `devrouter -V`, then
|
|
44
|
+
run `devrouter doctor --repo <checkout>` and confirm `global.cli-path` reports
|
|
45
|
+
one authoritative install. For a checkout that an earlier version left in
|
|
46
|
+
`stopping`, run the supported stop or settlement flow and confirm the terminal
|
|
47
|
+
provider and route state. Record unknown ownership or surviving resources as
|
|
48
|
+
unresolved rather than as recovered.
|
|
49
|
+
|
|
50
|
+
## Report
|
|
51
|
+
|
|
52
|
+
Report the release revision, the executable and installed version, the doctor
|
|
53
|
+
block for any affected checkout, and the terminal result of any authorized
|
|
54
|
+
lifecycle operation. Keep source and package validation separate from consumer
|
|
55
|
+
readiness or recovery.
|