Skip to content

Releases: LLM-4-People/millivolt

millivolt 0.4.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 13:42
Immutable release. Only release title and notes can be modified.
a6c7268

What's included

  • 65e96e0 release: bump VERSION to 0.4.1 for the promotion
  • 1d6ccaf tests: extract the config provider field mapping checks
  • 58710cf tests: extract the config MCP band checks
  • dbcb456 tests: extract the config validation and allowlist checks
  • c267935 tests: extract the config boot repair and strict load checks
  • 1e402bd tests: extract the lenient config overlay helpers and load checks
  • aab17a4 tests: extract the config explicit-zero overlay checks
  • 7ae4948 tests: extract the config overlay and diff-key checks
  • 60925c2 tests: extract the paused and queued SSE keepalive checks
  • 6596f9f tests: extract the operator hold and per-send timeout checks
  • e58939c tests: extract the theme check modules
  • d02bc3d tests: extract the operator pause queueing and hold publication checks
  • 26684e2 tests: extract the operator pause timer and persistence checks
  • 54f2de5 tests: extract the workflow policy modules
  • 73b0705 tests: extract the operator pause hold replacement checks
  • 5f84123 tests: keep the static benchmark writer methods in their original group
  • c081311 tests: extract the embedded dashboard static load checks
  • 8060344 tests: extract the dashboard bootstrap payload and version metadata checks
  • 6c13009 tests: extract the gzip middleware and dashboard compression benchmarks
  • 1567219 tests: extract the static cache, validator and representation checks
  • 3ef7126 tests: extract the dashboard config seed and canonical field contracts
  • 57daba3 tests: extract the dashboard shell asset reference and settings module checks
  • 6ea6574 tests: extract the dashboard install surface and brand icon checks
  • 8bfc52f tests: extract the storage provider rename history checks
  • 2c38430 tests: extract the storage writer overflow, close and busy-timeout checks
  • cf42b9b tests: extract the storage purge filter, count and export parity checks
  • 477a631 tests: extract the storage newest-first query paging checks
  • c441166 tests: extract the storage query endpoint and statement guards
  • 9dab32b tests: extract the storage migration fixtures and checks
  • bba5c9a tests: extract the storage data-version and purge-rebuild checks
  • ba24fdc tests: name the debug canary read after its module
  • c71b48d scheduler: split the retry send gate into scheduler_send.go
  • 1ee5369 scheduler: split pacing state and backoff bounds into scheduler_pacing.go
  • c3a49c4 scheduler: split admission and the queue into scheduler_admission.go
  • 0a5d5e3 scheduler: split the group index and idle eviction out of scheduler.go
  • 00f2b96 tests: extract the browser storm banner and incident checks
  • b82d67a web: split the request-log detail drawer out of log.js
  • 07156d4 tests: extract the browser theme, viewport and touch checks
  • 651ca0a web: split the request-log debug capture out of log.js
  • dd96e5a tests: extract the browser incremental width, day and retry hover checks
  • 807b6ea web: split the request-log rows out of log.js
  • b78f67e web: split the request-log archive window out of log.js
  • 1dacae9 docs: describe the ordered lazy settings module set
  • 3e88dd8 tests: extract the browser chart and focus checks
  • 480daf8 tests: follow the settings backup module in the template canary
  • fb33875 tests: extract the browser fixture constants and upstream owner
  • 09cd352 docs: follow the split analyzer owners
  • f8abd0a storage: split the snapshot owner into encode, admission, preflight, recover, scan, merge and inspect modules
  • 9b0ad35 docs: follow the split chrome owners after the shell split
  • 7973ca5 sse: split the analyzer into decode, feed, usage, terminal, error, fill and report modules
  • 5d6a9cc format: split the Responses codec into modules
  • f5a20fc format: split the Anthropic Messages codec into modules
  • ea95103 dashboard: follow the split chrome owners in the settings module comments
  • fcf36b7 tests: run the log merge regression probe in npm test
  • 10612f6 docs: follow the split module owners in comments
  • 5600cf8 dashboard: split the chrome monolith into six ordered modules
  • cd6cae0 dashboard: move the settings state, apply and purge owners to the last module
  • 5d2e2c8 dashboard: move the settings provider-editor actions to their own module
  • d5000cd dashboard: move the settings sub-conversations editor to its own module
  • bdf766c dashboard: move the settings request-overrides editor to its own module
  • ec98b3b dashboard: move the settings model-rules editor to its own module
  • 8506cd8 dashboard: move the settings providers editor to its own module
  • d80326b dashboard: move the settings backup and field surfaces to their own module
  • 7904ac7 dashboard: load the settings sheet through one sequential module list
  • 9696b79 docs: follow the split storage owners in comments
  • c08ed01 storage: move record column-value helpers to writer.go and remove store.go
  • 199083d storage: split provider alias rewriting into store_providers.go
  • 617cb4c tests: settle UI waits on observable state
  • b15bef3 ci: split the gate and require the promotion escalation
  • 94346e5 storage: split the analytical projection read surface into store_projection.go
  • bb5519f storage: move PurgeFilter and the delete preview beside Store.Clear
  • 717514d storage: split the bounded log export into store_export.go
  • 9c1fac1 storage: split the ad-hoc SELECT endpoint into query_admin.go
  • 39f6f23 storage: split durable record reads and the log page into store_query.go
  • 71d0498 storage: extend debug.go with sidecar byte accounting and the writer sweep
  • 77fa97f storage: split durable enqueue, writer and accounting snapshot into store_record.go
  • 973dd32 storage: split totals accounting and its persisted document into totals.go
  • 64782c9 storage: split store identity, options and lifecycle into store_open.go
  • 72c367b web: move the live-log page into aggregate_log.go
  • 3f3dd53 storage: split schema, migration and index reclaim into store_schema.go
  • 7ad054b web: move the explorer fold into aggregate_explorer.go
  • ae47a5f web: move request scoping into aggregate_scope.go
  • 6e46e78 web: move the bootstrap payload into aggregate_bootstrap.go
  • f44547d web: move the traffic chart fold into aggregate_chart.go
  • cb8f747 web: move the KPI band fold into aggregate_kpi.go
  • 6212807 web: move aggregate status classification into aggregate_status.go
  • 176f817 storage: reject an out-of-range persisted totals document
  • b85d88b refactor(config): move the override and sub-conversation gates into config_validate_overrides.go
  • c1cd8bd tests: pin the one-byte config floor as a rejection
  • 61cceb8 refactor(config): move Validate and the shared bounds into config_validate.go
  • 94f3db9 refactor(config): move the YAML load and repair path into config_load.go
  • eb84118 refactor(config): move Clone and the deep-copy helpers into config_clone.go
  • ace2a88 refactor(config): move the shipped defaults into config_defaults.go
  • 66e1274 web: pin the ring-derived unwritten set across a restart
  • d202773 refactor(config): move the Config types into config_types.go
  • 7dec659 storage: stream query rows into the response buffer
  • 529ba3c backup: encode archives at the measured compression level
  • 4bc0aef docs: follow the split proxy request and relay owners
  • e053a39 docs: describe the two-pass race and plain sharder
  • 6ec6575 tests: make the pooled lineage allocation probe deterministic
  • 1e894db proxy: move streamBody into relay_stream.go and retire relay.go
  • 67bfd28 proxy: move request parsing into request_parse.go
  • 85a702e checks: own the forced full-race entry point
  • 27059e8 tests: scope race coverage by evidence and split the gate
  • 52fa384 proxy: split relay translated-transform and rescue classification into relay_transform.go
  • c6468db proxy: move JSON counting scanners into request_json_count.go
  • f506967 metrics: validate contributions at the fold, not the accumulator
  • d566bef proxy: split relay retry driver and classification into relay_retry.go
  • 5e71666 proxy: move request metadata decode into request_metadata.go
  • faa033c proxy: split relay upstream metadata and timing helpers into relay_upstream.go
  • 7de6f6c proxy: move bounded request body reads into request_body.go
  • e8e4071 tests: pin the scratch release contract without pooling across GC
  • d9088c8 proxy: split relay serve and streaming-retry loops into relay_serve.go
  • 5a84302 proxy: move client identity and header plumbing into request_client.go
  • 5cea1a2 proxy: split relay spool and translated-structure helpers into relay_translate.go
  • 13382ef proxy: move target resolution into request_target.go
  • d0ed622 proxy: move token cap trust boundary into request_tokencap.go
  • 6a63d08 proxy: split relay non-streaming paths into relay_nonstream.go
  • 2bf8fa2 docs: point the lifecycle races at the split harness sections
  • 6a2e20f proxy: move ensured-tools rewrite into request_tools.go
  • 0b28628 tests: accept a warmed KPI memo at concurrent convergence
  • 40647ed format: move the Chat request encoder into its own file
  • f6c9561 format: move the Chat content and tool decoding into its own file
  • 581eda6 web: keep the pooled ring scratch when every record is durable
  • bd9efc2 proxy: move request override merge into request_overrides.go
  • 0c36c7e format: move the Chat legacy function decoding into its own file
  • 6433191 format: move the Chat request decoder into its own file
  • 6d11888 format: move the Chat request wire types into their own file
  • 36dc235 cmd/proxy: point backup comments at the split test owners
  • 146ece1 proxy: move upstream request assembly into request_upstream.go
  • 593d9b4 tests: pin both published percentile contracts
  • 3979d13 format: move the Responses tool-call tracking into its own file
  • c6964d5 format: move the Responses content channels into their own file
  • d10fd08 metrics: preallocate the exposition fold and its sample scratch
  • 32b47e3 format: move the Responses terminal classificati...
