diff --git a/docs/IMPLEMENTATION_MASTERPLAN.md b/docs/IMPLEMENTATION_MASTERPLAN.md index 41567ecbb..c265e516a 100644 --- a/docs/IMPLEMENTATION_MASTERPLAN.md +++ b/docs/IMPLEMENTATION_MASTERPLAN.md @@ -2,6 +2,8 @@ Last Updated: 2026-09-10 +Board-object proposal overlay continuation (#2808): complete the contextual preview path with a shared board-owned marker provider and one read-only checked preview panel. Cards and columns in both renderers consume presentation markers; the saved board model is unchanged. Original/pinned revision identity and short server-relative freshness are checked before display, and Review retains all decisions. General before/after board simulation and provider quality acceptance are not implied by this projection. + Private audio continuation (#2808): retain an original recording first, add manual written representations separately, then explicitly confirm into private memory. The vertical uses native source assets, bounded SQLite chunks, owner-scoped playback, idempotent upload retry, version conflicts and account portability/erasure. All four experiences share the question UI; automated transcription, real-device qualification and the wider source/attention work remain separate. This is a prototype delivery path with executable evidence, not a provider or release acceptance decision. Original-source Companion continuation (#2808): explicit per-asset source selection builds on native private-memory preservation. Bounded owner-scoped source queries, expected revisions and content hashes connect historical originals to chat receipts without implicit retrieval. All four experiences share the same picker and source contract. Execution evidence belongs to the continuation PR; hosted qualification and the wider overhaul remain separate. diff --git a/docs/STATUS.md b/docs/STATUS.md index 6d0810c8a..d6b87d43f 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -1,6 +1,8 @@ # Taskdeck Status (Source of Truth) -Last Updated: 2026-09-09 +Last Updated: 2026-09-10 + +Board proposal preview continuation (#2808): Chat and both Review layouts link to a checked read-only overlay on the existing board. Effective revision, proposal status/update time and board identity must match before projecting operation targets; execution parameter IDs take precedence over display IDs. Existing cards/columns are marked across Classic, Studio, Companion and Unified, while creation/hidden objects remain in the diff. Board refresh failures, changes, route/account transitions and bounded expiry retract markers. The surface adds no approval, Apply or board mutation. Component and real-API Chromium checks prove projection, non-mutation, Review navigation and mobile rendering; the wider overhaul remains open. Original-source Companion continuation (#2808): diff --git a/docs/product/WORKSPACE_OVERHAUL.md b/docs/product/WORKSPACE_OVERHAUL.md index ce6fe7ee0..c8e35c082 100644 --- a/docs/product/WORKSPACE_OVERHAUL.md +++ b/docs/product/WORKSPACE_OVERHAUL.md @@ -1,6 +1,8 @@ # Switchable workspace overhaul -Last Updated: 2026-09-09 +Last Updated: 2026-09-10 + +**Preview on board** opens a read-only proposal layer from Chat or Review. Choose **Refresh board preview** to check the current proposal revision and highlight saved cards/columns affected by its operations in either board renderer. The checked diff also describes new or hidden objects. The board continues to show saved data; **Open Review** returns to that exact proposal for approval and explicit Apply. Closing the preview, changing board data, losing access or reaching the short freshness limit removes its markers. This reduces the need to mentally match proposal changes to board objects while preserving review-first trust. Companion's source picker also offers individual preserved originals beside each private memory. Open **Choose original sources**, inspect the saved excerpt, then select the exact answer or evidence diff --git a/docs/product/WORKSPACE_OVERHAUL_VALIDATION.md b/docs/product/WORKSPACE_OVERHAUL_VALIDATION.md index 7f58dc2fb..bad7213c5 100644 --- a/docs/product/WORKSPACE_OVERHAUL_VALIDATION.md +++ b/docs/product/WORKSPACE_OVERHAUL_VALIDATION.md @@ -1,11 +1,18 @@ # Workspace overhaul validation and follow-through +## Board-object proposal overlays (2026-09-10) + +`BoardProposalPreview.spec.ts` covers matched effective revisions, approved pins, mismatched board/revision/status/update receipts, parameter-ID precedence, immutable board inputs, permission/board refresh failure, stale in-flight results, logout, same-user token refresh, server-clock expiry and both card renderers. Existing Chat preview and Board view regressions also pass. Full frontend: 6,368 passed and three existing skips; subsequent projection/access changes have 49 focused passing tests plus typecheck. Exact final evidence is retained with the continuation PR. + +`board-proposal-overlays.spec.ts` creates a real update/reorder/create proposal and checks both board renderers across all four experiences. It proves visible markers, saved titles, explicit close, unchanged saved cards/columns, no browser mutation requests, Review-to-board navigation, access refusal and 375 px/no serious-critical axe findings. The final journey passed in 15.8 seconds. Initial fixture failures omitted required operation parameters, requested an unsupported column action, and captured column card counts before seeding the card; each was corrected without relaxing product assertions. New objects remain described by the checked diff rather than simulated board state. No actual board Apply, production deployment or provider-quality acceptance is claimed. + ## Audio review repairs (2026-09-10) Audio drafts now bind to the board, card, question and revision present when file selection or microphone acquisition starts. Editing that question retains the local file for replay/download but prevents uploading it under new question evidence. A new draft receives the current binding. Two regressions cover edits before upload and while recording. Production CSPs permit only same-origin and local `blob:` media; nginx and its AWS template permit same-origin microphone requests while continuing to deny camera and geolocation. API header checks, proxy policy contracts and Chromium probes exercise these exact policy strings. The probes load a local WAV and inspect effective microphone policy; they do not claim real microphone hardware acceptance. The retained-original library browser journey also passes. + ## Original-source context continuation (2026-09-09) `ChatOriginalContextApiTests.cs` extends the context API suite with original-only dispatch, exact diff --git a/frontend/taskdeck-web/src/components/board/BoardProposalPreview.vue b/frontend/taskdeck-web/src/components/board/BoardProposalPreview.vue new file mode 100644 index 000000000..e0e28bfb5 --- /dev/null +++ b/frontend/taskdeck-web/src/components/board/BoardProposalPreview.vue @@ -0,0 +1,113 @@ + + + + + + + diff --git a/frontend/taskdeck-web/src/components/board/CardItem.vue b/frontend/taskdeck-web/src/components/board/CardItem.vue index 20d677221..815b239c1 100644 --- a/frontend/taskdeck-web/src/components/board/CardItem.vue +++ b/frontend/taskdeck-web/src/components/board/CardItem.vue @@ -1,5 +1,6 @@