diff --git a/AGENTS.md b/AGENTS.md index 651a714..330bb61 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -28,7 +28,7 @@ PostgreSQL was verified at migration `0003` through its public TCP proxy; an eight-source capture produced six verifier-passed drafts, and four were published after human review (Transformers v5.14.1, vLLM v0.25.1, NCCL v2.30.7-1, TensorRT 11.1). The hosted `v0.6.1` app was then verified through -`/health`, `/briefing` (now returning the four reviewed Insights), branded +`/health`, `/briefing` (now returning the five reviewed Tier.FINAL Insights), branded `/docs`, a Vercel-to-Railway CORS preflight, and provider-backed `/search` and `/chat` over that reviewed set. The Vercel HTML also references the canonical API-served banner pair. This is a small, bounded reviewed set — not broad or @@ -41,9 +41,14 @@ coverage; `main` branch protection requires the CI quality gate and the Codecov `pytest` upload is confirmed (both verified 2026-07-17). The 2026-07-17 freeze-plan audit and documentation synchronization is recorded under Codex session `019f7190-912d-70e3-be6d-fcc81bf8e203`. +The v0.9.0 evidence cleanup and session synchronization is recorded under +Codex session `019f7213-be19-7e50-92ac-a48bd5ecaacb`. The source patch `v0.8.1` contains the Ask DRIFT grounding/citation fix and is tagged from `feature/v0.9.0-final-evidence`; hosted verification remains -`v0.8.0` until a deployment is independently checked. +at the deployed `v0.8.0` app build until a v0.9.0 redeploy is independently +checked. The live Railway store was updated on 2026-07-17 and `/briefing` +verified exactly five reviewed Tier.FINAL (`gpt-5.6-sol`) Insights: 10, 11, 13, +15, and 16; Luna IDs 3, 6, 7, and 8 are draft. ## Key commands @@ -187,7 +192,8 @@ Railway FastAPI service built from the repository root with `Dockerfile` and `railway.json`. The public frontend is `https://dr1ftless.vercel.app` and the API is `https://drift-api-prod.up.railway.app`. The current verified hosted application -is `v0.8.0` in `DRIFT_MODE=live`. On 2026-07-17, Railway `/health` reported +build is `v0.8.0` in `DRIFT_MODE=live`; the current source version is `v0.9.0`. +On 2026-07-17, Railway `/health` reported `0.8.0`, `/docs` returned `200`, the public Vercel page rendered Ask DRIFT, and a Vercel-origin CORS preflight allowed `GET, POST`. `v0.7.0` is the prior verified release; `v0.6.1` was the revision before that. On 2026-07-16, `/health` reported diff --git a/CHANGELOG.md b/CHANGELOG.md index cae2dad..abb3ff5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,45 +8,23 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) · Versioning: The `0.1.0` entry is the initial repository baseline published on GitHub as the annotated `v0.1.0` tag. -## [0.8.1] - 2026-07-17 - -### Fixed - -- Made live Ask DRIFT responses structured and grounding-aware. The model now - reports the Insight IDs it actually used, the API filters citations and - `grounded_insight_ids` to that subset, and stray or malformed model IDs can - no longer cause unrelated source links to be presented for a question. -- Added regression coverage for subset citation behavior, malformed structured - responses, blank answers, router schema forwarding, and lifespan integration. - -### Release boundary - -- This is a source patch release for the Ask DRIFT grounding fix, tagged from - `feature/v0.9.0-final-evidence`. Hosted Railway/Vercel verification remains - at `v0.8.0` until a deployment is independently checked. - ## Targeted releases — planned, not released These targets are planning records only. They do not change the current -verified release (`v0.8.0`) or claim that the paid Tier.FINAL rerun has run. +verified app deployment (`v0.8.0`) or claim that the `v0.9.0` app build has +been redeployed. The `v0.9.0` Tier.FINAL evidence pass and live-store update +are recorded in the `[0.9.0]` entry below. -### `v0.9.0` — final-tier evidence and selected polish +### `v0.9.1` — Terra grounded-run evidence -Targeted scope: - -- rerun selected reviewed examples through Tier.FINAL (Sol), initially the - four currently published sources: Transformers, vLLM, NCCL, and TensorRT; -- preserve source bytes, exact claim spans/hashes, upstream references, model - identifiers, verifier results, model-run audits, and meaningful human review - notes for every accepted result; -- publish only verifier-passed results after human review, retaining the - existing bounded-evidence and spend/retry guardrails; and -- optionally include narrowly scoped polish that improves judge clarity or the - demo path, provided it does not delay or blur the evidence boundary. - -The Tier.FINAL run is still pending operator execution and budget validation. -The reported remaining account balance is planning context, not release -evidence; the configured spend guard remains authoritative. +Planned, not released. After the Tier.FINAL Sol evidence is complete, run a +small, explicitly bounded Tier.LIVE / `gpt-5.6-terra` capture against the +reviewed store. Preserve retrieved Insight IDs, structured answer audits, +citations, provider metadata, spend/retry records, and updated screenshots as +inspectable evidence. Verify that Terra answers remain retrieve-first and cite +only the evidence used; do not expand the product surface or imply broad +continuous monitoring. Publish this release only after the run, artifacts, +tests, documentation, and intended deployment path are independently checked. ### `v1.0.0` — final submission release @@ -61,11 +39,92 @@ Targeted scope: `v1.0.0` is the submission-final target, not permission to add new feature surfaces such as MCP, tool calling, IDE integration, or a release timeline. +## [0.9.0] - 2026-07-17 + +### Tier.FINAL evidence pass — 2026-07-17 + +- Follow-up Codex session `019f7213-be19-7e50-92ac-a48bd5ecaacb` completed the + evidence cleanup and release-boundary synchronization on 2026-07-18. +- Executed the paid Tier.FINAL capture (`gpt-5.6-sol`) through the DRIFT Manual + Run notebook. All eight configured primary sources were sampled (one item + each); eight clusters produced verifier-passed drafts (IDs 9–16), each drafted + and separately verified at `gpt-5.6-sol`. +- After source-excerpt human review, published five Insights: JAX v0.11.0 (10), + Transformers v5.14.1 (11), vLLM v0.25.1 (13), NCCL v2.30.7-1 (15), and + TensorRT 11.1 (16). This grows the reviewed corpus to five sources, adding + JAX v0.11.0 — a substantive release with real breaking changes — alongside the + four sources first published at the dev / `gpt-5.6-luna` tier. +- Held three verifier-passed drafts at the human-review gate rather than + publishing them: a single PyTorch trunk commit (not a release), CUTLASS 4.6.1 + (thin evidence with an interpretive expansion of an upstream typo), and an + out-of-tree Triton `gfx950` tutorial pin (not a mainline release). +- Archived the reviewed evidence and SHA-256 integrity manifest to + `assets/evidence/2026-07-17-all-sources-reviewed.json` + (sha256 `df32b3d4315b09fb4a6dbd508d381ca2c8095e25e16f88c4741ce7bc3055a337`). +- Recorded a display-only results notebook at + `notebooks/drift_manual_run.sol.results.ipynb` (Markdown-only; no executable + cells, operator configuration, provider/budget logs, or review notes), kept as + a companion to the earlier `gpt-5.6-luna` results record rather than replacing + it. + +### Operational note + +- A Tier.FINAL (`gpt-5.6-sol`) capture needs a higher per-attempt model timeout + than the 20-second default; the heavier draft stage otherwise exceeds the + timeout, exhausts its retries, and aborts the run (a non-`ValueError` stops the + capture rather than skipping one cluster). Raising `DRIFT_MODEL_TIMEOUT_SECONDS` + to the 120-second maximum let the eight-source capture complete. Local spend for + the reviewed Sol run stayed within the configured spend guard. + +### Changed + +- Rewrote the `submission/DRIFT_FREEZE_PLAN.md` score matrix as an honest + current-vs-target readiness view and added a dated audit addendum; reclassified + MCP, tool-calling, and IDE items as optional future work that is not shipped. + Updated `docs/INITIATIVES.md`, `docs/CODEX_PROMPTS.md`, and + `submission/SUBMISSION.md`, and removed the superseded + `submission/NEXT_STEPS.md`. +- Renamed the tracked UI screenshots to a kebab-case set led by the reviewed + briefing (`01-briefing`), claim evidence (`02-briefing-claim-evidence`), the + Ask DRIFT box (`03-ask-drift`), two grounded-answer examples + (`04.1-ask-drift-grounded-answer-nccl-example`, + `04.2-ask-drift-grounded-answer-tensorRT-example`), and the branded API docs + (`05-api-docs`); updated the README gallery image paths to match. + +### Release boundary + +- This is a source and reviewed-evidence release. The live Railway store now + serves exactly five reviewed, verifier-passed Tier.FINAL Insights (IDs 10, + 11, 13, 15, and 16), all produced at `gpt-5.6-sol`; the four Luna Insights + (IDs 3, 6, 7, and 8) were retracted to draft on 2026-07-17. Hosted app + verification remains at `v0.8.0` pending redeploy: the deployed Railway + `/health` and Vercel frontend are not being described as `v0.9.0`. The + reported remaining account balance is planning context, not release + evidence; the configured spend guard remains authoritative. + +## [0.8.1] - 2026-07-17 + +### Fixed + +- Made live Ask DRIFT responses structured and grounding-aware. The model now + reports the Insight IDs it actually used, the API filters citations and + `grounded_insight_ids` to that subset, and stray or malformed model IDs can + no longer cause unrelated source links to be presented for a question. +- Added regression coverage for subset citation behavior, malformed structured + responses, blank answers, router schema forwarding, and lifespan integration. + +### Release boundary + +- This is a source patch release for the Ask DRIFT grounding fix, tagged from + `feature/v0.9.0-final-evidence`. Hosted Railway/Vercel verification remains + at `v0.8.0` until a deployment is independently checked. + ## [0.8.0] - 2026-07-17 ### Documentation audit — 2026-07-17 -- Recorded Codex session `019f7190-912d-70e3-be6d-fcc81bf8e203` as the additive +- Recorded Codex sessions `019f7190-912d-70e3-be6d-fcc81bf8e203` and + `019f7213-be19-7e50-92ac-a48bd5ecaacb` as additive freeze-plan audit and documentation-synchronization initiative. - Corrected `submission/DRIFT_FREEZE_PLAN.md` so unimplemented release-timeline, MCP, tool-calling, and IDE features are not marked as shipped; aligned the @@ -253,7 +312,7 @@ surfaces such as MCP, tool calling, IDE integration, or a release timeline. 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; + `notebooks/drift_manual_run.luna.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. @@ -647,6 +706,7 @@ with explicit live-path architecture and publication-ready quality gates. `019f61fc-c32e-7d92-9d2e-0bd9083d08e7`. - Full scope and submission guidance: [`docs/INITIATIVES.md`](docs/INITIATIVES.md). +[0.9.0]: #090---2026-07-17 [0.8.1]: #081---2026-07-17 [0.8.0]: #080---2026-07-17 [0.7.0]: #070---2026-07-16 diff --git a/README.md b/README.md index 09b02ae..d0e5cac 100644 --- a/README.md +++ b/README.md @@ -72,10 +72,10 @@ Built for **OpenAI Build Week 2026 · Developer Tools**. ## Try DRIFT in 60 Seconds -**Hosted — nothing to install.** The live briefing serves four human-reviewed -Insights from one real bounded capture (Transformers v5.14.1, vLLM v0.25.1, -NCCL v2.30.7-1, TensorRT 11.1); `/briefing`, `/search`, and `/chat` were verified -provider-backed on 2026-07-16. +**Hosted — nothing to install.** The live Railway store serves five human-reviewed +Tier.FINAL Insights (JAX v0.11.0, Transformers v5.14.1, vLLM v0.25.1, NCCL +v2.30.7-1, TensorRT 11.1); `/briefing?top_n=10` was verified on 2026-07-17. +The deployed app build remains `v0.8.0` pending redeploy. | Surface | Link | | --- | --- | @@ -201,6 +201,7 @@ the bounded local capture path. | Submission audit and frontend evidence presentation | `019f6a46-e3eb-7de2-81b1-91515ae80043` | Handwritten-next-step audit, explicit briefing states, system-theme presentation, canonical API-served banners, and status synchronization | | Reviewed-evidence release hardening and hosted verification | `019f6a78-6fa2-7121-9059-85ac8ceb9904` | Evidence-byte integrity, database-only review notes, display-only results artifact, `v0.7.0` hosted verification, and the `v0.8.0` grounded-chat / verifiable-fixture hosted release | | Freeze-plan audit and documentation synchronization | `019f7190-912d-70e3-be6d-fcc81bf8e203` | Audited the frozen scope against tracked implementation, corrected unshipped MCP/timeline/IDE claims, aligned demo requirements, and synchronized records | +| v0.9.0 evidence cleanup and session synchronization | `019f7213-be19-7e50-92ac-a48bd5ecaacb` | Retracted superseded Luna Insights through the audited review helper, verified the five-record Sol briefing, synchronized release status, and made the Luna results artifact explicit | See the full [project initiative record](docs/INITIATIVES.md). @@ -220,7 +221,9 @@ submission-audit/frontend-presentation follow-up is hosted-verification, and `v0.8.0` release session is `019f6a78-6fa2-7121-9059-85ac8ceb9904`. The freeze-plan audit and documentation-synchronization session is -`019f7190-912d-70e3-be6d-fcc81bf8e203`. +`019f7190-912d-70e3-be6d-fcc81bf8e203`; the v0.9.0 evidence-cleanup and +session-synchronization follow-up is +`019f7213-be19-7e50-92ac-a48bd5ecaacb`. GPT-5.6 is used only when an operator explicitly enables `DRIFT_MODE=live` and provides an API key. The local capture job routes embeddings, classification, @@ -261,7 +264,7 @@ Agent code must not hard-code provider model names. The intended tiers are: | --- | --- | --- | | `dev` / Luna | Classification, clustering, and prompt iteration | Produced the four reviewed Insights published 2026-07-16; run only with an explicit live key | | `live` / Terra | Retrieve-first grounded chat | Serves hosted grounded chat over reviewed pgvector rows; verified provider-backed 2026-07-16 | -| `final` / Sol | Three to five reviewed demo insights | Targeted for the planned `v0.9.0` evidence pass; the 2026-07-16 demo set remains the saved `dev`/Luna evidence until rerun and review | +| `final` / Sol | Three to five reviewed demo insights | Produced the five reviewed Tier.FINAL Insights now served by the live Railway store; app redeploy remains pending | Every live insight must preserve: @@ -319,9 +322,9 @@ in [Try DRIFT in 60 Seconds](#try-drift-in-60-seconds): | Surface | Status | | --- | --- | | **Current hosted release** | `v0.8.0` `live` — `/health` reports `0.8.0`, `/docs` returns `200`, the public Vercel page renders Ask DRIFT, and Vercel-origin CORS allows `GET, POST` | -| **Current source patch** | `v0.8.1` — structured Ask DRIFT grounding IDs restrict question citations to the Insights actually used; tagged on `feature/v0.9.0-final-evidence`, not yet hosted-verified | +| **Current source release** | `v0.9.0` — Tier.FINAL reviewed evidence, audited retraction helper, and structured Ask DRIFT grounding; app redeploy remains pending | | **Prior hosted release** | `v0.7.0` `live` — `/briefing` (four reviewed Insights, review notes redacted), `/openapi.json`, and the deployed Vercel bundle's `top_n=10` request were verified | -| **Grounded retrieval** | `/briefing`, `/search`, and `/chat` verified provider-backed from an eight-source capture — six verifier-passed drafts, four published after human review | +| **Live reviewed store** | `/briefing?top_n=10` verified 2026-07-17 with exactly five reviewed, verifier-passed Tier.FINAL Insights: 10, 11, 13, 15, and 16 | | **Database schema** | Railway PostgreSQL at `0003_claim_evidence_review_gate`, verified through its public TCP proxy | | **Branding** | Swagger banner frame and canonical API-served banner pair follow the same system light/dark preference | | **Historical** | `v0.5.1` served one unreviewed vLLM Insight through `/briefing` on 2026-07-15 — retained as pre-gate evidence only | @@ -334,30 +337,34 @@ and **Chat** sections so reviewers can navigate the API by job. ## Screenshots & Evidence -These are live-state captures of the hosted app after four human-reviewed -Insights were published — not mockups. Click any image to open it full size. +These are live-state captures of the hosted app and reviewed Tier.FINAL evidence +— not mockups. Click any image to open it full size. -| Briefing — four reviewed Insights | Inspecting frozen claim evidence | +| Briefing — five reviewed Insights | Inspecting frozen claim evidence | | --- | --- | -| [![DRIFT briefing showing four reviewed Insights](assets/screenshots/03-briefing.png)](assets/screenshots/03-briefing.png) | [![DRIFT briefing expanded to show each claim's primary-source excerpt](assets/screenshots/04-briefing-claim-evidence.png)](assets/screenshots/04-briefing-claim-evidence.png) | +| [![DRIFT briefing showing five reviewed Insights](assets/screenshots/01-briefing.png)](assets/screenshots/01-briefing.png) | [![DRIFT briefing expanded to show each claim's primary-source excerpt](assets/screenshots/02-briefing-claim-evidence.png)](assets/screenshots/02-briefing-claim-evidence.png) | The Next.js briefing view exposes each record's status label, confidence, model/audit label, rationale, bounded action, source links, and—when present— claim-type evidence. On 2026-07-16, the hosted UI was verified against the review-gated API; reviewed evidence has since been published, so `/briefing` -now serves four reviewed Insights instead of the intentional empty state. +now serves the five reviewed Tier.FINAL Insights in the live store; the public +app UI remains the deployed `v0.8.0` build pending redeploy. `v0.7.0` deployed the review-note redaction and ten-item briefing request; Railway, CORS, public-contract, and Vercel-bundle checks are recorded in the changelog. `v0.8.0` deployed the grounded Ask DRIFT UI and tag-pinned synthetic fixture evidence; Railway health/docs, the public UI, and CORS were verified. Neither rollout re-ran paid provider chat. -The branded Swagger contract and the themed architecture assets are also -available as visual evidence: - -| API documentation | Architecture (light / dark) | +| Ask DRIFT — grounded answer | Ask DRIFT — cited example | | --- | --- | -| [![DRIFT branded Swagger API documentation](assets/screenshots/02-api-docs.png)](assets/screenshots/02-api-docs.png) | [![DRIFT architecture light](assets/architecture/arch-pipeline-light.png)](assets/architecture/arch-pipeline-light.svg)
[![DRIFT architecture dark](assets/architecture/arch-pipeline-dark.png)](assets/architecture/arch-pipeline-dark.svg) | +| [![DRIFT Ask DRIFT grounded chat box](assets/screenshots/03-ask-drift.png)](assets/screenshots/03-ask-drift.png) | [![DRIFT Ask DRIFT grounded NCCL answer](assets/screenshots/04.1-ask-drift-grounded-answer-nccl-example.png)](assets/screenshots/04.1-ask-drift-grounded-answer-nccl-example.png) | + +The branded Swagger contract is also available as visual evidence: + +| API documentation | +| --- | +| [![DRIFT branded Swagger API documentation](assets/screenshots/05-api-docs.png)](assets/screenshots/05-api-docs.png) | The scrubbed hosted capture evidence is stored separately in [`assets/evidence/`](assets/evidence/), including the verified unreviewed vLLM diff --git a/assets/evidence/2026-07-17-all-sources-reviewed.json b/assets/evidence/2026-07-17-all-sources-reviewed.json new file mode 100644 index 0000000..2903d5c --- /dev/null +++ b/assets/evidence/2026-07-17-all-sources-reviewed.json @@ -0,0 +1,2781 @@ +{ + "record_type": "reviewed_manual_capture", + "archived_at": "2026-07-17T21:28:32.041515+00:00", + "capture": { + "draft_insight_ids": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "fetched_count": 80, + "persisted_raw_count": 0, + "selected_count": 8, + "source_ids": [ + "cutlass", + "jax", + "nccl", + "pytorch", + "tensorrt", + "transformers", + "triton", + "vllm" + ] + }, + "insights": [ + { + "id": 10, + "raw_item_ids": [ + 10 + ], + "title": "JAX v0.11.0", + "summary": "JAX v0.11.0 drops support for Python 3.11, NumPy 2.0, and SciPy 1.14. jax.numpy.empty and jax.numpy.empty_like now return uninitialized arrays instead of zero-initialized arrays; zeros or zeros_like provide the prior behavior. The deprecated jax.cloud_tpu_init module was removed; upstream states that it did nothing and its references can be removed. Passing 2D arrays, or mixed 2D and 3D arrays, to jax.numpy.cross is deprecated and scheduled for removal in JAX 0.12.0. Several previously deprecated APIs under jax.core and jax.interpreters.pxla were removed.", + "why_it_matters": "No additional operator interpretation was accepted from this evidence.", + "what_to_check": "Audit supported runtime environments before upgrading, specifically checking for Python 3.11, Python 3.13t, NumPy 2.0, or SciPy 1.14. Search for code that reads from jax.numpy.empty or jax.numpy.empty_like before fully initializing the result, and validate affected numerical paths or replace those allocations with zeros or zeros_like where zero initialization is required. Run import and test-suite checks for dependencies that access deprecated jax.core or jax.interpreters.pxla APIs, because listed APIs were removed.", + "severity": "minor", + "affected_libraries": [ + "JAX", + "NumPy", + "SciPy", + "Python" + ], + "source_citations": [ + "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0" + ], + "confidence": 0.99, + "model_used": "gpt-5.6-sol", + "claims": [ + { + "text": "JAX v0.11.0 drops support for Python 3.11, NumPy 2.0, and SciPy 1.14.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Support for Python 3.11, NumPy 2.0, and SciPy 1.14 has been dropped", + "start_char": 1492, + "end_char": 1559, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "jax.numpy.empty and jax.numpy.empty_like now return uninitialized arrays instead of zero-initialized arrays; zeros or zeros_like provide the prior behavior.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "jax.numpy.empty and jax.numpy.empty_like now produce
\nuninitialized arrays, similar to their NumPy counterparts. Prior to v0.11.0,
\nthey produced arrays initialized to zeros. To recover the previous behavior,
\nuse jax.numpy.zeros or jax.numpy.zeros_like instead.", + "start_char": 2078, + "end_char": 2407, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "The deprecated jax.cloud_tpu_init module was removed; upstream states that it did nothing and its references can be removed.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "The deprecated module jax.cloud_tpu_init was removed. This did nothing and
\nreferences to it can be safely removed.", + "start_char": 1349, + "end_char": 1482, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Passing 2D arrays, or mixed 2D and 3D arrays, to jax.numpy.cross is deprecated and scheduled for removal in JAX 0.12.0.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Passing 2-dimensional arrays (or mixed 2D and 3D arrays) to jax.numpy.cross is deprecated and will be removed in JAX 0.12.0, aligning with NumPy 2.5 behavior.", + "start_char": 2459, + "end_char": 2630, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Several previously deprecated APIs under jax.core and jax.interpreters.pxla were removed.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Several previously-deprecated APIs from jax.core have been removed", + "start_char": 2640, + "end_char": 2719, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Several previously-deprecated APIs from jax.interpreters.pxla have been removed", + "start_char": 3888, + "end_char": 3980, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Audit supported runtime environments before upgrading, specifically checking for Python 3.11, Python 3.13t, NumPy 2.0, or SciPy 1.14.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Support for Python 3.11, NumPy 2.0, and SciPy 1.14 has been dropped", + "start_char": 1492, + "end_char": 1559, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Support for Python 3.13 free-threaded (3.13t) has been dropped.", + "start_char": 1681, + "end_char": 1757, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Search for code that reads from jax.numpy.empty or jax.numpy.empty_like before fully initializing the result, and validate affected numerical paths or replace those allocations with zeros or zeros_like where zero initialization is required.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "jax.numpy.empty and jax.numpy.empty_like now produce
\nuninitialized arrays, similar to their NumPy counterparts. Prior to v0.11.0,
\nthey produced arrays initialized to zeros. To recover the previous behavior,
\nuse jax.numpy.zeros or jax.numpy.zeros_like instead.", + "start_char": 2078, + "end_char": 2407, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Run import and test-suite checks for dependencies that access deprecated jax.core or jax.interpreters.pxla APIs, because listed APIs were removed.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Several previously-deprecated APIs from jax.core have been removed", + "start_char": 2640, + "end_char": 2719, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 10, + "source_url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "source_sha256": "7dbd58eb6319ec09fc4154d45445822c895fa43681d4d9403621644c3af2ce03", + "excerpt": "Several previously-deprecated APIs from jax.interpreters.pxla have been removed", + "start_char": 3888, + "end_char": 3980, + "cross_references": [ + { + "kind": "release", + "identifier": "JAX v0.11.0", + "url": "https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0", + "commit_sha": null + } + ] + } + ] + } + ], + "upstream_release_type": "unknown", + "operator_risks": [ + "compatibility", + "correctness", + "reliability", + "startup" + ], + "applicability_conditions": [ + "The deployment upgrades to JAX v0.11.0.", + "The environment uses Python 3.11, Python 3.13t, NumPy 2.0, or SciPy 1.14.", + "Application code assumes jax.numpy.empty or jax.numpy.empty_like returns zero-initialized storage.", + "Application code or dependencies import removed jax.core, jax.interpreters.pxla, or jax.cloud_tpu_init APIs.", + "Application code passes 2D arrays, or mixed 2D and 3D arrays, to jax.numpy.cross." + ], + "publication_status": "reviewed", + "verification_status": "passed", + "reviewed_at": "2026-07-17T21:27:43.199657Z", + "verified_at": "2026-07-17T21:21:16.579556Z", + "created_at": "2026-07-17T21:21:16.387807Z" + }, + { + "id": 11, + "raw_item_ids": [ + 2 + ], + "title": "Patch release: v5.14.1", + "summary": "Transformers v5.14.1 is identified upstream as a patch release. The patch addresses assisted-generation issues affecting models that use EncoderDecoderCache, including assisted decoding involving OlmoHybrid. The patch fixes an issue during prefill with StaticCache and SDPA without padding for Inkling models using position_bias. The release bumps the FP8 kernels version and includes a fix for DeepGEMM on multiple devices.", + "why_it_matters": "No additional operator interpretation was accepted from this evidence.", + "what_to_check": "If assisted generation is used with EncoderDecoderCache or OlmoHybrid, run a bounded generation regression test before deployment, comparing generated output and completion behavior against the currently deployed version. If workloads use StaticCache with SDPA, no padding, and position_bias, test prefill output correctness on a representative Inkling request before rollout. If FP8 or multi-device DeepGEMM paths are enabled, verify kernel loading and execute one representative multi-device inference test after upgrading.", + "severity": "minor", + "affected_libraries": [ + "huggingface/transformers" + ], + "source_citations": [ + "https://github.com/huggingface/transformers/releases/tag/v5.14.1" + ], + "confidence": 0.99, + "model_used": "gpt-5.6-sol", + "claims": [ + { + "text": "Transformers v5.14.1 is identified upstream as a patch release.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "

Patch release v5.14.1

", + "start_char": 0, + "end_char": 30, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "The patch addresses assisted-generation issues affecting models that use EncoderDecoderCache, including assisted decoding involving OlmoHybrid.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "This patch solves a few issues which appeared when integrating Inkling model, most notably an issue affecting models using EncoderDecoderCache during assisted generation.", + "start_char": 34, + "end_char": 204, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "Fix assisted decoding for models with EncoderDecoder cache & OlmoHybrid", + "start_char": 647, + "end_char": 722, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "The patch fixes an issue during prefill with StaticCache and SDPA without padding for Inkling models using position_bias.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "It also fixes an issue that could appear during prefill with StaticCache and sdpa without padding for Inkling which uses a position_bias.", + "start_char": 205, + "end_char": 342, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "The release bumps the FP8 kernels version and includes a fix for DeepGEMM on multiple devices.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "[FP8] Bump kernels version", + "start_char": 937, + "end_char": 963, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "Fix deepgemm on multiple devices", + "start_char": 1166, + "end_char": 1198, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "If assisted generation is used with EncoderDecoderCache or OlmoHybrid, run a bounded generation regression test before deployment, comparing generated output and completion behavior against the currently deployed version.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "Fix assisted decoding for models with EncoderDecoder cache & OlmoHybrid", + "start_char": 647, + "end_char": 722, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "If workloads use StaticCache with SDPA, no padding, and position_bias, test prefill output correctness on a representative Inkling request before rollout.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "It also fixes an issue that could appear during prefill with StaticCache and sdpa without padding for Inkling which uses a position_bias.", + "start_char": 205, + "end_char": 342, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "If FP8 or multi-device DeepGEMM paths are enabled, verify kernel loading and execute one representative multi-device inference test after upgrading.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "[FP8] Bump kernels version", + "start_char": 937, + "end_char": 963, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 2, + "source_url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "source_sha256": "5ac6546ab3d061847b34038ca4c97999785ebb6390154ae6b27c7182df260497", + "excerpt": "Fix deepgemm on multiple devices", + "start_char": 1166, + "end_char": 1198, + "cross_references": [ + { + "kind": "release", + "identifier": "Patch release: v5.14.1", + "url": "https://github.com/huggingface/transformers/releases/tag/v5.14.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47359", + "url": "https://github.com/huggingface/transformers/pull/47359", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47361", + "url": "https://github.com/huggingface/transformers/pull/47361", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47344", + "url": "https://github.com/huggingface/transformers/pull/47344", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47323", + "url": "https://github.com/huggingface/transformers/pull/47323", + "commit_sha": null + } + ] + } + ] + } + ], + "upstream_release_type": "patch", + "operator_risks": [ + "compatibility", + "correctness", + "reliability", + "startup" + ], + "applicability_conditions": [ + "Models using EncoderDecoderCache during assisted generation", + "Assisted decoding with OlmoHybrid", + "Inkling models using StaticCache with SDPA, no padding, and position_bias", + "Deployments using FP8 kernels", + "DeepGEMM workloads spanning multiple devices" + ], + "publication_status": "reviewed", + "verification_status": "passed", + "reviewed_at": "2026-07-17T21:27:43.199657Z", + "verified_at": "2026-07-17T21:21:16.579556Z", + "created_at": "2026-07-17T21:21:16.387807Z" + }, + { + "id": 13, + "raw_item_ids": [ + 1 + ], + "title": "v0.25.1", + "summary": "vLLM v0.25.1 is a patch release with two targeted bug fixes on top of v0.25.0. The release defers the missing-system-FFmpeg error from TorchCodec import time until TorchCodec is actually needed, preventing startup from being blocked when TorchCodec is unused.", + "why_it_matters": "No additional operator interpretation was accepted from this evidence.", + "what_to_check": "Check that vLLM model serving starts on a host without system FFmpeg when TorchCodec functionality is not used, and that an error appears only when TorchCodec is actually invoked. For NVFP4 deployments with BF16 activations and FP32 Gemma/Qwen-style RMSNorm weights, compare generated output against a known-good baseline and verify that repeated garbage tokens no longer occur. For same-dtype models using the affected fusion path, check that the full allreduce + RMSNorm + quant fusion remains enabled after upgrading.", + "severity": "minor", + "affected_libraries": [ + "vLLM", + "TorchCodec", + "FFmpeg", + "FlashInfer" + ], + "source_citations": [ + "https://github.com/vllm-project/vllm/releases/tag/v0.25.1" + ], + "confidence": 0.99, + "model_used": "gpt-5.6-sol", + "claims": [ + { + "text": "vLLM v0.25.1 is a patch release with two targeted bug fixes on top of v0.25.0.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 1, + "source_url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "source_sha256": "329339bd5e6b1899a0b986f3a3a906f0c17d7554aa6e917c944099937997772e", + "excerpt": "v0.25.1 is a patch release containing two targeted bug fixes on top of v0.25.0.", + "start_char": 113, + "end_char": 192, + "cross_references": [ + { + "kind": "release", + "identifier": "v0.25.1", + "url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47888", + "url": "https://github.com/vllm-project/vllm/pull/47888", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#48330", + "url": "https://github.com/vllm-project/vllm/pull/48330", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "The release defers the missing-system-FFmpeg error from TorchCodec import time until TorchCodec is actually needed, preventing startup from being blocked when TorchCodec is unused.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 1, + "source_url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "source_sha256": "329339bd5e6b1899a0b986f3a3a906f0c17d7554aa6e917c944099937997772e", + "excerpt": "Previously import torchcodec raised a RuntimeError at import time when system FFmpeg was missing, which blocked startup (e.g. vllm serve Qwen/Qwen3-VL-2B-Instruct) even when TorchCodec was not in use. The error is now deferred to runtime so it only surfaces if TorchCodec is actually needed.", + "start_char": 428, + "end_char": 758, + "cross_references": [ + { + "kind": "release", + "identifier": "v0.25.1", + "url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47888", + "url": "https://github.com/vllm-project/vllm/pull/47888", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#48330", + "url": "https://github.com/vllm-project/vllm/pull/48330", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Check that vLLM model serving starts on a host without system FFmpeg when TorchCodec functionality is not used, and that an error appears only when TorchCodec is actually invoked.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 1, + "source_url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "source_sha256": "329339bd5e6b1899a0b986f3a3a906f0c17d7554aa6e917c944099937997772e", + "excerpt": "Previously import torchcodec raised a RuntimeError at import time when system FFmpeg was missing, which blocked startup (e.g. vllm serve Qwen/Qwen3-VL-2B-Instruct) even when TorchCodec was not in use. The error is now deferred to runtime so it only surfaces if TorchCodec is actually needed.", + "start_char": 428, + "end_char": 758, + "cross_references": [ + { + "kind": "release", + "identifier": "v0.25.1", + "url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47888", + "url": "https://github.com/vllm-project/vllm/pull/47888", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#48330", + "url": "https://github.com/vllm-project/vllm/pull/48330", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "For NVFP4 deployments with BF16 activations and FP32 Gemma/Qwen-style RMSNorm weights, compare generated output against a known-good baseline and verify that repeated garbage tokens no longer occur.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 1, + "source_url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "source_sha256": "329339bd5e6b1899a0b986f3a3a906f0c17d7554aa6e917c944099937997772e", + "excerpt": "The fused FlashInfer allreduce + RMSNorm + static-quantization patterns could match graphs where the activation and RMSNorm weight dtypes differ (e.g. a BF16 residual stream with an FP32 Gemma/Qwen-style RMSNorm weight in NVFP4 models), corrupting the hidden state and producing garbage output such as repeated !!!!! tokens.", + "start_char": 940, + "end_char": 1277, + "cross_references": [ + { + "kind": "release", + "identifier": "v0.25.1", + "url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47888", + "url": "https://github.com/vllm-project/vllm/pull/47888", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#48330", + "url": "https://github.com/vllm-project/vllm/pull/48330", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "For same-dtype models using the affected fusion path, check that the full allreduce + RMSNorm + quant fusion remains enabled after upgrading.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 1, + "source_url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "source_sha256": "329339bd5e6b1899a0b986f3a3a906f0c17d7554aa6e917c944099937997772e", + "excerpt": "while same-dtype models retain the full allreduce + RMSNorm + quant fusion.", + "start_char": 1359, + "end_char": 1434, + "cross_references": [ + { + "kind": "release", + "identifier": "v0.25.1", + "url": "https://github.com/vllm-project/vllm/releases/tag/v0.25.1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#47888", + "url": "https://github.com/vllm-project/vllm/pull/47888", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#48330", + "url": "https://github.com/vllm-project/vllm/pull/48330", + "commit_sha": null + } + ] + } + ] + } + ], + "upstream_release_type": "patch", + "operator_risks": [ + "correctness", + "performance", + "reliability", + "startup" + ], + "applicability_conditions": [ + "Upgrading vLLM from v0.25.0 to v0.25.1.", + "The host lacks system FFmpeg and vLLM imports TorchCodec, including deployments where TorchCodec is not otherwise used.", + "FlashInfer fused allreduce + RMSNorm + static-quantization patterns are used.", + "Activation and RMSNorm weight dtypes differ, such as BF16 activations with FP32 Gemma/Qwen-style RMSNorm weights in NVFP4 models.", + "Same-dtype models rely on retaining the full allreduce + RMSNorm + quant fusion." + ], + "publication_status": "reviewed", + "verification_status": "passed", + "reviewed_at": "2026-07-17T21:27:43.199657Z", + "verified_at": "2026-07-17T21:21:16.579556Z", + "created_at": "2026-07-17T21:21:16.387807Z" + }, + { + "id": 15, + "raw_item_ids": [ + 6 + ], + "title": "NCCL v2.30.7-1 Release", + "summary": "NCCL 2.30.7-1 adds hierarchical zero-SM AllGather and All2all collectives, using an RMA CPU proxy between nodes and Copy Engines within a node; they are enabled with NCCL_CTA_POLICY_ZERO. Support for v11 and v12 GIN plugin APIs is removed. This release fixes reported deadlock, proxy-thread hang, and high-message-rate request-loss defects in affected communication paths. One-sided host RMA APIs require every rank to perform a one-time initialization warm-up in this release.", + "why_it_matters": "No additional operator interpretation was accepted from this evidence.", + "what_to_check": "Before upgrading deployments that use custom GIN plugins, check the plugin API version and migrate plugins that depend on v11 or v12. When using one-sided host RMA APIs, validate that every rank executes the required one-time warm-up before normal traffic, including under high message rates. Benchmark zero-SM collectives on the target inter-node and intra-node topology before enabling NCCL_CTA_POLICY_ZERO in production, checking compute/communication overlap and end-to-end latency.", + "severity": "minor", + "affected_libraries": [ + "NCCL" + ], + "source_citations": [ + "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1" + ], + "confidence": 0.98, + "model_used": "gpt-5.6-sol", + "claims": [ + { + "text": "NCCL 2.30.7-1 adds hierarchical zero-SM AllGather and All2all collectives, using an RMA CPU proxy between nodes and Copy Engines within a node; they are enabled with NCCL_CTA_POLICY_ZERO.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Adds hierarchical zero-SM collectives (AllGather and All2all) that use RMA CPU proxy for inter-node communication and Copy Engines for intra-node communication.", + "start_char": 38, + "end_char": 198, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Enable hierarchical zero-SM collectives with NCCL_CTA_POLICY_ZERO flag.", + "start_char": 270, + "end_char": 354, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "Support for v11 and v12 GIN plugin APIs is removed.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Drops support for v11 and v12 GIN plugin APIs.", + "start_char": 2951, + "end_char": 2997, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "This release fixes reported deadlock, proxy-thread hang, and high-message-rate request-loss defects in affected communication paths.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Fixes a deadlock caused by cuda stream allocation under PXN when memseting a buffer at runtime.", + "start_char": 3037, + "end_char": 3132, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Fixes issue when receiving an external TCP request causes the proxy thread's ncclProxyService to hang", + "start_char": 3807, + "end_char": 3921, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Fixes one-sided host API issue where requests are dropped at a high message rate", + "start_char": 4565, + "end_char": 4645, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "One-sided host RMA APIs require every rank to perform a one-time initialization warm-up in this release.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "NCCL one-sided host RMA APIs, e.g., ncclPutSignal, require every rank to call the API as a one-time initialization warm-up.", + "start_char": 5620, + "end_char": 5756, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "Before upgrading deployments that use custom GIN plugins, check the plugin API version and migrate plugins that depend on v11 or v12.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Drops support for v11 and v12 GIN plugin APIs.", + "start_char": 2951, + "end_char": 2997, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "When using one-sided host RMA APIs, validate that every rank executes the required one-time warm-up before normal traffic, including under high message rates.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "NCCL one-sided host RMA APIs, e.g., ncclPutSignal, require every rank to call the API as a one-time initialization warm-up.", + "start_char": 5620, + "end_char": 5756, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Fixes one-sided host API issue where requests are dropped at a high message rate", + "start_char": 4565, + "end_char": 4645, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + }, + { + "text": "Benchmark zero-SM collectives on the target inter-node and intra-node topology before enabling NCCL_CTA_POLICY_ZERO in production, checking compute/communication overlap and end-to-end latency.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Adds hierarchical zero-SM collectives (AllGather and All2all) that use RMA CPU proxy for inter-node communication and Copy Engines for intra-node communication.", + "start_char": 38, + "end_char": 198, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Enables better overlap of compute and communication.", + "start_char": 208, + "end_char": 260, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + }, + { + "raw_item_id": 6, + "source_url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "source_sha256": "b6124862cc62eb30cac2f8ff0f54b35d3103d6f5314fa04813ccb3a723e9db7a", + "excerpt": "Enable hierarchical zero-SM collectives with NCCL_CTA_POLICY_ZERO flag.", + "start_char": 270, + "end_char": 354, + "cross_references": [ + { + "kind": "release", + "identifier": "NCCL v2.30.7-1 Release", + "url": "https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2151", + "url": "https://github.com/NVIDIA/nccl/pull/2151", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2155", + "url": "https://github.com/NVIDIA/nccl/pull/2155", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2182", + "url": "https://github.com/NVIDIA/nccl/pull/2182", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1806", + "url": "https://github.com/NVIDIA/nccl/pull/1806", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2150", + "url": "https://github.com/NVIDIA/nccl/pull/2150", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#1834", + "url": "https://github.com/NVIDIA/nccl/pull/1834", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2187", + "url": "https://github.com/NVIDIA/nccl/pull/2187", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2179", + "url": "https://github.com/NVIDIA/nccl/pull/2179", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2119", + "url": "https://github.com/NVIDIA/nccl/pull/2119", + "commit_sha": null + }, + { + "kind": "pull_request", + "identifier": "#2198", + "url": "https://github.com/NVIDIA/nccl/pull/2198", + "commit_sha": null + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + }, + { + "kind": "commit", + "identifier": "e12963e1c799", + "url": "https://github.com/NVIDIA/nccl/commit/e12963e1c7994e054c29df0994e8675ff4749875", + "commit_sha": "e12963e1c7994e054c29df0994e8675ff4749875" + }, + { + "kind": "commit", + "identifier": "08b3662c2181", + "url": "https://github.com/NVIDIA/nccl/commit/08b3662c2181d55551d76f97caca497a467d1e84", + "commit_sha": "08b3662c2181d55551d76f97caca497a467d1e84" + }, + { + "kind": "commit", + "identifier": "430afbcef0d0", + "url": "https://github.com/NVIDIA/nccl/commit/430afbcef0d0dbe4bac8de317cf4cedd50ffefa2", + "commit_sha": "430afbcef0d0dbe4bac8de317cf4cedd50ffefa2" + } + ] + } + ] + } + ], + "upstream_release_type": "unknown", + "operator_risks": [ + "compatibility", + "correctness", + "performance", + "reliability" + ], + "applicability_conditions": [ + "Deployments upgrading to NCCL v2.30.7-1.", + "Custom GIN plugins that use v11 or v12 GIN plugin APIs.", + "Workloads using NCCL one-sided host RMA APIs such as ncclPutSignal.", + "Workloads enabling hierarchical zero-SM AllGather or All2all with NCCL_CTA_POLICY_ZERO.", + "MPS deployments using CUDA MLOPart with up to two ranks per physical GPU.", + "Systems exercising PXN, external TCP proxy requests, or high-rate one-sided host API traffic." + ], + "publication_status": "reviewed", + "verification_status": "passed", + "reviewed_at": "2026-07-17T21:27:43.199657Z", + "verified_at": "2026-07-17T21:21:16.579556Z", + "created_at": "2026-07-17T21:21:16.387807Z" + }, + { + "id": 16, + "raw_item_ids": [ + 7 + ], + "title": "TensorRT 11.1 Release", + "summary": "TensorRT 11.1 updates its default CUDA version to 13.3. TensorRT 11.1 adds an Ubuntu 26.04 container and support for Python 3.14. TensorRT 11.1 adds a global performance tuner option to trtexec. TensorRT 11.1 adds topkLastDimPlugin and updates TRT_Attention to support raggedness.", + "why_it_matters": "No additional operator interpretation was accepted from this evidence.", + "what_to_check": "Before upgrading, verify that deployed NVIDIA drivers, CUDA-dependent components, and build/runtime images are compatible with CUDA 13.3. If adopting the new Ubuntu 26.04 container or Python 3.14 runtime, run startup and inference regression tests for native extensions, plugins, and Python integrations. If enabling the new trtexec global performance tuner, benchmark representative models and compare latency, throughput, and engine correctness against the prior configuration.", + "severity": "minor", + "affected_libraries": [ + "TensorRT", + "CUDA", + "Python" + ], + "source_citations": [ + "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1" + ], + "confidence": 0.98, + "model_used": "gpt-5.6-sol", + "claims": [ + { + "text": "TensorRT 11.1 updates its default CUDA version to 13.3.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Default CUDA version updated to 13.3.", + "start_char": 218, + "end_char": 255, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "TensorRT 11.1 adds an Ubuntu 26.04 container and support for Python 3.14.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added Ubuntu 26.04 container.", + "start_char": 265, + "end_char": 294, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added support for Python 3.14.", + "start_char": 304, + "end_char": 334, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "TensorRT 11.1 adds a global performance tuner option to trtexec.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added a global performance tuner option in trtexec.", + "start_char": 475, + "end_char": 526, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "TensorRT 11.1 adds topkLastDimPlugin and updates TRT_Attention to support raggedness.", + "kind": "direct_fact", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added new plugin topkLastDimPlugin.", + "start_char": 564, + "end_char": 599, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Updated TRT_Attention to support raggedness.", + "start_char": 637, + "end_char": 681, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "Before upgrading, verify that deployed NVIDIA drivers, CUDA-dependent components, and build/runtime images are compatible with CUDA 13.3.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Default CUDA version updated to 13.3.", + "start_char": 218, + "end_char": 255, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "If adopting the new Ubuntu 26.04 container or Python 3.14 runtime, run startup and inference regression tests for native extensions, plugins, and Python integrations.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added Ubuntu 26.04 container.", + "start_char": 265, + "end_char": 294, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + }, + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added support for Python 3.14.", + "start_char": 304, + "end_char": 334, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + }, + { + "text": "If enabling the new trtexec global performance tuner, benchmark representative models and compare latency, throughput, and engine correctness against the prior configuration.", + "kind": "recommended_check", + "evidence": [ + { + "raw_item_id": 7, + "source_url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "source_sha256": "117270998e9043844cb4c5d30e23ae91659a90c56867a7f993e3a00b0b3b3835", + "excerpt": "Added a global performance tuner option in trtexec.", + "start_char": 475, + "end_char": 526, + "cross_references": [ + { + "kind": "release", + "identifier": "TensorRT 11.1 Release", + "url": "https://github.com/NVIDIA/TensorRT/releases/tag/v11.1", + "commit_sha": null + } + ] + } + ] + } + ], + "upstream_release_type": "unknown", + "operator_risks": [ + "compatibility", + "correctness", + "performance", + "reliability", + "startup" + ], + "applicability_conditions": [ + "The environment is upgrading to TensorRT 11.1.", + "The deployment relies on TensorRT's default CUDA version or CUDA-dependent components.", + "The deployment uses the Ubuntu 26.04 container or Python 3.14 support.", + "The deployment enables the new trtexec global performance tuner.", + "Models use TRT_Attention raggedness support or topkLastDimPlugin." + ], + "publication_status": "reviewed", + "verification_status": "passed", + "reviewed_at": "2026-07-17T21:27:43.199657Z", + "verified_at": "2026-07-17T21:21:16.579556Z", + "created_at": "2026-07-17T21:21:16.387807Z" + } + ], + "limitations": [ + "This record contains reviewed captured evidence, not a guarantee of compatibility or release completeness.", + "Operator risks and recommended checks are labelled interpretations, not upstream facts." + ] +} diff --git a/assets/evidence/2026-07-17-all-sources-reviewed.manifest.json b/assets/evidence/2026-07-17-all-sources-reviewed.manifest.json new file mode 100644 index 0000000..1774681 --- /dev/null +++ b/assets/evidence/2026-07-17-all-sources-reviewed.manifest.json @@ -0,0 +1,6 @@ +{ + "record_type": "evidence_integrity_manifest", + "evidence_file": "2026-07-17-all-sources-reviewed.json", + "sha256": "df32b3d4315b09fb4a6dbd508d381ca2c8095e25e16f88c4741ce7bc3055a337", + "preservation_policy": "Do not overwrite this record; create a new dated archive for every capture." +} diff --git a/assets/screenshots/01-briefing.png b/assets/screenshots/01-briefing.png new file mode 100644 index 0000000..bb76b0c Binary files /dev/null and b/assets/screenshots/01-briefing.png differ diff --git a/assets/screenshots/01-landing.png b/assets/screenshots/01-landing.png deleted file mode 100644 index 1c133e5..0000000 Binary files a/assets/screenshots/01-landing.png and /dev/null differ diff --git a/assets/screenshots/02-api-docs.png b/assets/screenshots/02-api-docs.png deleted file mode 100644 index 0a6b01b..0000000 Binary files a/assets/screenshots/02-api-docs.png and /dev/null differ diff --git a/assets/screenshots/02-briefing-claim-evidence.png b/assets/screenshots/02-briefing-claim-evidence.png new file mode 100644 index 0000000..37ad178 Binary files /dev/null and b/assets/screenshots/02-briefing-claim-evidence.png differ diff --git a/assets/screenshots/03-ask-drift.png b/assets/screenshots/03-ask-drift.png new file mode 100644 index 0000000..332b7d2 Binary files /dev/null and b/assets/screenshots/03-ask-drift.png differ diff --git a/assets/screenshots/03-briefing.png b/assets/screenshots/03-briefing.png deleted file mode 100644 index 42d7c3a..0000000 Binary files a/assets/screenshots/03-briefing.png and /dev/null differ diff --git a/assets/screenshots/04-briefing-claim-evidence.png b/assets/screenshots/04-briefing-claim-evidence.png deleted file mode 100644 index 0edd462..0000000 Binary files a/assets/screenshots/04-briefing-claim-evidence.png and /dev/null differ diff --git a/assets/screenshots/04.1-ask-drift-grounded-answer-nccl-example.png b/assets/screenshots/04.1-ask-drift-grounded-answer-nccl-example.png new file mode 100644 index 0000000..10f5316 Binary files /dev/null and b/assets/screenshots/04.1-ask-drift-grounded-answer-nccl-example.png differ diff --git a/assets/screenshots/04.2-ask-drift-grounded-answer-tensorRT-example.png b/assets/screenshots/04.2-ask-drift-grounded-answer-tensorRT-example.png new file mode 100644 index 0000000..245240c Binary files /dev/null and b/assets/screenshots/04.2-ask-drift-grounded-answer-tensorRT-example.png differ diff --git a/assets/screenshots/05-api-docs.png b/assets/screenshots/05-api-docs.png new file mode 100644 index 0000000..cbbe932 Binary files /dev/null and b/assets/screenshots/05-api-docs.png differ diff --git a/backend/core/config.py b/backend/core/config.py index 628919f..72e406e 100644 --- a/backend/core/config.py +++ b/backend/core/config.py @@ -116,7 +116,7 @@ class Settings: "DRIFT_SPEND_LEDGER_PATH", str(REPOSITORY_ROOT / ".drift" / "spend-ledger.json") ) app_name: str = "DRIFT" - app_version: str = "0.8.0" + app_version: str = "0.9.0" def validate(self) -> None: if self.mode not in {"fixture", "live"}: diff --git a/backend/review.py b/backend/review.py index 9b50d6e..a5f8ca2 100644 --- a/backend/review.py +++ b/backend/review.py @@ -45,3 +45,40 @@ async def publish_verified_insights( row.reviewed_at = reviewed_at await session.commit() return normalized_ids + + +async def retract_reviewed_insights( + session: AsyncSession, + insight_ids: list[int], + *, + reason: str, +) -> list[int]: + """Return reviewed Insights to draft status with an auditable reason.""" + normalized_ids = sorted(set(insight_ids)) + normalized_reason = reason.strip() + if not normalized_ids: + raise ValueError("Select at least one reviewed Insight to retract.") + if not normalized_reason: + raise ValueError("A retraction reason is required.") + + rows = ( + await session.scalars( + select(InsightRow).where(InsightRow.id.in_(normalized_ids)).with_for_update() + ) + ).all() + rows_by_id = {row.id: row for row in rows} + missing_ids = [identifier for identifier in normalized_ids if identifier not in rows_by_id] + if missing_ids: + raise ValueError(f"Insight IDs were not found: {missing_ids}.") + + for row in rows: + if row.publication_status != PublicationStatus.REVIEWED.value: + raise ValueError(f"Insight {row.id} is not a reviewed Insight.") + + for row in rows: + prior_notes = (row.human_review_notes or "").strip() + audit_note = f"Retraction: {normalized_reason}" + row.human_review_notes = f"{prior_notes}\n{audit_note}".strip() + row.publication_status = PublicationStatus.DRAFT.value + await session.commit() + return normalized_ids diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 9dfa51d..9cf9e3b 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -246,9 +246,10 @@ retrieved, citation-bearing evidence. In the current local code, live verifier-passed rows; search and chat use pgvector retrieval. Fixture mode remains the no-key path. The hosted deployment served one unreviewed captured vLLM Insight through `/briefing` on 2026-07-15 before this gate was implemented. -On 2026-07-16, an eight-source capture produced six verifier-passed drafts; -four were published after human review, and hosted `/briefing`, `/search`, and -`/chat` were verified provider-backed over those four reviewed Insights. +On 2026-07-17, the Tier.FINAL pass produced eight verifier-passed drafts; five +were published after human review, and the live Railway `/briefing` was verified +to return exactly those five reviewed Sol Insights. The deployed app remains +`v0.8.0` pending redeploy. ## Model, budget, and safety boundaries diff --git a/docs/BUILD_SEQUENCE.md b/docs/BUILD_SEQUENCE.md index 277c693..fdd6209 100644 --- a/docs/BUILD_SEQUENCE.md +++ b/docs/BUILD_SEQUENCE.md @@ -68,11 +68,10 @@ AI-infrastructure release intelligence. - [x] No new model calls — the current UI remains presentation-only ## Day 8 — Final content + docs -- [ ] Targeted `v0.9.0` evidence pass: rerun selected reviewed examples on - Tier.FINAL (Sol), initially Transformers, vLLM, NCCL, and TensorRT, only - after confirming the spend guard and available budget. The `dev`/Luna - reviewed set remains the current saved submission evidence until the new - run is verified and human-reviewed. +- [x] Targeted `v0.9.0` evidence pass: eight Tier.FINAL (Sol) drafts were + captured and verified; five were human-reviewed and published to the live + Railway store (IDs 10, 11, 13, 15, and 16), while Luna IDs 3, 6, 7, and 8 + were retracted to draft. - [ ] Optional `v0.9.0` polish: include only focused changes that improve judge clarity or the demo path without expanding the frozen feature surface. - [x] Fill in README's "How Codex and GPT-5.6 were used" section — @@ -97,10 +96,15 @@ AI-infrastructure release intelligence. ## Targeted release path — after the current `v0.8.0` -- [ ] `v0.9.0`: publish verified Tier.FINAL evidence and any selected, - independently verified polish; do not call this released until the - evidence archive, review gate, tests, and intended hosted/local path are - checked. +- [x] `v0.9.0`: publish verified Tier.FINAL evidence and selected, + independently verified polish; the source/evidence release is prepared, + while the deployed app remains `v0.8.0` pending redeploy. +- [x] Record the v0.9.0 evidence-cleanup and session-synchronization session: + `019f7213-be19-7e50-92ac-a48bd5ecaacb` +- [ ] Planned `v0.9.1`: run and independently verify bounded Terra + (`gpt-5.6-terra`) grounded-run evidence, updated screenshots, and the + retrieve-first citation boundary; do not call it released before the + artifacts, tests, docs, and intended deployment path are checked. - [ ] `v1.0.0`: freeze the final judge path, complete the under-three-minute public demo video, replace the video placeholder everywhere, and finish the Devpost submission records. diff --git a/docs/CODEX_PROMPTS.md b/docs/CODEX_PROMPTS.md index 9fc4078..e72facc 100644 --- a/docs/CODEX_PROMPTS.md +++ b/docs/CODEX_PROMPTS.md @@ -223,6 +223,10 @@ changes: evidence presentation - `019f6a78-6fa2-7121-9059-85ac8ceb9904` — reviewed-evidence hardening, hosted verification, and `v0.8.0` hosted release + - `019f7190-912d-70e3-be6d-fcc81bf8e203` — freeze-plan audit and + documentation synchronization + - `019f7213-be19-7e50-92ac-a48bd5ecaacb` — v0.9.0 evidence cleanup, + audited Luna retraction, Sol briefing verification, and session sync 4. Leave the Demo video line as-is (placeholder) — recording is a human task, not a Codex task. @@ -239,7 +243,7 @@ rules/FAQ reference copy, not drift's submission draft. - Record and upload the demo video (<3 min, narrated, covers Codex + GPT-5.6 usage) - Confirm which supplied initiative is the primary `/feedback` session for the - Devpost form; retain all ten IDs in the README, changelog, and submission + Devpost form; retain all twelve IDs in the README, changelog, and submission notes. - Branch protection and the Codecov upload are verified on the published GitHub repository (2026-07-17): `main` requires the five CI quality-gate checks, and diff --git a/docs/INITIATIVES.md b/docs/INITIATIVES.md index f969547..d42a4f5 100644 --- a/docs/INITIATIVES.md +++ b/docs/INITIATIVES.md @@ -1,6 +1,6 @@ # DRIFT project initiatives -These are the ten Codex project initiatives associated with the DRIFT baseline, +These are the twelve Codex project initiatives associated with the DRIFT baseline, publication follow-up, `0.2.0` release candidate, and the current build-sequence implementation work. They are submission evidence pointers for the build work; they are not model-run provenance and do not turn fixture records into live @@ -321,9 +321,37 @@ This initiative audited and completed the reviewed-evidence release boundary: Vercel CORS passed, and a tag-pinned fixture source resolved. Paid `/search` and `/chat` were not re-invoked. +## Initiative 11 — Freeze-plan audit and documentation synchronization + +**Codex Session ID:** `019f7190-912d-70e3-be6d-fcc81bf8e203` + +**Date:** 2026-07-17 + +This session performed a deep audit of `submission/DRIFT_FREEZE_PLAN.md` +against tracked implementation, assets, tests, deployment records, and +submission requirements. It corrected the plan's false shipped-status marks +for release timeline, MCP, tool calling, and IDE integration; aligned the +demo duration with the under-three-minute requirement; recorded the available +screenshots and missing GIFs; and synchronized the project session registries. +It did not add product features, alter hosted state, or replace the primary +Devpost `/feedback` session. + +## Initiative 12 — v0.9.0 evidence cleanup and session synchronization + +**Codex Session ID:** `019f7213-be19-7e50-92ac-a48bd5ecaacb` + +**Date:** 2026-07-18 + +This follow-up retracted superseded Luna Insights 3, 6, 7, and 8 through the +audited `REVIEWED → DRAFT` helper, verified the hosted five-record Sol +briefing, synchronized the v0.9.0 release boundary, and made the Luna results +notebook name explicit for future Terra results. + +It did not commit, push, or redeploy the application. + ## Submission usage -Devpost requires one primary `/feedback` session, use Initiative 04. All ten +Devpost requires one primary `/feedback` session, use Initiative 04. All twelve IDs should be retained in the project README, changelog, and submission notes. If Devpost requires one primary `/feedback` session, use Initiative 04: `019f62b9-10b7-7d82-a463-e6eb1192141c`. Initiative 05 is the additive Day 1/Day @@ -334,4 +362,6 @@ guardrail and capture-readiness record, Initiative 09 is the additive submission-audit/frontend-presentation record, and Initiative 10 is the reviewed-evidence hardening and `v0.8.0` hosted-verification record; the earlier sessions remain the foundation, publication, and hosted-demo -follow-up initiatives. +follow-up initiatives, Initiative 11 is the additive freeze-plan audit and +documentation-synchronization record, and Initiative 12 is the v0.9.0 evidence +cleanup and session-synchronization follow-up. diff --git a/docs/RUNBOOK.md b/docs/RUNBOOK.md index cb19dfd..7b9bbe8 100644 --- a/docs/RUNBOOK.md +++ b/docs/RUNBOOK.md @@ -137,3 +137,5 @@ are listed in `019f6a78-6fa2-7121-9059-85ac8ceb9904` - Freeze-plan audit and documentation synchronization: `019f7190-912d-70e3-be6d-fcc81bf8e203` +- v0.9.0 evidence cleanup and session synchronization: + `019f7213-be19-7e50-92ac-a48bd5ecaacb` diff --git a/docs/adr/README.md b/docs/adr/README.md index e41035a..243bd1f 100644 --- a/docs/adr/README.md +++ b/docs/adr/README.md @@ -10,12 +10,12 @@ decisions compose. | [002](002-typed-agents-no-framework.md) | Typed hand-rolled stages | Accepted | | [003](003-citations-and-visible-uncertainty.md) | Citations and visible uncertainty are mandatory | Accepted | | [004](004-local-budget-guard.md) | Local hard budget for live iteration | Accepted | -| [005](005-postgres-pgvector-live-store.md) | PostgreSQL + pgvector for the live store | Accepted; Railway schema verified; four human-reviewed Insights published 2026-07-16 with hosted `/briefing`/`/search`/`/chat` verified provider-backed | +| [005](005-postgres-pgvector-live-store.md) | PostgreSQL + pgvector for the live store | Accepted; Railway schema verified; five human-reviewed Tier.FINAL Insights now serve the live store, with app redeploy pending | | [006](006-ci-quality-gates.md) | CI quality gates and coverage ratchet | Accepted | | [007](007-vercel-railway-deployment.md) | Vercel frontend + Railway API and database | Accepted; hosted `v0.8.0` health/docs, public Ask DRIFT UI, and CORS verified 2026-07-17; `v0.7.0` redaction/`top_n=10` and reviewed `/briefing`/`/search`/`/chat` verification remain historical | | [008](008-live-grounded-chat.md) | Live grounded chat over the fixture store | Accepted | | [009](009-bounded-model-resilience-and-locked-delivery.md) | Bounded model resilience and locked delivery | Accepted | -| [010](010-claim-evidence-and-review-gate.md) | Claim-level evidence, separate verification, and review-first publication | Accepted; hosted `v0.8.0` makes synthetic fixture evidence verifiable without implying upstream provenance, while four human-reviewed Insights remain the bounded hosted set verified 2026-07-16 | +| [010](010-claim-evidence-and-review-gate.md) | Claim-level evidence, separate verification, and review-first publication | Accepted; hosted `v0.8.0` remains the deployed app, while five human-reviewed Tier.FINAL Insights are the bounded live-store set verified 2026-07-17 | When implementation invalidates a decision, amend the original record or add a new ADR. Do not silently rewrite the decision history in code comments or diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 07488c3..325a800 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "drift-frontend", - "version": "0.8.1", + "version": "0.9.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "drift-frontend", - "version": "0.8.1", + "version": "0.9.0", "dependencies": { "next": "^16.2.10", "react": "^19.2.7", diff --git a/frontend/package.json b/frontend/package.json index 829ebbf..3690662 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "drift-frontend", - "version": "0.8.1", + "version": "0.9.0", "private": true, "engines": { "node": "24.x" diff --git a/notebooks/README.md b/notebooks/README.md index 5820b2a..07d3844 100644 --- a/notebooks/README.md +++ b/notebooks/README.md @@ -35,7 +35,7 @@ to overwrite an existing record. ## Rendered snapshot -[`drift_manual_run.results.ipynb`](drift_manual_run.results.ipynb) is a frozen, +[`drift_manual_run.luna.results.ipynb`](drift_manual_run.luna.results.ipynb) is a frozen, Markdown-only record of a completed run. It has no executable cells, operator database host, provider/budget logs, or internal review notes. The executable notebook above is the clean template; keep it output-free when committing, and diff --git a/notebooks/drift_manual_run.ipynb b/notebooks/drift_manual_run.ipynb index ce5f1f7..fb1f457 100644 --- a/notebooks/drift_manual_run.ipynb +++ b/notebooks/drift_manual_run.ipynb @@ -277,6 +277,16 @@ " display(HTML(\"

Review gate closed

No record is public. Add personally reviewed IDs and meaningful notes only when ready.

\"))" ] }, + { + "cell_type": "markdown", + "id": "retraction-intro", + "metadata": {}, + "source": [ + "## 5a. Retraction — return reviewed evidence to draft\n", + "\n", + "Use only when a reviewed record must be replaced or withdrawn. The helper locks the selected rows, requires a reason, preserves the original review note, appends the retraction audit, and makes the records ineligible for live endpoints." + ] + }, { "cell_type": "markdown", "id": "archive-intro", @@ -287,6 +297,28 @@ "Archive only published IDs from this run. The output contains public Insight fields, typed claims, frozen excerpts, and capture counts—but never review notes, keys, connection strings, or spend-ledger contents. A SHA-256 manifest prevents silent replacement." ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "retract", + "metadata": {}, + "outputs": [], + "source": [ + "from backend.review import retract_reviewed_insights\n", + "\n", + "RETRACT_IDS: list[int] = [] # e.g. [3, 6, 7, 8]\n", + "RETRACTION_REASON = \"\" # Explain why these reviewed records are being withdrawn.\n", + "\n", + "if RETRACT_IDS:\n", + " async with session_factory() as session:\n", + " retracted = await retract_reviewed_insights(\n", + " session, RETRACT_IDS, reason=RETRACTION_REASON\n", + " )\n", + " display(HTML(f\"

Reviewed evidence retracted

Draft Insight IDs: {retracted}

\"))\n", + "else:\n", + " display(HTML(\"

Retraction paused

Set RETRACT_IDS and RETRACTION_REASON only when an explicit withdrawal is intended.

\"))" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/notebooks/drift_manual_run.results.ipynb b/notebooks/drift_manual_run.luna.results.ipynb similarity index 100% rename from notebooks/drift_manual_run.results.ipynb rename to notebooks/drift_manual_run.luna.results.ipynb diff --git a/notebooks/drift_manual_run.sol.results.ipynb b/notebooks/drift_manual_run.sol.results.ipynb new file mode 100644 index 0000000..095a0a2 --- /dev/null +++ b/notebooks/drift_manual_run.sol.results.ipynb @@ -0,0 +1,66 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "37e2d3d5", + "metadata": {}, + "source": [ + "# DRIFT reviewed-capture results (Tier.FINAL / Sol) — 2026-07-17\n", + "\n", + "This is a frozen, display-only record of the completed bounded **Tier.FINAL** capture, drafted and verified at `gpt-5.6-sol`. It deliberately contains **no executable cells**, environment/configuration values, database endpoint, provider-budget log, or human review notes.\n", + "\n", + "It is a companion to the earlier `gpt-5.6-luna` reviewed run recorded in [`drift_manual_run.luna.results.ipynb`](drift_manual_run.luna.results.ipynb), not a replacement for it.\n", + "\n", + "For the durable claim evidence and integrity manifest, use [`assets/evidence/2026-07-17-all-sources-reviewed.json`](../assets/evidence/2026-07-17-all-sources-reviewed.json) and its companion manifest." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Recorded outcome\n", + "\n", + "- Eight configured primary-release sources were sampled (one selected item per source).\n", + "- Eight clusters produced verifier-passed drafts (IDs 9–16), each drafted and separately verified at `gpt-5.6-sol`.\n", + "- Five Insights were human-reviewed and published: IDs **10, 11, 13, 15, and 16**.\n", + "- Three verifier-passed drafts were held after human review and left unpublished: **9** (a single PyTorch trunk commit rather than a release), **12** (CUTLASS 4.6.1, thin evidence with an interpretive expansion of an upstream typo), and **14** (an out-of-tree Triton `gfx950` tutorial pin rather than a mainline release).\n", + "- This is a small, bounded reviewed set—not continuous or comprehensive release monitoring." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Published reviewed Insights\n", + "\n", + "| ID | Release | Primary source |\n", + "| --- | --- | --- |\n", + "| 10 | JAX v0.11.0 | [GitHub release](https://github.com/jax-ml/jax/releases/tag/jax-v0.11.0) |\n", + "| 11 | Transformers v5.14.1 | [GitHub release](https://github.com/huggingface/transformers/releases/tag/v5.14.1) |\n", + "| 13 | vLLM v0.25.1 | [GitHub release](https://github.com/vllm-project/vllm/releases/tag/v0.25.1) |\n", + "| 15 | NCCL v2.30.7-1 | [GitHub release](https://github.com/NVIDIA/nccl/releases/tag/v2.30.7-1) |\n", + "| 16 | TensorRT 11.1 | [GitHub release](https://github.com/NVIDIA/TensorRT/releases/tag/v11.1) |\n", + "\n", + "The archive preserves typed claims, exact frozen source spans, offsets, source-content hashes, citations, confidence, and bounded checks. It intentionally excludes private human-review rationale." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Integrity and operating boundary\n", + "\n", + "The evidence manifest records SHA-256 `df32b3d4315b09fb4a6dbd508d381ca2c8095e25e16f88c4741ce7bc3055a337`; it is computed over the archive's exact UTF-8 LF bytes.\n", + "\n", + "To make a future capture, start from the clean [`drift_manual_run.ipynb`](drift_manual_run.ipynb) template, review drafts manually, and create a new dated archive. Do not reuse this results record as an operator notebook." + ] + } + ], + "metadata": { + "language_info": { + "name": "markdown" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/pyproject.toml b/pyproject.toml index 1d3d76f..fe16805 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "drift-release-intelligence" -version = "0.8.1" +version = "0.9.0" description = "Release intelligence for GPU and AI-infrastructure teams" readme = "README.md" requires-python = ">=3.14" diff --git a/submission/DRIFT_FREEZE_PLAN.md b/submission/DRIFT_FREEZE_PLAN.md index d49b7bb..7d6d406 100644 --- a/submission/DRIFT_FREEZE_PLAN.md +++ b/submission/DRIFT_FREEZE_PLAN.md @@ -5,6 +5,44 @@ > > Goal: maximize judging score while avoiding unnecessary feature creep. +## Audit addendum — 2026-07-17 + +**Codex Session ID:** `019f7190-912d-70e3-be6d-fcc81bf8e203` + +This plan was audited against the tracked backend/frontend source, tests, +assets, README, architecture records, submission notes, and current hosted +verification records. The following are verified boundaries for the freeze: + +- Implemented core: release-feed ingestion, typed claim evidence, separate + verifier screening, human review-gated publication, evidence persistence, + citations, briefing/search/chat, and the no-key fixture lane. +- The tracked repository has no DRIFT MCP server, MCP tools, generic tool-call + API, IDE integration, or release-timeline feature. Those remain optional + future ideas and must not be presented as shipped features. +- The repository contains architecture diagrams and four screenshots, but no + demo GIFs. The demo remains an operator-owned, under-three-minute recording + gate; the existing script targets 2:50–2:55. +- Hosted evidence remains bounded: the deployed app is still `v0.8.0` for + health/docs, public Ask DRIFT, and CORS, while the live Railway store now + serves exactly five human-reviewed Tier.FINAL Insights (IDs 10, 11, 13, 15, + and 16); the app redeploy is pending. Paid hosted `/search` and `/chat` were + not re-invoked for this store-only update. + +The numeric score matrix below is an internal prioritization estimate, not +measured judging evidence. No new feature surface is authorized by this audit; +remaining work may include the targeted Tier.FINAL evidence pass, selected +polish, the video, and the Devpost submission. + +## Evidence cleanup addendum — 2026-07-18 + +**Codex Session ID:** `019f7213-be19-7e50-92ac-a48bd5ecaacb` + +The superseded Luna reviewed Insights 3, 6, 7, and 8 were returned to draft +through the audited review helper. Hosted `/briefing?top_n=10` was re-fetched +and returned exactly the five reviewed Tier.FINAL Sol Insights (10, 11, 13, +15, and 16). The deployed app remains `v0.8.0` pending redeploy; this does not +claim hosted application verification for the `v0.9.0` source release. + --- # Philosophy @@ -23,22 +61,32 @@ Everything below is prioritized for maximum judging impact. --- -# Final Score Matrix - -| Category | Current | Target | Status | -|-----------|---------|--------|--------| -| Problem Selection | 9.6 | 10 | ⬜ | -| Innovation | 9.3 | 10 | ⬜ | -| OpenAI Integration | 8.8 | 10 | ⬜ | -| Technical Difficulty | 9.8 | 10 | ⬜ | -| Engineering Quality | 9.8 | 10 | ⬜ | -| Documentation | 9.8 | 10 | ⬜ | -| Architecture | 9.8 | 10 | ⬜ | -| Safety & Trust | 9.7 | 10 | ⬜ | -| UX | 8.3 | 10 | ⬜ | -| Demo | 8.2 | 10 | ⬜ | -| Submission Quality | 9.0 | 10 | ⬜ | -| OSS Readiness | 9.9 | 10 | ⬜ | +# Score Matrix — current readiness vs projected final + +These are internal readiness estimates, not guaranteed judge scores. **Current** +reflects the verified repository and hosted state before the Tier.FINAL rerun +and public video. **Target** reflects a successful v0.9.0 evidence pass and +v1.0.0 submission finish. + +| Category | Current | Target | Readiness | +|-----------|---------|--------|-----------| +| Problem Selection | 9.4 | 9.6 | ✅ Strong and specific | +| Innovation | 8.9 | 9.2 | 🟡 Strong concept; demo must make differentiation immediate | +| OpenAI Integration | 8.4 | 9.3 | 🟡 Sol rerun and GPT-5.6 narration pending | +| Technical Difficulty | 9.6 | 9.8 | ✅ Typed pipeline, persistence, retrieval, and review gate implemented | +| Engineering Quality | 9.7 | 9.8 | ✅ 150 tests and 100% backend coverage verified | +| Documentation | 9.0 | 9.7 | 🟡 Strong records; final evidence/video links remain pending | +| Architecture | 9.7 | 9.8 | ✅ Architecture and trust boundaries are implemented and documented | +| Safety & Trust | 9.7 | 9.8 | ✅ Evidence spans, verifier screening, and human publication gate | +| UX | 8.5 | 8.9 | 🟡 Ask DRIFT is clear; surface remains intentionally focused | +| Demo | 4.0 | 9.0 | 🔴 Public video not yet recorded | +| Submission Quality | 5.8 | 9.2 | 🔴 Video URL and final Devpost records are pending | +| OSS Readiness | 9.5 | 9.7 | ✅ License, security, contributing, CI, and judge path present | + +The largest present-state gap is submission readiness, not core engineering: +the under-three-minute video and final Devpost materials remain. The completed +Tier.FINAL pass should raise OpenAI Integration, +Documentation, Demo, and Submission Quality most directly. --- @@ -155,11 +203,13 @@ Action recommendation --- -# Priority 2 (Strongly Recommended) +# Priority 2 (Optional future work — excluded from this freeze) ## MCP Integration -Add MCP only if it creates new capability. +DRIFT does not currently expose MCP. Add it only in a future scope if it +creates a new capability; do not imply that the current HTTP API is an MCP +server. Good architecture: @@ -238,7 +288,8 @@ These naturally map to MCP tools. ## Better User Stories -Create several polished examples. +These are future examples, not current shipped workflows. The current saved +and reviewed evidence is bounded to the documented release captures. Examples: @@ -250,7 +301,7 @@ Examples: --- -# Priority 3 (Nice to Have) +# Priority 3 (Nice to Have — deferred) ## Evaluation @@ -270,15 +321,17 @@ Even simple metrics improve credibility. ## Screenshots -Include: +Available now: -- Home -- Search -- Chat -- Timeline -- Evidence +- Home/landing +- API docs +- Briefing +- Claim evidence - Architecture +There is no dedicated timeline screen, and no dedicated search screen beyond +the API/briefing evidence. + --- ## GIFs @@ -305,9 +358,7 @@ No long paragraphs above the fold. # Demo Script -Target: - -3–4 minutes +Target: under 3 minutes; the checked-in script targets 2:50–2:55. Minute 1 @@ -370,15 +421,15 @@ Core ✅ Evidence database -✅ Release timeline +⬜ Release timeline — not implemented Stretch -✅ MCP Server +⬜ MCP Server — not implemented -✅ Tool Calling +⬜ Tool Calling — not implemented -✅ IDE Integration +⬜ IDE Integration — not implemented --- @@ -386,15 +437,15 @@ Stretch ## Repository -- [ ] README complete -- [ ] Architecture diagrams -- [ ] Screenshots +- [x] README complete +- [x] Architecture diagrams +- [x] Screenshots (landing, API docs, briefing, claim evidence) - [ ] Demo GIFs -- [ ] Installation tested -- [ ] CI passing -- [ ] License -- [ ] Security policy -- [ ] Contributing guide +- [x] Installation path documented and locally exercised +- [x] CI passing / quality gates documented +- [x] License +- [x] Security policy +- [x] Contributing guide --- @@ -455,4 +506,4 @@ Every new commit must satisfy at least one of these: If it satisfies none of them, -do not build it. \ No newline at end of file +do not build it. diff --git a/submission/NEXT_STEPS.md b/submission/NEXT_STEPS.md deleted file mode 100644 index 1d18e3a..0000000 --- a/submission/NEXT_STEPS.md +++ /dev/null @@ -1,136 +0,0 @@ -# DRIFT — Focused next steps (audit follow-up, 2026-07-16) - -**Deadline:** Devpost submission closes **Tue Jul 21, 5:00 PM PT**. Today is Wed Jul 16 — 5 working days. -**Codex budget:** about 500 of 2,500 credits remain (~20%). Spend it on P0/P1 -release and submission work only; do P2 polish by hand where possible. -**OpenAI API budget (separate from Codex credits):** capture runs and hosted smoke tests draw on the `drift` project key, bounded by `DRIFT_MAX_SPEND_USD=10`. That is enough for several capture runs; do not raise the cap. - -Audit verdict: hosted `v0.8.0` is verified. It has 150 tests and 100% backend -coverage, verifiable synthetic fixture evidence, and the grounded Ask DRIFT UI. -On 2026-07-17, Railway `/health` reported `0.8.0`, `/docs` returned `200`, the -public Vercel page rendered Ask DRIFT, Vercel CORS allowed `GET, POST`, and an -immutable tag-pinned fixture source resolved. `v0.7.0` includes evidence-byte -integrity, public review-note redaction, and the ten-item frontend request. -Its `/briefing` (four records with no review notes), `/openapi.json` (no -review-note field), and deployed Vercel bundle were checked on 2026-07-16. -Paid `/search` and `/chat` were not re-invoked for the `v0.8.0` rollout. The -reviewed-output blocker is cleared; the demo video remains the final submission -blocker. - ---- - -## P0 — Blockers (Jul 16–18). Submission fails without these. - -### 1. Publish 3–5 human-reviewed live captures *(unblocks everything else)* -- [x] Ran `notebooks/drift_manual_run.ipynb` against Railway PostgreSQL via the public - TCP proxy (`DRIFT_DATABASE_PUBLIC_HOST` / `DRIFT_DATABASE_PUBLIC_PORT`). -- [x] Captured one item per source (8 total), tier `dev` (`gpt-5.6-luna`); the demo - set stayed at `dev` to bound cost, with `final`/Sol reserved. -- [x] Human-reviewed and published Insight IDs 3, 6, 7, 8 via - `backend.review.publish_verified_insights()` with real review notes. -- [x] Archived the reviewed evidence records + SHA-256 manifest to - `assets/evidence/2026-07-16-all-sources-reviewed.json`. -- [x] Verified hosted output afterwards (all provider-backed): - ``` - curl https://drift-api-prod.up.railway.app/briefing # non-empty - curl "https://drift-api-prod.up.railway.app/search?q=vllm" # non-empty - curl -X POST https://drift-api-prod.up.railway.app/chat \ - -H "Content-Type: application/json" \ - -d '{"question":"What should I check for vLLM?"}' # grounded answer + citations - ``` -- [x] Recorded reviewed-evidence hosted smoke-test results in CHANGELOG. - Empty-store responses are not evidence of provider-backed retrieval or grounded chat. - -### 2. Deploy the reviewed-evidence frontend and redaction fix -- [x] `frontend/app/page.tsx`: separate **loading**, **empty**, and **error** - states; local `v0.6.1` also renders canonical light/dark API-served - banners without frontend SVG copies. -- [x] Deployed `v0.7.0` to Railway and Vercel; `/health` reports `0.7.0`, - `/briefing` and `/openapi.json` omit `human_review_notes`, CORS allows - Vercel, and the deployed frontend requests `top_n=10`. -- [x] Deployed `v0.8.0` to Railway and Vercel; `/health` reports `0.8.0`, - `/docs` returns `200`, the public Vercel page renders Ask DRIFT, Vercel - CORS allows `GET, POST`, and a tag-pinned fixture source resolves. Paid - `/search` and `/chat` were not re-invoked for this rollout. - -### 3. Record and publish the demo video *(≤ 3 min, public YouTube, English voiceover)* -- [ ] Follow `submission/DEMO_SCRIPT.md`, updated for the now-populated hosted app: - lead with real reviewed insights, the claim-evidence panel, and grounded chat. -- [ ] Show the Codex interface on screen at least once (strengthens Technical - Implementation per Devpost guidance). -- [ ] Narration must explicitly cover: what DRIFT does, how **Codex** built it, - how **GPT-5.6** is integrated (claim extraction + separate verifier + chat). -- [ ] Replace `https://youtu.be/TBD` in README.md, `submission/SUBMISSION.md`, - and `submission/DEMO_SCRIPT.md`. - ---- - -## P1 — High leverage (Jul 18–19). Largest scoring uplift per hour. - -### 4. Restructure README top (Potential Impact / first impression) -- [x] First screen: problem → what DRIFT does → live demo links (now showing real - content) → 60-second judge path (`docker compose up` + hosted URLs). -- [x] Move the boundary/disclaimer material lower and reframe it as the trust - model — "release notes are untrusted input; every claim carries a frozen - source span, a separate verifier pass, and a human review gate" — not as - an apology. -- [x] Keep the Codex/GPT-5.6 usage section prominent (judges are told to look for it). - -### 5. Add a minimal grounded-chat box to the frontend (Design) -- [x] One component (`AskDrift`) against the retrieve-first `/chat` endpoint; - shows the grounded answer with source citations. The separate `/search` - endpoint remains available in the API rather than duplicating live - retrieval in the browser. This is the single biggest demo-video uplift. -- [x] If credits run short, cut this before cutting anything in P0. - -### 6. Cross-platform judge path -- [x] Add bash/curl equivalents beside every PowerShell command in Quick Start - (judges will likely test on macOS/Linux). -- [x] Promote `docker compose up` as the one-command local path. - ---- - -## P2 — Polish (Jul 20). Hand-edit; do not spend Codex credits here. - -- [x] README quality result — updated to 150 tests after a verified pytest run. -- [x] README clone URL — replaced `git clone ` with: - `https://github.com/iarjunganesh/drift.git`. -- [x] Scrubbed `bankers-wrapped` references from public surfaces: - `backend/main.py` docstring, `.env.example`, `docs/CODEX_PROMPTS.md` intro. -- [x] Give the 3 fixture records `claims` arrays so the "Inspect claim evidence" - panel renders in no-key mode; retitle them to read like realistic examples - (still labelled fixtures), then backed them with checked-in synthetic - source text and an integrity regression test. Validated against the - `Insight` model; 150 tests still pass at 100% coverage. -- [x] Enable branch protection requiring the CI quality gate (main: 5 required - checks — Ruff lint, Mypy type check, Tests and coverage, Frontend build, - Documentation hygiene; strict up-to-date; admins retain bypass). -- [x] Confirm the Codecov `pytest` upload appears on the dashboard (tokenless - OIDC upload queued and processed; repo and `flag=pytest` badges both 100%). - ---- - -## Submission form (Jul 20, submit a day early — no edits allowed after close) - -- [ ] Category: **Developer Tools** (single track). -- [ ] Text description: adapt the restructured README top. -- [ ] Video URL: final public YouTube link. -- [ ] Repo URL: `https://github.com/iarjunganesh/drift` (public, MIT — already verified). -- [ ] Primary `/feedback` Session ID: `019f62b9-10b7-7d82-a463-e6eb1192141c` - (all 10 initiative IDs stay documented in README/`docs/INITIATIVES.md`). -- [ ] Judge testing path: hosted frontend + API links, plus `docker compose up`. -- [ ] Re-run the "Do not claim until verified" checklist in `SUBMISSION.md` — - after P0 lands, most of those claims become safely claimable. - -## Credit allocation guide (750 remaining) - -| Work | Credits | -| --- | --- | -| P0.1 notebook run support / capture debugging | ~150 | -| P0.2 frontend empty state + redeploy | ~75 | -| P1.4 README restructure | ~100 | -| P1.5 chat/search UI component | ~200 | -| P1.6 cross-platform Quick Start | ~50 | -| Reserve for video-day fixes and re-verification | ~175 | - -If anything overruns, protect the reserve — a working demo on video beats one more feature. diff --git a/submission/SUBMISSION.md b/submission/SUBMISSION.md index 492c90e..fc32ee9 100644 --- a/submission/SUBMISSION.md +++ b/submission/SUBMISSION.md @@ -21,6 +21,10 @@ `019f6a46-e3eb-7de2-81b1-91515ae80043` - Reviewed-evidence hardening and `v0.8.0` hosted verification: `019f6a78-6fa2-7121-9059-85ac8ceb9904` + - Freeze-plan audit and documentation synchronization: + `019f7190-912d-70e3-be6d-fcc81bf8e203` + - v0.9.0 evidence cleanup and session synchronization: + `019f7213-be19-7e50-92ac-a48bd5ecaacb` - [x] Use `019f62b9-10b7-7d82-a463-e6eb1192141c` as the primary `/feedback` Session ID if the Devpost form accepts only one. - [x] Implement local claim-level evidence, separate verification, and diff --git a/tests/integration/test_api.py b/tests/integration/test_api.py index b8c9115..1eebf44 100644 --- a/tests/integration/test_api.py +++ b/tests/integration/test_api.py @@ -39,7 +39,7 @@ def test_health_and_briefing(api_client) -> None: root = api_client.get("/") health = api_client.get("/health") - assert health.json()["version"] == "0.8.0" + assert health.json()["version"] == "0.9.0" briefing = api_client.get("/briefing") assert root.status_code == 200 diff --git a/tests/unit/test_notebook_artifacts.py b/tests/unit/test_notebook_artifacts.py index d7e9b22..8c17643 100644 --- a/tests/unit/test_notebook_artifacts.py +++ b/tests/unit/test_notebook_artifacts.py @@ -6,7 +6,7 @@ def test_results_notebook_is_display_only_and_has_no_operator_config() -> None: notebook = json.loads( - (REPOSITORY_ROOT / "notebooks" / "drift_manual_run.results.ipynb").read_text( + (REPOSITORY_ROOT / "notebooks" / "drift_manual_run.luna.results.ipynb").read_text( encoding="utf-8" ) ) diff --git a/tests/unit/test_review.py b/tests/unit/test_review.py index 0709594..57f1885 100644 --- a/tests/unit/test_review.py +++ b/tests/unit/test_review.py @@ -98,3 +98,39 @@ async def test_publish_verified_insights_rejects_non_draft_or_unverified_rows() [1], review_notes="Reviewed", ) + + +@pytest.mark.asyncio +async def test_retract_reviewed_insights_records_reason_and_returns_to_draft() -> None: + row = make_row(7, publication_status=PublicationStatus.REVIEWED) + row.human_review_notes = "Original publication review." + session = FakeSession([row]) + + retracted = await review.retract_reviewed_insights( + session, + [7, 7], + reason="Replace Luna evidence with the reviewed Tier.FINAL Sol result.", + ) + + assert retracted == [7] + assert row.publication_status == PublicationStatus.DRAFT.value + assert row.human_review_notes == ( + "Original publication review.\n" + "Retraction: Replace Luna evidence with the reviewed Tier.FINAL Sol result." + ) + assert session.committed is True + + +@pytest.mark.asyncio +async def test_retract_reviewed_insights_rejects_invalid_selection_or_rows() -> None: + session = FakeSession([]) + with pytest.raises(ValueError, match="at least one"): + await review.retract_reviewed_insights(session, [], reason="Replace") + with pytest.raises(ValueError, match="reason is required"): + await review.retract_reviewed_insights(session, [1], reason=" ") + with pytest.raises(ValueError, match="not found"): + await review.retract_reviewed_insights(session, [1], reason="Replace") + with pytest.raises(ValueError, match="not a reviewed"): + await review.retract_reviewed_insights( + FakeSession([make_row(1)]), [1], reason="Replace" + ) diff --git a/uv.lock b/uv.lock index 41587c9..2e2da2c 100644 --- a/uv.lock +++ b/uv.lock @@ -213,7 +213,7 @@ wheels = [ [[package]] name = "drift-release-intelligence" -version = "0.8.1" +version = "0.9.0" source = { editable = "." } dependencies = [ { name = "alembic" },