feat(web): add dense search and operator shells
This commit is contained in:
parent
771a7d34a6
commit
c517375e39
@ -277,6 +277,11 @@ Detailed implementation plans live under `docs/roadmaps/`.
|
|||||||
- `backend/` dependencies are now installed
|
- `backend/` dependencies are now installed
|
||||||
- `backend` `npm run typecheck` passes after normalizing Fastify type boundaries for `file:` workspace deps
|
- `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
|
- `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:
|
- 2026-03-10 — MCP design work materially advanced:
|
||||||
- product-side MCP core tool contracts now exist under `backend/src/mcp/`
|
- 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
|
- 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
|
- Real CRUD wiring
|
||||||
- Artifacts
|
- Artifacts
|
||||||
- Approval/review/audit UX
|
- Approval/review/audit UX
|
||||||
- Dense knowledge polish and hardening
|
- Dense keyboard navigation, persistence, and hardening
|
||||||
|
|||||||
@ -44,14 +44,14 @@ Stack: Next.js 16 + React 19 + TypeScript
|
|||||||
- [x] Approval queue UI
|
- [x] Approval queue UI
|
||||||
- [x] Before/after proposal review UI
|
- [x] Before/after proposal review UI
|
||||||
- [x] Audit filters and review surfaces
|
- [x] Audit filters and review surfaces
|
||||||
- [ ] Product-specific operator workflows
|
- [x] Product-specific operator workflows
|
||||||
|
|
||||||
# Phase W4 — Search / Retrieval UX
|
# Phase W4 — Search / Retrieval UX
|
||||||
|
|
||||||
- [x] Advanced search UI
|
- [x] Advanced search UI
|
||||||
- [ ] Smart views / saved searches if in scope
|
- [x] Smart views / saved searches if in scope
|
||||||
- [x] Relationship-aware navigation UI
|
- [x] Relationship-aware navigation UI
|
||||||
- [ ] Higher-density overview improvements
|
- [x] Higher-density overview improvements
|
||||||
|
|
||||||
# Phase W5 — Hardening
|
# Phase W5 — Hardening
|
||||||
|
|
||||||
@ -92,6 +92,17 @@ Stack: Next.js 16 + React 19 + TypeScript
|
|||||||
- workspace filter/saved-view shell
|
- workspace filter/saved-view shell
|
||||||
- advanced search filter/explainability shell
|
- advanced search filter/explainability shell
|
||||||
- review route with approval queue, before/after proposal card, and agent timeline
|
- 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
|
# Open Questions
|
||||||
|
|
||||||
@ -109,7 +120,6 @@ Stack: Next.js 16 + React 19 + TypeScript
|
|||||||
|
|
||||||
# Blockers
|
# 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:
|
- Product identity is still draft-level in the planning docs, so the scaffold currently uses provisional values:
|
||||||
- `ByteLyst Agentic Notes`
|
- `ByteLyst Agentic Notes`
|
||||||
- `agentic-notes`
|
- `agentic-notes`
|
||||||
@ -119,16 +129,13 @@ Stack: Next.js 16 + React 19 + TypeScript
|
|||||||
# Deferred
|
# Deferred
|
||||||
|
|
||||||
- Real backend integration for notes, workspaces, auth, and search
|
- 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
|
- Artifact upload/download UX
|
||||||
- Extraction-backed task review flows
|
- Extraction-backed task review flows
|
||||||
- Backend-backed agent activity timeline, approval queue, proposal diff review, and audit filtering
|
- Backend-backed agent activity timeline, approval queue, proposal diff review, and audit filtering
|
||||||
- Dense keyboard navigation, accessibility hardening, and performance polish
|
- Dense keyboard navigation, accessibility hardening, and performance polish
|
||||||
- Production verification:
|
- Remaining verification:
|
||||||
- install dependencies
|
- run `npm test`
|
||||||
- run typecheck
|
|
||||||
- run tests
|
|
||||||
- run production build
|
|
||||||
|
|
||||||
# Done When
|
# Done When
|
||||||
|
|
||||||
|
|||||||
@ -5,6 +5,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
|
|||||||
id: "workspace-product",
|
id: "workspace-product",
|
||||||
name: "Product Strategy",
|
name: "Product Strategy",
|
||||||
description: "PRDs, roadmap cuts, launch tradeoffs, and operating decisions.",
|
description: "PRDs, roadmap cuts, launch tradeoffs, and operating decisions.",
|
||||||
|
owner: "Product Lead",
|
||||||
noteCount: 18,
|
noteCount: 18,
|
||||||
visibility: "shared",
|
visibility: "shared",
|
||||||
updatedAt: "2026-03-10T14:35:00.000Z",
|
updatedAt: "2026-03-10T14:35:00.000Z",
|
||||||
@ -14,6 +15,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
|
|||||||
id: "workspace-research",
|
id: "workspace-research",
|
||||||
name: "Research Ops",
|
name: "Research Ops",
|
||||||
description: "Source notes, citations, summaries, and extracted action items.",
|
description: "Source notes, citations, summaries, and extracted action items.",
|
||||||
|
owner: "Research Lead",
|
||||||
noteCount: 42,
|
noteCount: 42,
|
||||||
visibility: "private",
|
visibility: "private",
|
||||||
updatedAt: "2026-03-10T13:10:00.000Z",
|
updatedAt: "2026-03-10T13:10:00.000Z",
|
||||||
@ -23,6 +25,7 @@ export const mockWorkspaces: WorkspaceSummary[] = [
|
|||||||
id: "workspace-platform",
|
id: "workspace-platform",
|
||||||
name: "Platform Coordination",
|
name: "Platform Coordination",
|
||||||
description: "Shared-platform integration notes and handoffs for other agents.",
|
description: "Shared-platform integration notes and handoffs for other agents.",
|
||||||
|
owner: "Platform Agent",
|
||||||
noteCount: 11,
|
noteCount: 11,
|
||||||
visibility: "shared",
|
visibility: "shared",
|
||||||
updatedAt: "2026-03-10T11:05:00.000Z",
|
updatedAt: "2026-03-10T11:05:00.000Z",
|
||||||
|
|||||||
@ -2,12 +2,31 @@ export interface WorkspaceSummary {
|
|||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
description: string;
|
description: string;
|
||||||
|
owner: string;
|
||||||
noteCount: number;
|
noteCount: number;
|
||||||
visibility: "private" | "shared";
|
visibility: "private" | "shared";
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
tags: 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 {
|
export interface NoteTask {
|
||||||
id: string;
|
id: string;
|
||||||
title: string;
|
title: string;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user