Read more

millivolt 0.4.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 04:52
Immutable release. Only release title and notes can be modified.
9a1e9a9

What's included

  • 52ce4a2 tests: pin in-band exclusion from the error enumerators
  • ead3e44 web: align in-band 5xx error classification with Go and SQL
  • 167b0a5 docs: document the in-band 429 attempt everywhere
  • ee4b2ba tests: cover the retryable committed-status twins
  • 1d9ed84 metrics: describe the in-band attempt exception
  • d9e8f4a tests: lock the in-band attempt into the shared contracts
  • 4840c8e proxy: correct the ensure-tools fast-path comment
  • ab8bb62 docs: report the merged-turn tool-result reorder
  • 4250e9e docs: qualify the store-less backup preview
  • ba18374 tests: pin the base64 document pre-scan decoy
  • 630676f proxy: keep the upstream 429 behind a committed 200
  • e2078fd backup: fail closed on an undecoded selected database
  • cb42ce9 format: tolerate a wrong-typed Chat reasoning_text
  • f0c345b format: do not report empty Chat reasoning details
  • fd77c04 format: keep a wrong-typed Responses error param raw
  • 4005138 tests: update the committed non-200 status pin
  • 6f46d4d docs: record analyzer counting limits
  • 02e3b47 docs: state start-event authority for stream tier
  • 3b01e37 tests: control null and absent access_programs
  • 69473f1 tests: pin Anthropic tool-id pre-scan decoys
  • bf3fb9a format: drop reasoning done events at message indexes
  • c5900d1 tests: use the shared wire frame parser
  • 6ea7152 docs: use bytes for the operator token band
  • 7338e2c docs: scope Bearer cookie minting away from MCP
  • 9196166 docs: scope the fail-closed config sentence
  • 5423f19 docs: qualify encoded-route preservation and base joining
  • 337318d format: fall back to Chat reasoning_text
  • cf12af4 proxy: capture pacer writes through the debug tap
  • 825c0e1 proxy: record the committed 200 on an in-band error
  • d01fd12 format: report dropped Anthropic response-only members
  • 368d4cc format: order tool results in a merged Anthropic turn
  • 9a0239c format: carry the service tier into an Anthropic stream
  • 31eaf5a format: keep summary and content reasoning channels apart
  • e7f492f proxy: scan exact ensure-tools keys once
  • 01256a7 proxy: accept the documented default auth header selector
  • 41dc8e5 format: decode error members independently
  • 612739e metrics: accept only string or numeric error codes
  • 39bdb6c backup: decode a selected archive member without a store
  • a878a34 proxy: frame a reassembled terminal at EOF
  • 1d936e0 sse: capture usage from a reassembled Responses terminal
  • 757cfb2 format: canonicalize tool schemas to a root object
  • 63b1f54 dashboard: give provider favicons a visible tile edge
  • cf85260 tests: scope the Responses item-status metadata
  • e8fb16a tests: make the pretty F1 pin reach the guard
  • 768d267 format: scope the Anthropic pre-scan to decoded content
  • 3325c78 format: keep open non-call items incomplete on failure
  • 0f598ed tests: rename the failed buffered argument row
  • 211ec27 tests: pin native folded usage through the relay
  • 7533914 tests: pin the truncated tool close matrix
  • 2ca73c2 tests: pin the seeded pretty-printed Responses echo
  • f1a544d format: report the emitted Responses citation span
  • bb060c0 format: pre-reserve request tool ids before decoding
  • cd34105 docs: describe leaving open tool calls unclosed on failure
  • fd22222 format: keep each Responses item close status
  • ab82943 format: classify Anthropic tool input empty spellings as bytes
  • eac4e8f docs: reflow the new adapter paragraphs
  • 036b926 proxy: wrap the cursor re-ask comment
  • 1e0f7e2 format: apply the reasoning-kind guard to reasoning handlers
  • 8407f67 metrics: document the literal service-tier record rule
  • bc197fe docs: scope the strip passthrough spelling to strip off
  • d26ba00 config: describe the real /mcp credential gate
  • 7df88dc format: pin the streamed Anthropic reasoning usage
  • f1d934a format: reuse warningField in the Chat citation test
  • 81d3e91 web: derive the CLI override keys from the settings payload
  • e54ff10 proxy: cover the remaining discovery error sinks
  • 86b23f9 proxy: start the committed-pacer test at the production status
  • b7bdad3 metrics: parse each error member independently
  • 175fe5b format: warn for include_obfuscation only when enabled
  • 7a9165f format: derive the Anthropic stop reason from content
  • e5ce3f7 format: reject negative Responses stream positions
  • b046493 format: canonicalize every empty Anthropic tool input
  • 49be060 format: route Responses reasoning events only to reasoning items
  • 178b842 proxy: record translated provider-tool activity
  • 09dc198 proxy: fail a translated bodyless status closed as 502
  • deaacd4 proxy: require HTTP 200 for a cursor re-ask run
  • 9fbb14d proxy: classify routes by the escaped request path
  • 9de12e1 format: defer the Responses message done frame until the status is known
  • 34ecd0f format: mark Responses message items incomplete
  • f86dd57 format: share one request tool-id namespace across decoders
  • fe9699d proxy: apply folded usage when a native body cannot decode
  • a9d68e9 format: end the Anthropic stream on its error event
  • 24c2906 format: leave open tool blocks unclosed on a failure
  • 490f11c sse: ignore the Responses reasoning request echo
  • 9772bf0 format: emit message-relative Responses citation spans
  • adf3cec docs: drop retry backoff from the pacer's covered phases
  • 605251d proxy: record the committed status on a fail-closed 202
  • 295802c docs: scope the native passthrough collection-bound claim
  • 1639f90 proxy: share the array counter with the stop scan
  • a97bf13 proxy: commit non-completion statuses through the pacer body mode
  • a3d4d1a proxy: bound provider error type and code at the client sinks
  • 5182cc1 docs: align the keepalive comments with the pacer's real scope
  • 239a876 format: rebase Chat message citations onto their text block
  • 52baa4d proxy: decode include entries before matching the logprob option
  • 0f1444a proxy: keep the request record for malformed Responses text
  • dd61767 docs: name the codec that enforces translated bounds
  • 516f7c9 tests: finish the warning helper deduplication
  • fe6f213 tests: reuse the shared warning-field helper
  • 48b8a92 tests: cover the streamBody partial-write owner
  • 2192967 proxy: correct the preflight parity comment
  • c9acab8 ui: show CLI-preserved settings in the restore preview
  • 07371ef config: name the real model-grouping filter surfaces
  • 245c32c config: stop promising a TTFB SSE keepalive
  • c44c27f docs: correct the translated-stream phase warning claim
  • a33a923 docs: split the Responses reasoning Anthropic surfaces
  • 588addc docs: separate preflight and translated-codec collection bounds
  • b66a2d8 proxy: keep discovery errors in the OpenAI envelope
  • a53f524 sse: raise a stale Anthropic custom total after completed output
  • c8095f4 format: emit required-nullable Anthropic message members
  • 593200f format: narrow Chat citation spans with the platform guard
  • 68394b8 tests: keep the Responses citation spelling fixture in range
  • f8c88bf format: rebase Responses citation spans onto their text part
  • 16891b3 format: bound the response.failed terminal error tuple
  • c01dd3e format: bound non-stream provider error fields
  • 70fb1fe format: reject non-chunk Chat stream bodies
  • 813a4b2 format: route Responses argument events only to tool items
  • 9a9c82f format: reserve streaming tool ids across every decoder
  • b77bbf4 format: bound Responses request metadata at the codec
  • 3177734 proxy: record deprecated Chat functions and function_call
  • c9b0082 proxy: record thinking only when the request enables it
  • b76b03d proxy: record native Responses request metadata
  • 924bff0 proxy: keep the request record for integral number spellings
  • 71be0dd proxy: reject non-200 cursor Run statuses
  • 1ba18b9 proxy: frame a terminal tail after a flushed data line
  • 2920efe proxy: count composed cursor error frames once
  • 3d0fcb4 proxy: count partial translated-error and cursor writes
  • ddc21b9 proxy: remember an already-flushed data line at the hold
  • 2d729dc proxy: restore the streamBody doc block
  • 48ed2fb tests: match the audio limit pin case
  • b0cb35e docs: record the translated audio-output limit
  • 95ab756 docs: list the allowed_callers array bound
  • e8b5028 format: guard stream index narrowing on 32-bit builds
  • 8298bf9 format: classify a Chat error envelope before its object
  • daab605 proxy: count partial writes at every client writer
  • eb3816d format: treat whitespace-only tool start input as empty
  • 82692cb format: bound merged response metadata across duplicate objects
  • 8f9840d proxy: frame every held data line as its own event
  • 7a3216e format: use valid thinking budgets in codec fixtures
  • a1b93e5 docs: document accepted stream decoding limits
  • e76a6ff tests: pin the round-10 contract-decision docs
  • 5ad2e40 proxy: correct Anthropic discovery auth comments
  • a7b94ec sse: pin Chat tool-call integral index retention
  • 904fb10 format: guard the Responses owner index against a full scan
  • 0595d6e docs: match Go HTTP field parsing for caller limit headers
  • 1fcfc72 config: document the request override rule cap
  • d7f674a config: state request override precedence exceptions
  • 12445a3 config: document allowed base URL scheme and port rules
  • 8c3beb0 web: preview live-only keys in a restore
  • 815e423 proxy: count delivered bytes on a partial client write
  • 0ea9bd4 sse: keep the first nested Anthropic error
  • cfa80f9 format: bound provider stream error fields at one owner
  • c256063 format: drop assistant media from Anthropic responses
  • 4b04dde format: reject non-completion Chat response bodies
  • 79364cc docs: state the json_schema object requirement
  • d95b635 format: require a JSON object json_schema schema
  • f52f506 format: pin Chat stream created integral spellings
  • b39859c format: decode remaining response indexes and spans exactly
  • 15e3967 format: bound Chat n to the schema range
  • e97688c format: require a valid Anthropic thinking budget
  • 3448078 format: accept integral spellings on request integer fields
  • 2a97665 format: place Anthropic system runs by emitted turns
  • da9efe1...
