@vegastack/vegafactory 0.19.0 → 0.19.5
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/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @vegastack/vegafactory
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
The VegaFactory command-line tool installs and verifies a bundled family of VegaStack Agent Skills for Claude Code, Codex, and Hermes, and it runs the local workflow, dispatcher, statistics, and service commands. The separately published `@vegastack/vegafactory-dashboard` package is the local read-only web app; this CLI downloads that package at its own exact version only when `vegafactory dashboard` is first used.
|
|
4
4
|
|
|
5
5
|
Install the whole dev workflow, once per machine:
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
npx @vegastack/vegafactory skills add --group dev --global
|
|
8
|
+
npx @vegastack/vegafactory@latest skills add --group dev --global
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
`--global` is the recommended install: the skills land in your home directory and are available in every project you open. Drop it for a project-local install when a repository should carry its own copy.
|
|
@@ -308,9 +308,11 @@ read is projected to the current verified repository scope before totals, rows o
|
|
|
308
308
|
source is unavailable, safely retained data stays visible with explicit unavailable, stale and
|
|
309
309
|
partial state; unavailable dispatcher observation is not reported as idle.
|
|
310
310
|
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
311
|
+
The registry-downloaded `0.19.0` pair passed descriptor/inventory verification, installed-CLI
|
|
312
|
+
launch identity and health checks, and scoped HTTP response smoke across all nine destinations.
|
|
313
|
+
That was not an interactive browser run. This source revision still uses the dashboard's native
|
|
314
|
+
semantic table and existing root setup; signature-verified provider/Table copy-in, keyboard,
|
|
315
|
+
automated accessibility, theme and viewport evidence remain pending.
|
|
314
316
|
|
|
315
317
|
## Flags
|
|
316
318
|
|
|
@@ -348,13 +350,13 @@ Prefer a project install when a repository should carry its own copy — so coll
|
|
|
348
350
|
|
|
349
351
|
## Integrity model
|
|
350
352
|
|
|
351
|
-
The package ships a checksum manifest that is verified at install and by `verify` — it proves the installed bytes match what was packed, not who published it.
|
|
353
|
+
The package ships a checksum manifest that is verified at install and by `verify` — it proves the installed bytes match what was packed, not who published it. A version with npm provenance adds a verifiable source/workflow link; inspect the selected version on npm rather than assuming every release carries one. The direct `0.19.0` bootstrap and the current automated publisher explicitly omit provenance. Verify available signatures and attestations with `npm audit signatures` or on the package's npm page.
|
|
352
354
|
|
|
353
355
|
## Network and telemetry
|
|
354
356
|
|
|
355
|
-
|
|
357
|
+
VegaFactory sends no product telemetry to VegaStack or to an analytics service.
|
|
356
358
|
|
|
357
|
-
The tool makes
|
|
359
|
+
The tool makes four kinds of network call, all to the npm registry or infrastructure you already own:
|
|
358
360
|
|
|
359
361
|
- `doctor`'s single version check against registry.npmjs.org;
|
|
360
362
|
- `sync`'s shallow git fetch of the control room named by the project's `control-room:` knob;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"name": "@vegastack/vegafactory-dashboard",
|
|
4
|
-
"version": "0.19.
|
|
5
|
-
"sha256": "
|
|
6
|
-
"integrity": "sha512-
|
|
7
|
-
"bytes":
|
|
4
|
+
"version": "0.19.5",
|
|
5
|
+
"sha256": "06ac0483425e85c72722f7885a9098522f85b1007fdc8dd88209cb61cf9affd1",
|
|
6
|
+
"integrity": "sha512-Im0uFCHae1p660SzayqgjoT2ezlsjyW5SSRUJjR08eRHjCz0UyVCkfIEytu8CwuGvhQYI5/KtYE9/13FMeId+Q==",
|
|
7
|
+
"bytes": 126852463,
|
|
8
8
|
"files": [
|
|
9
9
|
{
|
|
10
10
|
"path": "LICENSE",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"path": "README.md",
|
|
16
|
-
"sha256": "
|
|
16
|
+
"sha256": "058d5aacd261ec968e4f931492585cd4f28e0ccbb225ef1345f96671eb1906e8",
|
|
17
17
|
"mode": 420
|
|
18
18
|
},
|
|
19
19
|
{
|
|
@@ -13668,7 +13668,7 @@
|
|
|
13668
13668
|
},
|
|
13669
13669
|
{
|
|
13670
13670
|
"path": "dist-standalone/packages/dashboard/.next/BUILD_ID",
|
|
13671
|
-
"sha256": "
|
|
13671
|
+
"sha256": "0342879636495ee2b23c69ea9e87678afd809aad7bd584e0d5c822414c718f8c",
|
|
13672
13672
|
"mode": 420
|
|
13673
13673
|
},
|
|
13674
13674
|
{
|
|
@@ -13678,7 +13678,7 @@
|
|
|
13678
13678
|
},
|
|
13679
13679
|
{
|
|
13680
13680
|
"path": "dist-standalone/packages/dashboard/.next/build-manifest.json",
|
|
13681
|
-
"sha256": "
|
|
13681
|
+
"sha256": "e62f1ec54cfd19d39a5b94be81c9411a02f05ac79c51d19fbaf3d211d29b8ff6",
|
|
13682
13682
|
"mode": 420
|
|
13683
13683
|
},
|
|
13684
13684
|
{
|
|
@@ -13688,12 +13688,12 @@
|
|
|
13688
13688
|
},
|
|
13689
13689
|
{
|
|
13690
13690
|
"path": "dist-standalone/packages/dashboard/.next/prerender-manifest.json",
|
|
13691
|
-
"sha256": "
|
|
13691
|
+
"sha256": "c3dd30b2c4abef3ee49e2a537992cb473e5a9639d5b6185dd478464d0ed077bf",
|
|
13692
13692
|
"mode": 420
|
|
13693
13693
|
},
|
|
13694
13694
|
{
|
|
13695
13695
|
"path": "dist-standalone/packages/dashboard/.next/required-server-files.json",
|
|
13696
|
-
"sha256": "
|
|
13696
|
+
"sha256": "0742bb7dec156a72d658fde6316e4340d4f87bfe9dc62936c4e6b3b4f91b2020",
|
|
13697
13697
|
"mode": 420
|
|
13698
13698
|
},
|
|
13699
13699
|
{
|
|
@@ -13708,7 +13708,7 @@
|
|
|
13708
13708
|
},
|
|
13709
13709
|
{
|
|
13710
13710
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_global-error.html",
|
|
13711
|
-
"sha256": "
|
|
13711
|
+
"sha256": "fd202b0a008e9f00f6d1f41329677ec4ad142bd6168071172ac1c0b41731287d",
|
|
13712
13712
|
"mode": 420
|
|
13713
13713
|
},
|
|
13714
13714
|
{
|
|
@@ -13718,22 +13718,22 @@
|
|
|
13718
13718
|
},
|
|
13719
13719
|
{
|
|
13720
13720
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_global-error.rsc",
|
|
13721
|
-
"sha256": "
|
|
13721
|
+
"sha256": "59c1323978d539882477d6783cf1c099a7d6be7ad8c13668feb02c5c40ea08ae",
|
|
13722
13722
|
"mode": 420
|
|
13723
13723
|
},
|
|
13724
13724
|
{
|
|
13725
13725
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc",
|
|
13726
|
-
"sha256": "
|
|
13726
|
+
"sha256": "00c23188046dc298e9a186446e471561f2a12540fba1043ea67e619f8215c6af",
|
|
13727
13727
|
"mode": 420
|
|
13728
13728
|
},
|
|
13729
13729
|
{
|
|
13730
13730
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc",
|
|
13731
|
-
"sha256": "
|
|
13731
|
+
"sha256": "59c1323978d539882477d6783cf1c099a7d6be7ad8c13668feb02c5c40ea08ae",
|
|
13732
13732
|
"mode": 420
|
|
13733
13733
|
},
|
|
13734
13734
|
{
|
|
13735
13735
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc",
|
|
13736
|
-
"sha256": "
|
|
13736
|
+
"sha256": "ad4ba1bed25125a1e8a72cc67b4b06dd392c76e4fe598422b56d254bf3e144d5",
|
|
13737
13737
|
"mode": 420
|
|
13738
13738
|
},
|
|
13739
13739
|
{
|
|
@@ -13783,7 +13783,7 @@
|
|
|
13783
13783
|
},
|
|
13784
13784
|
{
|
|
13785
13785
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_not-found.html",
|
|
13786
|
-
"sha256": "
|
|
13786
|
+
"sha256": "e7a9ca2605b034b57de756c2059d1a518d6a8728ce8865f492236994b0dad1d7",
|
|
13787
13787
|
"mode": 420
|
|
13788
13788
|
},
|
|
13789
13789
|
{
|
|
@@ -13793,22 +13793,22 @@
|
|
|
13793
13793
|
},
|
|
13794
13794
|
{
|
|
13795
13795
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_not-found.rsc",
|
|
13796
|
-
"sha256": "
|
|
13796
|
+
"sha256": "50c5f06bc431f115c8df3c002e6fb986616bfaa27bb676438673a4a05bdd33a9",
|
|
13797
13797
|
"mode": 420
|
|
13798
13798
|
},
|
|
13799
13799
|
{
|
|
13800
13800
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc",
|
|
13801
|
-
"sha256": "
|
|
13801
|
+
"sha256": "50c5f06bc431f115c8df3c002e6fb986616bfaa27bb676438673a4a05bdd33a9",
|
|
13802
13802
|
"mode": 420
|
|
13803
13803
|
},
|
|
13804
13804
|
{
|
|
13805
13805
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc",
|
|
13806
|
-
"sha256": "
|
|
13806
|
+
"sha256": "0879d72f3527c5c4734e7cb7732c30db05cd23ca0bc63c6c7135600ab7168858",
|
|
13807
13807
|
"mode": 420
|
|
13808
13808
|
},
|
|
13809
13809
|
{
|
|
13810
13810
|
"path": "dist-standalone/packages/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc",
|
|
13811
|
-
"sha256": "
|
|
13811
|
+
"sha256": "ea06cee32c263b5cdb95e27d4ada1b6657117771c18c30fd4808c6513f4917aa",
|
|
13812
13812
|
"mode": 420
|
|
13813
13813
|
},
|
|
13814
13814
|
{
|
|
@@ -13868,7 +13868,7 @@
|
|
|
13868
13868
|
},
|
|
13869
13869
|
{
|
|
13870
13870
|
"path": "dist-standalone/packages/dashboard/.next/server/app/activity/page.js.nft.json",
|
|
13871
|
-
"sha256": "
|
|
13871
|
+
"sha256": "33acbbee1883085c67a9ed4689cdd68de368dd7ad32ac7da2842ac2686cac871",
|
|
13872
13872
|
"mode": 420
|
|
13873
13873
|
},
|
|
13874
13874
|
{
|
|
@@ -13913,7 +13913,7 @@
|
|
|
13913
13913
|
},
|
|
13914
13914
|
{
|
|
13915
13915
|
"path": "dist-standalone/packages/dashboard/.next/server/app/api/health/route.js.nft.json",
|
|
13916
|
-
"sha256": "
|
|
13916
|
+
"sha256": "36dc7e8f7f59a7180c2c9d1cb2b917397a03e78cdc6815041a49bfa6b74032ed",
|
|
13917
13917
|
"mode": 420
|
|
13918
13918
|
},
|
|
13919
13919
|
{
|
|
@@ -13948,7 +13948,7 @@
|
|
|
13948
13948
|
},
|
|
13949
13949
|
{
|
|
13950
13950
|
"path": "dist-standalone/packages/dashboard/.next/server/app/board/page.js.nft.json",
|
|
13951
|
-
"sha256": "
|
|
13951
|
+
"sha256": "f9a76c4b21f079e973505c6e8f22ab9db7d0cc69eb70b0c711bdc37f375b6fae",
|
|
13952
13952
|
"mode": 420
|
|
13953
13953
|
},
|
|
13954
13954
|
{
|
|
@@ -13993,7 +13993,7 @@
|
|
|
13993
13993
|
},
|
|
13994
13994
|
{
|
|
13995
13995
|
"path": "dist-standalone/packages/dashboard/.next/server/app/dispatcher/page.js.nft.json",
|
|
13996
|
-
"sha256": "
|
|
13996
|
+
"sha256": "9773a55c0027b5aeecb461e14fa7d906fc8fa08c3bbf2a3db0476aa6eff7e430",
|
|
13997
13997
|
"mode": 420
|
|
13998
13998
|
},
|
|
13999
13999
|
{
|
|
@@ -14038,7 +14038,7 @@
|
|
|
14038
14038
|
},
|
|
14039
14039
|
{
|
|
14040
14040
|
"path": "dist-standalone/packages/dashboard/.next/server/app/page.js.nft.json",
|
|
14041
|
-
"sha256": "
|
|
14041
|
+
"sha256": "0744bbc200862ab19ca72053569f4612ed8d83f81bf0e1047c4abe33e443d793",
|
|
14042
14042
|
"mode": 420
|
|
14043
14043
|
},
|
|
14044
14044
|
{
|
|
@@ -14083,7 +14083,7 @@
|
|
|
14083
14083
|
},
|
|
14084
14084
|
{
|
|
14085
14085
|
"path": "dist-standalone/packages/dashboard/.next/server/app/people/[login]/page.js.nft.json",
|
|
14086
|
-
"sha256": "
|
|
14086
|
+
"sha256": "5bb0fc2a7d775909fdf00bd727429f682fee9732cf061372342507ccc7a0b91f",
|
|
14087
14087
|
"mode": 420
|
|
14088
14088
|
},
|
|
14089
14089
|
{
|
|
@@ -14128,7 +14128,7 @@
|
|
|
14128
14128
|
},
|
|
14129
14129
|
{
|
|
14130
14130
|
"path": "dist-standalone/packages/dashboard/.next/server/app/people/page.js.nft.json",
|
|
14131
|
-
"sha256": "
|
|
14131
|
+
"sha256": "f1cfa2edd9745b40979468e3296be20318cf8b51f5880f306cb6bda099efa105",
|
|
14132
14132
|
"mode": 420
|
|
14133
14133
|
},
|
|
14134
14134
|
{
|
|
@@ -14173,7 +14173,7 @@
|
|
|
14173
14173
|
},
|
|
14174
14174
|
{
|
|
14175
14175
|
"path": "dist-standalone/packages/dashboard/.next/server/app/performance/page.js.nft.json",
|
|
14176
|
-
"sha256": "
|
|
14176
|
+
"sha256": "ca08aada62c9af838161bf9051b9ff67453f561cbead15cbce14abc32072a1dc",
|
|
14177
14177
|
"mode": 420
|
|
14178
14178
|
},
|
|
14179
14179
|
{
|
|
@@ -14218,7 +14218,7 @@
|
|
|
14218
14218
|
},
|
|
14219
14219
|
{
|
|
14220
14220
|
"path": "dist-standalone/packages/dashboard/.next/server/app/repo/[owner]/[name]/page.js.nft.json",
|
|
14221
|
-
"sha256": "
|
|
14221
|
+
"sha256": "e76426d3c30e5638ec72fb0e64bfb25173976955042f6f232b300b49ccc94806",
|
|
14222
14222
|
"mode": 420
|
|
14223
14223
|
},
|
|
14224
14224
|
{
|
|
@@ -14263,7 +14263,7 @@
|
|
|
14263
14263
|
},
|
|
14264
14264
|
{
|
|
14265
14265
|
"path": "dist-standalone/packages/dashboard/.next/server/app/skills/page.js.nft.json",
|
|
14266
|
-
"sha256": "
|
|
14266
|
+
"sha256": "667dd7dc636c9c40491c4acf3409a084a36d5ef229f9f6f51f97b67e724a9c59",
|
|
14267
14267
|
"mode": 420
|
|
14268
14268
|
},
|
|
14269
14269
|
{
|
|
@@ -15078,7 +15078,7 @@
|
|
|
15078
15078
|
},
|
|
15079
15079
|
{
|
|
15080
15080
|
"path": "dist-standalone/packages/dashboard/.next/server/middleware-build-manifest.js",
|
|
15081
|
-
"sha256": "
|
|
15081
|
+
"sha256": "fb7a5f796455c5884945536e8ac6e7fad5c6eceead7e879d4f80fb91da8bb95c",
|
|
15082
15082
|
"mode": 420
|
|
15083
15083
|
},
|
|
15084
15084
|
{
|
|
@@ -15103,12 +15103,12 @@
|
|
|
15103
15103
|
},
|
|
15104
15104
|
{
|
|
15105
15105
|
"path": "dist-standalone/packages/dashboard/.next/server/pages/404.html",
|
|
15106
|
-
"sha256": "
|
|
15106
|
+
"sha256": "e7a9ca2605b034b57de756c2059d1a518d6a8728ce8865f492236994b0dad1d7",
|
|
15107
15107
|
"mode": 420
|
|
15108
15108
|
},
|
|
15109
15109
|
{
|
|
15110
15110
|
"path": "dist-standalone/packages/dashboard/.next/server/pages/500.html",
|
|
15111
|
-
"sha256": "
|
|
15111
|
+
"sha256": "fd202b0a008e9f00f6d1f41329677ec4ad142bd6168071172ac1c0b41731287d",
|
|
15112
15112
|
"mode": 420
|
|
15113
15113
|
},
|
|
15114
15114
|
{
|
|
@@ -15118,12 +15118,27 @@
|
|
|
15118
15118
|
},
|
|
15119
15119
|
{
|
|
15120
15120
|
"path": "dist-standalone/packages/dashboard/.next/server/server-reference-manifest.js",
|
|
15121
|
-
"sha256": "
|
|
15121
|
+
"sha256": "1666f19cb024a68bd963d717002d67a18f873b11bdc400f2db140aa3ceb7f3e9",
|
|
15122
15122
|
"mode": 420
|
|
15123
15123
|
},
|
|
15124
15124
|
{
|
|
15125
15125
|
"path": "dist-standalone/packages/dashboard/.next/server/server-reference-manifest.json",
|
|
15126
|
-
"sha256": "
|
|
15126
|
+
"sha256": "433e1189c03632a7f3183daa881b6093c033f409d8891e0c523548d8daebfe59",
|
|
15127
|
+
"mode": 420
|
|
15128
|
+
},
|
|
15129
|
+
{
|
|
15130
|
+
"path": "dist-standalone/packages/dashboard/.next/static/Cm_SmnoCpVGagO6nR8WqE/_buildManifest.js",
|
|
15131
|
+
"sha256": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
|
|
15132
|
+
"mode": 420
|
|
15133
|
+
},
|
|
15134
|
+
{
|
|
15135
|
+
"path": "dist-standalone/packages/dashboard/.next/static/Cm_SmnoCpVGagO6nR8WqE/_clientMiddlewareManifest.js",
|
|
15136
|
+
"sha256": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
|
|
15137
|
+
"mode": 420
|
|
15138
|
+
},
|
|
15139
|
+
{
|
|
15140
|
+
"path": "dist-standalone/packages/dashboard/.next/static/Cm_SmnoCpVGagO6nR8WqE/_ssgManifest.js",
|
|
15141
|
+
"sha256": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
|
|
15127
15142
|
"mode": 420
|
|
15128
15143
|
},
|
|
15129
15144
|
{
|
|
@@ -15176,24 +15191,9 @@
|
|
|
15176
15191
|
"sha256": "8917d76a368a5bd96306af173899c65854cfa6100dc4cb8d7eeb1b4eb183da49",
|
|
15177
15192
|
"mode": 420
|
|
15178
15193
|
},
|
|
15179
|
-
{
|
|
15180
|
-
"path": "dist-standalone/packages/dashboard/.next/static/hEhWpQ4CfL_5vZcaUbTmP/_buildManifest.js",
|
|
15181
|
-
"sha256": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
|
|
15182
|
-
"mode": 420
|
|
15183
|
-
},
|
|
15184
|
-
{
|
|
15185
|
-
"path": "dist-standalone/packages/dashboard/.next/static/hEhWpQ4CfL_5vZcaUbTmP/_clientMiddlewareManifest.js",
|
|
15186
|
-
"sha256": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
|
|
15187
|
-
"mode": 420
|
|
15188
|
-
},
|
|
15189
|
-
{
|
|
15190
|
-
"path": "dist-standalone/packages/dashboard/.next/static/hEhWpQ4CfL_5vZcaUbTmP/_ssgManifest.js",
|
|
15191
|
-
"sha256": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
|
|
15192
|
-
"mode": 420
|
|
15193
|
-
},
|
|
15194
15194
|
{
|
|
15195
15195
|
"path": "dist-standalone/packages/dashboard/CHANGELOG.md",
|
|
15196
|
-
"sha256": "
|
|
15196
|
+
"sha256": "f39afca575c8ce7a9d0a2850e5733170ddc7f7af67c342985d7f91bb32595ea2",
|
|
15197
15197
|
"mode": 420
|
|
15198
15198
|
},
|
|
15199
15199
|
{
|
|
@@ -15203,7 +15203,7 @@
|
|
|
15203
15203
|
},
|
|
15204
15204
|
{
|
|
15205
15205
|
"path": "dist-standalone/packages/dashboard/README.md",
|
|
15206
|
-
"sha256": "
|
|
15206
|
+
"sha256": "058d5aacd261ec968e4f931492585cd4f28e0ccbb225ef1345f96671eb1906e8",
|
|
15207
15207
|
"mode": 420
|
|
15208
15208
|
},
|
|
15209
15209
|
{
|
|
@@ -20913,7 +20913,7 @@
|
|
|
20913
20913
|
},
|
|
20914
20914
|
{
|
|
20915
20915
|
"path": "dist-standalone/packages/dashboard/package.json",
|
|
20916
|
-
"sha256": "
|
|
20916
|
+
"sha256": "5c6bdf8fe7b28afe9fa32dcf03b97021df321bd70ed8cfd670388bf92157aeaf",
|
|
20917
20917
|
"mode": 420
|
|
20918
20918
|
},
|
|
20919
20919
|
{
|
|
@@ -20928,7 +20928,7 @@
|
|
|
20928
20928
|
},
|
|
20929
20929
|
{
|
|
20930
20930
|
"path": "dist-standalone/packages/dashboard/server.js",
|
|
20931
|
-
"sha256": "
|
|
20931
|
+
"sha256": "3a63413fdb9680d81b16ae0d4450db5d24fe9c0b134a61e2f29fec0b3c1af017",
|
|
20932
20932
|
"mode": 420
|
|
20933
20933
|
},
|
|
20934
20934
|
{
|
|
@@ -21231,9 +21231,14 @@
|
|
|
21231
21231
|
"sha256": "f8e9a8d884d8283b3564adc2cf4250c7ddf00e33f7c5dee20a1c5cb1f78b56fc",
|
|
21232
21232
|
"mode": 420
|
|
21233
21233
|
},
|
|
21234
|
+
{
|
|
21235
|
+
"path": "dist-standalone/packages/dashboard/tsconfig.tsbuildinfo",
|
|
21236
|
+
"sha256": "d0f12d83d997f7f53700beffc2b134f7eebc6d0628ded4772ee4375d075ff235",
|
|
21237
|
+
"mode": 420
|
|
21238
|
+
},
|
|
21234
21239
|
{
|
|
21235
21240
|
"path": "package.json",
|
|
21236
|
-
"sha256": "
|
|
21241
|
+
"sha256": "5c6bdf8fe7b28afe9fa32dcf03b97021df321bd70ed8cfd670388bf92157aeaf",
|
|
21237
21242
|
"mode": 420
|
|
21238
21243
|
}
|
|
21239
21244
|
]
|
package/dist/index.js
CHANGED
|
@@ -20821,7 +20821,8 @@ __export(exports_dashboard, {
|
|
|
20821
20821
|
dashboardInstallReceipt: () => dashboardInstallReceipt,
|
|
20822
20822
|
dashboardCacheNamespace: () => dashboardCacheNamespace,
|
|
20823
20823
|
SERVER_ENTRY: () => SERVER_ENTRY,
|
|
20824
|
-
DASHBOARD_PACKAGE: () => DASHBOARD_PACKAGE
|
|
20824
|
+
DASHBOARD_PACKAGE: () => DASHBOARD_PACKAGE,
|
|
20825
|
+
DASHBOARD_HEALTH_TIMEOUT_MS: () => DASHBOARD_HEALTH_TIMEOUT_MS
|
|
20825
20826
|
});
|
|
20826
20827
|
import { execFile as execFile5, spawn as spawn6 } from "node:child_process";
|
|
20827
20828
|
import { chmod, lstat as lstat11, mkdir as mkdir11, mkdtemp as mkdtemp2, open as open8, readFile as readFile15, readdir as readdir4, rename as rename7, rm as rm7, writeFile as writeFile5 } from "node:fs/promises";
|
|
@@ -21042,7 +21043,7 @@ async function runDashboard(options) {
|
|
|
21042
21043
|
return 2;
|
|
21043
21044
|
}
|
|
21044
21045
|
const version = paths.source === "override" ? "unverified-development" : options.version;
|
|
21045
|
-
const deadline = Date.now() +
|
|
21046
|
+
const deadline = Date.now() + DASHBOARD_HEALTH_TIMEOUT_MS;
|
|
21046
21047
|
for (const port of portCandidates(flags.port, PORT_SPAN).filter((port2) => port2 <= 65535)) {
|
|
21047
21048
|
if (Date.now() >= deadline)
|
|
21048
21049
|
break;
|
|
@@ -21050,7 +21051,7 @@ async function runDashboard(options) {
|
|
|
21050
21051
|
const env = launchEnv({ env: { ...environment, cacheFile, port, version, instanceId: identity.instanceId, bin: process.argv[1] ?? "vegafactory" } });
|
|
21051
21052
|
const attempt = launchDashboardChild(paths.entry, { ...process.env, ...env }, flags.json);
|
|
21052
21053
|
try {
|
|
21053
|
-
const ready = await waitDashboardChild(attempt, identity, port,
|
|
21054
|
+
const ready = await waitDashboardChild(attempt, identity, port, deadline);
|
|
21054
21055
|
if (!ready) {
|
|
21055
21056
|
if (!await stopDashboardChild(attempt)) {
|
|
21056
21057
|
console.error("error: dashboard child termination is unverified; retained ownership, no port retry");
|
|
@@ -21083,7 +21084,7 @@ async function runDashboard(options) {
|
|
|
21083
21084
|
return 1;
|
|
21084
21085
|
}
|
|
21085
21086
|
}
|
|
21086
|
-
console.error(
|
|
21087
|
+
console.error(`error: no owned dashboard instance became ready within ${DASHBOARD_HEALTH_TIMEOUT_MS / 1000} seconds`);
|
|
21087
21088
|
return 1;
|
|
21088
21089
|
}
|
|
21089
21090
|
function launchDashboardChild(entry, env, quiet = true) {
|
|
@@ -21452,7 +21453,7 @@ async function downloadDashboard(version, descriptor) {
|
|
|
21452
21453
|
}
|
|
21453
21454
|
return Buffer.concat(chunks);
|
|
21454
21455
|
}
|
|
21455
|
-
var DASHBOARD_PACKAGE = "@vegastack/vegafactory-dashboard", SERVER_ENTRY = "dist-standalone/packages/dashboard/server.js", DEFAULT_PORT = 7777, PORT_SPAN = 10,
|
|
21456
|
+
var DASHBOARD_PACKAGE = "@vegastack/vegafactory-dashboard", SERVER_ENTRY = "dist-standalone/packages/dashboard/server.js", DEFAULT_PORT = 7777, PORT_SPAN = 10, DASHBOARD_HEALTH_TIMEOUT_MS = 60000, run2 = (command, args, options = {}) => new Promise((resolve14) => {
|
|
21456
21457
|
execFile5(command, args, { ...options, maxBuffer: 32 * 1024 * 1024 }, (error, stdout, stderr) => {
|
|
21457
21458
|
const code = error ? error.code : 0;
|
|
21458
21459
|
resolve14({ code: typeof code === "number" ? code : error ? 1 : 0, stdout, stderr });
|
|
@@ -21938,8 +21939,6 @@ The dashboard (a local, read-only web view over the control room and the live bo
|
|
|
21938
21939
|
Fetches @vegastack/vegafactory-dashboard at this CLI's version on first use and
|
|
21939
21940
|
serves it on 127.0.0.1. Run "vegafactory dashboard --help" for the whole surface.
|
|
21940
21941
|
|
|
21941
|
-
Reserved (not yet available): dashboard
|
|
21942
|
-
|
|
21943
21942
|
Run "vegafactory skills list" to see the bundled skills.
|
|
21944
21943
|
`;
|
|
21945
21944
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vegastack/vegafactory",
|
|
3
|
-
"version": "0.19.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.19.5",
|
|
4
|
+
"description": "VegaFactory CLI for installing Agent Skills and running local development workflows",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"repository": {
|
|
@@ -27,8 +27,8 @@ profile carries a schema version to validate against.
|
|
|
27
27
|
2. Maintainer, at release time: `bunx changeset version` (applies changesets to `packages/cli/package.json` and the changelog), then `bun install` so any dependency changes riding along reach the lockfile, commit on a `chore/release-<version>` branch and open its PR — main is branch-protected with no admin exemption, so the bump reaches main by merge and never by direct push. That install does **not** update the workspace's own version inside `bun.lock`: measured on the bun the root `packageManager` line pins, the recorded version is left unchanged by a plain install, by `--force`, and even by `--lockfile-only`, so it sits at an older number indefinitely. `bun install --frozen-lockfile`, which CI and the release workflow both run, passes with it, and nothing in this repo reads it: `packages/cli/package.json` is the single release identity. Never hand-edit the lockfile to "correct" it. The release record is `packages/cli/CHANGELOG.md`, changesets-written — never by hand; the root `CHANGELOG.md` is the frozen pre-0.3.0 record pointing there.
|
|
28
28
|
3. Merge the release PR on the operator's word, pull main, then tag that merged commit `v<version>` and push the tag. Tags are not branch-protected, so the tag push is unaffected.
|
|
29
29
|
4. The release workflow prepares one immutable CLI/dashboard pair before either package publishes. `scripts/release-artifacts.mjs prepare <evidence-dir> v<version>` requires clean source and records full source/tree identity, toolchains, check and built-skill scan evidence, build-graph and shipped-runtime SBOMs. It builds/assembles dashboard and CLI/skills, scans, packs dashboard with scripts disabled, derives its regular-file descriptor into generated CLI dist, then packs CLI with scripts disabled. Rebuilding CLI invalidates its descriptor. The final external manifest binds both exact tarballs and each required build/runtime SBOM by filename, scope and SHA-256; publication and release asset verification refuse missing or changed evidence. Only completed preparation writes the finalized manifest; generated descriptors are never committed.
|
|
30
|
-
5. `scripts/release-publish.mjs <manifest> --publish --promote` runs only inside the repository-wide serialized Release workflow on the operator's word. All versions
|
|
31
|
-
6. The states are prepared → dashboard-present → pair-present → smoked → promoted. Smoke the downloaded pair in clean homes before changing either latest tag or claiming release success. Promotion is not atomic: each pending mutation and confirmed per-package tag readback is recorded, so a failed second-tag promotion
|
|
30
|
+
5. `scripts/release-publish.mjs <manifest> --publish --promote` runs only inside the first attempt of the repository-wide serialized Release workflow on the operator's word. All versions share that workflow concurrency group with cancellation disabled; direct local live publishing refuses. A successful immutable pair upload precedes this command. It uses retained tarballs with scripts disabled and the existing authentication arrangement; this work does not restore provenance or change runners. Stage dashboard before CLI under a non-latest candidate tag. Compare registry integrity and downloaded payload bytes separately from provenance; #156 owns actual registry/attestation evidence. Only a definite public/authenticated 404 means absent. After either publish call, poll exact registry integrity and downloaded bytes for up to 10 minutes (61 observations separated by 10 seconds); a conflict stops immediately, while absence or unavailability never authorizes resubmitting an attempted artifact. A failed run is immutable and rolls forward through a fresh patch/tag.
|
|
31
|
+
6. The states are prepared → dashboard-present → pair-present → smoked → promoted. Smoke the downloaded pair in clean homes before changing either latest tag or claiming release success. Promotion is not atomic: each pending mutation and confirmed per-package tag readback is recorded, so a failed second-tag promotion remains failure evidence for the next roll-forward. GitHub deletes prior-attempt artifacts when a workflow run is rerun, so `GITHUB_RUN_ATTEMPT` greater than one is refused before preparation; do not rerun the same run, retag a historical release, rebuild a possibly published version, or move latest backward. Retain the finalized pair before the first registry mutation and upload the same attempt's outcome separately. After workflow completion, download/verify those artifacts instead of preparing or publishing a second local pair. Retain tarballs, manifests, SBOMs and failure logs as CI artifacts and release assets; copy needed evidence before retention expires. A platform is qualified only by results for this same descriptor-backed pair on that actual OS/architecture. Missing Linux guest execution remains unperformed; macOS or source engines cannot prove Ubuntu x64 compatibility.
|
|
32
32
|
|
|
33
33
|
Contributors do not bump versions in PRs; releases are maintainer-driven.
|
|
34
34
|
|
package/skill-integrity.json
CHANGED
|
@@ -183,7 +183,7 @@
|
|
|
183
183
|
"files": {
|
|
184
184
|
"SKILL.md": "81fc5d089e4edb15f8d6511887c65e1ea01bd134ba27fc7a324ffb1e5cff6961",
|
|
185
185
|
"agents/openai.yaml": "dd356907fdbfd7937e67d7daf06ac659ab36e7da0b0a4d0ffecb8b6eea31fdbe",
|
|
186
|
-
"references/release-ops.md": "
|
|
186
|
+
"references/release-ops.md": "6c6d34ba0d43f1a72f24e2d0a4cb3dcee8f90287b1dd7ce728472f434305839e",
|
|
187
187
|
"references/standards.md": "a9cb33f9425881307f2ef0d6f4cdb1133f782a50c7b5a87419c09c179899fdbf",
|
|
188
188
|
"refresh/REFRESH.md": "d3ba44be2c264b849d8a815111c049e782720428d5d0c5cea23998b05e50d58f",
|
|
189
189
|
"refresh/sources.json": "4977152381d53555196ac676f95e61b4eaa301309a17560da5cda722010eb80f"
|