Skip to content

Commit 4f06fc4

Browse files
committed
Publish r21 Spark CLI installer
1 parent e4415b4 commit 4f06fc4

16 files changed

Lines changed: 55 additions & 42 deletions

docs/AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,8 @@ Spark Swarm network submission and hosted workspace review are upcoming private
129129

130130
## Current Installer Pins
131131

132-
- Spark CLI commit: `bb188d440707ff0a9f866f782760929a69872ed2`
132+
- Spark CLI release ref: `spark-cli-public-installer-2026-05-29-r21`
133+
- Spark CLI commit: `b07d72d5a0e510b8dddc7dffad3c9073af4031fd`
133134
- Node: `22.18.0`
134135
- Python: `3.11`
135136
- uv: `0.11.7`

docs/install-safety.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ If you are non-technical, ask your coding assistant to open this page, run the d
2323
## Current Hashes
2424

2525
```text
26-
33659e85e6ac370acc5a4ae8b57eb1555140364df97bba310a6511a9c835d8f0 install.sh
27-
5cd18867b1411f2674af6620e85e205f3a69c243360a7a43a69b9c7791fe7d18 install.ps1
26+
56bb32b0e455f9c92cfffe7ee153fae98ab95d0aab3461568ee64918ce10940c install.sh
27+
29c7432628134071f11805cdb64362a67013c78e9105165f2be78b53339ea5a6 install.ps1
2828
```
2929