Read more

millivolt 0.3.37

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:27
Immutable release. Only release title and notes can be modified.
29dd51a

What's included

  • ddff5a6 sse: capture usage from a reassembled terminal document
  • 0c0f905 proxy: keep a late terminal event name in its original position
  • a7e6edd proxy: keep an over-bound terminal event whole for the analyzer
  • f71756c sse: count each terminal Responses text unit as a chunk
  • 8f4bf6e format: emit Responses terminal blocks in document order
  • 75bcfcd format: track Responses reasoning summary coverage per part
  • fe67991 format: avoid repeating a non-empty Responses start payload
  • fb198bd format: consume done payload for an announced empty part
  • 07f22c2 proxy: keep a retry non-completion status out of the SSE body
  • 39a19c7 proxy: buffer Responses terminal events across their SSE boundary
  • dff1702 format: fill announced empty Responses channels from terminal payload
  • fbe119b sse: record terminal-only Responses answer presence and TTFT
  • ef1145d format: identify terminal Responses items by wire identity

Image: ghcr.io/llm-4-people/millivolt:0.3.37
Digest: sha256:00df9db80e7296671ae22031f3771965f4751dd694c8ab39a97b5d39e3226909

Full changelog: v0.3.36...v0.3.37

millivolt 0.3.36

