Diene Go api-engine library

Diene's reproducible development environment is managed by Nix. Run direnv allow once, then use pls tasks from the loaded shell.
This repository inherits the all-features workspace baseline: split CI/CD,
secrets, release configuration, validators, standards, and vendored agent-skill
synchronization.
Commands
pls setup — synchronize installed diene package skills.
pls lint — run every pre-commit gate.
pls secret:scan — scan tracked content for secrets.
pls skills:sync — rebuild .claude/skills/vendor/ from installed packages.
Publishable Go module
github.com/AtomiCloud/diene.go-api-engine is the Go family's outbound API
client engine: a multi-backend client tree, 3-case response classification
mapped onto (T, error) with problem-typed errors through
github.com/AtomiCloud/diene.go-errors-problems, per-backend credentials
resolved through the github.com/AtomiCloud/diene.go-auth-engine retriever
seam, an engine-owned config block, and a retry-once-on-network-error
resilience profile — shipped with a consumer-facing testhelper package.
It is client only. It hosts nothing: middleware, controllers, health and
readiness endpoints, and error-info publishing belong to the base template's
hosting layer or to the error portal, never here.
go get github.com/AtomiCloud/diene.go-api-engine@latest
users, err := apiengine.Execute[[]User](ctx, client, apiengine.Request{Path: "/v1/users"})
Packages:
lib/apiengine — the client tree, the per-backend client, the 3-case
classifier, the engine-owned config block, and the problem catalog.
lib/wire — the C0 §1 wire codecs: ISO 8601 durations, RFC 3339 UTC
instants, and IANA timezone identifiers.
testhelper — fake backends for the client tree, canned Problem-envelope
responses, and outcome assertions.
The three cases, the multi-backend model, and the resilience profile are
documented on the packages themselves and in the shipped usage skill
skills/diene-go-api-engine-usage/SKILL.md.
Go commands
pls build — build every package in the module.
pls typecheck — compile every source package without running tests.
pls test / pls test:coverage — run unit, integration, and active meta tiers.
pls deadcode — run strict whole-repository and production passes plus the LLM-lax report.
pls up / pls down — start or stop local infrastructure (this library binds none).
./scripts/ci/pkg-validate.sh all — run module-path, vet, API, docs, and example validators.
See the Go baseline for the language contract and
template-maintenance boundary.
See the Go library baseline for promotion,
testing, compatibility, and publication policy.
Standards
Shared standards
Domain-specific documentation belongs under docs/domain/.
The docs/standards/contracts/ location is reserved for the separately owned C0
contracts standard.
Go language variants