3030
## Safe Procedure
@@ -113,7 +113,8 @@ Users can change this later in Telegram with `/access 1`, `/access 2`, `/access
113113

114114
## Pinned Parts
115115

116-
- Spark CLI commit: `bb188d440707ff0a9f866f782760929a69872ed2`
116+
- Spark CLI release ref: `spark-cli-public-installer-2026-05-29-r21`
117+
- Spark CLI commit: `b07d72d5a0e510b8dddc7dffad3c9073af4031fd`
117118
- Node: `22.18.0`
118119
- Python: `3.11`
119120
- uv: `0.11.7`

docs/llms-full.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,8 @@ Do not send Telegram tokens or LLM keys to websites.
139139

140140
## Current Installer Pins
141141

142-
- Spark CLI commit: `bb188d440707ff0a9f866f782760929a69872ed2`
142+
- Spark CLI release ref: `spark-cli-public-installer-2026-05-29-r21`
143+
- Spark CLI commit: `b07d72d5a0e510b8dddc7dffad3c9073af4031fd`
143144
- Node: `22.18.0`
144145
- Python: `3.11`
145146
- uv: `0.11.7`

docs/pages/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ Domain chips teach Spark how to improve one specialist area without bloating the
6666

6767
## Current status
6868

69-
The installer has checksums, a release manifest, pinned managed runtimes, immutable Spark CLI source, GitHub Artifact Attestations, Sigstore keyless release signatures, multi-OS dry-run CI, and disposable real-install CI.
69+
The installer has checksums, a release manifest, pinned managed runtimes, a Spark CLI public release tag, GitHub Artifact Attestations, Sigstore keyless release signatures, multi-OS dry-run CI, and disposable real-install CI.
7070

7171
Current public installer state:
7272

73-
- Release: `spark-cli-public-installer-2026-05-29-r20`
74-
- Installed Spark CLI runtime commit: `bb188d440707ff0a9f866f782760929a69872ed2`
73+
- Release: `spark-cli-public-installer-2026-05-29-r21`
74+
- Installed Spark CLI runtime commit: `b07d72d5a0e510b8dddc7dffad3c9073af4031fd`
7575
- Local installer hashes match the committed release manifest.
7676
- Hosted installer verification passed after deploy.
7777
- Windows and WSL sandbox install checks are part of the release gate.

docs/pages/install-safety.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ Only then run the real install.
5050
## Current Hashes
5151

5252
```text
53-
33659e85e6ac370acc5a4ae8b57eb1555140364df97bba310a6511a9c835d8f0 install.sh
54-
5cd18867b1411f2674af6620e85e205f3a69c243360a7a43a69b9c7791fe7d18 install.ps1
53+
56bb32b0e455f9c92cfffe7ee153fae98ab95d0aab3461568ee64918ce10940c install.sh
54+
29c7432628134071f11805cdb64362a67013c78e9105165f2be78b53339ea5a6 install.ps1
5555
```
5656

5757
## Safe Human Procedure

docs/updates.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This update publishes the safe public surfaces we can share now, without making
66

77
## Included
88

9-
- May 29 Spark CLI r20 installer pin with hosted checksums, release manifest, command metadata, attestations, voice-safe setup defaults, stale Windows shim cleanup, production smoke checks, a softer upgrade-refresh pause, and a browser-use Windows proof fix.
9+
- May 29 Spark CLI r21 installer pin with hosted checksums, release manifest, command metadata, attestations, voice-safe setup defaults, stale Windows shim cleanup, production smoke checks, a softer upgrade-refresh pause, browser-use Windows proof, and self-consistent installed-checkout release metadata.
1010
- Telegram recursive loops now have a local-only public path for Builder chip loops: `/recursive start <chipKey> rounds <n>`, `/recursive sessions`, `/recursive report`, and `/recursive trace` work from local status files without Spark Swarm.
1111
- `spark-domain-chip-labs` as the public creator lab for domain chips, benchmark packs, specialization paths, autoloop policies, tool integrations, and publish packet standards.
1212
- `spark-character` as the public character and voice-consistency layer.
@@ -40,6 +40,6 @@ spark verify --installers --hosted-installers
4040
The expected Spark CLI release is:
4141

4242
```text
43-
spark-cli-public-installer-2026-05-29-r20
44-
bb188d440707ff0a9f866f782760929a69872ed2
43+
spark-cli-public-installer-2026-05-29-r21
44+
b07d72d5a0e510b8dddc7dffad3c9073af4031fd
4545
```

docs/updates/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ <h1>Public labs are open. Spark Swarm stays private for now.</h1>
4545
<section class="doc-section">
4646
<h2>What changed.</h2>
4747
<div class="doc-grid doc-grid-3">
48-
<div class="doc-card"><span class="doc-kicker">Installer</span><h3>May 29 r20 pin</h3><p>The hosted installer now points at <code>spark-cli-public-installer-2026-05-29-r20</code> with matching checksums, manifest, command metadata, attestations, voice-safe defaults, stale Windows shim cleanup, production smoke, a softer upgrade-refresh pause, and a browser-use Windows proof fix.</p></div>
48+
<div class="doc-card"><span class="doc-kicker">Installer</span><h3>May 29 r21 pin</h3><p>The hosted installer now points at <code>spark-cli-public-installer-2026-05-29-r21</code> with matching checksums, manifest, command metadata, attestations, voice-safe defaults, stale Windows shim cleanup, production smoke, a softer upgrade-refresh pause, browser-use Windows proof, and self-consistent installed-checkout release metadata.</p></div>
4949
<div class="doc-card"><span class="doc-kicker">Creator Lab</span><h3>Domain Chip Labs</h3><p>Public standards for domain chips, benchmarks, specialization paths, autoloop policies, tool integrations, and publish packet drafts.</p></div>
5050
<div class="doc-card"><span class="doc-kicker">Telegram</span><h3>Local recursive loops</h3><p>Builder chip loops can now start and report from Telegram using local status files, without depending on Spark Swarm workspace APIs.</p></div>
5151
<div class="doc-card"><span class="doc-kicker">Identity</span><h3>Character And Personality</h3><p>Spark Character is public, and Personality Chip Labs is public for modular profile experiments.</p></div>
@@ -66,7 +66,7 @@ <h3>Spark Swarm comes later</h3>
6666
<section class="doc-section">
6767
<h2>Verify the release.</h2>
6868
<pre class="docs-code">spark verify --installers --hosted-installers</pre>
69-
<p>Expected release: <code>spark-cli-public-installer-2026-05-29-r20</code> at <code>bb188d440707ff0a9f866f782760929a69872ed2</code>.</p>
69+
<p>Expected release: <code>spark-cli-public-installer-2026-05-29-r21</code> at <code>b07d72d5a0e510b8dddc7dffad3c9073af4031fd</code>.</p>
7070
</section>
7171
</article>
7272
</main>

install.ps1

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
param(
22
[string]$Prefix = "$HOME\.spark",
33
[string]$Source = "https://github.com/vibeforge1111/spark-cli",
4-
[string]$Ref = "bb188d440707ff0a9f866f782760929a69872ed2",
4+
[string]$Ref = "spark-cli-public-installer-2026-05-29-r21",
55
[string]$NodeVersion = "22.18.0",
66
[string]$PythonVersion = "3.11",
77
[string]$UvVersion = "0.11.7",
@@ -30,7 +30,7 @@ param(
3030
)
3131

3232
$ErrorActionPreference = "Stop"
33-
$SparkCliReleaseName = "spark-cli-public-installer-2026-05-29-r20"
33+
$SparkCliReleaseName = "spark-cli-public-installer-2026-05-29-r21"
3434
$RefWasProvided = $PSBoundParameters.ContainsKey("Ref")
3535
$Script:InstallLockDir = ""
3636
$Script:PythonExe = ""
@@ -459,8 +459,8 @@ function Test-InstallSettings {
459459
if ($UvVersion -notmatch '^\d+\.\d+\.\d+$') {
460460
throw "Unsafe uv version value: $UvVersion"
461461
}
462-
if (-not $RefWasProvided -and $Ref -notmatch '^[0-9a-f]{40}$') {
463-
throw "Default Spark CLI ref must be an immutable 40-character commit SHA: $Ref"
462+
if (-not $RefWasProvided -and $Ref -notmatch '^([0-9a-f]{40}|spark-cli-public-installer-\d{4}-\d{2}-\d{2}-r\d+)$') {
463+
throw "Default Spark CLI ref must be a 40-character commit SHA or Spark public release tag: $Ref"
464464
}
465465
$normalizedSource = $Source.TrimEnd("/")
466466
if ($normalizedSource.EndsWith(".git")) {

install.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ set -euo pipefail
33

44
SPARK_PREFIX="${SPARK_PREFIX:-$HOME/.spark}"
55
SPARK_CLI_SOURCE="${SPARK_CLI_SOURCE:-https://github.com/vibeforge1111/spark-cli}"
6-
SPARK_CLI_RELEASE_NAME="${SPARK_CLI_RELEASE_NAME:-spark-cli-public-installer-2026-05-29-r20}"
7-
SPARK_DEFAULT_CLI_REF="bb188d440707ff0a9f866f782760929a69872ed2"
6+
SPARK_CLI_RELEASE_NAME="${SPARK_CLI_RELEASE_NAME:-spark-cli-public-installer-2026-05-29-r21}"
7+
SPARK_DEFAULT_CLI_REF="spark-cli-public-installer-2026-05-29-r21"
88
SPARK_CLI_REF_USER_SET=0
99
if [ -n "${SPARK_CLI_REF:-}" ]; then
1010
SPARK_CLI_REF_USER_SET=1
@@ -512,8 +512,8 @@ validate_install_settings() {
512512
exit 1
513513
fi
514514

515-
if [ "$SPARK_CLI_REF_USER_SET" = "0" ] && ! printf '%s' "$SPARK_CLI_REF" | grep -Eq '^[0-9a-f]{40}$'; then
516-
echo "Default Spark CLI ref must be an immutable 40-character commit SHA: $SPARK_CLI_REF" >&2
515+
if [ "$SPARK_CLI_REF_USER_SET" = "0" ] && ! printf '%s' "$SPARK_CLI_REF" | grep -Eq '^([0-9a-f]{40}|spark-cli-public-installer-[0-9]{4}-[0-9]{2}-[0-9]{2}-r[0-9]+)$'; then
516+
echo "Default Spark CLI ref must be a 40-character commit SHA or Spark public release tag: $SPARK_CLI_REF" >&2
517517
exit 1
518518
fi
519519

install/attestations.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ The pinned installer inputs are published at:
1818
https://agent.sparkswarm.ai/install/release-manifest.json
1919
```
2020