Choose a tag to compare

@github-actions github-actions released this 23 Oct 20:53
Immutable release. Only release title and notes can be modified.
6b67611

What's included

  • 596ed44 docs: match warning header truncation behavior
  • e0f0a57 tests: cover terminal-only tool calls on response.incomplete
  • 8e37a4a proxy: drop a terminal event name whose data does not match
  • 3a8c012 format: flush buffered initial tool arguments on truncation
  • 2614be5 sse: bound terminal content-part parsing
  • 6ab5fdd proxy: commit non-completion status atomically against the pacer
  • fec9446 format: bound buffered Responses initial tool arguments
  • 2d49c40 format: close target blocks when the encoder fails
  • 2d227d0 sse: count terminal-only Responses output and keep terminal names paired
  • e89c505 format: buffer initial tool arguments and synthesize terminal items
  • 451ffc2 proxy: keep non-completion statuses out of the translated SSE path
  • 8103239 format: tighten the start-payload regression
  • 523e475 docs: list every bounded request collection
  • 3b96c56 format: report a plain-text document title loss
  • 8a05af1 sse: count terminal-only Responses function calls
  • 5c65041 format: open Chat reasoning before text and drop a dead flag
  • f8aba6c proxy: route the last HTTP error sinks through the shared writer
  • 370ad2b proxy: relay accepted and status-only responses verbatim
  • e830c60 proxy: render pacer pre-commit errors in the client protocol
  • 84f0f8b format: bill Responses item envelopes to the terminal budget
  • 32445cf format: close target blocks on hard decoder failures
  • 6a144c3 format: emit start-only payloads and initial tool arguments
  • 4779549 format: retain Anthropic cache totals across usage deltas
  • be2df17 tests: lock the translation and stream contracts
  • 3a2b68f format: document the real translation warning contract
  • e164d23 proxy: pin the routing path and token-cap boundaries
  • 6613169 accounting: read usage from the source, not the translated wire
  • 68f54ce format: reject impossible usage and check every fold
  • 6a5fde5 format: preserve reasoning, annotations and stop sequences
  • 192dd2c format: keep cache breakpoints and report request losses
  • 1ed5893 format: emit only target-valid content parts
  • eebd822 format: refuse a tool restriction the target cannot represent
  • e6a974a format: emit only target-valid request vocabularies
  • 1b45eed format: one translated retention budget and bounded identity
  • 840e2ff format: bound every decoded wire collection
  • f75a47d sse: analyze the real provider wire taxonomy
  • b6859c4 format: preserve the Responses terminal state
  • a431b65 proxy: render every error surface in the client protocol
  • 47464e8 format: guarantee translated stream preamble and start payloads
  • 4279c2a format: close each translated block exactly once
  • 2d5b118 format: bound every wire collection before decode
  • 74f5ddd format: observe every translated source stream
  • ab96899 proxy: detect forwarded provider error frames
  • a717892 format: bound response arrays before decoding
  • 5320895 format: close Anthropic blocks at terminal events
  • 4d210bd proxy: record truncated Anthropic streams
  • 943ba62 proxy: keep translation warnings proxy-owned
  • fb5e126 proxy: map Anthropic-body token overrides to max_tokens
  • df48041 format: normalize inline file data URLs
  • 8c28c24 format: normalize inline image data URLs
  • 6c3c7e3 format: decode legacy Chat response function calls
  • 592bbd6 format: decode Chat reasoning content
  • c0094af format: report audio dropped from tool results
  • 9b52efd format: lift every system message for Anthropic
  • 722ea36 proxy: detect terminal frames by event name
  • be14711 docs: wrap the adapter summary paragraph
  • b23e60d format: convert or report legacy Chat request fields
  • 6c8757a format: report only unmapped Responses include options
  • 245f4d3 format: map minimal effort onto Anthropic's low
  • e745200 format: clamp Chat temperature for Anthropic targets
  • 7008ee2 format: remove dead translation shims
  • 29a0402 proxy: fail a translated in-band error with 502
  • 55557b4 format: report each Chat metadata loss once
  • 5187e71 proxy: answer pre-commit errors in the client protocol
  • 56edd3b format: bound retained Responses stream output
  • e419cb1 format: warn on fields the target cannot carry
  • 65819ac format: decode and preserve Chat store requests
  • f1172d3 format: close Responses blocks at terminal events
  • 66d8242 format: emit one Chat terminal delta and accept missing [DONE]
  • 1611a8f proxy: merge request and response translation warnings
  • 9d771a9 proxy: keep Anthropic passthrough out of Chat degenerate rules
  • c01bb7f format: carry inline media into Chat and Responses bodies
  • 5af915a proxy: remove duplicated ensured-tools commentary
  • e893ffa docs: avoid claiming universal field coverage
  • 0749aa1 docs: document client protocols and cross-protocol translation
  • 2eed22c proxy: translate between client and upstream protocols
  • 1180e9c format: add the canonical protocol IR and wire codecs
  • 6dee111 config: add the translation loss policy setting
  • 44a70b1 tests: skip packages with no test files in the sharder

