From 3b741c1844968b379051af90d235967c35f670cd Mon Sep 17 00:00:00 2001 From: Woody Date: Sat, 25 Apr 2026 18:29:22 +0800 Subject: [PATCH] feat(query): stream extracted questions immediately via SSE Convert /query endpoint from synchronous JSON to Server-Sent Events (SSE) streaming. The frontend now receives extracted_questions as soon as the first LLM call completes, without waiting for retrieval, filtering, and answer generation. Backend: - Add StreamingQueryEvent union type (Decomposed, Retrieving, Filtering, Generating, Completed, Error) - Convert /query to return StreamingResponse with SSE format - Yield events after each pipeline phase Frontend: - Add queryDocumentStream() using fetch + ReadableStream - Add useQueryDocumentStream() hook with phase-aware state - Update LTTPage to use streaming instead of mutation - Update ResponsePanel to show phase messages (Searching documents..., Filtering passages..., Generating answer...) - Update ExtractedQuestionsDisplay to accept null Tests: - Update query_flow e2e test to mock queryDocumentStream - 84/85 tests pass (1 pre-existing failure from removed file-input) --- .plans/streaming_extracted_questions_plan.md | 454 ++++++++++ .playwright-mcp/frontend-state.yml | 14 + .../page-2026-04-23T04-04-47-009Z.yml | 14 + .../page-2026-04-23T04-06-45-294Z.yml | 0 .../page-2026-04-23T04-06-54-071Z.yml | 18 + .../page-2026-04-24T01-59-42-371Z.yml | 6 + .../page-2026-04-24T02-00-11-873Z.yml | 21 + .../page-2026-04-24T02-00-49-145Z.yml | 0 .../page-2026-04-24T02-01-07-790Z.yml | 21 + .../page-2026-04-24T02-01-53-452Z.yml | 26 + .../page-2026-04-24T02-02-21-161Z.yml | 804 ++++++++++++++++++ .../page-2026-04-24T08-39-07-948Z.yml | 17 + .../page-2026-04-24T08-42-08-014Z.yml | 17 + .../page-2026-04-25T06-20-17-555Z.yml | 19 + .../page-2026-04-25T06-20-27-139Z.png | Bin 0 -> 12875 bytes .../page-2026-04-25T06-23-32-244Z.yml | 19 + .../page-2026-04-25T06-23-38-851Z.png | Bin 0 -> 12875 bytes .../page-2026-04-25T06-25-19-538Z.yml | 19 + .../page-2026-04-25T06-27-12-978Z.yml | 19 + .../page-2026-04-25T06-28-21-255Z.yml | 19 + .../page-2026-04-25T06-31-56-729Z.yml | 19 + backend/app/models/query.py | 32 +- backend/app/routers/query.py | 68 +- .../components/ExtractedQuestionsDisplay.tsx | 2 +- frontend/src/components/ResponsePanel.tsx | 12 + frontend/src/lib/api.ts | 40 +- frontend/src/lib/queries.tsx | 97 ++- frontend/src/pages/LTTPage.tsx | 24 +- frontend/src/test/e2e/query_flow.test.tsx | 44 +- frontend/src/types/index.ts | 8 + test materials/NEC4 ACC_page_2.pdf | Bin 0 -> 203084 bytes 31 files changed, 1819 insertions(+), 34 deletions(-) create mode 100644 .plans/streaming_extracted_questions_plan.md create mode 100644 .playwright-mcp/frontend-state.yml create mode 100644 .playwright-mcp/page-2026-04-23T04-04-47-009Z.yml create mode 100644 .playwright-mcp/page-2026-04-23T04-06-45-294Z.yml create mode 100644 .playwright-mcp/page-2026-04-23T04-06-54-071Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T01-59-42-371Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T02-00-11-873Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T02-00-49-145Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T02-01-07-790Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T02-01-53-452Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T02-02-21-161Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T08-39-07-948Z.yml create mode 100644 .playwright-mcp/page-2026-04-24T08-42-08-014Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-20-17-555Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-20-27-139Z.png create mode 100644 .playwright-mcp/page-2026-04-25T06-23-32-244Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-23-38-851Z.png create mode 100644 .playwright-mcp/page-2026-04-25T06-25-19-538Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-27-12-978Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-28-21-255Z.yml create mode 100644 .playwright-mcp/page-2026-04-25T06-31-56-729Z.yml create mode 100644 test materials/NEC4 ACC_page_2.pdf diff --git a/.plans/streaming_extracted_questions_plan.md b/.plans/streaming_extracted_questions_plan.md new file mode 100644 index 0000000..06ec4ad --- /dev/null +++ b/.plans/streaming_extracted_questions_plan.md @@ -0,0 +1,454 @@ +# Plan: Show Extracted Questions Immediately (Streaming Query Response) + +## Problem + +On the LTT page, when a user submits a question like "what is power of project manager", the "Extracted Questions" section only appears after **all three LLM calls** complete: + +1. **QueryDecomposer** (LLM #1) → `extracted_questions` — **available here** +2. **RelevanceFilter** (LLM #2) → filtered chunks +3. **ResponseGeneration** (LLM #3) → final answer + +The user must wait 10-30+ seconds (depending on LLM latency) before seeing the extracted sub-questions, even though they are produced in the first ~3-5 seconds. + +## Root Cause + +The backend `/query` endpoint is a single synchronous HTTP call that awaits all pipeline steps before returning the complete `QueryResponse`. The frontend's `useMutation` receives the entire response at once. + +## Objective + +Show `extracted_questions` to the user **as soon as the first LLM call completes**, while the remaining pipeline steps continue in the background. The user sees: +1. Extracted questions immediately (after LLM #1) +2. A loading indicator for the answer (while LLM #2 and #3 run) +3. The final answer and sources when complete + +## Recommended Approach: SSE Streaming + +Convert the `/query` endpoint to use **Server-Sent Events (SSE)** — the industry-standard pattern for streaming LLM responses. This requires changes to both backend and frontend. + +### Why SSE (not WebSocket or separate endpoint) + +| Approach | Pros | Cons | Verdict | +|----------|------|------|---------| +| **SSE Streaming** | Single connection, automatic reconnect, HTTP-based, simple JSON lines | One-directional (server→client only) | ✅ **Best fit** — we only need server→client | +| **WebSocket** | Bidirectional, lower overhead | Overkill for this use case, more complex | ❌ Unnecessary complexity | +| **Separate `/decompose` endpoint** | Minimal backend change | Two HTTP round-trips, awkward UX (submit twice), harder to maintain state | ❌ Poor UX, more frontend complexity | + +## Backend Changes + +### 1. New Streaming Response Models + +**File**: `backend/app/models/query.py` + +Add a `StreamingQueryEvent` union type for SSE events: + +```python +from pydantic import BaseModel +from typing import Literal, Union + +class DecomposedEvent(BaseModel): + phase: Literal["decomposed"] + extracted_questions: list[str] + +class RetrievingEvent(BaseModel): + phase: Literal["retrieving"] + +class FilteringEvent(BaseModel): + phase: Literal["filtering"] + +class CompletedEvent(BaseModel): + phase: Literal["completed"] + answer: str + sources: list[SourceMetadata] + +class ErrorEvent(BaseModel): + phase: Literal["error"] + message: str + +StreamingQueryEvent = Union[ + DecomposedEvent, RetrievingEvent, FilteringEvent, + CompletedEvent, ErrorEvent +] +``` + +### 2. Streaming Query Endpoint + +**File**: `backend/app/routers/query.py` + +Convert `/query` to return `StreamingResponse` with `text/event-stream`: + +```python +from fastapi.responses import StreamingResponse +import json + +async def _query_stream(request: QueryRequest): + """Generator that yields SSE events for the query pipeline.""" + settings = get_settings() + + try: + llm_client = LLMClient(settings) + rag = RAGService(llm_client=llm_client, settings=settings) + + # Step 1: Decompose (LLM #1) + decomposer = QueryDecomposer(llm_client) + extracted_questions = await decomposer.decompose(request.question) + yield f"data: {json.dumps({'phase': 'decomposed', 'extracted_questions': extracted_questions})}\n\n" + + # Step 2: Retrieve (ChromaDB) + yield f"data: {json.dumps({'phase': 'retrieving'})}\n\n" + chunks = rag.retrieve(extracted_questions, n_results=settings.retrieval_n_results) + + if not chunks: + yield f"data: {json.dumps({'phase': 'completed', 'answer': NO_RESULTS_ANSWER, 'sources': []})}\n\n" + return + + # Step 3: Filter (LLM #2) + yield f"data: {json.dumps({'phase': 'filtering'})}\n\n" + chunks_for_filter = [(text, meta) for text, meta, _dist in chunks] + relevance_filter = RelevanceFilter(llm_client) + filtered = await relevance_filter.filter( + request.question, chunks_for_filter, threshold=settings.relevance_threshold + ) + + if not filtered: + yield f"data: {json.dumps({'phase': 'completed', 'answer': NO_RESULTS_ANSWER, 'sources': []})}\n\n" + return + + # Step 4: Generate (LLM #3) + chunk_texts = [chunk for chunk, _meta in filtered] + chunk_metadata = [meta for _chunk, meta in filtered] + answer = await rag.generate_response(request.question, chunk_texts, chunk_metadata) + + sources = [ + SourceMetadata( + filename=meta.get("filename", "unknown"), + upload_date=meta.get("upload_date", ""), + content_summary=meta.get("content_summary", ""), + chunk_index=meta.get("chunk_index", 0), + page_number=meta.get("page_number"), + chunk_file_path=meta.get("chunk_file_path"), + ) + for meta in chunk_metadata + ] + + yield f"data: {json.dumps({'phase': 'completed', 'answer': answer, 'sources': [s.model_dump() for s in sources]})}\n\n" + + except Exception as e: + logger.error("Query stream failed: %s", str(e)) + yield f"data: {json.dumps({'phase': 'error', 'message': str(e)})}\n\n" + +@router.post("/query") +async def query(request: QueryRequest): + if not request.question or not request.question.strip(): + raise HTTPException(status_code=400, detail="Question is required") + + return StreamingResponse( + _query_stream(request), + media_type="text/event-stream", + ) +``` + +### 3. Keep Old Endpoint (Backward Compatibility) + +Add a new `/query/stream` endpoint and keep the existing `/query` for backward compatibility, or version the API. For simplicity in this plan, we'll replace `/query` but the implementation could support both. + +**Decision**: Replace `/query` with streaming. The frontend is the only consumer and will be updated together. + +## Frontend Changes + +### 1. New Streaming API Client + +**File**: `frontend/src/lib/api.ts` + +Add a streaming query function: + +```typescript +export interface QueryStreamEvent { + phase: 'decomposed' | 'retrieving' | 'filtering' | 'completed' | 'error' + extracted_questions?: string[] + answer?: string + sources?: SourceMetadata[] + message?: string +} + +export const queryDocumentStream = ( + request: QueryRequest, + onEvent: (event: QueryStreamEvent) => void, + onError: (error: Error) => void, + onComplete: () => void +): (() => void) => { + const baseUrl = import.meta.env.VITE_API_BASE_URL ?? 'http://localhost:8000/api/v1' + const url = `${baseUrl}/query` + + const eventSource = new EventSource(url, { + // EventSource doesn't support POST with body natively + // We need to use fetch + ReadableStream or a polyfill + }) + + // ... implementation using fetch + ReadableStream + + return () => eventSource.close() // cleanup function +} +``` + +**Important**: Standard `EventSource` only supports GET, not POST. We need to use `fetch()` with `ReadableStream` to POST the question and read SSE events. + +```typescript +export const queryDocumentStream = async ( + request: QueryRequest, + onEvent: (event: QueryStreamEvent) => void +): Promise => { + const baseUrl = import.meta.env.VITE_API_BASE_URL ?? 'http://localhost:8000/api/v1' + const response = await fetch(`${baseUrl}/query`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(request), + }) + + if (!response.ok) { + throw new Error(`HTTP ${response.status}: ${await response.text()}`) + } + + const reader = response.body!.getReader() + const decoder = new TextDecoder() + let buffer = '' + + while (true) { + const { done, value } = await reader.read() + if (done) break + + buffer += decoder.decode(value, { stream: true }) + const lines = buffer.split('\n') + buffer = lines.pop() || '' + + for (const line of lines) { + if (line.startsWith('data: ')) { + const data = line.slice(6) + if (data === '[DONE]') return + onEvent(JSON.parse(data)) + } + } + } +} +``` + +### 2. New React Hook for Streaming + +**File**: `frontend/src/lib/queries.tsx` + +Add a custom hook that manages streaming state: + +```typescript +import { useState, useCallback, useRef } from 'react' + +interface QueryStreamState { + extractedQuestions: string[] | null + answer: string | null + sources: SourceMetadata[] | null + phase: 'idle' | 'decomposing' | 'retrieving' | 'filtering' | 'generating' | 'completed' | 'error' + error: Error | null +} + +export const useQueryDocumentStream = () => { + const [state, setState] = useState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'idle', + error: null, + }) + const abortRef = useRef(null) + + const mutate = useCallback(async (request: QueryRequest) => { + setState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'decomposing', + error: null, + }) + + abortRef.current = new AbortController() + + try { + await queryDocumentStream(request, (event) => { + switch (event.phase) { + case 'decomposed': + setState(prev => ({ + ...prev, + extractedQuestions: event.extracted_questions!, + phase: 'retrieving', + })) + break + case 'retrieving': + setState(prev => ({ ...prev, phase: 'retrieving' })) + break + case 'filtering': + setState(prev => ({ ...prev, phase: 'filtering' })) + break + case 'completed': + setState(prev => ({ + ...prev, + answer: event.answer!, + sources: event.sources!, + phase: 'completed', + })) + break + case 'error': + setState(prev => ({ + ...prev, + phase: 'error', + error: new Error(event.message!), + })) + break + } + }) + } catch (err) { + setState(prev => ({ + ...prev, + phase: 'error', + error: err instanceof Error ? err : new Error(String(err)), + })) + } + }, []) + + const reset = useCallback(() => { + abortRef.current?.abort() + setState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'idle', + error: null, + }) + }, []) + + return { ...state, mutate, reset } +} +``` + +### 3. Update LTTPage to Use Streaming + +**File**: `frontend/src/pages/LTTPage.tsx` + +Replace `useQueryDocument` with `useQueryDocumentStream`: + +```typescript +const queryStream = useQueryDocumentStream() + +const handleQuerySubmit = (question: string) => { + queryStream.mutate({ question }) +} + +// In JSX: + + + +``` + +### 4. Update ExtractedQuestionsDisplay + +**File**: `frontend/src/components/ExtractedQuestionsDisplay.tsx` + +The component should already work with the new state shape. Ensure it handles the case where `extractedQuestions` is available but `answer` is still loading: + +```typescript +// Show questions as soon as they arrive, even if answer is still loading +if (extractedQuestions && extractedQuestions.length > 0) { + return ( +
+

