Implement layered timeout enforcement

This commit is contained in:
2026-07-26 18:31:06 -05:00
parent a0e905ce46
commit ed0c9f6370
12 changed files with 262 additions and 137 deletions

View File

@@ -58,7 +58,7 @@ The post-completion review found:
1. Decide and document the precedence among:
- `Config.Timeout`;
- a non-zero timeout on a supplied `http.Client`; and
- a positive timeout on a supplied `http.Client`; and
- an explicit per-request `timeout_seconds` override.
2. Align `internal/llm` with that decision, removing any constructor state that
is immediately discarded during generation.
@@ -134,8 +134,17 @@ This follow-up is complete when:
## Completion Record
Completed on 2026-07-26. The timeout contract, single-file source contract,
strict-decoding boundary, and maintained HTTP example check were reconciled.
Completed on 2026-07-26. The single-file source contract, strict-decoding
boundary, and maintained HTTP example check were reconciled. A subsequent
assembled-engine review corrected the timeout work into two independent
layers: a construction-time transport cap and a per-generation context
deadline, with explicit request zero disabling only the latter. Deterministic
public `Engine.Run` coverage now protects the interaction with caller
deadlines, profile and request values, the framework default, `Config.Timeout`,
and supplied HTTP-client caps.
Final validation confirmed local links and paths, both maintained configuration
files through the real loader, the maintained render and Go package examples,
`go test ./...`, `go vet ./...`, and `go build ./cmd/scriptorium`.
`go test ./...`, `go vet ./...`, and a temporary-output build. The Promptkit
Step 1 documentation gate remains complete after this layered-timeout
correction.

View File

@@ -94,8 +94,9 @@ refresh and policy updates are merged and the repository has an agreed,
accurate baseline.
**Gate status:** Complete as of 2026-07-26. The completed documentation
refresh and follow-up verification record are in the [documentation compliance
roadmap](documentation.md).
refresh, follow-up verification, and layered-timeout correction record are in
the [documentation compliance roadmap](documentation.md). Step 1 remains
complete after that validation.
### Step 2: Record The Architectural Decision And Detailed Boundary