Image: ghcr.io/llm-4-people/millivolt:0.3.36
Digest: sha256:03d10a7daf0ad445bf88b502f481e3db34dd43a4c41f3df58873c0901febbcab

Full changelog: v0.3.35...v0.3.36

millivolt 0.3.35

Choose a tag to compare

@github-actions github-actions released this 21 Oct 15:39
Immutable release. Only release title and notes can be modified.
d00264e

What's included

  • 7e09a20 ci: add a dispatched full-gate recovery for testing
  • 244d6c9 tests: size docs captures for table font variation
  • 7e21bf4 ci: release merged promotion PRs without a main push event

Image: ghcr.io/llm-4-people/millivolt:0.3.35
Digest: sha256:014684b5ef26a2475c497a3abb9cd69473cad8f31fa6aa27edaf0ab8b890048b

Full changelog: v0.3.34...v0.3.35

millivolt 0.3.34

Choose a tag to compare

@github-actions github-actions released this 21 Oct 14:03
Immutable release. Only release title and notes can be modified.
5530072

What's included

  • 261c36e tests: pin compacted and hidden-bar chart domains
  • 14a794e dashboard: define the compact speed unit
  • 535720d tests: make rate and clock checks locale-neutral
  • 1e8ef47 tests: cover incremental inserts and header floors
  • 36ae024 requests: suppress the cell title over client badges
  • 44bdb0d dashboard: keep the spark height mirror on the base rule
  • 5118ec9 dashboard: describe the responsive overview tile height
  • fc155d8 requests: describe the measured column floor precisely
  • 6e7600f tests: cover incremental column growth
  • de2ce60 docs: correct the column and sparse-chart claims
  • 2d6a9a0 requests: share one header builder with the width probe
  • 7b2f651 dashboard: fit overview tiles to short locked cards
  • 61ea445 dashboard: format compact speed values consistently
  • e32769a requests: remeasure every live status transition
  • 5b5f068 requests: keep retry messages from widening the table
  • 63272e1 tests: point the identity canary at its new owner
  • 11cb2ba dashboard: use the compact t/s unit in the Avg TPS KPI
  • 08322b5 dashboard: tighten overview cost and timing units
  • 14dd2f6 tests: drop stale fixed-column wording from the request probes
  • da5f77b requests: size columns to content and only ever grow
  • 181f966 dashboard: give overview sparks real vertical depth
  • d94f192 dashboard: fill line-only chart plots edge to edge
  • dead05c proxy: timestamp translated streams before client writes
  • f27887c metrics: use one TPS and one per-attempt TTFT
  • cfaa2a5 Require an immediate commit for each completed fix