21-
The manifest includes the immutable Spark CLI commit, managed Node version, managed Python version, pinned uv version, uv asset hashes, and the installer network allowlist.
21+
The manifest includes the Spark CLI public release tag, resolved Spark CLI commit, managed Node version, managed Python version, pinned uv version, uv asset hashes, and the installer network allowlist.
2222

2323
## Verify macOS, Linux, or WSL
2424

2525
```bash
2626
curl -fsSL https://agent.sparkswarm.ai/install.sh -o ./install.sh
27-
expected='33659e85e6ac370acc5a4ae8b57eb1555140364df97bba310a6511a9c835d8f0'
27+
expected='56bb32b0e455f9c92cfffe7ee153fae98ab95d0aab3461568ee64918ce10940c'
2828
actual=$(if command -v sha256sum >/dev/null 2>&1; then sha256sum ./install.sh | awk '{print $1}'; elif command -v shasum >/dev/null 2>&1; then shasum -a 256 ./install.sh | awk '{print $1}'; else echo 'Missing sha256sum or shasum'; exit 1; fi)
2929
test "$actual" = "$expected" || { echo 'spark installer checksum mismatch'; exit 1; }
3030
gh attestation verify ./install.sh --repo vibeforge1111/Spark-Agent-Site --signer-workflow vibeforge1111/Spark-Agent-Site/.github/workflows/install-hardening.yml --source-ref refs/heads/main
@@ -36,7 +36,7 @@ bash ./install.sh --dry-run
3636

3737
```powershell
3838
iwr https://agent.sparkswarm.ai/install.ps1 -OutFile .\install.ps1
39-
if ((Get-FileHash .\install.ps1 -Algorithm SHA256).Hash.ToLowerInvariant() -ne '5cd18867b1411f2674af6620e85e205f3a69c243360a7a43a69b9c7791fe7d18') { throw 'install.ps1 checksum mismatch' }
39+
if ((Get-FileHash .\install.ps1 -Algorithm SHA256).Hash.ToLowerInvariant() -ne '29c7432628134071f11805cdb64362a67013c78e9105165f2be78b53339ea5a6') { throw 'install.ps1 checksum mismatch' }
4040
gh attestation verify .\install.ps1 --repo vibeforge1111/Spark-Agent-Site --signer-workflow vibeforge1111/Spark-Agent-Site/.github/workflows/install-hardening.yml --source-ref refs/heads/main
4141
Get-Content .\install.ps1
4242
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -DryRun

0 commit comments

Comments
 (0)