docs: move the runnable starter to rc1

This commit is contained in:
2026-08-24 15:17:20 -04:00
parent 649e747c12
commit bc9d0a7865
6 changed files with 25 additions and 26 deletions
+2 -2
View File
@@ -4,8 +4,8 @@
Every `*.sando.go` file is an owned output of the neighboring `*.sando` source. Every `*.sando.go` file is an owned output of the neighboring `*.sando` source.
The committed neighbors were produced by `himesan v1.0.0-beta.1` and remain The committed neighbors were produced by `himesan v1.0.0-beta.1` and remain
byte-current under `himesan v1.0.0-beta.2`; Beta 2 intentionally preserves an byte-current under `himesan v1.0.0-rc.1`; the compiler intentionally preserves
honest producer marker when generated semantics are unchanged. Commit both an honest producer marker when generated semantics are unchanged. Commit both
files so production builds need only ordinary Go and the small `sando` runtime. files so production builds need only ordinary Go and the small `sando` runtime.
Never hand-edit a generated neighbor. Run `himesan generate internal/views`, Never hand-edit a generated neighbor. Run `himesan generate internal/views`,
+12 -13
View File
@@ -25,7 +25,7 @@ The starter demonstrates the boundary plainly:
time through `Server-Timing`. time through `Server-Timing`.
- Production imports the Apache-2.0 `sando` runtime, not the compiler. - Production imports the Apache-2.0 `sando` runtime, not the compiler.
## Walk the path with the Beta 1 runtime and Beta 2 compiler ## Walk the path with RC.1
Install Go 1.25 or newer, then resolve the tiny runtime before installing the Install Go 1.25 or newer, then resolve the tiny runtime before installing the
immutable classroom compiler: immutable classroom compiler:
@@ -33,8 +33,8 @@ immutable classroom compiler:
```sh ```sh
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
cd sandwich-hime-tutorial cd sandwich-hime-tutorial
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-beta.2 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1
./scripts/verify.sh ./scripts/verify.sh
GOWORK=off go run ./cmd/site GOWORK=off go run ./cmd/site
``` ```
@@ -45,8 +45,8 @@ On Windows PowerShell, use the native verifier:
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
Set-Location sandwich-hime-tutorial Set-Location sandwich-hime-tutorial
$env:GOWORK = "off" $env:GOWORK = "off"
go mod download gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-beta.2 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1
.\scripts\verify.ps1 .\scripts\verify.ps1
go run ./cmd/site go run ./cmd/site
``` ```
@@ -56,24 +56,23 @@ Make sure Go's install directory—normally `$(go env GOPATH)/bin`—is on
verifier. The starter deliberately runs with `GOWORK=off`: it proves the verifier. The starter deliberately runs with `GOWORK=off`: it proves the
application resolves the published Apache-2.0 runtime rather than a neighboring application resolves the published Apache-2.0 runtime rather than a neighboring
development checkout. The verification scripts require compiler development checkout. The verification scripts require compiler
`v1.0.0-beta.2` and runtime `v1.0.0-beta.1` exactly. `v1.0.0-rc.1` and runtime `v1.0.0-rc.1` exactly.
If an earlier compiler-first attempt reports that the parent module does not If an earlier compiler-first attempt reports that the parent module does not
contain `gamertan.com/sandwich-hime/sando`, repair only that module selection: contain `gamertan.com/sandwich-hime/sando`, repair only that module selection:
```sh ```sh
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
GOWORK=off go get gamertan.com/sandwich-hime/sando@v1.0.0-beta.1 GOWORK=off go get gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
``` ```
Then run the verifier again. You do not need to clear your whole Go module Then run the verifier again. You do not need to clear your whole Go module
cache. cache.
The Beta 2 compiler and Beta 1 runtime are intended for classrooms, learning, RC.1 freezes the intended v1 compiler/runtime contract while public dogfooding
prototypes, and evaluation. Their and release-blocking corrections continue. Linux/amd64 and Apple Silicon
interfaces may still change before final v1. Linux and Windows have been macOS/arm64 are maintained native targets. Useful compatibility reports remain
maintainer-tested; macOS is provisional while native maintainer testing is welcome on canonical Gitea.
pending. Useful Mac compatibility reports are welcome on canonical Gitea.
Open [http://127.0.0.1:8080/?name=Hime-san](http://127.0.0.1:8080/?name=Hime-san), Open [http://127.0.0.1:8080/?name=Hime-san](http://127.0.0.1:8080/?name=Hime-san),
refresh it, and watch the request number and UTC time change. Then try: refresh it, and watch the request number and UTC time change. Then try:
+1 -1
View File
@@ -4,4 +4,4 @@ module gitea.speelman.ca/gamertan/sandwich-hime-tutorial
go 1.25 go 1.25
require gamertan.com/sandwich-hime/sando v1.0.0-beta.1 require gamertan.com/sandwich-hime/sando v1.0.0-rc.1
+2 -2
View File
@@ -1,2 +1,2 @@
gamertan.com/sandwich-hime/sando v1.0.0-beta.1 h1:WHe6LnVKvOz7CQr9OIWI78pCzIFIAGgoXlGfjYVAVoU= gamertan.com/sandwich-hime/sando v1.0.0-rc.1 h1:xXjXkvhD0BQQ+mX/w7zkG7qc0WwVmBqn5yFOq8GUqZQ=
gamertan.com/sandwich-hime/sando v1.0.0-beta.1/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis= gamertan.com/sandwich-hime/sando v1.0.0-rc.1/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis=
+4 -4
View File
@@ -11,10 +11,10 @@ Set-Location $repoRoot
$env:GOWORK = "off" $env:GOWORK = "off"
$himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" } $himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" }
$expectedCompilerVersion = "v1.0.0-beta.2" $expectedCompilerVersion = "v1.0.0-rc.1"
$expectedRuntimeVersion = "v1.0.0-beta.1" $expectedRuntimeVersion = "v1.0.0-rc.1"
if (-not (Get-Command $himesan -ErrorAction SilentlyContinue)) { if (-not (Get-Command $himesan -ErrorAction SilentlyContinue)) {
throw "himesan was not found; install v1.0.0-beta.2 or set HIMESAN_BIN" throw "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN"
} }
function Assert-LastExitCode([string]$Step) { function Assert-LastExitCode([string]$Step) {
@@ -88,4 +88,4 @@ if ($dependencies | Where-Object { $_ -match '^gamertan\.com/sandwich-hime$|^gam
throw "production dependency graph contains the Sandwich Hime compiler" throw "production dependency graph contains the Sandwich Hime compiler"
} }
Write-Output "verified Beta 2 compiler, Beta 1 runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" Write-Output "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies"
+4 -4
View File
@@ -7,10 +7,10 @@ repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd "$repo_root" cd "$repo_root"
himesan_bin=${HIMESAN_BIN:-himesan} himesan_bin=${HIMESAN_BIN:-himesan}
expected_compiler_version=v1.0.0-beta.2 expected_compiler_version=v1.0.0-rc.1
expected_runtime_version=v1.0.0-beta.1 expected_runtime_version=v1.0.0-rc.1
if ! command -v "$himesan_bin" >/dev/null 2>&1; then if ! command -v "$himesan_bin" >/dev/null 2>&1; then
echo "himesan was not found; install v1.0.0-beta.2 or set HIMESAN_BIN" >&2 echo "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN" >&2
exit 1 exit 1
fi fi
@@ -65,4 +65,4 @@ if grep -Eq '^gamertan\.com/sandwich-hime$|^gamertan\.com/sandwich-hime/(cmd|int
exit 1 exit 1
fi fi
echo "verified Beta 2 compiler, Beta 1 runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" echo "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies"