You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.