Skip to content

feat: latency publisher, release assurance, edge-doc reconciliation#257

Merged
rylinjames merged 5 commits into
mainfrom
feat/deploy-evidence-and-latency-publisher
Jun 23, 2026
Merged

feat: latency publisher, release assurance, edge-doc reconciliation#257
rylinjames merged 5 commits into
mainfrom
feat/deploy-evidence-and-latency-publisher

Conversation

@rylinjames

Copy link
Copy Markdown
Collaborator

Bundles several working-tree workstreams into one PR.

Changes

  • Latency publishertether publish-latency + scripts/publish_jetson_latency.py render tether bench realtime certificates into a per-model comparison table. New shared lib src/tether/realtime_cert_publish.py + multi-cert formatter in realtime_cert.py; README latency-table markers (auto-populated on publish).
  • Release assurancesrc/tether/release_assurance.py + tether release assure docs.
  • Chat subsystem updates (chat/{executor,loop,schema,welcome}.py); shadow rollout packet writer.
  • Blackwell reconciliation — README hardware table now reflects onnxruntime-gpu>=1.25.1 shipping sm_120 kernels, replacing the stale "not supported / segfaults" claim (matches the code's Blackwell guard).
  • Type safety — fixed 21 mypy errors (cli.py x17, realtime_cert x1, release_assurance x3, shadow_rollout x1); changed src is mypy-clean.

Verification

  • Full test suite: 3211 passed, 91 skipped, 1 failed — the single failure is ModuleNotFoundError: No module named 'uvicorn' (the [serve] extra is absent from the test env; the test imports uvicorn itself). Environmental, not a code defect.
  • mypy clean across all changed src files.
  • CLI loads; publish-latency and release assure register and run.

🤖 Generated with Claude Code

rylinjames and others added 5 commits June 20, 2026 14:05
Bundles the working-tree changes as one set (per maintainer request):

- Latency publisher: `tether publish-latency` CLI + scripts/publish_jetson_latency.py
  turn `tether bench realtime` certificates into a per-model comparison table.
  New shared lib src/tether/realtime_cert_publish.py + multi-cert formatter in
  realtime_cert.py; README latency-table markers (auto-populated on publish).
  Tests: tests/test_realtime_cert_publish.py.
- Release assurance: src/tether/release_assurance.py + `tether release assure`
  docs; tests/test_release_assurance.py.
- Chat subsystem updates: chat/{executor,loop,schema,welcome}.py + test_chat_regression.py.
- Shadow rollout: src/tether/shadow_rollout.py.
- Blackwell reconciliation: README hardware table now reflects onnxruntime-gpu>=1.25.1
  shipping sm_120 kernels (replaces the stale "not supported / segfaults" claim,
  matching the code's Blackwell guard).
- Type safety: fixed 21 mypy errors across cli.py (17), realtime_cert.py (1),
  release_assurance.py (3), shadow_rollout.py (1); changed src is mypy-clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
`{failed or "-"}` reused the f-string's double-quote delimiter (a PEP 701
feature, Python 3.12+), which is a SyntaxError on Python 3.10/3.11 — it broke
the `pytest (ubuntu py3.10)` CI job at collection of test_release_assurance.py.
Switched the inner literal to single quotes. Verified every changed .py file
compiles under Python 3.10.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
inject_table_into_readme verified both markers were present but not that
END follows BEGIN; an out-of-order or duplicated END raised an unpack
ValueError instead of returning False. Guard that END appears after BEGIN.
Adds a regression test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
_final_decision derived PROMOTE/HOLD/ROLLBACK only from component decisions and
ignored risk_signals, so a policy clamping actions at runtime (guard_violations
> 0) returned PROMOTE while the report's own blocked_by listed it — a self-
contradicting verdict in a deployment safety gate.

- Hard-safety signals (guard_violations, policy_guard_regression) now force a
  non-PROMOTE decision (HOLD, or ROLLBACK for an active candidate), regardless of
  the promotion profile — these are zero-tolerance and not profile-tunable.
- Profile-governed signals (policy action/latency deltas) stay governed by the
  promotion gate, so we don't over-block what a profile explicitly permits.
- blocked_by now agrees with the decision: empty on PROMOTE, full failing-signal
  set otherwise — no more contradictory reports.

Adds a regression test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rylinjames rylinjames merged commit ce2df35 into main Jun 23, 2026
7 checks passed
@rylinjames rylinjames deleted the feat/deploy-evidence-and-latency-publisher branch June 23, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant