@guiho/runx 0.4.0 → 0.5.1
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 +52 -0
- package/DOCS.md +24 -4
- package/README.md +6 -1
- package/devops/build-binaries.ts +3 -3
- package/devops/devops.xdocs.md +9 -6
- package/devops/extract-release-notes.spec.ts +54 -0
- package/devops/extract-release-notes.ts +40 -0
- package/devops/install.ps1 +29 -6
- package/devops/install.sh +36 -11
- package/devops/installers.spec.ts +152 -5
- package/devops/verify-release-assets.ts +14 -0
- package/docs/architecture/architecture.xdocs.md +2 -1
- package/docs/architecture/cli-architecture.md +18 -9
- package/docs/decisions/decisions.xdocs.md +4 -0
- package/docs/decisions/markdown-release-assets-and-version-scoped-notes.md +84 -0
- package/docs/plans/automatic-agent-maintenance.md +120 -0
- package/docs/plans/plans.xdocs.md +2 -0
- package/docs/plans/rfc-0034-cli-compliance-migration.md +17 -8
- package/docs/plans/upgrade-reliability-implementation.md +1 -1
- package/docs/reviews/implementation/automatic-agent-maintenance-review.md +63 -0
- package/docs/reviews/implementation/bash-installer-review.md +42 -0
- package/docs/reviews/implementation/implementation.xdocs.md +12 -2
- package/docs/reviews/implementation/rfc-0034-cli-compliance-migration-review.md +18 -5
- package/docs/reviews/implementation/unicode-help-tree-review.md +41 -0
- package/docs/reviews/implementation/upgrade-reliability-issue-12-review.md +62 -0
- package/docs/reviews/implementation/upgrade-reliability-issue-13-review.md +63 -0
- package/docs/reviews/plans/automatic-agent-maintenance-review.md +56 -0
- package/docs/reviews/plans/plans.xdocs.md +2 -0
- package/docs/superpowers/specs/2026-07-15-upgrade-reliability-design.md +1 -1
- package/docs/todo/automatic-agent-maintenance-implementation.md +55 -0
- package/docs/todo/automatic-agent-maintenance.md +86 -0
- package/docs/todo/bash-installer.md +45 -0
- package/docs/todo/rfc-0034-cli-compliance-migration-implementation.md +27 -3
- package/docs/todo/rfc-0034-cli-compliance-migration.md +9 -4
- package/docs/todo/todo.xdocs.md +12 -2
- package/docs/todo/unicode-help-tree.md +44 -0
- package/docs/todo/upgrade-reliability.md +51 -0
- package/docs/validation/automatic-agent-maintenance.md +63 -0
- package/docs/validation/bash-installer.md +55 -0
- package/docs/validation/rfc-0034-cli-compliance-migration.md +29 -7
- package/docs/validation/unicode-help-tree.md +43 -0
- package/docs/validation/upgrade-reliability-issue-12.md +74 -0
- package/docs/validation/upgrade-reliability-issue-13.md +72 -0
- package/docs/validation/upgrade-reliability.md +38 -99
- package/docs/validation/validation.xdocs.md +14 -4
- package/library/agent-maintenance.d.ts +19 -0
- package/library/agent-maintenance.d.ts.map +1 -0
- package/library/agent-maintenance.js +49 -0
- package/library/agents.d.ts +8 -2
- package/library/agents.d.ts.map +1 -1
- package/library/agents.js +58 -11
- package/library/cli.d.ts.map +1 -1
- package/library/cli.js +50 -15
- package/library/recovery.js +1 -1
- package/library/release-catalog.d.ts +2 -1
- package/library/release-catalog.d.ts.map +1 -1
- package/library/release-catalog.js +9 -1
- package/library/storage.d.ts +2 -1
- package/library/storage.d.ts.map +1 -1
- package/library/storage.js +13 -1
- package/package.json +1 -1
- package/skills/guiho-s-runx/SKILL.md +11 -0
- package/skills/guiho-s-runx/guiho-s-runx.xdocs.md +4 -1
|
@@ -10,7 +10,7 @@ tags:
|
|
|
10
10
|
- cli
|
|
11
11
|
keywords:
|
|
12
12
|
- RFC 0034
|
|
13
|
-
-
|
|
13
|
+
- 44 tests
|
|
14
14
|
- 14 assets
|
|
15
15
|
- RunX
|
|
16
16
|
owner: runx-validation
|
|
@@ -20,31 +20,53 @@ owner: runx-validation
|
|
|
20
20
|
|
|
21
21
|
## Summary
|
|
22
22
|
|
|
23
|
-
All local RFC completion gates passed
|
|
23
|
+
All local RFC completion gates passed after independent audit corrections for
|
|
24
|
+
upgrade routing, no-argument cached notices, and names-only prompt output. No
|
|
25
|
+
validation blocker remains.
|
|
24
26
|
|
|
25
27
|
## Commands Run
|
|
26
28
|
|
|
27
29
|
| Command or check | Result |
|
|
28
30
|
| --- | --- |
|
|
29
31
|
| `bun run typecheck` | Passed |
|
|
30
|
-
| `bun test --timeout 30000` | Passed:
|
|
32
|
+
| `bun test --timeout 30000` | Passed: 44 tests, 288 assertions |
|
|
31
33
|
| `bun run build` | Passed |
|
|
32
34
|
| `bun run binary` | Passed |
|
|
33
35
|
| `bun run binaries` | Passed: twelve native targets |
|
|
34
36
|
| `bun run verify-assets` | Passed: exactly fourteen unique assets |
|
|
37
|
+
| `bun test devops/extract-release-notes.spec.ts` | Passed: exact heading boundaries, missing-section failure, and frontmatter/older-section exclusion |
|
|
35
38
|
| `node --check scripts/runx-bin.mjs` | Passed |
|
|
36
39
|
| packed npm bootstrap local-server smoke | Passed with Node and Bun removed from PATH |
|
|
37
40
|
| prohibited core Node-import scan | Passed: zero matches |
|
|
38
41
|
| CLI banner/help/config/agent/output/exit smoke tests | Passed in CLI suite |
|
|
42
|
+
| live `upgrade --help`, prompt names, source banner, and compiled version smokes | Passed |
|
|
39
43
|
| PowerShell and POSIX installer contract tests | Passed |
|
|
44
|
+
| disguised-PE Markdown installer regression | Passed: installer rejected `MZ` payload before any resource write |
|
|
40
45
|
| `xdocs doctor --warnings-as-errors` | Passed: zero errors and zero warnings |
|
|
41
46
|
| `git diff --check` | Passed |
|
|
42
47
|
|
|
48
|
+
## Independent Audit Regression Evidence
|
|
49
|
+
|
|
50
|
+
- `runx upgrade` now exposes and executes `--version`, `--arch`, `--variant`,
|
|
51
|
+
`--dry-run`, and `--format` without root-version interception while retaining
|
|
52
|
+
`upgrade check` and `upgrade list`.
|
|
53
|
+
- A valid `newVersionAvailable: true` cache produces the required notice before
|
|
54
|
+
the no-argument banner with the update worker disabled.
|
|
55
|
+
- `agent prompt list --names` prints `guiho-i-runx` as a raw text line; JSON
|
|
56
|
+
mode still returns a parseable names array.
|
|
57
|
+
- The stale ignored `bin/runx.exe` created by the single-target build was
|
|
58
|
+
removed before matrix verification. The verifier itself remains strict and
|
|
59
|
+
observed only the twelve RFC binaries plus the two named agent assets.
|
|
60
|
+
|
|
43
61
|
## Exact Release Asset Evidence
|
|
44
62
|
|
|
45
63
|
The verifier observed twelve `runx-*` assets using Linux, Darwin, and Windows
|
|
46
|
-
names plus `guiho-s-runx` and `guiho-i-runx`. It found no duplicate,
|
|
47
|
-
missing, or legacy platform name.
|
|
64
|
+
names plus `guiho-s-runx.md` and `guiho-i-runx.md`. It found no duplicate,
|
|
65
|
+
extra, missing, or legacy platform name.
|
|
66
|
+
|
|
67
|
+
The publish workflow writes a temporary notes file containing only the exact
|
|
68
|
+
version section from `CHANGELOG.md`. Existing releases receive the same notes
|
|
69
|
+
through `gh release edit` before their asset set is refreshed.
|
|
48
70
|
|
|
49
71
|
## Skipped Checks
|
|
50
72
|
|
|
@@ -57,9 +79,9 @@ These are release mutations rather than local validation requirements.
|
|
|
57
79
|
|
|
58
80
|
## Readiness
|
|
59
81
|
|
|
60
|
-
Ready for the authorized Mirror
|
|
82
|
+
Ready for the authorized Mirror patch application to `0.4.1`, one-file commits,
|
|
61
83
|
main push, and Mirror-managed tag/ref push. Package publication and GitHub
|
|
62
|
-
Release creation remain intentionally unperformed.
|
|
84
|
+
Release creation remain intentionally unperformed as direct local actions.
|
|
63
85
|
|
|
64
86
|
## References
|
|
65
87
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: RunX Unicode Help Tree Validation
|
|
3
|
+
purpose: Record direct verification evidence for GitHub issue 17.
|
|
4
|
+
description: Captures focused and full help tests, native tree smoke, builds, exact assets, XDocs, and Git integrity.
|
|
5
|
+
created: 2026-07-19
|
|
6
|
+
flags:
|
|
7
|
+
- validated
|
|
8
|
+
tags:
|
|
9
|
+
- validation
|
|
10
|
+
- cli
|
|
11
|
+
- help
|
|
12
|
+
keywords:
|
|
13
|
+
- RunX
|
|
14
|
+
- issue 17
|
|
15
|
+
- Unicode tree
|
|
16
|
+
- aligned descriptions
|
|
17
|
+
owner: runx-validation
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# RunX Unicode Help Tree Validation
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
|
|
24
|
+
The RunX help tree matches the requested readable Unicode hierarchy. No
|
|
25
|
+
validation blocker remains.
|
|
26
|
+
|
|
27
|
+
## Commands Run
|
|
28
|
+
|
|
29
|
+
| Command or check | Result |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `bun run typecheck` | Passed |
|
|
32
|
+
| focused CLI tests | Passed: 11 tests, 140 assertions |
|
|
33
|
+
| explicit root tree assertions | Passed: `├──`, `└──`, `│`, aligned list description, no `|-` |
|
|
34
|
+
| `bun test --timeout 30000` | Passed: 53 tests, 368 assertions |
|
|
35
|
+
| build, native matrix, exact assets | Passed: library, single binary, twelve native targets, exactly fourteen assets |
|
|
36
|
+
| native Windows x64 `--help-tree-depth 2` | Passed: Unicode nesting and aligned descriptions; no `|-` |
|
|
37
|
+
| strict XDocs metadata and doctor | Passed for source and docs: zero errors and zero warnings |
|
|
38
|
+
| `git diff --check` | Passed |
|
|
39
|
+
|
|
40
|
+
## References
|
|
41
|
+
|
|
42
|
+
- [Implementation review](../reviews/implementation/unicode-help-tree-review.md)
|
|
43
|
+
- [Task specification](../todo/unicode-help-tree.md)
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: RunX Upgrade Reliability Issue 12 Validation
|
|
3
|
+
purpose: Record current-main evidence for GitHub issue 12.
|
|
4
|
+
description: Captures focused and full transaction, catalog, routing, native, live GitHub, XDocs, and Git integrity checks.
|
|
5
|
+
created: 2026-07-19
|
|
6
|
+
flags:
|
|
7
|
+
- validated
|
|
8
|
+
tags:
|
|
9
|
+
- validation
|
|
10
|
+
- cli
|
|
11
|
+
- reliability
|
|
12
|
+
keywords:
|
|
13
|
+
- RunX
|
|
14
|
+
- issue 12
|
|
15
|
+
- 50 tests
|
|
16
|
+
- 14 assets
|
|
17
|
+
owner: runx-validation
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# RunX Upgrade Reliability Issue 12 Validation
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
|
|
24
|
+
All local completion gates for GitHub issue #12 passed after correcting the
|
|
25
|
+
complete-list default and Citty parent/subcommand routing. No validation
|
|
26
|
+
blocker remains.
|
|
27
|
+
|
|
28
|
+
## Commands Run
|
|
29
|
+
|
|
30
|
+
| Command or check | Result |
|
|
31
|
+
| --- | --- |
|
|
32
|
+
| `bun run typecheck` | Passed |
|
|
33
|
+
| focused catalog, transaction, reporting, and CLI tests | Passed: 31 tests, 222 assertions |
|
|
34
|
+
| `bun test --timeout 30000` | Passed: 50 tests, 342 assertions |
|
|
35
|
+
| `bun run build` | Passed |
|
|
36
|
+
| `bun run binary` | Passed |
|
|
37
|
+
| `bun run binaries` | Passed: twelve native targets |
|
|
38
|
+
| `bun run verify-assets` | Passed: exactly fourteen unique assets |
|
|
39
|
+
| live source `upgrade list --format json` | Passed: one JSON document, ten current published releases, current/latest/asset metadata |
|
|
40
|
+
| live source `upgrade check --format json` | Passed: one JSON document, no parent upgrade envelope |
|
|
41
|
+
| strict XDocs metadata and doctor | Passed for source and docs: zero errors and zero warnings |
|
|
42
|
+
| `git diff --check` | Passed |
|
|
43
|
+
|
|
44
|
+
## Transaction Evidence
|
|
45
|
+
|
|
46
|
+
- The self-management suite renames a running Windows executable, places the
|
|
47
|
+
new binary at the canonical path, executes that path with `--version`, and
|
|
48
|
+
reports success only after the exact target is observed.
|
|
49
|
+
- Controlled second-rename, target-version mismatch, and rollback-failure tests
|
|
50
|
+
prove nonzero structured outcomes and deterministic restoration behavior.
|
|
51
|
+
- Plan and phase callbacks prove plan output precedes download work and
|
|
52
|
+
replacement starts only after download and native validation.
|
|
53
|
+
|
|
54
|
+
## Catalog Evidence
|
|
55
|
+
|
|
56
|
+
- GitHub `Link` pagination, SemVer/prerelease ordering, channel labels,
|
|
57
|
+
malformed payloads, candidate ordering, and missing compatible assets are
|
|
58
|
+
covered by focused tests.
|
|
59
|
+
- A real Citty-route regression follows two mocked release pages, includes an
|
|
60
|
+
alpha release without an opt-in flag, parses exactly one JSON document, and
|
|
61
|
+
proves the parent upgrade action did not execute.
|
|
62
|
+
- Live GitHub-backed list and check routes each returned one parseable document
|
|
63
|
+
with exit code zero.
|
|
64
|
+
|
|
65
|
+
## Skipped Checks
|
|
66
|
+
|
|
67
|
+
- No installed user executable was replaced.
|
|
68
|
+
- No package publication, GitHub Release creation, Mirror version, or tag was
|
|
69
|
+
performed during this issue unit.
|
|
70
|
+
|
|
71
|
+
## References
|
|
72
|
+
|
|
73
|
+
- [Implementation review](../reviews/implementation/upgrade-reliability-issue-12-review.md)
|
|
74
|
+
- [Implementation plan](../plans/upgrade-reliability-implementation.md)
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: RunX Upgrade Reliability Issue 13 Validation
|
|
3
|
+
purpose: Record current-main exact recovery and installer evidence for GitHub issue 13.
|
|
4
|
+
description: Captures outcome-matrix, exact target, executable installer, native text/JSON, full suite, assets, XDocs, and Git checks.
|
|
5
|
+
created: 2026-07-19
|
|
6
|
+
flags:
|
|
7
|
+
- validated
|
|
8
|
+
tags:
|
|
9
|
+
- validation
|
|
10
|
+
- cli
|
|
11
|
+
- reliability
|
|
12
|
+
keywords:
|
|
13
|
+
- RunX
|
|
14
|
+
- issue 13
|
|
15
|
+
- exact recovery
|
|
16
|
+
- installer verification
|
|
17
|
+
owner: runx-validation
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# RunX Upgrade Reliability Issue 13 Validation
|
|
21
|
+
|
|
22
|
+
## Summary
|
|
23
|
+
|
|
24
|
+
All local completion gates for GitHub issue #13 passed. No validation blocker
|
|
25
|
+
remains.
|
|
26
|
+
|
|
27
|
+
## Commands Run
|
|
28
|
+
|
|
29
|
+
| Command or check | Result |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `bun run typecheck` | Passed |
|
|
32
|
+
| focused recovery, transaction, reporting, and installer tests | Passed: 23 tests, 126 assertions |
|
|
33
|
+
| `bun test --timeout 30000` | Passed: 52 tests, 358 assertions |
|
|
34
|
+
| `bun run build` | Passed |
|
|
35
|
+
| `bun run binary` and `bun run binaries` | Passed: single local build and twelve native targets |
|
|
36
|
+
| `bun run verify-assets` | Passed: exactly fourteen unique assets |
|
|
37
|
+
| native Windows x64 already-current text smoke | Passed: exact 0.4.1 installer followed by separate stop command |
|
|
38
|
+
| native Windows x64 already-current JSON smoke | Passed: resolved 0.4.1 recovery object |
|
|
39
|
+
| strict XDocs metadata and doctor | Passed for source, devops, and docs: zero errors and zero warnings |
|
|
40
|
+
| `git diff --check` | Passed |
|
|
41
|
+
|
|
42
|
+
## Recovery Evidence
|
|
43
|
+
|
|
44
|
+
- The reporter test matrix covers `upgraded`, `up-to-date`, `dry-run`,
|
|
45
|
+
`rolled-back`, and `failed`; every summary precedes the exact installer, and
|
|
46
|
+
every installer precedes the separate process-stop command.
|
|
47
|
+
- Discovery failure retains a visibly labeled fallback-current repair command.
|
|
48
|
+
- Download and replacement failures retain the resolved recovery object in the
|
|
49
|
+
shared upgrade envelope.
|
|
50
|
+
- JSON exposes `targetVersion`, `targetSource`, `installCommand`, and
|
|
51
|
+
`stopProcessCommand` without mixing text into stdout.
|
|
52
|
+
|
|
53
|
+
## Installer Evidence
|
|
54
|
+
|
|
55
|
+
- Windows and POSIX recovery generators preserve full prerelease identifiers.
|
|
56
|
+
- The PowerShell installer functions execute exact stable and prerelease
|
|
57
|
+
normalization, accept the real Bun executable when its reported version
|
|
58
|
+
matches, and reject a controlled mismatch.
|
|
59
|
+
- Installer contract tests cover exact flags, native validation, transactional
|
|
60
|
+
replacement, rollback language, and the separate stop workflow.
|
|
61
|
+
|
|
62
|
+
## Platform Boundary
|
|
63
|
+
|
|
64
|
+
No WSL distribution is installed in the current Windows environment. Git for
|
|
65
|
+
Windows Bash executes the installer syntax, piped startup, exact-version
|
|
66
|
+
normalization, and executable verification locally; Ubuntu CI remains the
|
|
67
|
+
native Linux gate.
|
|
68
|
+
|
|
69
|
+
## References
|
|
70
|
+
|
|
71
|
+
- [Implementation review](../reviews/implementation/upgrade-reliability-issue-13-review.md)
|
|
72
|
+
- [Umbrella validation](./upgrade-reliability.md)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: RunX Upgrade Reliability Validation
|
|
3
|
-
purpose:
|
|
4
|
-
description:
|
|
3
|
+
purpose: Preserve the completed umbrella validation for GitHub issues 12 and 13.
|
|
4
|
+
description: Summarizes current release discovery, transaction, recovery, installer, native, and structured documentation evidence.
|
|
5
5
|
created: 2026-07-15
|
|
6
|
+
updated: 2026-07-19
|
|
6
7
|
flags:
|
|
7
|
-
-
|
|
8
|
-
- needs-revalidation
|
|
8
|
+
- validated
|
|
9
9
|
tags:
|
|
10
10
|
- validation
|
|
11
11
|
- cli
|
|
@@ -24,101 +24,40 @@ owner: runx-validation
|
|
|
24
24
|
|
|
25
25
|
## Current Status
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
`Verifying`.
|
|
60
|
-
- The Windows test runs a copied executable, keeps it mapped in a live process,
|
|
61
|
-
renames it, installs the new canonical executable immediately, verifies the
|
|
62
|
-
exact version, and allows only old-image cleanup to be deferred.
|
|
63
|
-
- Failure tests reject non-native downloads before mutation and restore the
|
|
64
|
-
original executable after target verification failure.
|
|
65
|
-
- Bun-launcher failure returns a recovery command pinned to the resolved target
|
|
66
|
-
instead of losing recovery at the generic CLI error boundary.
|
|
67
|
-
- Installer tests enforce unique temporary paths, exact target versions,
|
|
68
|
-
canonical verification, rollback language/behavior, and separate stop
|
|
69
|
-
commands.
|
|
70
|
-
|
|
71
|
-
## Superseded Compiled Binary Smoke
|
|
72
|
-
|
|
73
|
-
The compiled `runx-windows-x64-baseline.exe` reported version `0.2.7`.
|
|
74
|
-
`upgrade --dry-run` queried live GitHub release metadata and printed the full
|
|
75
|
-
plan before any mutation, followed by the pinned `0.2.7` PowerShell recovery
|
|
76
|
-
command and the separate safe stop command. `upgrade list --format json`
|
|
77
|
-
returned one valid schema-versioned document containing all eight currently
|
|
78
|
-
published releases from `0.2.7` through `0.2.0`, newest first, with current,
|
|
79
|
-
latest-stable, publication, channel, and compatible-asset data.
|
|
80
|
-
|
|
81
|
-
The first smoke command targeted `bin/runx.exe` after the complete matrix build
|
|
82
|
-
had replaced the local single-binary output with named assets. It failed only
|
|
83
|
-
because that path no longer existed; the smoke was immediately rerun against
|
|
84
|
-
the actual baseline matrix asset and passed.
|
|
85
|
-
|
|
86
|
-
## Superseded XDocs Gate
|
|
87
|
-
|
|
88
|
-
Using an equivalent validation-only XDocs configuration with agent file writes
|
|
89
|
-
disabled:
|
|
90
|
-
|
|
91
|
-
- strict metadata passed for `docs/plans`, `docs/reviews/plans`, `docs/todo`,
|
|
92
|
-
`source`, `devops`, and `skills/guiho-s-runx`;
|
|
93
|
-
- `xdocs doctor --warnings-as-errors --format json` returned `valid: true`,
|
|
94
|
-
zero errors, and zero warnings; and
|
|
95
|
-
- `xdocs tree` returned one connected RunX tree without duplicate subjects or
|
|
96
|
-
orphans.
|
|
27
|
+
Validated.
|
|
28
|
+
|
|
29
|
+
The earlier blocked validation is superseded by the current-main issue-specific
|
|
30
|
+
reviews and passing gates. GitHub issue #12 owns immediate verified replacement
|
|
31
|
+
and the complete release catalog. GitHub issue #13 owns exact-version recovery
|
|
32
|
+
instructions and direct installer verification.
|
|
33
|
+
|
|
34
|
+
## Completion Evidence
|
|
35
|
+
|
|
36
|
+
- The canonical executable is replaced and verified before success; only old
|
|
37
|
+
backup cleanup may be deferred on Windows.
|
|
38
|
+
- Replacement, verification, and rollback failures return stable structured
|
|
39
|
+
outcomes and preserve exact recovery instructions.
|
|
40
|
+
- Release discovery follows every GitHub page, applies SemVer ordering and
|
|
41
|
+
channel labels, and exposes current/latest/date/compatible-asset metadata.
|
|
42
|
+
- The default public list includes all published prereleases and emits only its
|
|
43
|
+
selected Citty leaf result.
|
|
44
|
+
- Every terminal upgrade outcome renders a pinned install command before a
|
|
45
|
+
separate platform process-stop command.
|
|
46
|
+
- PowerShell and POSIX installers accept exact stable and prerelease versions,
|
|
47
|
+
validate native assets, verify the installed `--version`, and fail nonzero on
|
|
48
|
+
mismatch.
|
|
49
|
+
- TypeScript, the complete Bun suite, library build, twelve native targets,
|
|
50
|
+
exact fourteen assets, live native text/JSON smokes, XDocs, and Git integrity
|
|
51
|
+
pass on the final implementation.
|
|
52
|
+
|
|
53
|
+
## Detailed Records
|
|
54
|
+
|
|
55
|
+
- [Issue 12 implementation review](../reviews/implementation/upgrade-reliability-issue-12-review.md)
|
|
56
|
+
- [Issue 12 validation](./upgrade-reliability-issue-12.md)
|
|
57
|
+
- [Issue 13 implementation review](../reviews/implementation/upgrade-reliability-issue-13-review.md)
|
|
58
|
+
- [Issue 13 validation](./upgrade-reliability-issue-13.md)
|
|
97
59
|
|
|
98
60
|
## Release Boundary
|
|
99
61
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
does not publish or tag automatically.
|
|
103
|
-
|
|
104
|
-
## Required Revalidation
|
|
105
|
-
|
|
106
|
-
- `bun run typecheck`
|
|
107
|
-
- `bun test`, including the controlled installer/recovery suite on Ubuntu and Windows
|
|
108
|
-
- `bun run build`, `bun run binary`, and `bun run binaries`
|
|
109
|
-
- compiled CLI text/JSON smokes, including failed and rolled-back envelopes
|
|
110
|
-
- strict XDocs metadata, doctor warnings-as-errors, and tree validation
|
|
111
|
-
|
|
112
|
-
The current isolated Windows worktree could not begin that rerun because
|
|
113
|
-
`bun install --frozen-lockfile` was denied while opening `bun.lock` with
|
|
114
|
-
`EPERM`. This is an environment validation blocker, not a passing result.
|
|
115
|
-
|
|
116
|
-
## Review-Correction Checks
|
|
117
|
-
|
|
118
|
-
| Command | Result |
|
|
119
|
-
| --- | --- |
|
|
120
|
-
| Cached TypeScript 6 compiler, `-p . --noEmit` | Passed after the review corrections. |
|
|
121
|
-
| PowerShell parser for `devops/install.ps1` | Passed. |
|
|
122
|
-
| Git Bash `bash -n devops/install.sh` | Passed. |
|
|
123
|
-
| `git diff --check` | Passed. |
|
|
124
|
-
| Focused Bun tests | Blocked before test execution by `EPERM` reading the isolated worktree and `tsconfig.json`; zero tests passed in that attempt. |
|
|
62
|
+
No package publication or GitHub Release mutation was performed directly.
|
|
63
|
+
Mirror versioning remains deferred to the single final open-issue release step.
|
|
@@ -4,20 +4,30 @@ description: Validation evidence and implementation summaries for RunX releases.
|
|
|
4
4
|
parent: runx-docs
|
|
5
5
|
children: []
|
|
6
6
|
files:
|
|
7
|
+
bash-installer.md: Records Bash syntax, piped startup, exact versions, executable verification, native assets, XDocs, and Git evidence for issue 15.
|
|
7
8
|
alpha-implementation-summary.md: Records the completed alpha implementation, checks, and release boundaries.
|
|
8
9
|
citty-cli-migration.md: Records the complete local validation gate for the Citty command-tree migration.
|
|
9
10
|
interactive-init-manifest.md: Records validation evidence for the interactive initializer and strict manifest contract.
|
|
10
11
|
windows-self-upgrade.md: Records Windows replacement, rollback, cleanup, native build, CI, and XDocs validation evidence.
|
|
11
|
-
upgrade-reliability.md:
|
|
12
|
-
rfc-0034-cli-compliance-migration.md: Records passing RFC tests, builds, bootstrap,
|
|
12
|
+
upgrade-reliability.md: Summarizes completed current-main validation for GitHub issues 12 and 13.
|
|
13
|
+
rfc-0034-cli-compliance-migration.md: Records passing RFC tests, live upgrade/startup/prompt regressions, builds, bootstrap, installers, import scan, and fourteen-asset evidence.
|
|
14
|
+
automatic-agent-maintenance.md: Records focused and full tests, native builds, exact assets, import scan, XDocs, and Git evidence for issue 11.
|
|
15
|
+
upgrade-reliability-issue-12.md: Records transaction, complete catalog, Citty routing, native matrix, live GitHub, XDocs, and Git evidence for issue 12.
|
|
16
|
+
upgrade-reliability-issue-13.md: Records all-outcome recovery, exact target, executable installer, native text/JSON, XDocs, and Git evidence for issue 13.
|
|
17
|
+
unicode-help-tree.md: Records focused/full tests, explicit glyph/alignment assertions, native smoke, assets, XDocs, and Git evidence for issue 17.
|
|
13
18
|
documents:
|
|
19
|
+
bash-installer.md: Current-main validation report for the RunX Bash installer.
|
|
14
20
|
alpha-implementation-summary.md: Validation summary for the first RunX implementation.
|
|
15
21
|
citty-cli-migration.md: Validation evidence for TypeScript, tests, native assets, npm packaging, CLI behavior, and XDocs.
|
|
16
22
|
interactive-init-manifest.md: Validation evidence for the RunX interactive init manifest feature.
|
|
17
23
|
npm-trusted-publishing-0.2.2.md: Validation evidence for the blocked 0.2.2 npm trusted-publishing retry.
|
|
18
24
|
windows-self-upgrade.md: Validation evidence for GitHub issues #9 and #1 and the Windows self-upgrade patch.
|
|
19
|
-
upgrade-reliability.md:
|
|
20
|
-
rfc-0034-cli-compliance-migration.md: Complete RFC 0034 validation and readiness report.
|
|
25
|
+
upgrade-reliability.md: Completed umbrella validation for GitHub issues 12 and 13.
|
|
26
|
+
rfc-0034-cli-compliance-migration.md: Complete RFC 0034 correction validation and patch-release readiness report.
|
|
27
|
+
automatic-agent-maintenance.md: Complete validation report for automatic RunX agent maintenance.
|
|
28
|
+
upgrade-reliability-issue-12.md: Current-main validation report for GitHub issue 12.
|
|
29
|
+
upgrade-reliability-issue-13.md: Current-main validation report for GitHub issue 13.
|
|
30
|
+
unicode-help-tree.md: Current-main validation report for the RunX Unicode help tree.
|
|
21
31
|
tags:
|
|
22
32
|
- validation
|
|
23
33
|
keywords:
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Copyright © 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
|
|
3
|
+
*/
|
|
4
|
+
export { agentMaintenanceWorkerCwd, runAgentMaintenanceWorker, spawnAgentMaintenanceWorker, };
|
|
5
|
+
type AgentWorkerSpawnOptions = {
|
|
6
|
+
readonly detached: true;
|
|
7
|
+
readonly stdout: 'ignore';
|
|
8
|
+
readonly stderr: 'ignore';
|
|
9
|
+
readonly stdin: 'ignore';
|
|
10
|
+
readonly cwd: string;
|
|
11
|
+
readonly env: Record<string, string | undefined>;
|
|
12
|
+
};
|
|
13
|
+
type AgentWorkerSpawner = (command: string[], options: AgentWorkerSpawnOptions) => {
|
|
14
|
+
unref(): unknown;
|
|
15
|
+
};
|
|
16
|
+
declare function agentMaintenanceWorkerCwd(rawArgs: string[]): string | null;
|
|
17
|
+
declare function runAgentMaintenanceWorker(cwd: string): Promise<void>;
|
|
18
|
+
declare function spawnAgentMaintenanceWorker(cwd: string, spawn?: AgentWorkerSpawner): boolean;
|
|
19
|
+
//# sourceMappingURL=agent-maintenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-maintenance.d.ts","sourceRoot":"","sources":["../source/agent-maintenance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CACjD,CAAA;AACD,KAAK,kBAAkB,GAAG,CACxB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,uBAAuB,KAC7B;IAAE,KAAK,IAAI,OAAO,CAAA;CAAE,CAAA;AAQzB,iBAAS,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAOnE;AAED,iBAAe,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnE;AAED,iBAAS,2BAA2B,CAClC,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,kBAAsE,GAC5E,OAAO,CAmBT"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Copyright © 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
|
|
3
|
+
*/
|
|
4
|
+
import { Type } from '@sinclair/typebox';
|
|
5
|
+
import { Value } from '@sinclair/typebox/value';
|
|
6
|
+
import { maintainAgentIntegration } from './agents.js';
|
|
7
|
+
import { RunXError } from './errors.js';
|
|
8
|
+
import { directoryName, resolvePath } from './path-utils.js';
|
|
9
|
+
export { agentMaintenanceWorkerCwd, runAgentMaintenanceWorker, spawnAgentMaintenanceWorker, };
|
|
10
|
+
const workerFlag = '--maintain-agent-integration-worker';
|
|
11
|
+
const workerArgsSchema = Type.Tuple([
|
|
12
|
+
Type.Literal(workerFlag),
|
|
13
|
+
Type.String({ minLength: 1 }),
|
|
14
|
+
]);
|
|
15
|
+
function agentMaintenanceWorkerCwd(rawArgs) {
|
|
16
|
+
if (rawArgs[0] !== workerFlag)
|
|
17
|
+
return null;
|
|
18
|
+
try {
|
|
19
|
+
return resolvePath(Value.Decode(workerArgsSchema, rawArgs)[1]);
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
throw new RunXError(`Invalid agent-maintenance worker invocation: ${error instanceof Error ? error.message : String(error)}`, 2);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function runAgentMaintenanceWorker(cwd) {
|
|
26
|
+
await maintainAgentIntegration(resolvePath(cwd));
|
|
27
|
+
}
|
|
28
|
+
function spawnAgentMaintenanceWorker(cwd, spawn = (command, options) => Bun.spawn(command, options)) {
|
|
29
|
+
if (Bun.env.RUNX_DISABLE_AGENT_MAINTENANCE_WORKER === '1')
|
|
30
|
+
return false;
|
|
31
|
+
const effectiveCwd = resolvePath(cwd);
|
|
32
|
+
const command = process.execPath.toLowerCase().includes('bun')
|
|
33
|
+
? [process.execPath, Bun.main, workerFlag, effectiveCwd]
|
|
34
|
+
: [process.execPath, workerFlag, effectiveCwd];
|
|
35
|
+
try {
|
|
36
|
+
spawn(command, {
|
|
37
|
+
detached: true,
|
|
38
|
+
stdout: 'ignore',
|
|
39
|
+
stderr: 'ignore',
|
|
40
|
+
stdin: 'ignore',
|
|
41
|
+
cwd: directoryName(process.execPath),
|
|
42
|
+
env: { ...process.env, RUNX_DISABLE_AGENT_MAINTENANCE_WORKER: '1' },
|
|
43
|
+
}).unref();
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
}
|
package/library/agents.d.ts
CHANGED
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
* @copyright Copyright © 2026 GUIHO Technologies as represented by Cristóvão GUIHO. All Rights Reserved.
|
|
3
3
|
*/
|
|
4
4
|
import type { AgentScope } from './types.js';
|
|
5
|
-
export { applyAgentInstructions, installAgentSkill, listAgentPrompts, listAgentSkills, removeAgentInstructions, showAgentInstructions, showAgentPrompt, showAgentSkill, uninstallAgentSkill, updateAgentInstructions, updateAgentSkill, };
|
|
5
|
+
export { applyAgentInstructions, installAgentSkill, listAgentPrompts, listAgentSkills, maintainAgentIntegration, removeAgentInstructions, showAgentInstructions, showAgentPrompt, showAgentSkill, uninstallAgentSkill, updateAgentInstructions, updateAgentSkill, };
|
|
6
6
|
type EmbeddedResources = {
|
|
7
7
|
skill: string;
|
|
8
8
|
prompt: string;
|
|
9
9
|
} | undefined;
|
|
10
|
+
type AgentMaintenanceResult = {
|
|
11
|
+
readonly skills: string[];
|
|
12
|
+
readonly instructions: string[];
|
|
13
|
+
};
|
|
10
14
|
declare global {
|
|
11
15
|
var __RUNX_EMBEDDED_RESOURCES__: EmbeddedResources;
|
|
12
16
|
}
|
|
@@ -27,9 +31,11 @@ declare function applyAgentInstructions(cwd: string): Promise<string[]>;
|
|
|
27
31
|
declare function updateAgentInstructions(cwd: string): Promise<string[]>;
|
|
28
32
|
declare function removeAgentInstructions(cwd: string): Promise<string[]>;
|
|
29
33
|
declare function showAgentInstructions(): Promise<string>;
|
|
30
|
-
declare function listAgentPrompts(namesOnly
|
|
34
|
+
declare function listAgentPrompts(namesOnly: true): string[];
|
|
35
|
+
declare function listAgentPrompts(namesOnly?: false): Array<{
|
|
31
36
|
id: string;
|
|
32
37
|
description: string;
|
|
33
38
|
}>;
|
|
34
39
|
declare function showAgentPrompt(id: string): Promise<string>;
|
|
40
|
+
declare function maintainAgentIntegration(cwd: string): Promise<AgentMaintenanceResult>;
|
|
35
41
|
//# sourceMappingURL=agents.d.ts.map
|
package/library/agents.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../source/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../source/agents.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,GACjB,CAAA;AAED,KAAK,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAA;AACtE,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAChC,CAAA;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,2BAA2B,EAAE,iBAAiB,CAAA;CACnD;AASD,iBAAe,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAElF;AAED,iBAAe,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEjF;AAED,iBAAe,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIpF;AAED,iBAAS,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAIpF;AAED,iBAAe,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,CAQtI;AAED,iBAAe,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEpE;AAED,iBAAe,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAErE;AAED,iBAAe,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYrE;AAED,iBAAe,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,iBAAS,gBAAgB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,CAAA;AACpD,iBAAS,gBAAgB,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAOxF,iBAAe,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG1D;AAED,iBAAe,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoBpF"}
|