Extracted Questions:

+
    + {extractedQuestions.map((q, i) =>
  1. {q}
  2. )} +
+
+ ) +} +``` + +### 5. Update ResponsePanel Loading States + +**File**: `frontend/src/components/ResponsePanel.tsx` + +Show different loading states based on phase: +- `phase === 'retrieving'`: "Searching documents..." +- `phase === 'filtering'`: "Filtering relevant passages..." +- `phase === 'generating'`: "Generating answer..." + +## Implementation Order + +1. **Backend streaming endpoint** (`backend/app/routers/query.py`) + - Add `_query_stream()` generator + - Update `/query` to return `StreamingResponse` + - Test with `curl` to verify SSE format + +2. **Frontend streaming API** (`frontend/src/lib/api.ts`) + - Add `queryDocumentStream()` function + - Add `QueryStreamEvent` type + +3. **Frontend streaming hook** (`frontend/src/lib/queries.tsx`) + - Add `useQueryDocumentStream()` hook + +4. **Update LTTPage** (`frontend/src/pages/LTTPage.tsx`) + - Replace `useQueryDocument` with `useQueryDocumentStream` + - Wire up new state to components + +5. **Update ResponsePanel** (`frontend/src/components/ResponsePanel.tsx`) + - Add phase-aware loading messages + +6. **Tests** + - Mock `fetch` with `ReadableStream` for testing + - Test each phase transition + - Test error handling + +## Testing Strategy + +### Backend Tests +- Test SSE event format matches expected JSON structure +- Test each phase event is emitted in correct order +- Test error events on failures +- Test early exit (no chunks) still emits `decomposed` then `completed` + +### Frontend Tests +- Mock `fetch` to return a `ReadableStream` with SSE data +- Test `useQueryDocumentStream` state transitions: + - idle → decomposing → decomposed (extractedQuestions set) → retrieving → filtering → completed (answer set) +- Test error handling: stream emits error event → state.error set +- Test abort: calling reset() aborts in-flight request + +## Risks & Mitigations + +| Risk | Mitigation | +|------|-----------| +| SSE not supported by older browsers | Use fetch + ReadableStream (works in all modern browsers) | +| Proxy/CDN buffering SSE | Set `X-Accel-Buffering: no` header, use `Cache-Control: no-cache` | +| CORS with streaming | Ensure `Access-Control-Allow-Origin` includes frontend origin | +| Connection drops mid-stream | Add retry logic or show "Connection lost" message | +| TanStack Query cache invalidation | Not needed — streaming bypasses cache, keep old `useQueryDocument` for non-streaming use | + +## Files to Modify + +| File | Change | +|------|--------| +| `backend/app/models/query.py` | Add streaming event models | +| `backend/app/routers/query.py` | Convert to StreamingResponse | +| `frontend/src/lib/api.ts` | Add `queryDocumentStream()` | +| `frontend/src/lib/queries.tsx` | Add `useQueryDocumentStream()` hook | +| `frontend/src/pages/LTTPage.tsx` | Use streaming hook | +| `frontend/src/components/ResponsePanel.tsx` | Phase-aware loading states | + +## Success Criteria + +- [ ] Extracted questions appear within 5 seconds of submitting a query +- [ ] Answer appears when generation completes (no UI blocking) +- [ ] Loading states clearly indicate which pipeline step is running +- [ ] Error handling works (shows error message if any step fails) +- [ ] All existing tests pass (or are updated for new behavior) +- [ ] New tests cover streaming state transitions diff --git a/.playwright-mcp/frontend-state.yml b/.playwright-mcp/frontend-state.yml new file mode 100644 index 0000000..7aad6d6 --- /dev/null +++ b/.playwright-mcp/frontend-state.yml @@ -0,0 +1,14 @@ +- generic [ref=e3]: + - generic [ref=e6]: + - img [ref=e7] + - generic [ref=e9]: Video upload coming in Phase 2 + - generic [ref=e10]: + - generic [ref=e11]: + - textbox "Ask a question about your documents..." [ref=e12] + - button "Submit" [disabled] [ref=e13] + - generic [ref=e15] [cursor=pointer]: + - img [ref=e16] + - generic [ref=e19]: Upload Document + - generic [ref=e22]: + - img [ref=e23] + - generic [ref=e25]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-23T04-04-47-009Z.yml b/.playwright-mcp/page-2026-04-23T04-04-47-009Z.yml new file mode 100644 index 0000000..7aad6d6 --- /dev/null +++ b/.playwright-mcp/page-2026-04-23T04-04-47-009Z.yml @@ -0,0 +1,14 @@ +- generic [ref=e3]: + - generic [ref=e6]: + - img [ref=e7] + - generic [ref=e9]: Video upload coming in Phase 2 + - generic [ref=e10]: + - generic [ref=e11]: + - textbox "Ask a question about your documents..." [ref=e12] + - button "Submit" [disabled] [ref=e13] + - generic [ref=e15] [cursor=pointer]: + - img [ref=e16] + - generic [ref=e19]: Upload Document + - generic [ref=e22]: + - img [ref=e23] + - generic [ref=e25]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-23T04-06-45-294Z.yml b/.playwright-mcp/page-2026-04-23T04-06-45-294Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-04-23T04-06-54-071Z.yml b/.playwright-mcp/page-2026-04-23T04-06-54-071Z.yml new file mode 100644 index 0000000..a439d93 --- /dev/null +++ b/.playwright-mcp/page-2026-04-23T04-06-54-071Z.yml @@ -0,0 +1,18 @@ +- generic [ref=e3]: + - generic [ref=e6]: + - img [ref=e7] + - generic [ref=e9]: Video upload coming in Phase 2 + - generic [ref=e10]: + - generic [ref=e11]: + - textbox "Ask a question about your documents..." [ref=e12] + - button "Submit" [disabled] [ref=e13] + - generic [ref=e14]: + - generic [ref=e15] [cursor=pointer]: + - img [ref=e26] + - generic [ref=e19]: Upload Document + - generic [ref=e29]: + - img [ref=e30] + - generic [ref=e32]: Request failed with status code 500 + - generic [ref=e22]: + - img [ref=e23] + - generic [ref=e25]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T01-59-42-371Z.yml b/.playwright-mcp/page-2026-04-24T01-59-42-371Z.yml new file mode 100644 index 0000000..5e7a565 --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T01-59-42-371Z.yml @@ -0,0 +1,6 @@ +- navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T02-00-11-873Z.yml b/.playwright-mcp/page-2026-04-24T02-00-11-873Z.yml new file mode 100644 index 0000000..0e3edb6 --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T02-00-11-873Z.yml @@ -0,0 +1,21 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e9]: + - generic [ref=e12]: + - img [ref=e13] + - generic [ref=e15]: Video upload coming in Phase 2 + - generic [ref=e16]: + - generic [ref=e17]: + - textbox "Ask a question about your documents..." [ref=e18] + - button "Submit" [disabled] [ref=e19] + - generic [ref=e21] [cursor=pointer]: + - img [ref=e22] + - generic [ref=e25]: Upload Document + - generic [ref=e28]: + - img [ref=e29] + - generic [ref=e31]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T02-00-49-145Z.yml b/.playwright-mcp/page-2026-04-24T02-00-49-145Z.yml new file mode 100644 index 0000000..e69de29 diff --git a/.playwright-mcp/page-2026-04-24T02-01-07-790Z.yml b/.playwright-mcp/page-2026-04-24T02-01-07-790Z.yml new file mode 100644 index 0000000..c1acdac --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T02-01-07-790Z.yml @@ -0,0 +1,21 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e9]: + - generic [ref=e12]: + - img [ref=e13] + - generic [ref=e15]: Video upload coming in Phase 2 + - generic [ref=e16]: + - generic [ref=e17]: + - textbox "Ask a question about your documents..." [ref=e18] + - button "Submit" [disabled] [ref=e19] + - generic [ref=e21] [cursor=pointer]: + - img [ref=e32] + - generic [ref=e25]: Uploading... + - generic [ref=e28]: + - img [ref=e29] + - generic [ref=e31]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T02-01-53-452Z.yml b/.playwright-mcp/page-2026-04-24T02-01-53-452Z.yml new file mode 100644 index 0000000..1a51ce4 --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T02-01-53-452Z.yml @@ -0,0 +1,26 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [active] [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e42]: + - generic [ref=e44]: + - heading "RAG Database" [level=1] [ref=e45] + - generic [ref=e47] [cursor=pointer]: + - img [ref=e48] + - generic [ref=e51]: Upload + - generic [ref=e53]: "Total: 1 documents, 97 chunks" + - generic [ref=e59]: + - generic [ref=e60]: + - img [ref=e61] + - generic [ref=e64]: + - generic [ref=e65]: tmp90i7xqa8.pdf + - generic [ref=e66]: 97 chunks • Uploaded 2026-04-24T10:01:00.458015 + - generic [ref=e67]: + - button "View Chunks" [ref=e68] [cursor=pointer]: + - img [ref=e69] + - generic [ref=e71]: View Chunks + - button [ref=e72] [cursor=pointer]: + - img [ref=e73] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T02-02-21-161Z.yml b/.playwright-mcp/page-2026-04-24T02-02-21-161Z.yml new file mode 100644 index 0000000..ac412ab --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T02-02-21-161Z.yml @@ -0,0 +1,804 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e42]: + - generic [ref=e44]: + - heading "RAG Database" [level=1] [ref=e45] + - generic [ref=e47] [cursor=pointer]: + - img [ref=e48] + - generic [ref=e51]: Upload + - generic [ref=e53]: "Total: 1 documents, 97 chunks" + - generic [ref=e56]: + - generic [ref=e59]: + - generic [ref=e60]: + - img [ref=e61] + - generic [ref=e64]: + - generic [ref=e65]: tmp90i7xqa8.pdf + - generic [ref=e66]: 97 chunks • Uploaded 2026-04-24T10:01:00.458015 + - generic [ref=e67]: + - button "Hide Chunks" [active] [ref=e76] [cursor=pointer]: + - img [ref=e77] + - generic [ref=e71]: Hide Chunks + - button [ref=e72] [cursor=pointer]: + - img [ref=e73] + - generic [ref=e80]: + - generic [ref=e81]: + - generic [ref=e82]: + - generic [ref=e83]: + - generic [ref=e84]: Chunk 0 + - generic [ref=e85]: "Page: N/A" + - generic "Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 1 of 187 Section A – Definitions and Contract Documents A1 Unless otherwise specified, the terms and definitio" [ref=e86]: Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 1 of 187 Secti... + - button [ref=e87] [cursor=pointer]: + - img [ref=e88] + - generic [ref=e91]: + - generic [ref=e92]: + - generic [ref=e93]: + - generic [ref=e94]: Chunk 1 + - generic [ref=e95]: "Page: N/A" + - generic "“Particular Specification ” means the “Particular Specification” forming Annex [insert appropriate reference] to the Scope. Commonly adopted in NEC contracts A1 (Cont’d) “Site Workers”" [ref=e96]: “Particular Specification ” means the “Particular Specification” forming Annex [insert appropriate... + - button [ref=e97] [cursor=pointer]: + - img [ref=e98] + - generic [ref=e101]: + - generic [ref=e102]: + - generic [ref=e103]: + - generic [ref=e104]: Chunk 2 + - generic [ref=e105]: "Page: N/A" + - generic "/ Bill Nr. [X] of the Bill of Quantities contains items relating to MiC works [for Option B]. For milestone payment for MiC works Reference SDEV’s memo ref. DEVB(PSGO) 100/1 dated 18" [ref=e106]: / Bill Nr. [X] of the Bill of Quantities contains items relating to MiC works [for Option B]. ... + - button [ref=e107] [cursor=pointer]: + - img [ref=e108] + - generic [ref=e111]: + - generic [ref=e112]: + - generic [ref=e113]: + - generic [ref=e114]: Chunk 3 + - generic [ref=e115]: "Page: N/A" + - generic "and marked. Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 6 of 187 A2 (Cont’d) (3B) If any key person is not identified in the Contractor’s tender submissi" [ref=e116]: and marked. Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 6... + - button [ref=e117] [cursor=pointer]: + - img [ref=e118] + - generic [ref=e121]: + - generic [ref=e122]: + - generic [ref=e123]: + - generic [ref=e124]: Chunk 4 + - generic [ref=e125]: "Page: N/A" + - generic "21 days when so requested by the Project Manager give detailed information on the estimated cost of execution in accordance with the technical proposals and the cost of execution in accordance wi" [ref=e126]: 21 days when so requested by the Project Manager give detailed information on the estimated cost ... + - button [ref=e127] [cursor=pointer]: + - img [ref=e128] + - generic [ref=e131]: + - generic [ref=e132]: + - generic [ref=e133]: + - generic [ref=e134]: Chunk 5 + - generic [ref=e135]: "Page: N/A" + - generic "the Contractor’s duties and obligations under the contract, provided that the Contractor has imposed on the Related Person an absolute and legally binding obligation to refrain from disclosing th" [ref=e136]: the Contractor’s duties and obligations under the contract, provided that the Contractor has impo... + - button [ref=e137] [cursor=pointer]: + - img [ref=e138] + - generic [ref=e141]: + - generic [ref=e142]: + - generic [ref=e143]: + - generic [ref=e144]: Chunk 6 + - generic [ref=e145]: "Page: N/A" + - generic "contract. A Data Owner may, from time to time or prior to provision of any personal data, require the Contractor to demonstrate that adequate measures are in place to ensure compliance with the" [ref=e146]: contract. A Data Owner may, from time to time or prior to provision of any personal data, requir... + - button [ref=e147] [cursor=pointer]: + - img [ref=e148] + - generic [ref=e151]: + - generic [ref=e152]: + - generic [ref=e153]: + - generic [ref=e154]: Chunk 7 + - generic [ref=e155]: "Page: N/A" + - generic "inform the Contractor. Disclosures shall not be made to the said Committee before expiry of the first 6 months from the date of the settlement agreement, arbitration award or, as the case may be," [ref=e156]: inform the Contractor. Disclosures shall not be made to the said Committee before expiry of the f... + - button [ref=e157] [cursor=pointer]: + - img [ref=e158] + - generic [ref=e161]: + - generic [ref=e162]: + - generic [ref=e163]: + - generic [ref=e164]: Chunk 8 + - generic [ref=e165]: "Page: N/A" + - generic "contingencies for the purpose of internal administration of the Client under the Stores and Procurement Regulations only. The forecast total of the Prices is included for tender evaluation purpos" [ref=e166]: contingencies for the purpose of internal administration of the Client under the Stores and Procu... + - button [ref=e167] [cursor=pointer]: + - img [ref=e168] + - generic [ref=e171]: + - generic [ref=e172]: + - generic [ref=e173]: + - generic [ref=e174]: Chunk 9 + - generic [ref=e175]: "Page: N/A" + - generic "if any) provided in the ETPI will not be disclosed to such third party. Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 18 of 187 (6) The ETPI and anything stat" [ref=e176]: if any) provided in the ETPI will not be disclosed to such third party. Marginal Notes Guidelines ... + - button [ref=e177] [cursor=pointer]: + - img [ref=e178] + - generic [ref=e181]: + - generic [ref=e182]: + - generic [ref=e183]: + - generic [ref=e184]: Chunk 10 + - generic [ref=e185]: "Page: N/A" + - generic "the terms of its appointment by the Client/under the internal rules of the Client to obtain confirmation of no objection from the Client and, in the event of an objection, to act in accordance w" [ref=e186]: the terms of its appointment by the Client/under the internal rules of the Client to obtain conf... + - button [ref=e187] [cursor=pointer]: + - img [ref=e188] + - generic [ref=e191]: + - generic [ref=e192]: + - generic [ref=e193]: + - generic [ref=e194]: Chunk 11 + - generic [ref=e195]: "Page: N/A" + - generic "interfacing problems or programme slippages of associated works outside the scope of the contract. (3) The Contractor shall, in any subcontract or other contract made by it in connection with" [ref=e196]: interfacing problems or programme slippages of associated works outside the scope of the contract.... + - button [ref=e197] [cursor=pointer]: + - img [ref=e198] + - generic [ref=e201]: + - generic [ref=e202]: + - generic [ref=e203]: + - generic [ref=e204]: Chunk 12 + - generic [ref=e205]: "Page: N/A" + - generic "Section Subject to Excision; * Delete as appropriate. (d) the contract shall thereafter be construed in every way as if the work within the Section Subject to Excision had not at any time fo" [ref=e206]: Section Subject to Excision; * Delete as appropriate. (d) the contract shall thereafter be c... + - button [ref=e207] [cursor=pointer]: + - img [ref=e208] + - generic [ref=e211]: + - generic [ref=e212]: + - generic [ref=e213]: + - generic [ref=e214]: Chunk 13 + - generic [ref=e215]: "Page: N/A" + - generic "from tendering (whether by way of mandatory or voluntary suspension) in respect of the work in the relevant Group, Category and, where appropriate, Class and status. In relation to any part of th" [ref=e216]: from tendering (whether by way of mandatory or voluntary suspension) in respect of the work in th... + - button [ref=e217] [cursor=pointer]: + - img [ref=e218] + - generic [ref=e221]: + - generic [ref=e222]: + - generic [ref=e223]: + - generic [ref=e224]: Chunk 14 + - generic [ref=e225]: "Page: N/A" + - generic "Notwithstanding any other provisions in the contract, compliance with sub-clause (2)(a) of this Clause shall be a condition precedent to the Contractor's entitlement to any payment, or any furthe" [ref=e226]: Notwithstanding any other provisions in the contract, compliance with sub-clause (2)(a) of this C... + - button [ref=e227] [cursor=pointer]: + - img [ref=e228] + - generic [ref=e231]: + - generic [ref=e232]: + - generic [ref=e233]: + - generic [ref=e234]: Chunk 15 + - generic [ref=e235]: "Page: N/A" + - generic "Manager. (5) Subject to the provisions of other additional conditions of contract , the Contractor shall ensure that its Subcontractors shall not subcontract the whole of the works subcontr" [ref=e236]: Manager. (5) Subject to the provisions of other additional conditions of contract , the Cont... + - button [ref=e237] [cursor=pointer]: + - img [ref=e238] + - generic [ref=e241]: + - generic [ref=e242]: + - generic [ref=e243]: + - generic [ref=e244]: Chunk 16 + - generic [ref=e245]: "Page: N/A" + - generic "4.2024. Modified from SCC at Annex A of the above memo (which supersedes SCC 57) Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 34 of 187 C6 (Cont’d)" [ref=e246]: 4.2024. Modified from SCC at Annex A of the above memo (which supersedes SCC 57) Marginal N... + - button [ref=e247] [cursor=pointer]: + - img [ref=e248] + - generic [ref=e251]: + - generic [ref=e252]: + - generic [ref=e253]: + - generic [ref=e254]: Chunk 17 + - generic [ref=e255]: "Page: N/A" + - generic "), the subcontractor (irrespective of any tier) has been admitted into Group 2, before the commencement of the work under the relevant subcontract The Contractor shall also ensure that a subcontra" [ref=e256]: ), the subcontractor (irrespective of any tier) has been admitted into Group 2, before the commenc... + - button [ref=e257] [cursor=pointer]: + - img [ref=e258] + - generic [ref=e261]: + - generic [ref=e262]: + - generic [ref=e263]: + - generic [ref=e264]: Chunk 18 + - generic [ref=e265]: "Page: N/A" + - generic "tier of subcontracting means the contracts between the Contractor and its subcontractors. The second tier means the subcontracts between any of the subcontractors of the first tier and their sub" [ref=e266]: tier of subcontracting means the contracts between the Contractor and its subcontractors. The se... + - button [ref=e267] [cursor=pointer]: + - img [ref=e268] + - generic [ref=e271]: + - generic [ref=e272]: + - generic [ref=e273]: + - generic [ref=e274]: Chunk 19 + - generic [ref=e275]: "Page: N/A" + - 'generic "in the Factories and Industrial Undertakings (Confined Spaces) Regulation (Cap. 59AE). Internal Notes: * Delete as appropriate. 1. Insert appropriate references which refer to Clause C" [ref=e276]': in the Factories and Industrial Undertakings (Confined Spaces) Regulation (Cap. 59AE). Int... + - button [ref=e277] [cursor=pointer]: + - img [ref=e278] + - generic [ref=e281]: + - generic [ref=e282]: + - generic [ref=e283]: + - generic [ref=e284]: Chunk 20 + - generic [ref=e285]: "Page: N/A" + - generic "Library of Standard ACC for NEC4 ECC (24.4.2024) Page 40 of 187 C8 (Cont’d) (4) The Contractor shall comply with and shall ensure that all subcontractors engaged by the Contractor shall comply wi" [ref=e286]: Library of Standard ACC for NEC4 ECC (24.4.2024) Page 40 of 187 C8 (Cont’d) (4) The Contractor sh... + - button [ref=e287] [cursor=pointer]: + - img [ref=e288] + - generic [ref=e291]: + - generic [ref=e292]: + - generic [ref=e293]: + - generic [ref=e294]: Chunk 21 + - generic [ref=e295]: "Page: N/A" + - generic "of mandatory or voluntary suspension) in respect of the work in the relevant category, group and class; or (B) contractors who possess experience in the works to be subcontracted by the Contrac" [ref=e296]: of mandatory or voluntary suspension) in respect of the work in the relevant category, group and... + - button [ref=e297] [cursor=pointer]: + - img [ref=e298] + - generic [ref=e301]: + - generic [ref=e302]: + - generic [ref=e303]: + - generic [ref=e304]: Chunk 22 + - generic [ref=e305]: "Page: N/A" + - generic "3 weeks if it is acceptable and shall inform the Contractor whether to select the conforming tender which does not offer the lowest tender price. Marginal Notes Guidelines Library of Standard" [ref=e306]: 3 weeks if it is acceptable and shall inform the Contractor whether to select the conforming tend... + - button [ref=e307] [cursor=pointer]: + - img [ref=e308] + - generic [ref=e311]: + - generic [ref=e312]: + - generic [ref=e313]: + - generic [ref=e314]: Chunk 23 + - generic [ref=e315]: "Page: N/A" + - generic "tender may cause the tender to be disqualified. Subject to acceptance by the Project Manager , the Contractor may approach a tenderer in seeking clarification on the purpose or meaning of partic" [ref=e316]: tender may cause the tender to be disqualified. Subject to acceptance by the Project Manager , t... + - button [ref=e317] [cursor=pointer]: + - img [ref=e318] + - generic [ref=e321]: + - generic [ref=e322]: + - generic [ref=e323]: + - generic [ref=e324]: Chunk 24 + - generic [ref=e325]: "Page: N/A" + - generic "Manager, shall be deducted from the total of the Prices. Nevertheless, the total of the Prices shall not in any case be increased due to a change of such Subcontractor pursuant to this sub-claus" [ref=e326]: Manager, shall be deducted from the total of the Prices. Nevertheless, the total of the Prices s... + - button [ref=e327] [cursor=pointer]: + - img [ref=e328] + - generic [ref=e331]: + - generic [ref=e332]: + - generic [ref=e333]: + - generic [ref=e334]: Chunk 25 + - generic [ref=e335]: "Page: N/A" + - generic "or more of whose directors is in common with one or more of the directors of the Contractor. “associated person” or “associated persons” in relation to the Contractor means (i) any person who ha" [ref=e336]: or more of whose directors is in common with one or more of the directors of the Contractor. “as... + - button [ref=e337] [cursor=pointer]: + - img [ref=e338] + - generic [ref=e341]: + - generic [ref=e342]: + - generic [ref=e343]: + - generic [ref=e344]: Chunk 26 + - generic [ref=e345]: "Page: N/A" + - generic "or not the tenderer has attended the post-tender interview. Tenderers invited for the post -tender interviews shall then be invited to submit a revised tender price. In case the tender documents" [ref=e346]: or not the tenderer has attended the post-tender interview. Tenderers invited for the post -tender... + - button [ref=e347] [cursor=pointer]: + - img [ref=e348] + - generic [ref=e351]: + - generic [ref=e352]: + - generic [ref=e353]: + - generic [ref=e354]: Chunk 27 + - generic [ref=e355]: "Page: N/A" + - generic "Options A and B Modified from GCT 26 (b) Further to paragraph (a) of this sub -clause, the tenderer shall not fix the amount of the tender price or any part thereof by arrangement with any" [ref=e356]: Options A and B Modified from GCT 26 (b) Further to paragraph (a) of this sub -clause, the ... + - button [ref=e357] [cursor=pointer]: + - img [ref=e358] + - generic [ref=e361]: + - generic [ref=e362]: + - generic [ref=e363]: + - generic [ref=e364]: Chunk 28 + - generic [ref=e365]: "Page: N/A" + - generic "Page 56 of 187 [I/We]1 shall indemnify and keep indemnified the Contractor against all losses, damages, costs or expenses arising out of or in relation to any breach of any of the representatio" [ref=e366]: Page 56 of 187 [I/We]1 shall indemnify and keep indemnified the Contractor against all losses, ... + - button [ref=e367] [cursor=pointer]: + - img [ref=e368] + - generic [ref=e371]: + - generic [ref=e372]: + - generic [ref=e373]: + - generic [ref=e374]: Chunk 29 + - generic [ref=e375]: "Page: N/A" + - generic "ACC for NEC4 ECC (24.4.2024) Page 59 of 187 C11 (Cont’d) (2) The Contractor shall ensure that the tender prices and rates of the subcontracts are competitively tendered or open market prices or" [ref=e376]: ACC for NEC4 ECC (24.4.2024) Page 59 of 187 C11 (Cont’d) (2) The Contractor shall ensure that th... + - button [ref=e377] [cursor=pointer]: + - img [ref=e378] + - generic [ref=e381]: + - generic [ref=e382]: + - generic [ref=e383]: + - generic [ref=e384]: Chunk 30 + - generic [ref=e385]: "Page: N/A" + - generic "in accordance with the procedures set out in this Clause C11. Any cost saving as a result of any change of such supplier, which is calculated as the difference between the lump sum prices for s" [ref=e386]: in accordance with the procedures set out in this Clause C11. Any cost saving as a result of an... + - button [ref=e387] [cursor=pointer]: + - img [ref=e388] + - generic [ref=e391]: + - generic [ref=e392]: + - generic [ref=e393]: + - generic [ref=e394]: Chunk 31 + - generic [ref=e395]: "Page: N/A" + - generic "to update as appropriate.] Contractor’s Management Team SDEV’s memo ref (027RU-01- 3) in DEVB(W) 510/17/01 dated 16.7.2010 Modified from SCC68 & 68A Project Offices to review to inclu" [ref=e396]: to update as appropriate.] Contractor’s Management Team SDEV’s memo ref (027RU-01- 3) in DEVB(... + - button [ref=e397] [cursor=pointer]: + - img [ref=e398] + - generic [ref=e401]: + - generic [ref=e402]: + - generic [ref=e403]: + - generic [ref=e404]: Chunk 32 + - generic [ref=e405]: "Page: N/A" + - generic "pay all licences, levies, premiums or other fees required to be given or paid by reason of any enactment or any regulations or bye -laws of any local or other duly constituted authority in relati" [ref=e406]: pay all licences, levies, premiums or other fees required to be given or paid by reason of any en... + - button [ref=e407] [cursor=pointer]: + - img [ref=e408] + - generic [ref=e411]: + - generic [ref=e412]: + - generic [ref=e413]: + - generic [ref=e414]: Chunk 33 + - generic [ref=e415]: "Page: N/A" + - generic "shall submit within 14 days of the Contract Date three copies of a draft Safety Plan to the Supervisor. requirement (3) Within 7 days from the submission of the draft Safety Plan, the Contract" [ref=e416]: shall submit within 14 days of the Contract Date three copies of a draft Safety Plan to the Super... + - button [ref=e417] [cursor=pointer]: + - img [ref=e418] + - generic [ref=e421]: + - generic [ref=e422]: + - generic [ref=e423]: + - generic [ref=e424]: Chunk 34 + - generic [ref=e425]: "Page: N/A" + - generic "works and Establishment Works. Establishment Works Modified from SCC16 For contracts with Landscape Works Sub-clause (2) is used when the Establishment Works is not required to complet" [ref=e426]: works and Establishment Works. Establishment Works Modified from SCC16 For contracts with La... + - button [ref=e427] [cursor=pointer]: + - img [ref=e428] + - generic [ref=e431]: + - generic [ref=e432]: + - generic [ref=e433]: + - generic [ref=e434]: Chunk 35 + - generic [ref=e435]: "Page: N/A" + - generic "the Scope]. Any instruction given by the Project Manager due to such cleaning and tidying up work performed outside the boundaries of the site shall not constitute a compensation event. (" [ref=e436]: the Scope]. Any instruction given by the Project Manager due to such cleaning and tidying up work... + - button [ref=e437] [cursor=pointer]: + - img [ref=e438] + - generic [ref=e441]: + - generic [ref=e442]: + - generic [ref=e443]: + - generic [ref=e444]: Chunk 36 + - generic [ref=e445]: "Page: N/A" + - generic "submit to the Project Manager for acceptance within 30 days of the Contract Date a quality system for production and supply of structural concrete for incorporation into the works. The quality" [ref=e446]: submit to the Project Manager for acceptance within 30 days of the Contract Date a quality syste... + - button [ref=e447] [cursor=pointer]: + - img [ref=e448] + - generic [ref=e451]: + - generic [ref=e452]: + - generic [ref=e453]: + - generic [ref=e454]: Chunk 37 + - generic [ref=e455]: "Page: N/A" + - generic "187 D14 (1) If the Contractor or any of its agents or employees shall be found to have offered or given any advantage, gratuity, bonus, discount, bribe or loan of any sort to any agent or emplo" [ref=e456]: 187 D14 (1) If the Contractor or any of its agents or employees shall be found to have offered ... + - button [ref=e457] [cursor=pointer]: + - img [ref=e458] + - generic [ref=e461]: + - generic [ref=e462]: + - generic [ref=e463]: + - generic [ref=e464]: Chunk 38 + - generic [ref=e465]: "Page: N/A" + - generic "of Standard ACC for NEC4 ECC (24.4.2024) Page 82 of 187 D17 The Contractor acknowledges that it has been reminded that dishonesty, theft and corruption on its part or those of its employees," [ref=e466]: of Standard ACC for NEC4 ECC (24.4.2024) Page 82 of 187 D17 The Contractor acknowledges that i... + - button [ref=e467] [cursor=pointer]: + - img [ref=e468] + - generic [ref=e471]: + - generic [ref=e472]: + - generic [ref=e473]: + - generic [ref=e474]: Chunk 39 + - generic [ref=e475]: "Page: N/A" + - generic "D18 (Cont’d) (b) Where excavation in land other than Street Maintained by the Highways Department that requires Excavation Permit under the Ordinance is required to Provide the Works, the Cont" [ref=e476]: D18 (Cont’d) (b) Where excavation in land other than Street Maintained by the Highways Departm... + - button [ref=e477] [cursor=pointer]: + - img [ref=e478] + - generic [ref=e481]: + - generic [ref=e482]: + - generic [ref=e483]: + - generic [ref=e484]: Chunk 40 + - generic [ref=e485]: "Page: N/A" + - generic "the Contractor’s part under the contract; D18 (Cont’d) (b) the Project Manager shall notify the Contractor when an Excavation Permit has b een obtained. If during the course of the work" [ref=e486]: the Contractor’s part under the contract; D18 (Cont’d) (b) the Project Manager shall not... + - button [ref=e487] [cursor=pointer]: + - img [ref=e488] + - generic [ref=e491]: + - generic [ref=e492]: + - generic [ref=e493]: + - generic [ref=e494]: Chunk 41 + - generic [ref=e495]: "Page: N/A" + - generic "return such share to the Contractor. For the avoidance of doubt, the opening up for inspection of any work covered up or put out of view, or the testing of materials or workmanship not req" [ref=e496]: return such share to the Contractor. For the avoidance of doubt, the opening up for inspec... + - button [ref=e497] [cursor=pointer]: + - img [ref=e498] + - generic [ref=e501]: + - generic [ref=e502]: + - generic [ref=e503]: + - generic [ref=e504]: Chunk 42 + - generic [ref=e505]: "Page: N/A" + - generic "respect of application for the Excavation Permit) if the Client chooses to apply for an Excavation Permit of its own volition whether before, on, or after the Contract Date. 1 Inse" [ref=e506]: respect of application for the Excavation Permit) if the Client chooses to apply for an Excavation ... + - button [ref=e507] [cursor=pointer]: + - img [ref=e508] + - generic [ref=e511]: + - generic [ref=e512]: + - generic [ref=e513]: + - generic [ref=e514]: Chunk 43 + - generic [ref=e515]: "Page: N/A" + - generic "that the total sum withheld by the Client on the ground of failure to comply with any written request referred to in sub -clause ( 2) of this Clause shall not exceed an amount equal to the market" [ref=e516]: that the total sum withheld by the Client on the ground of failure to comply with any written req... + - button [ref=e517] [cursor=pointer]: + - img [ref=e518] + - generic [ref=e521]: + - generic [ref=e522]: + - generic [ref=e523]: + - generic [ref=e524]: Chunk 44 + - generic [ref=e525]: "Page: N/A" + - generic "work as part of the EMP to the Supervisor for approval prior to the commencement of the demolition on the Site. The Contractor shall include in the method statement the sequence of demolition and" [ref=e526]: work as part of the EMP to the Supervisor for approval prior to the commencement of the demolitio... + - button [ref=e527] [cursor=pointer]: + - img [ref=e528] + - generic [ref=e531]: + - generic [ref=e532]: + - generic [ref=e533]: + - generic [ref=e534]: Chunk 45 + - generic [ref=e535]: "Page: N/A" + - generic "joint venture it shall within fourteen (14) days of the Contract Date provide to the Client a joint venture guarantee in the form set out in Appendix [insert the relevant appendix to the tender d" [ref=e536]: joint venture it shall within fourteen (14) days of the Contract Date provide to the Client a joi... + - button [ref=e537] [cursor=pointer]: + - img [ref=e538] + - generic [ref=e541]: + - generic [ref=e542]: + - generic [ref=e543]: + - generic [ref=e544]: Chunk 46 + - generic [ref=e545]: "Page: N/A" + - generic "Clause as “design of the site uniform”) in accordance with Clause [insert appropriate clause no] of the Particular Specification does not and will not infringe any Intellectual Property Rights" [ref=e546]: Clause as “design of the site uniform”) in accordance with Clause [insert appropriate clause no] ... + - button [ref=e547] [cursor=pointer]: + - img [ref=e548] + - generic [ref=e551]: + - generic [ref=e552]: + - generic [ref=e553]: + - generic [ref=e554]: Chunk 47 + - generic [ref=e555]: "Page: N/A" + - generic "inal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 101 of 187 D26 (1) This additional condition of contract shall apply to works within the Railway Protection Area a" [ref=e556]: inal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 101 of 187 D26 (... + - button [ref=e557] [cursor=pointer]: + - img [ref=e558] + - generic [ref=e561]: + - generic [ref=e562]: + - generic [ref=e563]: + - generic [ref=e564]: Chunk 48 + - generic [ref=e565]: "Page: N/A" + - generic "or shall not prevent and shall permit MTRCL or MTRCL’s workers or contractors to carry out the remedial work s or other work s or repairs required by the direct instruction. (c) If in the op" [ref=e566]: or shall not prevent and shall permit MTRCL or MTRCL’s workers or contractors to carry out the re... + - button [ref=e567] [cursor=pointer]: + - img [ref=e568] + - generic [ref=e571]: + - generic [ref=e572]: + - generic [ref=e573]: + - generic [ref=e574]: Chunk 49 + - generic [ref=e575]: "Page: N/A" + - generic "agreed by MTRCL. Should the Contractor in the opinion of the Project Manager or MTRCL not make sufficient or adequate arrangements (including the provision of standby plant) for completing the" [ref=e576]: agreed by MTRCL. Should the Contractor in the opinion of the Project Manager or MTRCL not make ... + - button [ref=e577] [cursor=pointer]: + - img [ref=e578] + - generic [ref=e581]: + - generic [ref=e582]: + - generic [ref=e583]: + - generic [ref=e584]: Chunk 50 + - generic [ref=e585]: "Page: N/A" + - generic "the District Lands Officer shall be informed by the Project Manager , and representative or representatives of the District Lands Office will be present at the negotiations and any payment in set" [ref=e586]: the District Lands Officer shall be informed by the Project Manager , and representative or repre... + - button [ref=e587] [cursor=pointer]: + - img [ref=e588] + - generic [ref=e591]: + - generic [ref=e592]: + - generic [ref=e593]: + - generic [ref=e594]: Chunk 51 + - generic [ref=e595]: "Page: N/A" + - generic "previously, is required, the Contractor shall revise and re - submit the relevant Monthly Report to the Project Manager for correction and acceptance. Any amounts for the performance - tied payme" [ref=e596]: previously, is required, the Contractor shall revise and re - submit the relevant Monthly Report t... + - button [ref=e597] [cursor=pointer]: + - img [ref=e598] + - generic [ref=e601]: + - generic [ref=e602]: + - generic [ref=e603]: + - generic [ref=e604]: Chunk 52 + - generic [ref=e605]: "Page: N/A" + - generic "bar product supplied by yards not on the List for any part of works. Should the Contractor opt to use prefabricated rebar products for any part or parts of works, it shall engage an approved pref" [ref=e606]: bar product supplied by yards not on the List for any part of works. Should the Contractor opt to... + - button [ref=e607] [cursor=pointer]: + - img [ref=e608] + - generic [ref=e611]: + - generic [ref=e612]: + - generic [ref=e613]: + - generic [ref=e614]: Chunk 53 + - generic [ref=e615]: "Page: N/A" + - generic "Specification for Civil Engineering Works 2006 Edition Clauses 15.12 and 15.17(a), (e) and (f); and (b) Testing General Specification for Civil Engineering Works 2006 Edition Clauses 15.30, 15.3" [ref=e616]: Specification for Civil Engineering Works 2006 Edition Clauses 15.12 and 15.17(a), (e) and (f); a... + - button [ref=e617] [cursor=pointer]: + - img [ref=e618] + - generic [ref=e621]: + - generic [ref=e622]: + - generic [ref=e623]: + - generic [ref=e624]: Chunk 54 + - generic [ref=e625]: "Page: N/A" + - generic "section 2 of the Air Pollution Control (Non -road Mobile Machinery)(Emission) Regulation; (b) “exempted” has the meaning given by section 2 of the Air Pollution Control (Non -road Mobile Machine" [ref=e626]: section 2 of the Air Pollution Control (Non -road Mobile Machinery)(Emission) Regulation; (b) “e... + - button [ref=e627] [cursor=pointer]: + - img [ref=e628] + - generic [ref=e631]: + - generic [ref=e632]: + - generic [ref=e633]: + - generic [ref=e634]: Chunk 55 + - generic [ref=e635]: "Page: N/A" + - generic "any reason, all Special Payments made by the Client for Relevant Imported Items that are not yet delivered by the Contractor to the Site on the date of expiry or termination of the contract shall" [ref=e636]: any reason, all Special Payments made by the Client for Relevant Imported Items that are not yet ... + - button [ref=e637] [cursor=pointer]: + - img [ref=e638] + - generic [ref=e641]: + - generic [ref=e642]: + - generic [ref=e643]: + - generic [ref=e644]: Chunk 56 + - generic [ref=e645]: "Page: N/A" + - generic "or, and whether the person claims for compensation. (6) The Contractor shall make necessary arrangements to ensure that all subcontractors report all accidents on the Site involving their e" [ref=e646]: or, and whether the person claims for compensation. (6) The Contractor shall make necessary... + - button [ref=e647] [cursor=pointer]: + - img [ref=e648] + - generic [ref=e651]: + - generic [ref=e652]: + - generic [ref=e653]: + - generic [ref=e654]: Chunk 57 + - generic [ref=e655]: "Page: N/A" + - generic "modules approved Stage 3 8% Preparatory works necessary for commencement of fabrication of all MiC modules completed Stage 4 35% MiC modules completed off -Site (before delivery t" [ref=e656]: modules approved Stage 3 8% Preparatory works necessary for commencement of fabrication ... + - button [ref=e657] [cursor=pointer]: + - img [ref=e658] + - generic [ref=e661]: + - generic [ref=e662]: + - generic [ref=e663]: + - generic [ref=e664]: Chunk 58 + - generic [ref=e665]: "Page: N/A" + - 'generic "have been clearly and visibly marked, individually or as a set, as follows: “Property of the Government of the Hong Kong Special Administrative Region. For use in [contract no. and title]. D" [ref=e666]': "have been clearly and visibly marked, individually or as a set, as follows: “Property of the G..." + - button [ref=e667] [cursor=pointer]: + - img [ref=e668] + - generic [ref=e671]: + - generic [ref=e672]: + - generic [ref=e673]: + - generic [ref=e674]: Chunk 59 + - generic [ref=e675]: "Page: N/A" + - generic "Others and compensation and costs payable to Others which arise from or in connection with the Relevant Works and any loss of or damage to the Relevant Works are the Contractor’s liabilities, and" [ref=e676]: Others and compensation and costs payable to Others which arise from or in connection with the Rel... + - button [ref=e677] [cursor=pointer]: + - img [ref=e678] + - generic [ref=e681]: + - generic [ref=e682]: + - generic [ref=e683]: + - generic [ref=e684]: Chunk 60 + - generic [ref=e685]: "Page: N/A" + - generic "in relation to such Stage in Column 2 of Table B in this sub -clause to the total of the Prices of MiMEP works without mock-up in *Schedule Nr. [Y] of the Activity Schedule [for Option A] /B" [ref=e686]: in relation to such Stage in Column 2 of Table B in this sub -clause to the total of the Prices o... + - button [ref=e687] [cursor=pointer]: + - img [ref=e688] + - generic [ref=e691]: + - generic [ref=e692]: + - generic [ref=e693]: + - generic [ref=e694]: Chunk 61 + - generic [ref=e695]: "Page: N/A" + - generic "of MiMEP works (whether with or without mock-up), if the Contractor wishes to apply for interim payment before the MiMEP works are delivered to the Site, the Contractor shall comply with the requ" [ref=e696]: of MiMEP works (whether with or without mock-up), if the Contractor wishes to apply for interim p... + - button [ref=e697] [cursor=pointer]: + - img [ref=e698] + - generic [ref=e701]: + - generic [ref=e702]: + - generic [ref=e703]: + - generic [ref=e704]: Chunk 62 + - generic [ref=e705]: "Page: N/A" + - generic "contractor for the Relevant MiMEP Works in the form annexed at Appendix [ insert appropriate reference ] to these additional conditions of contract. Marginal Notes Guidelines Library of Standa" [ref=e706]: contractor for the Relevant MiMEP Works in the form annexed at Appendix [ insert appropriate refer... + - button [ref=e707] [cursor=pointer]: + - img [ref=e708] + - generic [ref=e711]: + - generic [ref=e712]: + - generic [ref=e713]: + - generic [ref=e714]: Chunk 63 + - generic [ref=e715]: "Page: N/A" + - generic "2024) Page 133 of 187 Section E - Labour E1 (1) The Contractor shall make its own arrangements in regard to the provision of such labour, skilled and unskilled, as may be required to Provide th" [ref=e716]: 2024) Page 133 of 187 Section E - Labour E1 (1) The Contractor shall make its own arrangements ... + - button [ref=e717] [cursor=pointer]: + - img [ref=e718] + - generic [ref=e721]: + - generic [ref=e722]: + - generic [ref=e723]: + - generic [ref=e724]: Chunk 64 + - generic [ref=e725]: "Page: N/A" + - generic "to any part thereof and in such event any person who fails to show its pass on demand to any duly authorized person may be refused admission. Passes Modified from GCC41 (2) If required by" [ref=e726]: to any part thereof and in such event any person who fails to show its pass on demand to any dul... + - button [ref=e727] [cursor=pointer]: + - img [ref=e728] + - generic [ref=e731]: + - generic [ref=e732]: + - generic [ref=e733]: + - generic [ref=e734]: Chunk 65 + - generic [ref=e735]: "Page: N/A" + - generic "insurance plan with a minimum coverage of HK$1,000,000 by either extending the Contractor’s employee compensation insurance policy or its third party liability and all risks insurance policy. A" [ref=e736]: insurance plan with a minimum coverage of HK$1,000,000 by either extending the Contractor’s empl... + - button [ref=e737] [cursor=pointer]: + - img [ref=e738] + - generic [ref=e741]: + - generic [ref=e742]: + - generic [ref=e743]: + - generic [ref=e744]: Chunk 66 + - generic [ref=e745]: "Page: N/A" + - generic "public holidays excluded) of the final due date for payment as prescribed under section 23 of the Employment Ordinance (Cap 57), the Client may, after the Contractor or the subcontractor, as the" [ref=e746]: public holidays excluded) of the final due date for payment as prescribed under section 23 of the... + - button [ref=e747] [cursor=pointer]: + - img [ref=e748] + - generic [ref=e751]: + - generic [ref=e752]: + - generic [ref=e753]: + - generic [ref=e754]: Chunk 67 + - generic [ref=e755]: "Page: N/A" + - generic "ECMTS. (2) An ECMTS Graduate employed by a subcontractor of the Contractor within the 6-month period to work on the Site in accordance with the provisions of this Clause shall be counted towa" [ref=e756]: ECMTS. (2) An ECMTS Graduate employed by a subcontractor of the Contractor within the 6-month... + - button [ref=e757] [cursor=pointer]: + - img [ref=e758] + - generic [ref=e761]: + - generic [ref=e762]: + - generic [ref=e763]: + - generic [ref=e764]: Chunk 68 + - generic [ref=e765]: "Page: N/A" + - 'generic "the minimum 12 -month employment period, unless: (i) there is no work or insufficient work under the contract that is suitable for an ECMTS Graduate; or (ii) the remaining time under the min" [ref=e766]': "the minimum 12 -month employment period, unless: (i) there is no work or insufficient work un..." + - button [ref=e767] [cursor=pointer]: + - img [ref=e768] + - generic [ref=e771]: + - generic [ref=e772]: + - generic [ref=e773]: + - generic [ref=e774]: Chunk 69 + - generic [ref=e775]: "Page: N/A" + - generic "reference ] to these additional conditions of contract , issued by the Independent Checking Engineer certifying that the Contractor's Design has been independently checked and complies in all res" [ref=e776]: reference ] to these additional conditions of contract , issued by the Independent Checking Engin... + - button [ref=e777] [cursor=pointer]: + - img [ref=e778] + - generic [ref=e781]: + - generic [ref=e782]: + - generic [ref=e783]: + - generic [ref=e784]: Chunk 70 + - generic [ref=e785]: "Page: N/A" + - generic "provisions of the Scope, provided that the Contractor may propose modifications to the Scope in respect of particular methods of construction or materials not included in the Scope. In such cases," [ref=e786]: provisions of the Scope, provided that the Contractor may propose modifications to the Scope in res... + - button [ref=e787] [cursor=pointer]: + - img [ref=e788] + - generic [ref=e791]: + - generic [ref=e792]: + - generic [ref=e793]: + - generic [ref=e794]: Chunk 71 + - generic [ref=e795]: "Page: N/A" + - generic "Page 152 of 187 F2 (Cont’d) (8) On completion of the work constructed in accordance with the Contractor's Design, the Contractor shall prepare and submit to the Project Manager the ‘as constru" [ref=e796]: Page 152 of 187 F2 (Cont’d) (8) On completion of the work constructed in accordance with the Co... + - button [ref=e797] [cursor=pointer]: + - img [ref=e798] + - generic [ref=e801]: + - generic [ref=e802]: + - generic [ref=e803]: + - generic [ref=e804]: Chunk 72 + - generic [ref=e805]: "Page: N/A" + - generic "uant to NEC Clause 30.2, the expression \"certificate of Completion\" shall, for the purpose of this sub -clause, mean the last of such certificates. Marginal Notes Guidelines Library of Standar" [ref=e806]: uant to NEC Clause 30.2, the expression "certificate of Completion" shall, for the purpose of this... + - button [ref=e807] [cursor=pointer]: + - img [ref=e808] + - generic [ref=e811]: + - generic [ref=e812]: + - generic [ref=e813]: + - generic [ref=e814]: Chunk 73 + - generic [ref=e815]: "Page: N/A" + - generic "resultant works of such design, or any machine, work, method or material or anything whatsoever required for any works provided by the Contractor, its subcontractors or the manufacturers of any" [ref=e816]: resultant works of such design, or any machine, work, method or material or anything whatsoever r... + - button [ref=e817] [cursor=pointer]: + - img [ref=e818] + - generic [ref=e821]: + - generic [ref=e822]: + - generic [ref=e823]: + - generic [ref=e824]: Chunk 74 + - generic [ref=e825]: "Page: N/A" + - generic "to any part of the works submitted by the Contractor under Clause [F4]1 of these additional conditions of contract and any amplification or amendment thereto and accepted by the Client with or wi" [ref=e826]: to any part of the works submitted by the Contractor under Clause [F4]1 of these additional condi... + - button [ref=e827] [cursor=pointer]: + - img [ref=e828] + - generic [ref=e831]: + - generic [ref=e832]: + - generic [ref=e833]: + - generic [ref=e834]: Chunk 75 + - generic [ref=e835]: "Page: N/A" + - generic "of Standard ACC for NEC4 ECC (24.4.2024) Page 159 of 187 F4 (Cont’d) F4 (Cont’d) (c) Subject" [ref=e836]: of Standard ACC for NEC4 ECC (24.4.2024) Page 159 of 187 F4 (Cont’d) ... + - button [ref=e837] [cursor=pointer]: + - img [ref=e838] + - generic [ref=e841]: + - generic [ref=e842]: + - generic [ref=e843]: + - generic [ref=e844]: Chunk 76 + - generic [ref=e845]: "Page: N/A" + - generic "des ign life in net present value resulted from the Cost Savings Design. The Client shall be entitled to deduct such cost from any sums due to the Contractor under the contract and/or to recover" [ref=e846]: des ign life in net present value resulted from the Cost Savings Design. The Client shall be ent... + - button [ref=e847] [cursor=pointer]: + - img [ref=e848] + - generic [ref=e851]: + - generic [ref=e852]: + - generic [ref=e853]: + - generic [ref=e854]: Chunk 77 + - generic [ref=e855]: "Page: N/A" + - generic "Library of Standard ACC for NEC4 ECC (24.4.2024) Page 162 of 187 F4 (Cont’d) (d) If at any time the Project Manager has substantial cause for dissatisfaction with the conduct or performance of" [ref=e856]: Library of Standard ACC for NEC4 ECC (24.4.2024) Page 162 of 187 F4 (Cont’d) (d) If at any time ... + - button [ref=e857] [cursor=pointer]: + - img [ref=e858] + - generic [ref=e861]: + - generic [ref=e862]: + - generic [ref=e863]: + - generic [ref=e864]: Chunk 78 + - generic [ref=e865]: "Page: N/A" + - generic "Client which has been rendered abortive by any such amendments. (8) On completion of the work constructed in accordance with the Cost Savings Design, the Contractor shall prepare and submit" [ref=e866]: Client which has been rendered abortive by any such amendments. (8) On completion of the wor... + - button [ref=e867] [cursor=pointer]: + - img [ref=e868] + - generic [ref=e871]: + - generic [ref=e872]: + - generic [ref=e873]: + - generic [ref=e874]: Chunk 79 + - generic [ref=e875]: "Page: N/A" + - generic "and for other purpose as stated in the Scope and the contract. In the event of different certificates of Completion having been issued for different sections or parts of the works pursuant to NEC" [ref=e876]: and for other purpose as stated in the Scope and the contract. In the event of different certific... + - button [ref=e877] [cursor=pointer]: + - img [ref=e878] + - generic [ref=e881]: + - generic [ref=e882]: + - generic [ref=e883]: + - generic [ref=e884]: Chunk 80 + - generic [ref=e885]: "Page: N/A" + - generic "Library of Standard ACC for NEC4 ECC (24.4.2024) Page 167 of 187 (Cont’d) F4 (Cont’d) and the" [ref=e886]: Library of Standard ACC for NEC4 ECC (24.4.2024) Page 167 of 187 (Cont’d) ... + - button [ref=e887] [cursor=pointer]: + - img [ref=e888] + - generic [ref=e891]: + - generic [ref=e892]: + - generic [ref=e893]: + - generic [ref=e894]: Chunk 81 + - generic [ref=e895]: "Page: N/A" + - generic "relation to the design of any part or all of the works to be carried out by or on behalf of the Contractor pursuant to the contract, except the Cost Savings Design and Temporary Works, for any o" [ref=e896]: relation to the design of any part or all of the works to be carried out by or on behalf of the C... + - button [ref=e897] [cursor=pointer]: + - img [ref=e898] + - generic [ref=e901]: + - generic [ref=e902]: + - generic [ref=e903]: + - generic [ref=e904]: Chunk 82 + - generic [ref=e905]: "Page: N/A" + - generic "B) the limit of indemnity in the aggregate for all claims for the period of insurance under the insurance policy shall not be less than 2 times the minimum amount required under sub-clause (1) or" [ref=e906]: B) the limit of indemnity in the aggregate for all claims for the period of insurance under the in... + - button [ref=e907] [cursor=pointer]: + - img [ref=e908] + - generic [ref=e911]: + - generic [ref=e912]: + - generic [ref=e913]: + - generic [ref=e914]: Chunk 83 + - generic [ref=e915]: "Page: N/A" + - generic "additional conditions of contract issued by the insurer or insurance broker of the insurance policy and any information relating to the insurance policy that the Client may reasonably require." [ref=e916]: additional conditions of contract issued by the insurer or insurance broker of the insurance poli... + - button [ref=e917] [cursor=pointer]: + - img [ref=e918] + - generic [ref=e921]: + - generic [ref=e922]: + - generic [ref=e923]: + - generic [ref=e924]: Chunk 84 + - generic [ref=e925]: "Page: N/A" + - generic "emnity Insurance in respect of Cost Savings Design DEVB TC(W) No. 3/2014 SDEV’s memo ref. (02245-01- 13) in DEVB(W)510/3 4/01 dated 6.10.2009 Modified from SCC72 (2) The Contractor sh" [ref=e926]: emnity Insurance in respect of Cost Savings Design DEVB TC(W) No. 3/2014 SDEV’s memo ref. (... + - button [ref=e927] [cursor=pointer]: + - img [ref=e928] + - generic [ref=e931]: + - generic [ref=e932]: + - generic [ref=e933]: + - generic [ref=e934]: Chunk 85 + - generic [ref=e935]: "Page: N/A" + - generic "required under sub -clause (1) or (2) of this Clause, as the case may be. (b) If (i) the insurance policy effected pursuant to sub-clause (1) or (2) of this Clause contains a limit of ind" [ref=e936]: required under sub -clause (1) or (2) of this Clause, as the case may be. (b) If (i) the ... + - button [ref=e937] [cursor=pointer]: + - img [ref=e938] + - generic [ref=e941]: + - generic [ref=e942]: + - generic [ref=e943]: + - generic [ref=e944]: Chunk 86 + - generic [ref=e945]: "Page: N/A" + - generic "(2) of this Clause does not cover the entire period of insurance required under that sub - clause, within 7 days of professional indemnity insurance being effected upon the expiry of the earlier in" [ref=e946]: (2) of this Clause does not cover the entire period of insurance required under that sub - clause, ... + - button [ref=e947] [cursor=pointer]: + - img [ref=e948] + - generic [ref=e951]: + - generic [ref=e952]: + - generic [ref=e953]: + - generic [ref=e954]: Chunk 87 + - generic [ref=e955]: "Page: N/A" + - generic "erection, use and removal of the Temporary Works, and (b) consider the ground conditions, the adequacy of foundations and support of the Temporary Works and any other factors which may affect t" [ref=e956]: erection, use and removal of the Temporary Works, and (b) consider the ground conditions, the ad... + - button [ref=e957] [cursor=pointer]: + - img [ref=e958] + - generic [ref=e961]: + - generic [ref=e962]: + - generic [ref=e963]: + - generic [ref=e964]: Chunk 88 + - generic [ref=e965]: "Page: N/A" + - generic "to dismiss the independent checking engineer and the Contractor shall do so with immediate effect and not re-employing it again in connection with the works and shall replace the independent chec" [ref=e966]: to dismiss the independent checking engineer and the Contractor shall do so with immediate effect... + - button [ref=e967] [cursor=pointer]: + - img [ref=e968] + - generic [ref=e971]: + - generic [ref=e972]: + - generic [ref=e973]: + - generic [ref=e974]: Chunk 89 + - generic [ref=e975]: "Page: N/A" + - generic "reason of indemnity payments made on account of any claim, loss, damage, liability, cost or expense paid or payable under the insurance policy until the total amount of indemnity payable by the" [ref=e976]: reason of indemnity payments made on account of any claim, loss, damage, liability, cost or expe... + - button [ref=e977] [cursor=pointer]: + - img [ref=e978] + - generic [ref=e981]: + - generic [ref=e982]: + - generic [ref=e983]: + - generic [ref=e984]: Chunk 90 + - generic [ref=e985]: "Page: N/A" + - generic "of the full insurance policy effected pursuant to sub -clause (1) of this Clause for the acceptance of the Client unless the Contractor can demonstrate to the satisfaction of the Client that it" [ref=e986]: of the full insurance policy effected pursuant to sub -clause (1) of this Clause for the acceptan... + - button [ref=e987] [cursor=pointer]: + - img [ref=e988] + - generic [ref=e991]: + - generic [ref=e992]: + - generic [ref=e993]: + - generic [ref=e994]: Chunk 91 + - generic [ref=e995]: "Page: N/A" + - generic "is developed, adopted, produced or used by itself, its subcontractors or the manufacturers of any proprietary product or system selected by it to Provide the Works and/or in the performance of th" [ref=e996]: is developed, adopted, produced or used by itself, its subcontractors or the manufacturers of any... + - button [ref=e997] [cursor=pointer]: + - img [ref=e998] + - generic [ref=e1001]: + - generic [ref=e1002]: + - generic [ref=e1003]: + - generic [ref=e1004]: Chunk 92 + - generic [ref=e1005]: "Page: N/A" + - generic "( including the Contractor's Design and Cost Savings Design) or any part(s) thereof or the resultant works of such design or any machine, work, method or material or anything whatsoever required" [ref=e1006]: ( including the Contractor's Design and Cost Savings Design) or any part(s) thereof or the result... + - button [ref=e1007] [cursor=pointer]: + - img [ref=e1008] + - generic [ref=e1011]: + - generic [ref=e1012]: + - generic [ref=e1013]: + - generic [ref=e1014]: Chunk 93 + - generic [ref=e1015]: "Page: N/A" + - generic "icator arising from an adjudication under the SOP Provisions , or a rbitration award. If the Project Manager shall fail to give such decision for a period of 28 days after being requested to do so" [ref=e1016]: icator arising from an adjudication under the SOP Provisions , or a rbitration award. If the Projec... + - button [ref=e1017] [cursor=pointer]: + - img [ref=e1018] + - generic [ref=e1021]: + - generic [ref=e1022]: + - generic [ref=e1023]: + - generic [ref=e1024]: Chunk 94 + - generic [ref=e1025]: "Page: N/A" + - 'generic "Page 193 of 187 G1B (Cont’d) (3) Any reference to arbitration shall be made within 90 days of: (a) the receipt of a request for mediation and subsequently the recipient of such request having" [ref=e1026]': "Page 193 of 187 G1B (Cont’d) (3) Any reference to arbitration shall be made within 90 days of: ..." + - button [ref=e1027] [cursor=pointer]: + - img [ref=e1028] + - generic [ref=e1031]: + - generic [ref=e1032]: + - generic [ref=e1033]: + - generic [ref=e1034]: Chunk 95 + - generic [ref=e1035]: "Page: N/A" + - generic ") of this sub - clause, the Domestic Arbitration Rules (2014) of the Hong Kong International Arbitration Centre (the Arbitration Rules) shall apply to any arbitration instituted in accordance with" [ref=e1036]: ) of this sub - clause, the Domestic Arbitration Rules (2014) of the Hong Kong International Arbitr... + - button [ref=e1037] [cursor=pointer]: + - img [ref=e1038] + - generic [ref=e1041]: + - generic [ref=e1042]: + - generic [ref=e1043]: + - generic [ref=e1044]: Chunk 96 + - generic [ref=e1045]: "Page: N/A" + - generic "ref. DEVB(W) 510/83/03 dated 11.2.2021 Marginal Notes Guidelines Library of Standard ACC for NEC4 ECC (24.4.2024) Page 198 of 187 Section P – Security of Payment P1 (1) The contract incorpo" [ref=e1046]: ref. DEVB(W) 510/83/03 dated 11.2.2021 Marginal Notes Guidelines Library of Standard ACC for ... + - button [ref=e1047] [cursor=pointer]: + - img [ref=e1048] \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T08-39-07-948Z.yml b/.playwright-mcp/page-2026-04-24T08-39-07-948Z.yml new file mode 100644 index 0000000..82d464d --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T08-39-07-948Z.yml @@ -0,0 +1,17 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e9]: + - generic [ref=e12]: + - img [ref=e13] + - generic [ref=e15]: Video upload coming in Phase 2 + - generic [ref=e17]: + - textbox "Ask a question about your documents..." [ref=e18] + - button "Submit" [disabled] [ref=e20] + - generic [ref=e23]: + - img [ref=e24] + - generic [ref=e26]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-24T08-42-08-014Z.yml b/.playwright-mcp/page-2026-04-24T08-42-08-014Z.yml new file mode 100644 index 0000000..82d464d --- /dev/null +++ b/.playwright-mcp/page-2026-04-24T08-42-08-014Z.yml @@ -0,0 +1,17 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e9]: + - generic [ref=e12]: + - img [ref=e13] + - generic [ref=e15]: Video upload coming in Phase 2 + - generic [ref=e17]: + - textbox "Ask a question about your documents..." [ref=e18] + - button "Submit" [disabled] [ref=e20] + - generic [ref=e23]: + - img [ref=e24] + - generic [ref=e26]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-20-17-555Z.yml b/.playwright-mcp/page-2026-04-25T06-20-17-555Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-20-17-555Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-20-27-139Z.png b/.playwright-mcp/page-2026-04-25T06-20-27-139Z.png new file mode 100644 index 0000000000000000000000000000000000000000..23ac25f3cdc46065044c7312014eb8a0c414f469 GIT binary patch literal 12875 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 Zn7ilp>-#P5ud7A?4tCBLDt_?4{~w46G$a53 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/page-2026-04-25T06-23-32-244Z.yml b/.playwright-mcp/page-2026-04-25T06-23-32-244Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-23-32-244Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-23-38-851Z.png b/.playwright-mcp/page-2026-04-25T06-23-38-851Z.png new file mode 100644 index 0000000000000000000000000000000000000000..23ac25f3cdc46065044c7312014eb8a0c414f469 GIT binary patch literal 12875 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 Zn7ilp>-#P5ud7A?4tCBLDt_?4{~w46G$a53 literal 0 HcmV?d00001 diff --git a/.playwright-mcp/page-2026-04-25T06-25-19-538Z.yml b/.playwright-mcp/page-2026-04-25T06-25-19-538Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-25-19-538Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-27-12-978Z.yml b/.playwright-mcp/page-2026-04-25T06-27-12-978Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-27-12-978Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-28-21-255Z.yml b/.playwright-mcp/page-2026-04-25T06-28-21-255Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-28-21-255Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/.playwright-mcp/page-2026-04-25T06-31-56-729Z.yml b/.playwright-mcp/page-2026-04-25T06-31-56-729Z.yml new file mode 100644 index 0000000..a096e28 --- /dev/null +++ b/.playwright-mcp/page-2026-04-25T06-31-56-729Z.yml @@ -0,0 +1,19 @@ +- generic [ref=e3]: + - navigation [ref=e4]: + - generic [ref=e5]: + - link "LTT" [ref=e6] [cursor=pointer]: + - /url: / + - link "RAG Database" [ref=e7] [cursor=pointer]: + - /url: /rag-database + - generic [ref=e10]: + - generic [ref=e13]: + - generic [ref=e16]: + - img [ref=e17] + - generic [ref=e19]: Video upload coming in Phase 2 + - generic [ref=e21]: + - textbox "Ask a question about your documents..." [ref=e22] + - button "Submit" [disabled] [ref=e24] + - separator [ref=e25] + - generic [ref=e31]: + - img [ref=e32] + - generic [ref=e34]: Ask a question to see the answer here. \ No newline at end of file diff --git a/backend/app/models/query.py b/backend/app/models/query.py index b7e92ab..ea091eb 100644 --- a/backend/app/models/query.py +++ b/backend/app/models/query.py @@ -1,4 +1,4 @@ -from typing import List +from typing import List, Literal, Union from pydantic import BaseModel @@ -13,3 +13,33 @@ class QueryResponse(BaseModel): extracted_questions: List[str] answer: str sources: List[SourceMetadata] + + +class DecomposedEvent(BaseModel): + phase: Literal["decomposed"] + extracted_questions: List[str] + + +class RetrievingEvent(BaseModel): + phase: Literal["retrieving"] + + +class FilteringEvent(BaseModel): + phase: Literal["filtering"] + + +class CompletedEvent(BaseModel): + phase: Literal["completed"] + answer: str + sources: List[SourceMetadata] + + +class ErrorEvent(BaseModel): + phase: Literal["error"] + message: str + + +StreamingQueryEvent = Union[ + DecomposedEvent, RetrievingEvent, FilteringEvent, + CompletedEvent, ErrorEvent +] diff --git a/backend/app/routers/query.py b/backend/app/routers/query.py index 087a5ca..71a760d 100644 --- a/backend/app/routers/query.py +++ b/backend/app/routers/query.py @@ -1,10 +1,11 @@ -"""Query router for RAG pipeline.""" +import json import logging from fastapi import APIRouter, HTTPException +from fastapi.responses import StreamingResponse from app.core.config import get_settings -from app.models.query import QueryRequest, QueryResponse +from app.models.query import QueryRequest from app.models.common import SourceMetadata from app.services.llm_client import LLMClient from app.services.query_decomposer import QueryDecomposer @@ -17,11 +18,11 @@ router = APIRouter(tags=["query"]) NO_RESULTS_ANSWER = "I could not find any relevant information to answer your question." -@router.post("/query", response_model=QueryResponse) -async def query(request: QueryRequest): - if not request.question or not request.question.strip(): - raise HTTPException(status_code=400, detail="Question is required") +def _format_sse(data: dict) -> str: + return f"data: {json.dumps(data)}\n\n" + +async def _query_stream(request: QueryRequest): settings = get_settings() try: @@ -29,27 +30,50 @@ async def query(request: QueryRequest): rag = RAGService(llm_client=llm_client, settings=settings) logger.info("Query: %s", request.question) + decomposer = QueryDecomposer(llm_client) extracted_questions = await decomposer.decompose(request.question) logger.info("Extracted questions: %s", extracted_questions) + yield _format_sse({ + "phase": "decomposed", + "extracted_questions": extracted_questions, + }) + chunks = rag.retrieve(extracted_questions, n_results=settings.retrieval_n_results) + yield _format_sse({"phase": "retrieving"}) + if not chunks: - return QueryResponse(extracted_questions=extracted_questions, answer=NO_RESULTS_ANSWER, sources=[]) + yield _format_sse({ + "phase": "completed", + "answer": NO_RESULTS_ANSWER, + "sources": [], + }) + return chunks_for_filter = [(text, meta) for text, meta, _dist in chunks] relevance_filter = RelevanceFilter(llm_client) + + yield _format_sse({"phase": "filtering"}) + filtered = await relevance_filter.filter( request.question, chunks_for_filter, threshold=settings.relevance_threshold ) if not filtered: - return QueryResponse(extracted_questions=extracted_questions, answer=NO_RESULTS_ANSWER, sources=[]) + yield _format_sse({ + "phase": "completed", + "answer": NO_RESULTS_ANSWER, + "sources": [], + }) + return chunk_texts = [chunk for chunk, _meta in filtered] chunk_metadata = [meta for _chunk, meta in filtered] + yield _format_sse({"phase": "generating"}) + answer = await rag.generate_response(request.question, chunk_texts, chunk_metadata) logger.info("Answer generated: %d chars, %d sources", len(answer), len(filtered)) @@ -65,10 +89,32 @@ async def query(request: QueryRequest): for meta in chunk_metadata ] - return QueryResponse(extracted_questions=extracted_questions, answer=answer, sources=sources) + yield _format_sse({ + "phase": "completed", + "answer": answer, + "sources": [s.model_dump() for s in sources], + }) except HTTPException: raise except Exception as e: - logger.error("Query failed: %s", str(e)) - raise HTTPException(status_code=500, detail=f"Query failed: {str(e)}") + logger.error("Query stream failed: %s", str(e)) + yield _format_sse({ + "phase": "error", + "message": f"Query failed: {str(e)}", + }) + + +@router.post("/query") +async def query(request: QueryRequest): + if not request.question or not request.question.strip(): + raise HTTPException(status_code=400, detail="Question is required") + + return StreamingResponse( + _query_stream(request), + media_type="text/event-stream", + headers={ + "Cache-Control": "no-cache", + "X-Accel-Buffering": "no", + }, + ) diff --git a/frontend/src/components/ExtractedQuestionsDisplay.tsx b/frontend/src/components/ExtractedQuestionsDisplay.tsx index 41b61b5..ed7730f 100644 --- a/frontend/src/components/ExtractedQuestionsDisplay.tsx +++ b/frontend/src/components/ExtractedQuestionsDisplay.tsx @@ -1,7 +1,7 @@ import React from 'react' export interface ExtractedQuestionsDisplayProps { - extractedQuestions?: string[] + extractedQuestions?: string[] | null isLoading: boolean } diff --git a/frontend/src/components/ResponsePanel.tsx b/frontend/src/components/ResponsePanel.tsx index b6e3030..1712d4d 100644 --- a/frontend/src/components/ResponsePanel.tsx +++ b/frontend/src/components/ResponsePanel.tsx @@ -9,6 +9,7 @@ interface ResponsePanelProps { answer: string | null sources: SourceMetadata[] isLoading: boolean + phase?: string error: string | null } @@ -16,6 +17,7 @@ export const ResponsePanel: React.FC = ({ answer, sources, isLoading, + phase, error, }) => { const [sourcesExpanded, setSourcesExpanded] = useState(true) @@ -42,9 +44,19 @@ export const ResponsePanel: React.FC = ({ ) } + const phaseMessages: Record = { + retrieving: 'Searching documents...', + filtering: 'Filtering relevant passages...', + generating: 'Generating answer...', + } + if (isLoading) { return (
+
+
+ {phaseMessages[phase ?? ''] || 'Processing...'} +
void, + signal?: AbortSignal +): Promise => { + const response = await fetch(`${BASE_URL}/query`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(request), + signal, + }) + + if (!response.ok) { + const text = await response.text() + throw new Error(`HTTP ${response.status}: ${text}`) + } + + const reader = response.body!.getReader() + const decoder = new TextDecoder() + let buffer = '' + + while (true) { + const { done, value } = await reader.read() + if (done) break + + buffer += decoder.decode(value, { stream: true }) + const lines = buffer.split('\n') + buffer = lines.pop() || '' + + for (const line of lines) { + if (line.startsWith('data: ')) { + const data = line.slice(6) + onEvent(JSON.parse(data)) + } + } + } +} + export const ingestDocument = async (file: File): Promise => { const form = new FormData() form.append('file', file) diff --git a/frontend/src/lib/queries.tsx b/frontend/src/lib/queries.tsx index 6741d7e..0165279 100644 --- a/frontend/src/lib/queries.tsx +++ b/frontend/src/lib/queries.tsx @@ -1,7 +1,8 @@ import React from 'react' import { QueryClient, QueryClientProvider, useMutation, useQuery, useQueryClient } from '@tanstack/react-query' -import { queryDocument, ingestDocument, listDocuments, listChunks, deleteDocument, deleteChunk } from './api' -import type { QueryRequest, QueryResponse, IngestResponse, DocumentListResponse, ChunkInfo, DeleteResponse } from '../types' +import { queryDocument, queryDocumentStream, ingestDocument, listDocuments, listChunks, deleteDocument, deleteChunk } from './api' +import type { QueryRequest, QueryResponse, QueryStreamEvent, SourceMetadata, IngestResponse, DocumentListResponse, ChunkInfo, DeleteResponse } from '../types' +import { useState, useCallback, useRef } from 'react' export const queryClient = new QueryClient() @@ -11,6 +12,98 @@ export const useQueryDocument = () => { }) } +export interface QueryStreamState { + extractedQuestions: string[] | null + answer: string | null + sources: SourceMetadata[] | null + phase: 'idle' | 'decomposing' | 'retrieving' | 'filtering' | 'generating' | 'completed' | 'error' + error: Error | null +} + +export const useQueryDocumentStream = () => { + const [state, setState] = useState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'idle', + error: null, + }) + const abortRef = useRef(null) + + const mutate = useCallback(async (request: QueryRequest) => { + setState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'decomposing', + error: null, + }) + + abortRef.current = new AbortController() + + try { + await queryDocumentStream(request, (event: QueryStreamEvent) => { + switch (event.phase) { + case 'decomposed': + setState(prev => ({ + ...prev, + extractedQuestions: event.extracted_questions ?? null, + phase: 'retrieving', + })) + break + case 'retrieving': + setState(prev => ({ ...prev, phase: 'retrieving' })) + break + case 'filtering': + setState(prev => ({ ...prev, phase: 'filtering' })) + break + case 'generating': + setState(prev => ({ ...prev, phase: 'generating' })) + break + case 'completed': + setState(prev => ({ + ...prev, + answer: event.answer ?? null, + sources: event.sources ?? null, + phase: 'completed', + })) + break + case 'error': + setState(prev => ({ + ...prev, + phase: 'error', + error: new Error(event.message ?? 'Unknown error'), + })) + break + } + }, abortRef.current.signal) + } catch (err) { + if (err instanceof Error && err.name === 'AbortError') { + setState(prev => ({ ...prev, phase: 'idle' })) + return + } + setState(prev => ({ + ...prev, + phase: 'error', + error: err instanceof Error ? err : new Error(String(err)), + })) + } + }, []) + + const reset = useCallback(() => { + abortRef.current?.abort() + setState({ + extractedQuestions: null, + answer: null, + sources: null, + phase: 'idle', + error: null, + }) + }, []) + + return { ...state, mutate, reset } +} + export const useIngestDocument = () => { return useMutation({ mutationFn: ingestDocument, diff --git a/frontend/src/pages/LTTPage.tsx b/frontend/src/pages/LTTPage.tsx index 898cece..8b4e7cb 100644 --- a/frontend/src/pages/LTTPage.tsx +++ b/frontend/src/pages/LTTPage.tsx @@ -1,7 +1,7 @@ import React from 'react' import { Film } from 'lucide-react' import { Group, Panel, Separator } from 'react-resizable-panels' -import { useQueryDocument } from '../lib/queries' +import { useQueryDocumentStream } from '../lib/queries' import { QueryInput } from '../components/QueryInput' import { ExtractedQuestionsDisplay } from '../components/ExtractedQuestionsDisplay' import { ResponsePanel } from '../components/ResponsePanel' @@ -18,12 +18,14 @@ const VideoPlaceholder: React.FC = () => { } export const LTTPage: React.FC = () => { - const queryMutation = useQueryDocument() + const queryStream = useQueryDocumentStream() const handleQuerySubmit = (question: string): void => { - queryMutation.mutate({ question }) + queryStream.mutate({ question }) } + const isLoading = queryStream.phase !== 'idle' && queryStream.phase !== 'completed' && queryStream.phase !== 'error' + return (
{
- - + +
@@ -51,10 +56,11 @@ export const LTTPage: React.FC = () => {
diff --git a/frontend/src/test/e2e/query_flow.test.tsx b/frontend/src/test/e2e/query_flow.test.tsx index 71cbd1e..d60a4ab 100644 --- a/frontend/src/test/e2e/query_flow.test.tsx +++ b/frontend/src/test/e2e/query_flow.test.tsx @@ -4,14 +4,18 @@ import { queryClient } from '../../lib/queries' import App from '../../App' import type { QueryResponse, IngestResponse } from '../../types' -vi.mock('../../lib/api', () => ({ - queryDocument: vi.fn(), - ingestDocument: vi.fn(), -})) +vi.mock('../../lib/api', async () => { + const actual = await vi.importActual('../../lib/api') + return { + ...(actual as Record), + queryDocumentStream: vi.fn(), + ingestDocument: vi.fn(), + } +}) -import { queryDocument, ingestDocument } from '../../lib/api' +import { queryDocumentStream, ingestDocument } from '../../lib/api' -const mockQueryDocument = vi.mocked(queryDocument) +const mockQueryDocumentStream = vi.mocked(queryDocumentStream) const mockIngestDocument = vi.mocked(ingestDocument) const mockQueryResponse: QueryResponse = { @@ -39,7 +43,17 @@ describe('Query flow integration (App-level)', () => { beforeEach(() => { queryClient.clear() vi.restoreAllMocks() - mockQueryDocument.mockResolvedValue(mockQueryResponse) + mockQueryDocumentStream.mockImplementation(async (_request, onEvent) => { + onEvent({ phase: 'decomposed', extracted_questions: mockQueryResponse.extracted_questions }) + onEvent({ phase: 'retrieving' }) + onEvent({ phase: 'filtering' }) + onEvent({ phase: 'generating' }) + onEvent({ + phase: 'completed', + answer: mockQueryResponse.answer, + sources: mockQueryResponse.sources, + }) + }) mockIngestDocument.mockResolvedValue(mockIngestResponse) }) @@ -56,7 +70,17 @@ describe('Query flow integration (App-level)', () => { }) it('full query flow: type question, submit, see questions and answer', async () => { - mockQueryDocument.mockResolvedValue(mockQueryResponse) + mockQueryDocumentStream.mockImplementation(async (_request, onEvent) => { + onEvent({ phase: 'decomposed', extracted_questions: mockQueryResponse.extracted_questions }) + onEvent({ phase: 'retrieving' }) + onEvent({ phase: 'filtering' }) + onEvent({ phase: 'generating' }) + onEvent({ + phase: 'completed', + answer: mockQueryResponse.answer, + sources: mockQueryResponse.sources, + }) + }) render() @@ -85,7 +109,9 @@ describe('Query flow integration (App-level)', () => { }) it('handles API error gracefully', async () => { - mockQueryDocument.mockRejectedValue(new Error('Server error: 500')) + mockQueryDocumentStream.mockImplementation(async (_request, _onEvent) => { + throw new Error('Server error: 500') + }) render() diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index baded9f..da02073 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -17,6 +17,14 @@ export interface QueryResponse { sources: SourceMetadata[] } +export interface QueryStreamEvent { + phase: 'decomposed' | 'retrieving' | 'filtering' | 'generating' | 'completed' | 'error' + extracted_questions?: string[] + answer?: string + sources?: SourceMetadata[] + message?: string +} + export interface IngestResponse { document_id: string chunk_count: number diff --git a/test materials/NEC4 ACC_page_2.pdf b/test materials/NEC4 ACC_page_2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3ab89ecc4866f7dfd3344065b27866c55682fec0 GIT binary patch literal 203084 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¥XQ$ron4!B*5-Fpn*xBd7?EPJcw8oH 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

mSNM*9Gn7MCnO&bNadw&m0H<*ta66wWHk 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 literal 0 HcmV?d00001