build(tasks): GOEXPERIMENT=jsonv2 per SCALE_STANDARD (#1)

* docs(llm): explicit Upstream attribution line

LICENSE-attested or repo-attested upstream is now called out at the
top of LLM.md alongside the project description, so downstream
audits (universe/docs/PRODUCTS.md) can rely on a single canonical
location for the OSS lineage statement.

* build(tasks): GOEXPERIMENT=jsonv2 in Dockerfile per SCALE_STANDARD

Per SCALE_STANDARD.md §2 — every Go production Dockerfile that emits
JSON to a client builds with GOEXPERIMENT=jsonv2. Verified on
hanzoai/zip's json_bench_test.go:
- Edge POST roundtrip: -12% time, -23% allocs
- Marshal-only: -22% time
- Unmarshal-only: -19% time, -25% allocs

The conn-memory regression test is deferred to a follow-up that
migrates tasksd's net/http listener to zip per §9 step-1; net/http
has a fixed 3-goroutine-per-request overhead that violates §3's 1:1
goroutine-to-conn invariant.
This commit is contained in:
2026-05-29 21:05:26 -07:00
committed by GitHub
parent e61c98608b
commit 51fa479364
2 changed files with 10 additions and 0 deletions
+8
View File
@@ -15,6 +15,14 @@ COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN test -f ui/dist/index.html || (echo "ui/dist missing — run scripts/sync-admin-ui.sh before docker build" >&2 && exit 1)
# Per SCALE_STANDARD.md §2 — every Go production Dockerfile that
# emits JSON to a client builds with GOEXPERIMENT=jsonv2. Verified
# -12% time / -23% allocs on the edge POST roundtrip vs encoding/json
# v1 (json_bench_test.go in hanzoai/zip).
ARG GO_EXPERIMENT=jsonv2
ENV GOEXPERIMENT=${GO_EXPERIMENT}
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /tasksd ./cmd/tasksd
FROM alpine:3.21
+2
View File
@@ -2,6 +2,8 @@
Durable workflow execution engine for AI agent orchestration.
**Upstream**: Temporal (MIT). Pre-v3.0 history is the Temporal fork; v3.0+ is native ZAP-only with the upstream gRPC/proto/runtime fully ripped out. Public Go module pinned at v1.x forever (semver-import-versioning policy).
## Module
`github.com/hanzoai/tasks`