diff --git a/GENERATED_CODE.md b/GENERATED_CODE.md index 786e377..1a1df25 100644 --- a/GENERATED_CODE.md +++ b/GENERATED_CODE.md @@ -3,10 +3,11 @@ # Generated code 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 -byte-current under `himesan v1.0.0-rc.1`; the compiler intentionally preserves -an honest producer marker when generated semantics are unchanged. Commit both -files so production builds need only ordinary Go and the small `sando` runtime. +The committed neighbors were produced by `himesan v1.0.0-beta.1` and were +verified byte-current with both `himesan v1.0.0-rc.1` and final `himesan v1.0.0`. +The compiler intentionally preserves an honest producer marker when generated +semantics are unchanged. Commit both files so production builds need only +ordinary Go and the small `sando` runtime. Never hand-edit a generated neighbor. Run `himesan generate internal/views`, review the deterministic diff, and use `himesan check internal/views` in local diff --git a/README.md b/README.md index 19fb54e..839a221 100644 --- a/README.md +++ b/README.md @@ -25,28 +25,29 @@ The starter demonstrates the boundary plainly: time through `Server-Timing`. - Production imports the Apache-2.0 `sando` runtime, not the compiler. -## Walk the path with RC.1 +## Walk the path with v1.0.0 Install Go 1.25 or newer, then resolve the tiny runtime before installing the -immutable classroom compiler: +matching immutable compiler: ```sh git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git cd sandwich-hime-tutorial -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-rc.1 +GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0 +go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0 ./scripts/verify.sh GOWORK=off go run ./cmd/site ``` -On Windows PowerShell, use the native verifier: +For a Windows portability check, use the PowerShell verifier. Windows is not a +maintained v1 target: ```powershell git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git Set-Location sandwich-hime-tutorial $env: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-rc.1 +go mod download gamertan.com/sandwich-hime/sando@v1.0.0 +go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0 .\scripts\verify.ps1 go run ./cmd/site ``` @@ -56,23 +57,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 application resolves the published Apache-2.0 runtime rather than a neighboring development checkout. The verification scripts require compiler -`v1.0.0-rc.1` and runtime `v1.0.0-rc.1` exactly. +`v1.0.0` and runtime `v1.0.0` exactly. If an earlier compiler-first attempt reports that the parent module does not contain `gamertan.com/sandwich-hime/sando`, repair only that module selection: ```sh -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-rc.1 +GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0 +GOWORK=off go get gamertan.com/sandwich-hime/sando@v1.0.0 ``` Then run the verifier again. You do not need to clear your whole Go module cache. -RC.1 freezes the intended v1 compiler/runtime contract while public dogfooding -and release-blocking corrections continue. Linux/amd64 and Apple Silicon -macOS/arm64 are maintained native targets. Useful compatibility reports remain -welcome on canonical Gitea. +The final v1 compiler/runtime pair follows the project's v1 compatibility +contract. Canonical Gitea tags and release announcements establish version +availability. Linux/amd64 and Apple Silicon macOS/arm64 are maintained native +targets. Useful compatibility reports remain welcome on canonical Gitea. 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: diff --git a/go.mod b/go.mod index 7ca5213..ad23493 100644 --- a/go.mod +++ b/go.mod @@ -4,4 +4,4 @@ module gitea.speelman.ca/gamertan/sandwich-hime-tutorial go 1.25 -require gamertan.com/sandwich-hime/sando v1.0.0-rc.1 +require gamertan.com/sandwich-hime/sando v1.0.0 diff --git a/go.sum b/go.sum index 55fe96a..21a44a3 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -gamertan.com/sandwich-hime/sando v1.0.0-rc.1 h1:xXjXkvhD0BQQ+mX/w7zkG7qc0WwVmBqn5yFOq8GUqZQ= -gamertan.com/sandwich-hime/sando v1.0.0-rc.1/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis= +gamertan.com/sandwich-hime/sando v1.0.0 h1:u1T/6CTmJSK9XaJBve9WNRkh9QCd92zTkzfWrTZoK/4= +gamertan.com/sandwich-hime/sando v1.0.0/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis= diff --git a/scripts/verify.ps1 b/scripts/verify.ps1 index 4232c0a..5a15ead 100644 --- a/scripts/verify.ps1 +++ b/scripts/verify.ps1 @@ -11,10 +11,10 @@ Set-Location $repoRoot $env:GOWORK = "off" $himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" } -$expectedCompilerVersion = "v1.0.0-rc.1" -$expectedRuntimeVersion = "v1.0.0-rc.1" +$expectedCompilerVersion = "v1.0.0" +$expectedRuntimeVersion = "v1.0.0" if (-not (Get-Command $himesan -ErrorAction SilentlyContinue)) { - throw "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN" + throw "himesan was not found; install v1.0.0 or set HIMESAN_BIN" } 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" } -Write-Output "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" +Write-Output "verified v1.0.0 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" diff --git a/scripts/verify.sh b/scripts/verify.sh index 58f1272..050589c 100755 --- a/scripts/verify.sh +++ b/scripts/verify.sh @@ -7,10 +7,10 @@ repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) cd "$repo_root" himesan_bin=${HIMESAN_BIN:-himesan} -expected_compiler_version=v1.0.0-rc.1 -expected_runtime_version=v1.0.0-rc.1 +expected_compiler_version=v1.0.0 +expected_runtime_version=v1.0.0 if ! command -v "$himesan_bin" >/dev/null 2>&1; then - echo "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN" >&2 + echo "himesan was not found; install v1.0.0 or set HIMESAN_BIN" >&2 exit 1 fi @@ -65,4 +65,4 @@ if grep -Eq '^gamertan\.com/sandwich-hime$|^gamertan\.com/sandwich-hime/(cmd|int exit 1 fi -echo "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" +echo "verified v1.0.0 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies"