Skip to content

v0.2.5

Choose a tag to compare

@phenomenoner phenomenoner released this 02 Sep 09:27
· 7 commits to main since this release

Thinkroom v0.2.5

This release makes long provider-backed research bounded and observable while
preserving Thinkroom's fail-closed evidence contract.

Highlights

  • Adds separate soft and hard job deadlines, bounded per-route timeouts, and a
    shared three-call budget for transient retry, configured fallback, and
    producer-affine schema repair.
  • Adds an attempt-local primary circuit reconstructed from durable provider-call
    evidence. Timeouts, repeated fast failures, and primary raw-transport
    amplification prevent new primary calls in the same attempt.
  • Allows one configured fallback after a primary raw-transport limit without
    retrying the amplified route. Semantic, final-result, process-envelope, and
    fallback output limits remain terminal.
  • Records content-free Prime RPC byte/event counters on successful and failed
    calls without retaining prompts, responses, provider errors, or event payloads.
  • Adds snapshot-labelled progress substates for active, queued, slow, degraded,
    stalled, and presumed-dead work.
  • Preserves typed partial evidence when a soft deadline prevents remaining work
    from starting.
  • Adds an opt-in rollout concurrency canary of two while retaining the production
    default of one active provider call.
  • Migrates the exact canonical v0.2.4 SQLite schema in place and rejects unknown
    or intermediate database shapes before mutation.

Verification

  • Locked dependency, format, lint, and static type gates passed.
  • 337 tests passed on Ubuntu 24.04.
  • The release wheel passed a fresh Python 3.12 hash-locked install, runtime-lock
    verification, package verification, restart persistence, and exclusive-process
    lock smoke tests.

See docs/provider-resilience-v0.2.5.md and docs/OPERATIONS.md for the complete
runtime contract and rollout guidance.