Files
sandwich-hime/sando

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:

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:

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.

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.