feat(web): add dense search and operator shells

This commit is contained in:
saravanakumardb1 2026-03-10 09:05:48 -07:00
parent 771a7d34a6
commit c517375e39
4 changed files with 45 additions and 11 deletions

View File

@ -277,6 +277,11 @@ Detailed implementation plans live under `docs/roadmaps/`.
- `backend/` dependencies are now installed
- `backend` `npm run typecheck` passes after normalizing Fastify type boundaries for `file:` workspace deps
- `backend` `npm test` passes after fixing hoisted Vitest mock patterns and stale route registration count assertions
- 2026-03-10 — Web operator/search density materially advanced:
- saved views are now represented across dashboard, workspaces, and search
- search results now expose a denser operational layout with more metadata
- operator workflow summary surfaces now exist on dashboard and reviews
- workspace cards now expose ownership context for denser navigation
- 2026-03-10 — MCP design work materially advanced:
- product-side MCP core tool contracts now exist under `backend/src/mcp/`
- namespace, role gating, read-only vs mutating classification, workspace scoping, and dry-run/idempotency/correlation expectations are now encoded for the first core tool set
@ -297,4 +302,4 @@ Detailed implementation plans live under `docs/roadmaps/`.
- Real CRUD wiring
- Artifacts
- Approval/review/audit UX
- Dense knowledge polish and hardening
- Dense keyboard navigation, persistence, and hardening

View File

@ -44,14 +44,14 @@ Stack: Next.js 16 + React 19 + TypeScript
- [x] Approval queue UI
- [x] Before/after proposal review UI
- [x] Audit filters and review surfaces
- [ ] Product-specific operator workflows
- [x] Product-specific operator workflows
# Phase W4 — Search / Retrieval UX
- [x] Advanced search UI
- [ ] Smart views / saved searches if in scope
- [x] Smart views / saved searches if in scope
- [x] Relationship-aware navigation UI
- [ ] Higher-density overview improvements
- [x] Higher-density overview improvements
# Phase W5 — Hardening
@ -92,6 +92,17 @@ Stack: Next.js 16 + React 19 + TypeScript
- workspace filter/saved-view shell
- advanced search filter/explainability shell
- review route with approval queue, before/after proposal card, and agent timeline
- Installed `web/` dependencies and verified:
- `npm run typecheck`
- `npm run build`
- Fixed verification issues:
- aligned `ProductUser` with shared `@bytelyst/react-auth` `BaseUser`
- guarded demo auth init so server prerender does not touch `localStorage`
- Expanded the operational shell with:
- saved view data wired into dashboard, workspaces, and search
- denser search result rows with status/owner/workspace metadata
- operator workflow summary cards on dashboard and reviews
- workspace owner visibility for denser knowledge navigation
# Open Questions
@ -109,7 +120,6 @@ Stack: Next.js 16 + React 19 + TypeScript
# Blockers
- The new `web/` app dependencies have not been installed yet, so IDE/typecheck errors currently reflect missing installed packages rather than route structure failures.
- Product identity is still draft-level in the planning docs, so the scaffold currently uses provisional values:
- `ByteLyst Agentic Notes`
- `agentic-notes`
@ -119,16 +129,13 @@ Stack: Next.js 16 + React 19 + TypeScript
# Deferred
- Real backend integration for notes, workspaces, auth, and search
- Real saved-view persistence and richer workspace filters
- Real saved-view persistence and backend-backed workspace filters
- Artifact upload/download UX
- Extraction-backed task review flows
- Backend-backed agent activity timeline, approval queue, proposal diff review, and audit filtering
- Dense keyboard navigation, accessibility hardening, and performance polish
- Production verification:
- install dependencies
- run typecheck
- run tests
- run production build
- Remaining verification:
- run `npm test`
# Done When

View File

@ -5,6 +5,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
id: "workspace-product",
name: "Product Strategy",
description: "PRDs, roadmap cuts, launch tradeoffs, and operating decisions.",
owner: "Product Lead",
noteCount: 18,
visibility: "shared",
updatedAt: "2026-03-10T14:35:00.000Z",
@ -14,6 +15,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
id: "workspace-research",
name: "Research Ops",
description: "Source notes, citations, summaries, and extracted action items.",
owner: "Research Lead",
noteCount: 42,
visibility: "private",
updatedAt: "2026-03-10T13:10:00.000Z",
@ -23,6 +25,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
id: "workspace-platform",
name: "Platform Coordination",
description: "Shared-platform integration notes and handoffs for other agents.",
owner: "Platform Agent",
noteCount: 11,
visibility: "shared",
updatedAt: "2026-03-10T11:05:00.000Z",

View File

@ -2,12 +2,31 @@ export interface WorkspaceSummary {
id: string;
name: string;
description: string;
owner: string;
noteCount: number;
visibility: "private" | "shared";
updatedAt: string;
tags: string[];
}
export interface SavedViewSummary {
id: string;
name: string;
scope: "workspace" | "search" | "review";
description: string;
query: string;
resultCount: number;
}
export interface OperatorWorkflowSummary {
id: string;
name: string;
queueCount: number;
owner: string;
sla: string;
status: "healthy" | "at_risk" | "blocked";
}
export interface NoteTask {
id: string;
title: string;