Repository navigation
feat: release v0.8.0 high-leverage judge path - #3
Conversation
P1 #5 — Add the Ask DRIFT grounded-chat box (frontend/app/AskDrift.tsx): a single client component that posts to /chat and renders the grounded answer, source citations, model/audit label, and grounded insight IDs, with explicit loading, no-match (404), and error states. Contract verified against the fixture backend; production frontend build passes. P1 #4 — Restructure the README top for first impression: The Problem → What DRIFT Does → Try DRIFT in 60 Seconds (hosted demo links + one-command docker compose up judge path). Reframe the closing Disclaimer as a positive Trust Model; keep the Codex/GPT-5.6 usage section prominent. Embed the reviewed-briefing and claim-evidence screenshots as live-state evidence and rename the screenshot assets to clean kebab-case filenames. P1 #6 — Make the Quick Start cross-platform: promote docker compose up as the one-command local path and add bash/curl equivalents beside every PowerShell command. Check off the P1 items in submission/NEXT_STEPS.md and record the change in CHANGELOG (Unreleased). Video work (P0.3) is intentionally left untouched.
Fixtures: back every example claim with explicitly synthetic, checked-in source text and validate its full-byte SHA-256, exact span, URL, and raw-item relationship. Frontend: align Ask DRIFT input validation and accessible states with the public /chat contract. Delivery: release v0.8.0 source metadata and synchronize the README, security policy, runbook, architecture, ADRs, submission tracker, locks, and test count without claiming unverified hosted deployment. Verification: Ruff, mypy, 150 tests at 100% backend coverage, clean frontend install/build, Docker Compose config, fixture byte-hash/span checks, Markdown link checks, and git diff --check pass.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
Releases DRIFT v0.8.0 as a source release by adding an in-app grounded “Ask DRIFT” chat path, hardening fixture claim-evidence integrity against checked-in synthetic sources, and synchronizing versioning + judge-facing documentation/branding to reflect the updated trust boundary without claiming unverified hosted deployment.
Changes:
- Add a new grounded chat UI component (
AskDrift) wired toPOST /chat, with loading/empty/error states and citation rendering. - Introduce synthetic fixture source files + a regression test that verifies fixture claim evidence spans, URLs, and SHA-256 hashes against frozen source bytes.
- Sweep version bumps and documentation/architecture assets to
v0.8.0, including updated submission/judge materials and diagrams.
Reviewed changes
Copilot reviewed 39 out of 65 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| uv.lock | Bumps Python package root version to 0.8.0. |
| tests/unit/test_fixture_evidence.py | Adds regression test ensuring fixture claim evidence matches frozen synthetic source files. |
| tests/integration/test_api.py | Updates health/version assertion to 0.8.0. |
| submission/SUBMISSION.md | Adds initiative pointer for the v0.8.0 source release work. |
| submission/NEXT_STEPS.md | Updates audit/verdict notes to distinguish hosted v0.7.0 vs source v0.8.0. |
| submission/DRIFT_FREEZE_PLAN.md | Adds a “freeze plan” document for judging-focused execution. |
| submission/DEMO_SCRIPT.md | Minor wording update for demo script (“brand banner”). |
| SECURITY.md | Updates supported-version table and clarifies 0.8.0 is source-only pending hosted verification. |
| README.md | Restructures judge path, adds Ask DRIFT positioning, updates architecture assets and trust-model prose. |
| pyproject.toml | Bumps Python project version to 0.8.0. |
| frontend/package.json | Bumps frontend version to 0.8.0. |
| frontend/package-lock.json | Bumps lockfile package versions to 0.8.0. |
| frontend/app/page.tsx | Adds Ask section link and mounts the AskDrift component in the homepage flow. |
| frontend/app/globals.css | Adds styles for Ask DRIFT form/answer UI and a visually-hidden label utility. |
| frontend/app/AskDrift.tsx | New grounded-chat client component calling POST /chat and rendering citations + metadata. |
| docs/RUNBOOK.md | Updates runbook to note fixture links resolve to synthetic source text. |
| docs/INITIATIVES.md | Adds Initiative 10 entry and updates counts/coverage references. |
| docs/CODEX_PROMPTS.md | Updates prompt checklist/status to reflect completed ops (branch protection, Codecov) and new initiative. |
| docs/BUILD_SEQUENCE.md | Records completion of v0.8.0 source work and repo operations verification. |
| docs/ARCHITECTURE.md | Updates architecture narrative + asset references; documents fixture evidence now points to synthetic source files. |
| docs/adr/README.md | Updates ADR index text for ADR-010 summary alignment with v0.8.0 source release. |
| docs/adr/010-claim-evidence-and-review-gate.md | Adds v0.8.0 fixture addendum describing synthetic evidence verification. |
| docs/adr/007-vercel-railway-deployment.md | Terminology tweak (“hero” → “brand” banner). |
| CONTRIBUTING.md | Updates architecture-asset source-of-truth guidance and initiative count. |
| CHANGELOG.md | Adds 0.8.0 changelog entry covering Ask DRIFT UI, fixture evidence hardening, docs/assets updates, ops verification. |
| backend/fixtures/source_evidence/101.txt | Adds synthetic source text for fixture raw item 101. |
| backend/fixtures/source_evidence/102.txt | Adds synthetic source text for fixture raw item 102. |
| backend/fixtures/source_evidence/103.txt | Adds synthetic source text for fixture raw item 103. |
| backend/fixtures/source_evidence/104.txt | Adds synthetic source text for fixture raw item 104. |
| backend/fixtures/insights.json | Updates fixtures to include typed claims + evidence spans/URLs/SHA-256 for inspectable claim evidence. |
| backend/core/config.py | Bumps API version string to 0.8.0. |
| assets/brand/README.md | Documents locked palette and banner generation workflow. |
| assets/brand/drift-banner-light.svg | Replaces the light banner SVG output (now generator-produced). |
| assets/brand/build_banner.py | Adds banner generator source-of-truth script. |
| assets/brand/build_banner_raster.mjs | Adds script to rasterize banner SVGs to PNG via frontend sharp. |
| assets/architecture/README.md | Updates architecture asset inventory and regeneration instructions for new diagram split. |
| assets/architecture/build_arch.py | Adds hand-authored presentation architecture diagram generator. |
| assets/architecture/build_arch_raster.mjs | Adds script to rasterize presentation architecture SVGs to PNG via frontend sharp. |
| assets/architecture/architecture-diagram.mmd | Removes old Mermaid diagram source in favor of renamed pipeline diagram. |
| assets/architecture/arch-pipeline.mmd | Adds renamed Mermaid pipeline diagram source with trust-zone subgraphs. |
| assets/architecture/arch-pipeline-light.config.json | Adds Mermaid light-theme configuration for pipeline diagram rendering. |
| assets/architecture/arch-pipeline-dark.config.json | Adds Mermaid dark-theme configuration for pipeline diagram rendering. |
| AGENTS.md | Updates current-phase status to reflect v0.8.0 as source release and refreshed verification notes. |
| .gitattributes | Preserves fixture source-evidence .txt bytes across platforms for stable SHA-256 verification. |
Files not reviewed (1)
- frontend/package-lock.json: Generated file
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| async function ask(pending: string) { | ||
| const trimmed = pending.trim(); | ||
| if (trimmed.length < MIN_QUESTION_LENGTH || status === "loading") return; | ||
|
|
||
| setStatus("loading"); | ||
| setResult(null); | ||
| setErrorMessage(""); |
| {result.source_citations.map((citation) => ( | ||
| <a key={citation} href={citation} target="_blank" rel="noreferrer"> | ||
| Source ↗ | ||
| </a> | ||
| ))} |
| import { readFileSync, writeFileSync } from "node:fs"; | ||
| import { createRequire } from "node:module"; | ||
|
|
||
| const require = createRequire("file://" + process.cwd() + "/../../frontend/"); | ||
| const sharp = require("sharp"); |
| import { readFileSync, writeFileSync } from "node:fs"; | ||
| import { createRequire } from "node:module"; | ||
|
|
||
| const require = createRequire("file://" + process.cwd() + "/../../frontend/"); | ||
| const sharp = require("sharp"); |
What changed
v0.8.0.Why
The feature branch improves the judge-facing product while preserving DRIFT's evidence boundary. The fixture demo must be inspectable without implying a synthetic example is a real upstream release.
Impact
Operators receive API-contract-aligned Ask DRIFT validation and accessible status feedback. Fixture users can inspect source-backed examples locally with no API key. Hosted
v0.7.0remains the only deployment claimed verified until the Git-connectedv0.8.0rollout is observed.Root cause addressed
The prior fixture claims hashed individual excerpts and reused a raw-item identifier across inconsistent source URLs. Live claims instead hash one full frozen source per raw item. This PR makes the fixture follow that same invariant and guards it with a test.
Validation
git diff --checkpass.