Repository navigation
ztd v1.1.2
[1.1.2] - 2026-10-16 - Evaluation Held Context, Conformance Targets, and Failure Receipt Integrity
Overview
v1.1.2 is a patch release on top of v1.1.1. Evaluation campaigns support held context across repetitions (EvaluationCampaignSpec.hold_context = 13), allowing multi-repetition runs to continue investigations in the same workspace with chained conversation history. Conformance test suites introduce target selection and explicit unavailable-coverage semantics (NOT_RUN_OUTBOUND, NOT_RUN_A2A) with UNAVAILABLE case verdicts and INCOMPLETE suite verdicts. Platform governance and execution error handling now guarantee that action handler errors propagate through L5 to produce authoritative signed FAILED terminal receipts, eliminating silent completion of failed operations. The egress scrubber adds single-pass rehydration without rescanning and streaming safety boundaries. Platform logging features component tagging, stdlib HTTP ErrorLog integration, and cross-platform socket disconnect classification for both Unix and Windows. Model capability observations in evaluation rollouts are now strictly diagnostic, ensuring every selected model receives governed tool declarations without intake exclusion. Evaluation Explorer brings a refreshed UX with compact Live stream indicators, direct links to failure diagnostics, and a dedicated About view.
All wire changes are strictly additive and backward compatible with v1.1.1 artifacts.
Highlights
- Evaluation campaign held context across repetitions — Multi-repetition campaign cells can now preserve investigation context (
hold_context: true). Subsequent repetitions receive the prior repetition's conversation history and execute in the same scenario workspace while preserving cell-level isolation. - Conformance targets and unavailable coverage — Conformance runners support explicit target and enrollment-based root discovery. Missing optional infrastructure (such as an outbound Data Operator or harness A2A downstream) records
NOT_RUN_OUTBOUNDorNOT_RUN_A2Aobservations, verifies asUNAVAILABLE, and yields anINCOMPLETEsuite verdict without hiding required coverage. - Authoritative signed failure receipts — Removed
fireAndForgetActionHandler, returning synchronous(string, error)across all governed handlers. Execution failures (missing files, command non-zero exits, mutation errors) produce signedFAILEDreceipts (RECEIPT_FAILURE_CODE_EXECUTION_FAILED) with preserved typed error causes. - Scrubbing single-pass rehydration — Rehydration replaces tokens in a single pass without rescanning restored text, preventing substitution loops. Streaming inference requires an active egress scrubber before provider dispatch.
- Cross-platform disconnect classification and server logging — Gateway and Operator servers inject structured platform loggers into stdlib
http.Server.ErrorLog. Client disconnects (EPIPE,ECONNRESET, and Windows Winsock codesWSAECONNRESET,WSAECONNABORTED) are classified without string matching and logged atDEBUG, keepingERRORlogs reserved for genuine faults. - Diagnostic model capabilities and provider failure reasons — Model capability observations (tool calling, structured output, thinking) are treated as diagnostic observations rather than intake filters. Rollout intake (
ztd eval rollout add) never excludes models or suppresses tools based on unprobed capabilities; each evaluation dispatches tools and captures the current provider response. Failed provider dispatches generate clear public failure sentences (e.g.,capability_unsupported,context_overflow,backend_timeout) and lead diagnostics without obscuring grade evidence. - Trace inspection CLI and Evaluation Explorer UX redesign — Added
ztd eval runs tracefor offline inspection and verification of sealed agent traces. Evaluation Explorer delivers a redesigned Live view with compact status indicators, direct linking from failed assignments to full diagnostic detail sentences, event rendering for all runs in the selected release before summaries arrive, and a dedicated About view.
Added
- Protocol —
EvaluationCampaignSpec.hold_context = 13(eval.proto),GovernedActionBinding.action_type = 10(eval.proto), andConformanceObservationKindvaluesCONFORMANCE_OBSERVATION_KIND_NOT_RUN_OUTBOUND = 7andCONFORMANCE_OBSERVATION_KIND_NOT_RUN_A2A = 8. - CLI —
ztd eval runs tracecommand for inspecting sealed assignment agent traces by ID or--scenario, with optional--fullrendering and JSON output (internal/cli/cmd/eval/runs_trace.go). - Held context —
internal/services/evaluation/campaign_held_context.gofor managing conversation history, workspace continuity, and harness failure detection when topologies change across repetitions. - Socket error classification —
internal/services/logging/socket_errors_unix.goandinternal/services/logging/socket_errors_windows.goimplementing platform-specific socket error unwrapping (WSAECONNRESET,WSAECONNABORTED,WSAECONNREFUSED). - Constants —
ErrActionExecutionFailed,ErrEvaluationHeldContextUnavailable. - Explorer About View — Dedicated About view presenting the Explorer as a live window into ztd development and evaluation methodology (
evaluation-explorer/src/views/AboutView.tsx).
Changed
- Governed action execution — All 14 action registrations in
internal/services/pubsub/pubsub_commands.gonow return synchronous(string, error)results. Non-completed execution results fail closed at L5. - File operation error propagation —
HandleFsReadRequest,HandleFileEditRequest,finishLedgerTwoPhaseCommit, andstorage.HistoryHandlerpreserve and join underlying error causes in the returned error chain. - Server error logging — Gateway HTTP/HTTPS, public mirror, and explorer
http.Serverinstances useslog.NewLogLoggerbacked by the injected platform logger, tagging records withcomponent: gatewayorcomponent: operator. - Inference diagnostics — Non-streaming and streaming inference failure logs record
failure_code,provider_attempt_id,transaction_id, andlogging.ErrorKindwithout leaking prompt or provider payload text. - Rollout capability handling —
ztd eval rollout addnever excludes models based on saved capability probes; every evaluation sends tools to the provider and records current responses. - Provider failure diagnostic output —
AssignmentOutcomeSummaryand scenario grading format provider dispatch failures with fixed public category reasons instead of attributing missing responses to model behavior. - Tool schema validation —
file_write_on_operatorrequiresminLength: 1oncontentand validates content before governed dispatch.
Removed
fireAndForgetActionHandler— Removed frominternal/services/pubsub/pubsub_commands.go; all actions require explicit outcome and error return.- Obsolete enrollment CLI paths — Removed unused legacy enrollment helpers and posture constructors.
WhatAmILookingAtbanner — Removed from Evaluation Explorer Live view to maximize event stream visibility.
Fixed
- Silent success on failed filesystem reads — Read failures previously returned nil to L5, generating
COMPLETEDreceipts despite exit code 1. All failed reads now receive signedFAILEDreceipts. - Normal shutdown logged as failure — Normal
SIGTERMshutdown of Gateway listeners emittedhttp: Server closedatERRORlevel.GatewayModeService.Startnow handleshttp.ErrServerClosedas normal listener completion while preserving genuine startup causes. - Disconnected mirror clients — Broken pipe and connection reset errors during mirror responses are now recognized as client disconnects and logged at
DEBUG. - Explorer live stream noise and navigation — Filtered transient live events, improved Recent runs links, and linked failed assignment rows directly to Assignment Details.
Tests
- Full platform test suites executed and passing:
./ztd test unit— PASS (all packages, 0 failures)../ztd test integration— PASS (full suite includinggateway,storage,pubsub,evaluation,execution,logging, andcli/serve, race detector enabled)../ztd test lintandmake lint— PASS (0 issues, 0 vulnerabilities).make console-lint console-test console-embed-check— PASS (44/44 tests).make explorer-lint explorer-test explorer-catalog-check explorer-embed-check— PASS (680/680 tests).npm run lint,npm test,gen:contract-pack:checkinztd-adapter— PASS (445/445 tests).make website-test website-build website-bundle-check— PASS (142/142 tests, worker bundle valid).make third-party-notices-check— PASS.- Windows cross-compilation verified for
internal/services/logging.
- Core platform release smoke gate:
./ztd test release-smoke --root .ztd/operators/release-smoke-v112-20261016T183500Z— PASS (binary SHA-256d9bb29256fb623341217ac0109b56200e3872f87c762d8bbc0a72f48e3f313b1, exit 0, 0 failed, 0 skipped).
Documentation
CHANGELOG.md— Added and updated the1.1.2row.VERSION— Bumped tov1.1.2.make version-syncsynchronized console, explorer, adapter,protocol/node,website, and protocol docs headers.- Updated
docs/architecture/evals.mdwith held context, capability observations, and live event invariants. - Updated release readiness plan and developer guidance.
Compliance Evidence
Operational evidence bundle generated by ./ztd compliance release-prepare:
- Scope:
gateway-operational-20261016(window 2026-10-16T16:35:52.372Z to 2026-10-16T16:36:22.372Z, 258 receipts, 196 commitments, 2 source signer keys). - Public bundle:
release-evidence/v1.1.2/report-bundle/manifest.json. - Offline verification:
compliance_bundle@2.0.0valid=true, failures=0, checksum root05ab00088c25401667def26bb3b07cbefcce87765ce845d3190c209fd3c0f52a. - Source revision:
7edd6776c9fba676262c79baddda9de806e6378e. - Canonical projections:
docs/release_notes/v1.1.x/v1.1.2-compliance-evidence.mdanddocs/release_notes/v1.1.x/v1.1.2-compliance-evidence.csv.
Deferred
- All v1.1.0/v1.1.1 deferred items carry forward unchanged; see v1.1.1 Deferred.
- Provider-Transparent Evaluation Campaigns is proposed work, deferred to a future release.