@devrouter/cli 0.1.0 → 0.1.2
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 +218 -66
- package/dist/devrouter.js +417 -142
- package/package.json +3 -1
- package/upgrade-prompts/0.1.1.md +48 -0
- package/upgrade-prompts/0.1.2.md +57 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devrouter/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
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",
|
|
@@ -54,6 +54,8 @@
|
|
|
54
54
|
"qualify:harness-journey": "./scripts/qualify-harness-journey.sh",
|
|
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
|
+
"qualify:slow-dependency": "./scripts/qualify-slow-dependency-recovery.sh",
|
|
58
|
+
"qualify:killed-runtime": "./scripts/qualify-killed-runtime-recovery.sh",
|
|
57
59
|
"test:process": "bash scripts/test-devrouter-process.sh",
|
|
58
60
|
"check": "biome check .",
|
|
59
61
|
"check:fix": "biome check --write .",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.1.1
|
|
2
|
+
|
|
3
|
+
This is a patch release on top of 0.1.0. It closes one way a managed environment
|
|
4
|
+
could sit blocked without saying so: a start that admission refused on a fixed
|
|
5
|
+
published host-port claim left the journal recording the intent as `running`
|
|
6
|
+
while no runtime existed, so `devrouter status` reported a stable, drifting-free
|
|
7
|
+
environment that could not progress.
|
|
8
|
+
|
|
9
|
+
## What changed for a consumer
|
|
10
|
+
|
|
11
|
+
- A managed `ensure` refused because a running container already holds a fixed
|
|
12
|
+
published host port now stays visible after the command exits. `devrouter
|
|
13
|
+
status` reports a `start-refused` attention reason with two recovery
|
|
14
|
+
commands: the read-only `devrouter doctor <repo>` check that names the
|
|
15
|
+
conflicting consumer binding and its holder, and the consumer-side fix
|
|
16
|
+
followed by `devrouter ensure <repo>`.
|
|
17
|
+
- An explicit `devrouter stop <repo>` releases that intent and the reason, and a
|
|
18
|
+
later admitted ensure clears it. Nothing else about the refusal changed: the
|
|
19
|
+
start is still refused before any provider mutation, and live-worker,
|
|
20
|
+
unknown-ownership and surviving-resource checks still refuse fail-closed.
|
|
21
|
+
- The release also carries `pnpm qualify:slow-dependency`, the developer
|
|
22
|
+
qualifier behind the Q06 dependency-recovery evidence. It is a repository
|
|
23
|
+
script and has no consumer-facing effect.
|
|
24
|
+
|
|
25
|
+
## Task
|
|
26
|
+
|
|
27
|
+
Use the published 0.1.1 CLI. Update the repository `devrouter.version` metadata
|
|
28
|
+
only when consumer source changes are authorized, and refresh generated agent
|
|
29
|
+
guidance only with its owner's authority. No schema, command, flag, environment
|
|
30
|
+
or journal migration is needed, and the upgrade rewrites no runtime state.
|
|
31
|
+
|
|
32
|
+
## Validation
|
|
33
|
+
|
|
34
|
+
Verify the resolved executable and installed version, then run `devrouter
|
|
35
|
+
doctor` for the checkout and confirm `global.cli-path` reports one
|
|
36
|
+
authoritative install. Run `devrouter status` and confirm the reported intent,
|
|
37
|
+
phase and attention reason agree with the runtime you observe. When the reported
|
|
38
|
+
reason is `start-refused`, resolve the named binding as the owner of that
|
|
39
|
+
port — the shared router is never the side to stop — and keep each lifecycle
|
|
40
|
+
operation's own terminal evidence separate from a status block or progress line.
|
|
41
|
+
|
|
42
|
+
## Report
|
|
43
|
+
|
|
44
|
+
Report the release revision, the executable and installed version, the status
|
|
45
|
+
block for any affected checkout, and the terminal result of any authorized
|
|
46
|
+
lifecycle operation. Keep source and package validation separate from consumer
|
|
47
|
+
readiness or recovery, and record unknown ownership or surviving resources as
|
|
48
|
+
unresolved rather than as recovered.
|
|
@@ -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.
|