Bind every preserved Quasar UI feature to the Common Lisp control plane #2

Open
opened 2026-07-30 01:30:19 +00:00 by lost-rob0t · 0 comments
lost-rob0t commented 2026-07-30 01:30:19 +00:00 (Migrated from github.com)

Goal

Complete the feature-by-feature migration from browser-owned durable/privileged operations to the versioned CLOG WebSocket control plane introduced by PR #1, without removing or visually regressing existing Quasar UI behavior.

Non-regression requirements

  • keep every current route and visible feature
  • keep desktop layout unchanged by mobile work
  • keep mobile swipe/tap menu and visible three-bar button
  • keep compact mobile graph selector without nested scrolling
  • keep graph list, right-click menus, cross-dataset links, full-viewport graph, and fast zoom
  • keep documents, datasets, imports, statistics, settings, ten auto-dig themes, agents, research nodes, and PWA behavior
  • settings export must strip credentials and tokens
  • Cytoscape remains a projection, not the canonical database

Control-plane migration checklist

Core state and transactions

  • replace direct durable document writes with document.save / document.remove
  • implement atomic batch commands and deterministic conflicts
  • implement undo/redo transactions in Common Lisp
  • add reconnect, request replay, idempotency keys, and revision checks
  • persist canonical workspace state through a storage port

Graphs and actions

  • implement graph list/create/rename/delete/switch commands
  • bind committed drag, layout, viewport, connect, delete, and edit operations
  • implement applicable-action discovery and invocation
  • preserve right-click/radial menus and action search
  • implement cross-dataset relation creation with provenance

Documents, datasets, imports, projections

  • implement document query/get/save/remove
  • implement dataset list/save/remove
  • implement staged import/commit/abort with progress events
  • implement statistics, table, graph, and future map/timeline projections

Actors and research

  • move actor list/run/pause/resume/stop to supervised Common Lisp actors
  • move research run/pause/resume/retry/kill to the control plane
  • enforce bounded mailboxes, runtime budgets, permissions, and audit
  • keep browser actor compatibility only behind explicit capability policy

Integrations

  • add CouchDB sync adapter
  • add RabbitMQ ingest/settlement adapter
  • add Brave search adapter
  • add URL retrieval/extraction adapter
  • add MCP server and skill records/execution
  • add target submission and scheduling

StarLang

  • consume released star-lang ASDF systems
  • implement compile/load/run command contracts
  • expose actor/type/action manifests from StarLang
  • keep StarLang implementation Common Lisp-only

Security and settings

  • add principals, capabilities, and command authorization
  • keep secrets session-scoped
  • implement safe settings import/export
  • add audit events for searches, mutations, actors, exports, permissions, and deletion

Validation

  • add protocol conformance fixtures
  • add Common Lisp integration tests for each command group
  • add Playwright parity coverage for all existing routes and mobile interactions
  • add failure/reconnect/conflict tests
  • require green CI before each migration slice merges

Source of truth

See docs/UI-MIGRATION.md and docs/ARCHITECTURE.md on main.

## Goal Complete the feature-by-feature migration from browser-owned durable/privileged operations to the versioned CLOG WebSocket control plane introduced by PR #1, without removing or visually regressing existing Quasar UI behavior. ## Non-regression requirements - keep every current route and visible feature - keep desktop layout unchanged by mobile work - keep mobile swipe/tap menu and visible three-bar button - keep compact mobile graph selector without nested scrolling - keep graph list, right-click menus, cross-dataset links, full-viewport graph, and fast zoom - keep documents, datasets, imports, statistics, settings, ten auto-dig themes, agents, research nodes, and PWA behavior - settings export must strip credentials and tokens - Cytoscape remains a projection, not the canonical database ## Control-plane migration checklist ### Core state and transactions - [ ] replace direct durable document writes with `document.save` / `document.remove` - [ ] implement atomic batch commands and deterministic conflicts - [ ] implement undo/redo transactions in Common Lisp - [ ] add reconnect, request replay, idempotency keys, and revision checks - [ ] persist canonical workspace state through a storage port ### Graphs and actions - [ ] implement graph list/create/rename/delete/switch commands - [ ] bind committed drag, layout, viewport, connect, delete, and edit operations - [ ] implement applicable-action discovery and invocation - [ ] preserve right-click/radial menus and action search - [ ] implement cross-dataset relation creation with provenance ### Documents, datasets, imports, projections - [ ] implement document query/get/save/remove - [ ] implement dataset list/save/remove - [ ] implement staged import/commit/abort with progress events - [ ] implement statistics, table, graph, and future map/timeline projections ### Actors and research - [ ] move actor list/run/pause/resume/stop to supervised Common Lisp actors - [ ] move research run/pause/resume/retry/kill to the control plane - [ ] enforce bounded mailboxes, runtime budgets, permissions, and audit - [ ] keep browser actor compatibility only behind explicit capability policy ### Integrations - [ ] add CouchDB sync adapter - [ ] add RabbitMQ ingest/settlement adapter - [ ] add Brave search adapter - [ ] add URL retrieval/extraction adapter - [ ] add MCP server and skill records/execution - [ ] add target submission and scheduling ### StarLang - [ ] consume released `star-lang` ASDF systems - [ ] implement compile/load/run command contracts - [ ] expose actor/type/action manifests from StarLang - [ ] keep StarLang implementation Common Lisp-only ### Security and settings - [ ] add principals, capabilities, and command authorization - [ ] keep secrets session-scoped - [ ] implement safe settings import/export - [ ] add audit events for searches, mutations, actors, exports, permissions, and deletion ### Validation - [ ] add protocol conformance fixtures - [ ] add Common Lisp integration tests for each command group - [ ] add Playwright parity coverage for all existing routes and mobile interactions - [ ] add failure/reconnect/conflict tests - [ ] require green CI before each migration slice merges ## Source of truth See `docs/UI-MIGRATION.md` and `docs/ARCHITECTURE.md` on `main`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/quasar#2
No description provided.