Skip to content

DRIFT v0.7.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 18:28

Hosted deployment verification — 2026-07-16

  • Verified the Git-connected Railway v0.7.0 deployment in DRIFT_MODE=live:
    /health reports 0.7.0, /docs returns 200, and a Vercel-origin CORS
    preflight allows GET, POST.
  • Verified that /briefing?top_n=10 returns the four reviewed Insights without
    human_review_notes, and that /openapi.json does not expose that field.
  • Verified the deployed Vercel bundle requests briefing?top_n=10.

Reviewed-evidence capture and hosted verification — 2026-07-16

  • Published four human-reviewed Insights through publish_verified_insights
    after source-excerpt review: Transformers v5.14.1, vLLM v0.25.1,
    NCCL v2.30.7-1, and TensorRT 11.1 (draft IDs 3, 6, 7, 8; drafted and verified
    at the dev / gpt-5.6-luna tier to bound cost).
  • Verified the hosted Railway v0.6.1 app in DRIFT_MODE=live now returns
    provider-backed content: /briefing is non-empty, /search?q=vllm returns
    the vLLM v0.25.1 Insight, and /chat returns a grounded gpt-5.6-terra
    answer citing the vLLM/NCCL/Transformers releases
    (grounded_insight_ids [6, 7, 3]). This supersedes the earlier empty
    fail-closed briefing verification.
  • Archived the reviewed evidence and SHA-256 integrity manifest to
    assets/evidence/2026-07-16-all-sources-reviewed.json
    (sha256 2e08896b3c1c9507b557fc84e5558ce05343f9202227bb3a1ff7e964002d2318).

Fixed

  • Prevented empty or truncated structured-model responses from aborting a
    capture. Reasoning tokens share the response budget, so the output-token
    ceilings were raised for severity classification (40 → 256), Insight drafting
    (1200 → 4000), and the claim verifier (400 → 800).
  • Raised the frontend briefing request from top_n=3 to top_n=10 so the home
    page surfaces every reviewed Insight across sources, not just the top three
    (the /briefing endpoint already accepts top_n up to 10).

Changed

  • The capture pipeline now generates each cluster's Insight independently and
    skips — with a logged insight.generate.skipped warning — any cluster whose
    draft fails grounding or verification, instead of discarding the whole run on
    a single failed cluster.
  • The claim verifier now publishes only the verifier-accepted claims and drops
    the rejected ones, still requiring at least one direct fact and one
    recommended check, rather than rejecting an entire Insight when any single
    claim is rejected.

Added

  • scripts/check_openai_spend.py: a read-only, admin-key OpenAI cost check that
    reconciles the DRIFT project's real spend against the local
    .drift/spend-ledger.json guard (the local guard tracks only DRIFT's calls, so
    reconciliation is scoped to an explicit --project-id / DRIFT_OPENAI_PROJECT_ID
    rather than the organization total), with scripts/README.md. Uses the Costs
    API group_by/project_ids array query parameters.

Testing

  • Added pipeline tests for per-cluster skip-on-failure and the all-skipped
    guard, an Insight test for publishing only verifier-accepted claims, and
    updated the claim-grounding calibration eval so an ambiguous inference is
    dropped while the verified fact and check survive.

Evidence-integrity, review-note redaction, and notebook hardening — 2026-07-16

  • Fixed the evidence archive writer to emit raw LF bytes (write_bytes) so the
    manifest SHA-256 matches the evidence file's exact on-disk bytes on every
    platform; write_text previously translated \n to \r\n on Windows,
    leaving the manifest hashing bytes the file no longer contained. Added
    .gitattributes pinning assets/evidence/*.json to LF so core.autocrlf
    cannot re-introduce the mismatch, and a byte-level hash regression test.
  • Made human_review_notes database-only: the public Insight contract now
    excludes it from serialization (Field(exclude=True)) and the live-store
    reader no longer copies it across the API boundary, so /briefing, /search,
    and /chat can never return internal review text. Added model- and
    endpoint-level regression tests.
  • Sanitized notebooks/drift_manual_run.ipynb to a clean, output-free template
    (reset capture trigger, publish/archive IDs, and review notes), and made
    notebooks/drift_manual_run.results.ipynb a Markdown-only display record;
    it contains no runnable cells, operator configuration, provider/budget logs,
    or review notes. A regression test protects that boundary.
  • Full suite: 149 tests at 100% backend coverage.