feat(ask): honor optional knowledge cutoff on Global Ask - #658
feat(ask): honor optional knowledge cutoff on Global Ask#658seonghobae wants to merge 29 commits into
Conversation
Dated questions retrieve posts available by that clock and cite the retained source-post revision, never the live rewrite. Omitting the cutoff keeps the live-query contract (ADR 0216 / #271).
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reachedNext included review available in 34 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (17)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Exact-head review at |
|
Fixed the confirmed review bug at exact head |
|
Follow-up ADR consistency repair at |
|
Concurrent fixes were respected and my UI repair was rebased without force-push. Current exact head |
|
Exact-head reconciliation at |
|
Addressed the actionable cutoff review finding at exact head |
…ng-contract # Conflicts: # backend/app/post_chat_ingestion.py # backend/app/source_post_revision.py # tests/test_global_ask_cutoff.py
|
Revalidated exact head |
|
Merged current protected-main base and retained both the Global Ask cutoff and semantic-unit changelog entries. New exact head: |
|
Addressed the open review thread in |
|
Confirmed the |
# Conflicts: # backend/app/global_ask_queue.py # backend/app/main.py # backend/app/post_chat_ingestion.py # backend/app/source_post_revision.py # docs/adr/0216-global-ask-knowledge-cutoff.md # frontend/src/App.tsx # frontend/src/api.ts # frontend/src/i18n.ts # lineageweave/post_chat.py # tests/test_global_ask_cutoff.py # tests/test_global_ask_queue.py
|
The failed exact-head Strix artifact contains no vulnerability report: NVIDIA attempts ended in HTTP 429/410, and the final OpenAI fallback rejected Strix function tools with reasoning_effort on Chat Completions. This is provider/workflow infrastructure evidence, not a product-code finding. The failed job has been re-run fail-closed; the owning central workflow is being audited separately rather than changing this PR or suppressing the gate. |
Buyer gap
Issue #271: Global Ask still assembled only the live
source_postrow. A dated question could receive a current answer with no machine-verifiable statement that the cited body existed by that clock.Contract (ADR 0216)
POST /api/asknow accepts optionalknowledge_cutoff(ISO 8601 / UTC).1.0).created_at) is at or before the cutoff, cite the coveringsource_post_revision, and never substitute the live title or body.historical_body_unavailablelimitation.fully_cutoff_groundedorpartially_cutoff_grounded. A live-only answer is never labeled as-of.1.1versions the cutoff field for browser and future MCP consumers of the same assembler.Buyer next action
On Ask Agent, leave the cutoff blank to ask against live evidence, or enter a UTC clock. Open a cited post to compare the retained body with the live rewrite.
Tests
Synthetic fixtures only. RED→GREEN coverage in
tests/test_global_ask_cutoff.pyand the Ask Agent frontend test:Does not mix into open stacks #579 / #629 / #631 / #632 / #636 / #639 / #640 / #643 / #644.
Independent APPROVE on this exact head is required. Do not squash-merge without it.