Image: ghcr.io/llm-4-people/millivolt:0.3.34
Digest: sha256:10f34dde49bac62e3f3ebecebf8ded5a0f4cec693902685a0d30e7a681d223c9

Full changelog: v0.3.33...v0.3.34

millivolt 0.3.33

Choose a tag to compare

@github-actions github-actions released this 21 Oct 08:20
Immutable release. Only release title and notes can be modified.
cd2c371

What's included

  • 779635b Fix release publication when main checks are skipped
  • c5feec5 Rework dashboard theme picker and harden release gate

Image: ghcr.io/llm-4-people/millivolt:0.3.33
Digest: sha256:44453fc59b6a89011ba81d720f932d0c5c2e5d4afce62651f4b36b5c0aee80a3

Full changelog: v0.3.32...v0.3.33

millivolt 0.3.32

Choose a tag to compare

@github-actions github-actions released this 20 Oct 22:41
Immutable release. Only release title and notes can be modified.
4bb3091

What's included

  • f6f1921 Load dashboard scripts through the jsdom request interceptor
  • df21d66 Revert "Merge atomic tool calls and append soundness into testing"
  • 58bb84f Move delivery timeouts into settings
  • 8138ce2 Stop body idle deadline from cutting SSE streams
  • d6a3bfd Pin multi-size favicon fallback
  • b031028 Restore multi-size favicon fallback
  • 76df292 Separate theme accents from status colors
  • 47e99cd Refresh brand raster icons for the new accent
  • e40cd9b Clarify theme ownership and contrast documentation
  • 09dc24a Differentiate Slate and Ember theme accents
  • 3129e56 Make every dashboard theme work in Clear and Black
  • f21dc14 Add dashboard theme palettes and a theme picker
  • fa26bbd Close four soundness holes and a defaults-path byte-loss regression
  • a1324c8 Close six soundness holes in atomic tool calls; make the accounting bounded
  • e29811d Hide the Restart control when self-restart cannot work
  • 5bc2009 Rework atomic tool calls; drop the append rescue; fix tool-call accounting
  • ac4f007 Fix the framing regression the fourth review found, and correct the docs
  • 21dd52f Fix the soundness holes and dead code the third review found
  • 22582e4 Address the round-two review of atomic tool calls
  • c8e2097 Add atomic tool calls and make the append retry sound
  • 58507ab Correct the client-retryability documentation against the real SDK
  • d6bc6f3 Revert "Add opt-in append_retries rescue for post-content stream truncation"
  • 3061aa6 Add opt-in append_retries rescue for post-content stream truncation

