@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
- Installer for VegaStack Agent Skills a family of self-contained skills for Claude Code, Codex, and Hermes, shipped in one integrity-checked package.
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
- This source revision still uses the dashboard's native semantic table and existing root setup.
312
- Signature-verified provider/Table copy-in and descriptor-backed packed browser evidence remain
313
- pending; no registry credential, hash-only component or completed accessibility claim is implied.
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. Publisher identity is attested separately by npm provenance, generated by the trusted-publishing release pipeline. Verify it with `npm audit signatures` or on the package's npm page.
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
- Zero telemetry, in the sense that matters: **nothing is ever sent to VegaStack or to any third party.**
357
+ VegaFactory sends no product telemetry to VegaStack or to an analytics service.
356
358
 
357
- The tool makes three kinds of network call, all to somewhere you already own:
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.0",
5
- "sha256": "7b4d94611fce1c1e00b9b936b43f114658859fe0f86e729285dd34878b841a21",
6
- "integrity": "sha512-izz2anvHxXe7jE1K+LjeqV0KRkqNJU8gKvVzvN222reI5Q+r1E7GULLRQIBk4rJw5Np7yrsUO8x37u11wtYpcw==",
7
- "bytes": 126813011,
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": "2fe8d48fd7250c14d548d56d8b366a75b395e16680bba2ed252b241a4db18635",
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": "7c2ca77bc2fc570ee5f057d7a65f782824c3d2bb3ab8322c9aed0028bcf92ddc",
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": "cd8baf2e0b0d24326b66dc31f26e8138a2e78387761d14d801cca87fb785b192",
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": "989fdf9d979fc5f722e107450d99109976290431f04ff489a04e09b07b4cf95b",
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": "c48a075de1f139f55abb6e74f84943d40ce39e15745c363b46ff81294eb10e1f",
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": "6139795f0fb111c374c42d25b0730e68cc39399327e7f7b3d17cf5aad9eb8f85",
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": "29c76bf81043cedbfc5b09a2a89a0ef1a5efea80c3edda5821f23e5a05167e18",
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": "11543819a1e356caca26216292ed0ce5e1f1ac4b7c0399eb19c3b38b6eb6dffc",
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": "29c76bf81043cedbfc5b09a2a89a0ef1a5efea80c3edda5821f23e5a05167e18",
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": "39cba8b2a378b84250c33dc6c3a38aec9208fc16f544149a5b21f3baf6556074",
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": "5dc99b73ee03f466889243bcadd885d90f65b41ebc846db8b6f3b598ba2661a8",
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": "1aa25bd23621db9dc877e63c470957ee5c6dbf5484d75a5894fab398c36f7051",
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": "1aa25bd23621db9dc877e63c470957ee5c6dbf5484d75a5894fab398c36f7051",
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": "d8de11be282bca9549de6f506b7fb7ab75f2196f9f25d57add1d46076599ed02",
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": "4edb36233769eefbc6241c75da61cc5bebc6c1a2c06ee76600ad1d7d0c0e3800",
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": "2eb28958dd03e5b1616720617158f24390ff513233dca944e4e5ebed309ac772",
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": "20142b4ca3b4e54f06ed0e33d2cfb13c929e26fe207785a87acd5960285e03e8",
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": "e21a0164a36e10c56bf9ddc47f317f613af70e6adecd0969cc8a0b4f6dfcaf17",
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": "876ef376408d458a4408fdcdd6e1c7d04fe02a099675eba1b29681950c17176d",
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": "afe8366aacfddc83e9dc98834bd71a8ef671ca876a83b4d665c80efc0da1f403",
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": "d06ae47ead94a9105f9a6f53236f422652e17bdcb3dd0c9df137beddaebaa734",
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": "44d5f901903054491594ab4d30f0fe60e6f2918ed72e2e1957ca1489704ef762",
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": "cec85a35f45addcdd820fdd4b7fe10ba1663835d4c7c4fcc437eb5ef77594c09",
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": "d90e985da4dea45dccbeec7b3a6230e5dd566d378c02b1b009bf176e99fb75cc",
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": "67c2353093c0f12d8b15695051911fea8e3a2ad21eb50afa3b5b73d6f6952997",
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": "453982b72ff7e7a37d41338cfb34be8750734807cf69f0743829e59fea4cb4e8",
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": "5dc99b73ee03f466889243bcadd885d90f65b41ebc846db8b6f3b598ba2661a8",
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": "6139795f0fb111c374c42d25b0730e68cc39399327e7f7b3d17cf5aad9eb8f85",
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": "5352ec6fd558bf653581879b0e7f3a7194da4fa9674d5061cadd3fe001b404cd",
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": "73fd3879f3a24b2c856b4684ea082542778e4ab4fb30620173025d027fa47cd0",
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": "85c57e11ef8e141535a3e703f0769d58e3f5c340f0f9091cb770c85fc8c18a40",
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": "2fe8d48fd7250c14d548d56d8b366a75b395e16680bba2ed252b241a4db18635",
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": "8d0bc4e9bb54a4e1cd2fb77147798250763cff8ffc01de7d1adc8893ba2290aa",
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": "94c70473c8d8e8e91806c527599a16dc082d19dab0513174d9fd401d262786de",
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": "8d0bc4e9bb54a4e1cd2fb77147798250763cff8ffc01de7d1adc8893ba2290aa",
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() + HEALTH_TIMEOUT_MS;
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, Math.min(deadline, Date.now() + 2000));
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("error: no owned dashboard instance became ready within 20 seconds");
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, HEALTH_TIMEOUT_MS = 20000, run2 = (command, args, options = {}) => new Promise((resolve14) => {
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.0",
4
- "description": "Installer and verifier for VegaStack Agent Skills (Claude Code, Codex, and Hermes)",
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 and recovery reruns 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. Network, rate-limit and auth failures stop recovery; a timed-out publish is read back before any later attempt. Matching existing versions resume; conflicting bytes require an operator-selected new version.
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 leaves a recorded partial state. Rerun the same workflow: it restores the finalized pair and available prior observations, verifies both registry identities, repeats smoke, then reconciles tags and lost responses before retrying. If no finalized pair exists, only affirmative skipped-publication records for every prior attempt permit retrying failed preparation; missing/expired pair evidence after possible publication is a refusal, never permission to rebuild. Never retag historical releases or move latest backward. Retain the finalized pair before the first registry mutation, and upload attempt outcomes separately. After workflow completion, download/verify those same 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 artifact 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.
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
 
@@ -183,7 +183,7 @@
183
183
  "files": {
184
184
  "SKILL.md": "81fc5d089e4edb15f8d6511887c65e1ea01bd134ba27fc7a324ffb1e5cff6961",
185
185
  "agents/openai.yaml": "dd356907fdbfd7937e67d7daf06ac659ab36e7da0b0a4d0ffecb8b6eea31fdbe",
186
- "references/release-ops.md": "f88b04a06cb8f8590bc5a3533c0d033d941e10a14df4edca61c68919f6b8f2df",
186
+ "references/release-ops.md": "6c6d34ba0d43f1a72f24e2d0a4cb3dcee8f90287b1dd7ce728472f434305839e",
187
187
  "references/standards.md": "a9cb33f9425881307f2ef0d6f4cdb1133f782a50c7b5a87419c09c179899fdbf",
188
188
  "refresh/REFRESH.md": "d3ba44be2c264b849d8a815111c049e782720428d5d0c5cea23998b05e50d58f",
189
189
  "refresh/sources.json": "4977152381d53555196ac676f95e61b4eaa301309a17560da5cda722010eb80f"