# sando runtime `gamertan.com/sandwich-hime/sando` is the independent Apache-2.0 runtime ABI for Go generated by Sandwich Hime. It contains no compiler, router, HTTP server, middleware, reflection registry, project discovery, or development supervisor. ## Install This is the source and documentation for runtime `sando/v1.0.0`, paired with compiler `v1.0.0` without changing runtime ABI `sando.v1`. Canonical Gitea tags and release announcements establish availability. In an application module, add the runtime first, then install the compiler: ```sh go get gamertan.com/sandwich-hime/sando@v1.0.0 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0 ``` The runtime-first order avoids parent/nested-module path-selection ambiguity. The compiler is a development tool and is not a runtime dependency of the generated application. Compiler and runtime remain independently versioned. ## API and licensing The stable surface is: ```go type Component interface { Render(context.Context, io.Writer) error } type ComponentFunc func(context.Context, io.Writer) error ``` `Render` invokes components; generated code uses the context-specific writer helpers and checks `ABI`. Opaque `TrustedHTML`, `TrustedURL`, `TrustedJS`, and `TrustedCSS` values can be constructed only by conspicuous `Trust*` calls in trusted application code. The exact exported v1 symbol, value, method, field, and signature inventory is machine-checked in [`testdata/public-api-v1.txt`](testdata/public-api-v1.txt). The runtime has its own `go.mod`, Apache-2.0 license, `COPYRIGHT` record, semantic version, and `sando/vX.Y.Z` tags. It never imports the AGPL compiler. Importing the runtime does not make an application AGPL under the project's terms. Applications may license their own code and generated files under terms they choose to the extent they hold the necessary rights, while redistribution of the runtime remains subject to Apache-2.0.