Image: ghcr.io/llm-4-people/millivolt:0.3.32
Digest: sha256:b7ffcd6d097e42911460244ca4b93ab5446327acd1d025e1f0efc7b205f02fea

Full changelog: v0.3.31...v0.3.32

millivolt 0.3.31

Choose a tag to compare

@github-actions github-actions released this 20 Oct 19:14
Immutable release. Only release title and notes can be modified.
348279b

What's included

  • b3c8031 docs: correct release failure recovery
  • 1ae775f docs: qualify code-bearing promotions
  • 0d4655f ci: keep docs-only promotions release-free
  • afad853 docs: document ruleset verification
  • bd0de5e docs: tighten the promotion checklist
  • f1955ae docs: clarify the promotion and release workflow

Image: ghcr.io/llm-4-people/millivolt:0.3.31
Digest: sha256:e9c0e1f698262efb10afb6bb88df732bff90feba5f799057fdf3f1a242f7ea28

Full changelog: v0.3.30...v0.3.31

millivolt 0.3.30

Choose a tag to compare

@github-actions github-actions released this 20 Oct 18:49
Immutable release. Only release title and notes can be modified.
95203e2

What's included

  • 85b5c1b ci: release versioned promotions without pushing main
  • 6c07caf version: compare release versions with SemVer precedence
  • ec0c275 ci: enforce testing-first main promotions

Image: ghcr.io/llm-4-people/millivolt:0.3.30
Digest: sha256:d216d7436231b4ed56ed95f1189d849928b42e136de5569f7b92d5a33a90e254

Full changelog: v0.3.29...v0.3.30