omnius 1.0.867 → 1.0.869

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/api/py-embed.js +13 -0
  2. package/dist/index.js +2 -2
  3. package/dist/library.js +222 -194
  4. package/dist/tui/native/worker.js +873 -145
  5. package/dist/update-worker.js +128 -77
  6. package/docs/DISCOVERY.json +3049 -432
  7. package/docs/DISCOVERY.md +71 -7
  8. package/docs/design/media-unification-TODO.md +71 -26
  9. package/docs/design/media-unification-design.md +89 -0
  10. package/docs/design/session-presentation-TODO.md +55 -0
  11. package/docs/design/update-operation-cancellation.md +40 -0
  12. package/docs/design/update-session-restoration-TODO.md +67 -0
  13. package/docs/work-orders/evidence/instrument-interface-live-20261016/interface-after-reconstruction.png +0 -0
  14. package/docs/work-orders/evidence/instrument-interface-live-20261016/interface-before-reconstruction.png +0 -0
  15. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-audio-playing.png +0 -0
  16. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-image-100x30.png +0 -0
  17. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-image-120x36.png +0 -0
  18. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-image-160x48.png +0 -0
  19. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-image-60x20.png +0 -0
  20. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-image-80x24.png +0 -0
  21. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-progress-collapsed.png +0 -0
  22. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-video-frame-a.png +0 -0
  23. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-video-frame-b.png +0 -0
  24. package/docs/work-orders/evidence/instrument-interface-live-20261016/media-voice-autocomplete-junction.png +0 -0
  25. package/docs/work-orders/evidence/instrument-interface-live-20261016/report.json +1054 -0
  26. package/docs/work-orders/evidence/instrument-media-live-20261016/media-audio-playing.png +0 -0
  27. package/docs/work-orders/evidence/instrument-media-live-20261016/media-image-100x30.png +0 -0
  28. package/docs/work-orders/evidence/instrument-media-live-20261016/media-image-120x36.png +0 -0
  29. package/docs/work-orders/evidence/instrument-media-live-20261016/media-image-160x48.png +0 -0
  30. package/docs/work-orders/evidence/instrument-media-live-20261016/media-image-60x20.png +0 -0
  31. package/docs/work-orders/evidence/instrument-media-live-20261016/media-image-80x24.png +0 -0
  32. package/docs/work-orders/evidence/instrument-media-live-20261016/media-progress-collapsed.png +0 -0
  33. package/docs/work-orders/evidence/instrument-media-live-20261016/media-video-frame-a.png +0 -0
  34. package/docs/work-orders/evidence/instrument-media-live-20261016/media-video-frame-b.png +0 -0
  35. package/docs/work-orders/evidence/instrument-media-live-20261016/media-voice-autocomplete-junction.png +0 -0
  36. package/docs/work-orders/evidence/instrument-media-live-20261016/report.json +813 -0
  37. package/docs/work-orders/evidence/instrument-media-verification-20261016.json +59 -0
  38. package/docs/work-orders/evidence/instrument-working-live-20261016/action-working-progress.png +0 -0
  39. package/docs/work-orders/evidence/instrument-working-live-20261016/action-working-result-json.png +0 -0
  40. package/docs/work-orders/evidence/instrument-working-live-20261016/interface-after-reconstruction.png +0 -0
  41. package/docs/work-orders/evidence/instrument-working-live-20261016/interface-before-reconstruction.png +0 -0
  42. package/docs/work-orders/evidence/instrument-working-live-20261016/media-audio-playing.png +0 -0
  43. package/docs/work-orders/evidence/instrument-working-live-20261016/media-image-100x30.png +0 -0
  44. package/docs/work-orders/evidence/instrument-working-live-20261016/media-image-120x36.png +0 -0
  45. package/docs/work-orders/evidence/instrument-working-live-20261016/media-image-160x48.png +0 -0
  46. package/docs/work-orders/evidence/instrument-working-live-20261016/media-image-60x20.png +0 -0
  47. package/docs/work-orders/evidence/instrument-working-live-20261016/media-image-80x24.png +0 -0
  48. package/docs/work-orders/evidence/instrument-working-live-20261016/media-progress-collapsed.png +0 -0
  49. package/docs/work-orders/evidence/instrument-working-live-20261016/media-video-frame-a.png +0 -0
  50. package/docs/work-orders/evidence/instrument-working-live-20261016/media-video-frame-b.png +0 -0
  51. package/docs/work-orders/evidence/instrument-working-live-20261016/media-voice-autocomplete-junction.png +0 -0
  52. package/docs/work-orders/evidence/instrument-working-live-20261016/report.json +1180 -0
  53. package/docs/work-orders/evidence/native-interface-state-verification-20261016.json +79 -0
  54. package/docs/work-orders/evidence/native-working-state-verification-20261016.json +66 -0
  55. package/docs/work-orders/evidence/project-media-browser-20261016/dark-1440-image-output.png +0 -0
  56. package/docs/work-orders/evidence/project-media-browser-20261016/dark-360-image-output.png +0 -0
  57. package/docs/work-orders/evidence/project-media-browser-20261016/light-1440-image-output.png +0 -0
  58. package/docs/work-orders/evidence/project-media-browser-20261016/report.json +47455 -0
  59. package/docs/work-orders/evidence/project-media-unification-20261016.json +108 -0
  60. package/docs/work-orders/evidence/session-native-restore-followup-20261016.json +30 -0
  61. package/docs/work-orders/evidence/session-transcript-browser-20261016.json +1196 -0
  62. package/docs/work-orders/evidence/session-transcript-dark-1440-session-code.png +0 -0
  63. package/docs/work-orders/evidence/session-transcript-dark-1440-session-image.png +0 -0
  64. package/docs/work-orders/evidence/session-transcript-dark-1440-session-working.png +0 -0
  65. package/docs/work-orders/evidence/session-transcript-light-320-session-code.png +0 -0
  66. package/docs/work-orders/evidence/session-transcript-light-320-session-image.png +0 -0
  67. package/docs/work-orders/evidence/session-transcript-light-320-session-working.png +0 -0
  68. package/docs/work-orders/evidence/tool-event-presentation-verification-20261016.json +87 -0
  69. package/docs/work-orders/evidence/update-operation-cancellation-20261016.json +106 -0
  70. package/docs/work-orders/session-transcript-browser-20261016.md +21 -0
  71. package/npm-shrinkwrap.json +2 -2
  72. package/package.json +1 -1
package/docs/DISCOVERY.md CHANGED
@@ -161,18 +161,20 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
161
161
  | `api.v1-mcps` | /v1/mcps | List MCP servers (PT-03) |
162
162
  | `api.v1-mcps-name` | /v1/mcps/{name} | Get MCP server details (PT-03) |
163
163
  | `api.v1-mcps-name-call` | /v1/mcps/{name}/call | Invoke a tool on an MCP server (PT-03) |
164
- | `api.v1-media-audio` | /v1/media/audio | Generate a sound effect — body {prompt, model?, backend?, duration?, seed?} |
164
+ | `api.v1-media-audio` | /v1/media/audio | Generate sound — body {projectRoot,prompt,request_id?,session_id?,model?,backend?,duration?,seed?} |
165
165
  | `api.v1-media-av-analyze` | /v1/media/av/analyze | Analyze a media file into a grounded entity/event/evidence answer (AV entity-comprehension) — body {path\|mediaUri, question?}; reports per-role live-vs-mock adapter status |
166
- | `api.v1-media-file` | /v1/media/file | Stream an exact owned gallery file — query {kind,name}; Validate an exact gallery identity and MIME before acquisition; Delete only a selected saved gallery file and matching metadata |
167
- | `api.v1-media-gallery` | /v1/media/gallery | List previously generated media from the global store, newest first |
168
- | `api.v1-media-image` | /v1/media/image | Generate an image — body {prompt, model?, backend?, width?, height?, steps?, guidance?, seed?, aspect_ratio?} |
166
+ | `api.v1-media-file` | /v1/media/file | Stream an exact artifact — query {projectRoot,kind,name} or {scope:'legacy-global',kind,name}; Validate exact project/archive identity, MIME and ETag before acquisition; Delete a selected project artifact or explicit legacy copy and matching metadata |
167
+ | `api.v1-media-gallery` | /v1/media/gallery | Discover existing artifacts in a registered project, or the explicit legacy global archive |
168
+ | `api.v1-media-generations-cancel` | /v1/media/generations/cancel | Request daemon-owned Stop — JSON {projectRoot,request_id\|generation_id,session_id?} |
169
+ | `api.v1-media-generations-status` | /v1/media/generations/status | Read actual daemon-owned generation settlement for captured project and request identity |
170
+ | `api.v1-media-image` | /v1/media/image | Generate an image in a registered project — body {projectRoot,prompt,request_id?,session_id?,model?,backend?,width?,height?,steps?,guidance?,seed?,aspect_ratio?} |
169
171
  | `api.v1-media-migrate` | /v1/media/migrate | Dedup + migrate legacy per-group media caches into the unified store — body {dryRun?, roots?, maxDepth?} |
170
172
  | `api.v1-media-models` | /v1/media/models | List available generative media models per kind (image/video/audio/music) |
171
- | `api.v1-media-music` | /v1/media/music | Generate music — body {prompt, model?, backend?, duration?, seed?} |
173
+ | `api.v1-media-music` | /v1/media/music | Generate music — body {projectRoot,prompt,request_id?,session_id?,model?,backend?,duration?,seed?} |
172
174
  | `api.v1-media-relocate` | /v1/media/relocate | Relocate the whole media store (weights/venvs/gallery) to a chosen folder — body {newRoot, dryRun?}; streams media.relocate_progress and returns 202 + job_id |
173
175
  | `api.v1-media-relocate-status` | /v1/media/relocate/status | Status of the in-flight (or last) media-store relocation job |
174
176
  | `api.v1-media-store` | /v1/media/store | Resolved media/model/gallery roots and disk information |
175
- | `api.v1-media-video` | /v1/media/video | Generate a video — body {prompt, model?, backend?, num_frames?, fps?, width?, height?, steps?, guidance?, seed?} |
177
+ | `api.v1-media-video` | /v1/media/video | Generate video — body {projectRoot,prompt,request_id?,session_id?,model?,backend?,num_frames?,fps?,width?,height?,steps?,guidance?,seed?} |
176
178
  | `api.v1-media-weights` | /v1/media/weights | Inspect an exact media model's actual cache paths, physical bytes, known dependencies, sharing and supported actions; Delete an exact cached dependency while retaining its catalog entry |
177
179
  | `api.v1-media-weights-download` | /v1/media/weights/download | Start or reattach a durable network/disk-only weight download |
178
180
  | `api.v1-media-weights-jobs-id` | /v1/media/weights/jobs/{id} | Read durable download state and restart interruption status |
@@ -431,7 +433,11 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
431
433
  | `guide.design-dashboard-reconstruction-plan` | Dashboard reconstruction plan | 2026-10-16 · source implementation only; publishing remains with the user. |
432
434
  | `guide.design-dashboard-styleguide` | Omnius browser instrument design system | Version 1 · 2026-10-16 · implementation contract |
433
435
  | `guide.design-dashboard-todo-uppercase` | Dashboard reconstruction — durable TODO | Updated: 2026-10-16. Contract: styleguide. Scope and sequence: plan. |
434
- | `guide.design-media-unification-todo-uppercase` | Next phase: media storage and generation interface unification | Requested 2026-10-16. Queued after the current browser dashboard reconstruction; do not divert the current delivery into this work. These items are not implemented or verified by the dashboard reconstruction receipt. |
436
+ | `guide.design-media-unification-design` | Unified media: project artifacts, shared models, deliberate presentation | Status: implementation contract, 2026-10-16. Follows the delivered dashboard reconstruction (6cfaebbd). Track verification in media-unification-TODO.md. |
437
+ | `guide.design-media-unification-todo-uppercase` | Next phase: media storage and generation interface unification | Requested 2026-10-16. Active after dashboard reconstruction delivery 6cfaebbd. Contract: media unification design. The preceding dashboard receipt does not count as verification of this phase. |
438
+ | `guide.design-session-presentation-todo-uppercase` | Session media, code and working-state presentation | Requested 2026-10-16 after media generation/store unification. |
439
+ | `guide.design-update-operation-cancellation` | Owned update cancellation and restart | The native update dialog stays present while an operation is running. Escape, Ctrl+C and outside clicks do not dismiss it. Its top-right Cancel control sends an explicit request; it shows cancellation pending until the owned work settles. An error remains in the same dialog with a Close action. Ordinary menu dismissal and native frame animation remain unchan |
440
+ | `guide.design-update-session-restoration-todo-uppercase` | Queued next: update lifecycle and exact session restoration | Requested 2026-10-16. Implemented after media unification; source-only delivery, with no real installer or running daemon changes during verification. |
435
441
  | `guide.discovery-agent-map` | Agent Map | Bundled Omnius documentation artifact: docs/discovery/agent-map.json. |
436
442
  | `guide.discovery-catalog-overrides` | Discovery Catalog Curated Source | Curated aliases, relationships, invocation modes, and conceptual entries merged into the generated catalog. |
437
443
  | `guide.discovery-json` | Omnius Machine Discovery Catalog | Generated JSON catalog consumed by the CLI, REST discovery API, JavaScript API, and offline agents. |
@@ -567,6 +573,31 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
567
573
  | `guide.work-orders-evidence-instrument-divider-collapsed-160x48` | Instrument Divider Collapsed 160x48 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-divider-collapsed-160x48.png. |
568
574
  | `guide.work-orders-evidence-instrument-divider-resized-160x48` | Instrument Divider Resized 160x48 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-divider-resized-160x48.png. |
569
575
  | `guide.work-orders-evidence-instrument-help-scroll-120x36` | Instrument Help Scroll 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-help-scroll-120x36.png. |
576
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-interface-after-reconstruction` | Interface After Reconstruction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/interface-after-reconstruction.png. |
577
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-interface-before-reconstruction` | Interface Before Reconstruction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/interface-before-reconstruction.png. |
578
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-audio-playing` | Media Audio Playing | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-audio-playing.png. |
579
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-image-100x30` | Media Image 100x30 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-image-100x30.png. |
580
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-image-120x36` | Media Image 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-image-120x36.png. |
581
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-image-160x48` | Media Image 160x48 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-image-160x48.png. |
582
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-image-60x20` | Media Image 60x20 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-image-60x20.png. |
583
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-image-80x24` | Media Image 80x24 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-image-80x24.png. |
584
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-progress-collapsed` | Media Progress Collapsed | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-progress-collapsed.png. |
585
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-video-frame-a` | Media Video Frame A | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-video-frame-a.png. |
586
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-video-frame-b` | Media Video Frame B | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-video-frame-b.png. |
587
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-media-voice-autocomplete-junction` | Media Voice Autocomplete Junction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/media-voice-autocomplete-junction.png. |
588
+ | `guide.work-orders-evidence-instrument-interface-live-20261016-report` | Report | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-interface-live-20261016/report.json. |
589
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-audio-playing` | Media Audio Playing | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-audio-playing.png. |
590
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-image-100x30` | Media Image 100x30 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-image-100x30.png. |
591
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-image-120x36` | Media Image 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-image-120x36.png. |
592
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-image-160x48` | Media Image 160x48 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-image-160x48.png. |
593
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-image-60x20` | Media Image 60x20 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-image-60x20.png. |
594
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-image-80x24` | Media Image 80x24 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-image-80x24.png. |
595
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-progress-collapsed` | Media Progress Collapsed | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-progress-collapsed.png. |
596
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-video-frame-a` | Media Video Frame A | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-video-frame-a.png. |
597
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-video-frame-b` | Media Video Frame B | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-video-frame-b.png. |
598
+ | `guide.work-orders-evidence-instrument-media-live-20261016-media-voice-autocomplete-junction` | Media Voice Autocomplete Junction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/media-voice-autocomplete-junction.png. |
599
+ | `guide.work-orders-evidence-instrument-media-live-20261016-report` | Report | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-live-20261016/report.json. |
600
+ | `guide.work-orders-evidence-instrument-media-verification-20261016` | Instrument Media Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-media-verification-20261016.json. |
570
601
  | `guide.work-orders-evidence-instrument-package-artifact-20261016` | Instrument Package Artifact 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-package-artifact-20261016.json. |
571
602
  | `guide.work-orders-evidence-instrument-package-install-20261016` | Instrument Package Install 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-package-install-20261016.json. |
572
603
  | `guide.work-orders-evidence-instrument-package-install-20261016-updated` | Instrument Package Install 20261016 Updated | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-package-install-20261016-updated.json. |
@@ -593,6 +624,21 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
593
624
  | `guide.work-orders-evidence-instrument-terminal-light-120x36` | Instrument Terminal Light 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-terminal-light-120x36.png. |
594
625
  | `guide.work-orders-evidence-instrument-transcript-selection-120x36` | Instrument Transcript Selection 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-transcript-selection-120x36.png. |
595
626
  | `guide.work-orders-evidence-instrument-vim-composer-120x36` | Instrument Vim Composer 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-vim-composer-120x36.png. |
627
+ | `guide.work-orders-evidence-instrument-working-live-20261016-action-working-progress` | Action Working Progress | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/action-working-progress.png. |
628
+ | `guide.work-orders-evidence-instrument-working-live-20261016-action-working-result-json` | Action Working Result Json | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/action-working-result-json.png. |
629
+ | `guide.work-orders-evidence-instrument-working-live-20261016-interface-after-reconstruction` | Interface After Reconstruction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/interface-after-reconstruction.png. |
630
+ | `guide.work-orders-evidence-instrument-working-live-20261016-interface-before-reconstruction` | Interface Before Reconstruction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/interface-before-reconstruction.png. |
631
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-audio-playing` | Media Audio Playing | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-audio-playing.png. |
632
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-image-100x30` | Media Image 100x30 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-image-100x30.png. |
633
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-image-120x36` | Media Image 120x36 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-image-120x36.png. |
634
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-image-160x48` | Media Image 160x48 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-image-160x48.png. |
635
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-image-60x20` | Media Image 60x20 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-image-60x20.png. |
636
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-image-80x24` | Media Image 80x24 | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-image-80x24.png. |
637
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-progress-collapsed` | Media Progress Collapsed | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-progress-collapsed.png. |
638
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-video-frame-a` | Media Video Frame A | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-video-frame-a.png. |
639
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-video-frame-b` | Media Video Frame B | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-video-frame-b.png. |
640
+ | `guide.work-orders-evidence-instrument-working-live-20261016-media-voice-autocomplete-junction` | Media Voice Autocomplete Junction | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/media-voice-autocomplete-junction.png. |
641
+ | `guide.work-orders-evidence-instrument-working-live-20261016-report` | Report | Bundled Omnius documentation artifact: docs/work-orders/evidence/instrument-working-live-20261016/report.json. |
596
642
  | `guide.work-orders-evidence-interface-daemon-deployment-20261016` | Interface Daemon Deployment 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/interface-daemon-deployment-20261016.json. |
597
643
  | `guide.work-orders-evidence-interface-targeted-verification-20261016-final` | Interface Targeted Verification 20261016 Final | Bundled Omnius documentation artifact: docs/work-orders/evidence/interface-targeted-verification-20261016-final.json. |
598
644
  | `guide.work-orders-evidence-keyless-compatibility-20261012` | Keyless Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/keyless-compatibility-20261012.json. |
@@ -602,6 +648,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
602
648
  | `guide.work-orders-evidence-local-recovery-production-routes-20261014` | Local Recovery Production Routes 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/local-recovery-production-routes-20261014.json. |
603
649
  | `guide.work-orders-evidence-native-conversation-prompt-audit-20261012` | Native Conversation Prompt Audit 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-conversation-prompt-audit-20261012.json. |
604
650
  | `guide.work-orders-evidence-native-goal-contract-probe-20261012` | Native Goal Contract Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-goal-contract-probe-20261012.json. |
651
+ | `guide.work-orders-evidence-native-interface-state-verification-20261016` | Native Interface State Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-interface-state-verification-20261016.json. |
605
652
  | `guide.work-orders-evidence-native-reconciliation-readonly-live-20261014` | Native Reconciliation Readonly Live 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-reconciliation-readonly-live-20261014.json. |
606
653
  | `guide.work-orders-evidence-native-session-lifecycle-verification-20261016` | Native Session Lifecycle Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-session-lifecycle-verification-20261016.json. |
607
654
  | `guide.work-orders-evidence-native-session-regression-verification-20261016` | Native Session Regression Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-session-regression-verification-20261016.json. |
@@ -622,6 +669,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
622
669
  | `guide.work-orders-evidence-native-tui-pty-live-20261015` | Native Tui Pty Live 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-pty-live-20261015.json. |
623
670
  | `guide.work-orders-evidence-native-tui-semantic-components-20261015` | Native Tui Semantic Components 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-semantic-components-20261015.json. |
624
671
  | `guide.work-orders-evidence-native-tui-targeted-verification-20261015` | Native Tui Targeted Verification 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-targeted-verification-20261015.json. |
672
+ | `guide.work-orders-evidence-native-working-state-verification-20261016` | Native Working State Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-working-state-verification-20261016.json. |
625
673
  | `guide.work-orders-evidence-opencode-all-free-audit-20261012` | Opencode All Free Audit 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-all-free-audit-20261012.json. |
626
674
  | `guide.work-orders-evidence-opencode-all-free-installed-verification-20261012` | Opencode All Free Installed Verification 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-all-free-installed-verification-20261012.json. |
627
675
  | `guide.work-orders-evidence-opencode-installed-production-stream-live-20261012` | Opencode Installed Production Stream Live 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-installed-production-stream-live-20261012.json. |
@@ -631,10 +679,23 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
631
679
  | `guide.work-orders-evidence-opencode-step-rate-limited-diagnostic-20261012` | Opencode Step Rate Limited Diagnostic 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/opencode-step-rate-limited-diagnostic-20261012.json. |
632
680
  | `guide.work-orders-evidence-ovh-production-compatibility-20261012` | Ovh Production Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/ovh-production-compatibility-20261012.json. |
633
681
  | `guide.work-orders-evidence-ovh-structured-context-compatibility-20261012` | Ovh Structured Context Compatibility 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/ovh-structured-context-compatibility-20261012.json. |
682
+ | `guide.work-orders-evidence-project-media-browser-20261016-dark-1440-image-output` | Dark 1440 Image Output | Bundled Omnius documentation artifact: docs/work-orders/evidence/project-media-browser-20261016/dark-1440-image-output.png. |
683
+ | `guide.work-orders-evidence-project-media-browser-20261016-dark-360-image-output` | Dark 360 Image Output | Bundled Omnius documentation artifact: docs/work-orders/evidence/project-media-browser-20261016/dark-360-image-output.png. |
684
+ | `guide.work-orders-evidence-project-media-browser-20261016-light-1440-image-output` | Light 1440 Image Output | Bundled Omnius documentation artifact: docs/work-orders/evidence/project-media-browser-20261016/light-1440-image-output.png. |
685
+ | `guide.work-orders-evidence-project-media-browser-20261016-report` | Report | Bundled Omnius documentation artifact: docs/work-orders/evidence/project-media-browser-20261016/report.json. |
686
+ | `guide.work-orders-evidence-project-media-unification-20261016` | Project Media Unification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/project-media-unification-20261016.json. |
634
687
  | `guide.work-orders-evidence-public-review-after-20261012` | Public Review After 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/public-review-after-20261012.json. |
635
688
  | `guide.work-orders-evidence-public-review-before-20261012` | Public Review Before 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/public-review-before-20261012.json. |
689
+ | `guide.work-orders-evidence-session-native-restore-followup-20261016` | Session Native Restore Followup 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-native-restore-followup-20261016.json. |
636
690
  | `guide.work-orders-evidence-session-tabs-installation-20261016` | Session Tabs Installation 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-tabs-installation-20261016.json. |
637
691
  | `guide.work-orders-evidence-session-tabs-package-verification-20261016` | Session Tabs Package Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-tabs-package-verification-20261016.json. |
692
+ | `guide.work-orders-evidence-session-transcript-browser-20261016` | Session Transcript Browser 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-browser-20261016.json. |
693
+ | `guide.work-orders-evidence-session-transcript-dark-1440-session-code` | Session Transcript Dark 1440 Session Code | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-dark-1440-session-code.png. |
694
+ | `guide.work-orders-evidence-session-transcript-dark-1440-session-image` | Session Transcript Dark 1440 Session Image | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-dark-1440-session-image.png. |
695
+ | `guide.work-orders-evidence-session-transcript-dark-1440-session-working` | Session Transcript Dark 1440 Session Working | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-dark-1440-session-working.png. |
696
+ | `guide.work-orders-evidence-session-transcript-light-320-session-code` | Session Transcript Light 320 Session Code | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-light-320-session-code.png. |
697
+ | `guide.work-orders-evidence-session-transcript-light-320-session-image` | Session Transcript Light 320 Session Image | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-light-320-session-image.png. |
698
+ | `guide.work-orders-evidence-session-transcript-light-320-session-working` | Session Transcript Light 320 Session Working | Bundled Omnius documentation artifact: docs/work-orders/evidence/session-transcript-light-320-session-working.png. |
638
699
  | `guide.work-orders-evidence-source-hierarchy-installed-20261013` | Source Hierarchy Installed 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/source-hierarchy-installed-20261013.json. |
639
700
  | `guide.work-orders-evidence-telegram-all-free-live-20261013` | Telegram All Free Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-all-free-live-20261013.json. |
640
701
  | `guide.work-orders-evidence-telegram-completion-review-live-20261013` | Telegram Completion Review Live 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/telegram-completion-review-live-20261013.json. |
@@ -645,6 +706,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
645
706
  | `guide.work-orders-evidence-terminal-review-contract-probe-20261012` | Terminal Review Contract Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-contract-probe-20261012.json. |
646
707
  | `guide.work-orders-evidence-terminal-review-error-probe-20261012` | Terminal Review Error Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-error-probe-20261012.json. |
647
708
  | `guide.work-orders-evidence-terminal-review-schema-repair-probe-20261012` | Terminal Review Schema Repair Probe 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/terminal-review-schema-repair-probe-20261012.json. |
709
+ | `guide.work-orders-evidence-tool-event-presentation-verification-20261016` | Tool Event Presentation Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/tool-event-presentation-verification-20261016.json. |
648
710
  | `guide.work-orders-evidence-tray-checked-menu-final` | Tray Checked Menu Final | Bundled Omnius documentation artifact: docs/work-orders/evidence/tray-checked-menu-final.png. |
649
711
  | `guide.work-orders-evidence-tray-native-host` | Tray Native Host | Bundled Omnius documentation artifact: docs/work-orders/evidence/tray-native-host.png. |
650
712
  | `guide.work-orders-evidence-tray-native-host-checking` | Tray Native Host Checking | Bundled Omnius documentation artifact: docs/work-orders/evidence/tray-native-host-checking.png. |
@@ -658,6 +720,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
658
720
  | `guide.work-orders-evidence-tray-projects-long-menu` | Tray Projects Long Menu | Bundled Omnius documentation artifact: docs/work-orders/evidence/tray-projects-long-menu.png. |
659
721
  | `guide.work-orders-evidence-tray-projects-menu` | Tray Projects Menu | Bundled Omnius documentation artifact: docs/work-orders/evidence/tray-projects-menu.png. |
660
722
  | `guide.work-orders-evidence-tui-local-admission-live-20261014` | Tui Local Admission Live 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/tui-local-admission-live-20261014.json. |
723
+ | `guide.work-orders-evidence-update-operation-cancellation-20261016` | Update Operation Cancellation 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/update-operation-cancellation-20261016.json. |
661
724
  | `guide.work-orders-evidence-web-instrument-dark-desktop-20261016` | Web Instrument Dark Desktop 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/web-instrument-dark-desktop-20261016.png. |
662
725
  | `guide.work-orders-evidence-web-instrument-dark-phone-20261016` | Web Instrument Dark Phone 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/web-instrument-dark-phone-20261016.png. |
663
726
  | `guide.work-orders-evidence-web-instrument-dashboard-live-20261016` | Web Instrument Dashboard Live 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/web-instrument-dashboard-live-20261016.json. |
@@ -787,6 +850,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
787
850
  | `guide.work-orders-runtime-health-remediation-wo-57-telegram-delivery-truth-and-recovery-uppercase` | WO-57: Telegram delivery truth, reminder authority, and bounded recovery | Status: REQ-TDT-019 and the REQ-TDT-016 lease correction were delivered in cdf81ffd; the 23-file Case Theory acceptance run then exposed the terminal same-response contract mismatch tracked by REQ-TDT-020. Its source repair was delivered in 1b451bc8; publication, redeployment, live acceptance, and the pre-existing full-suite debt recorded below remain open. |
788
851
  | `guide.work-orders-runtime-health-remediation-wo-58-agent-scoped-footer-observability-uppercase` | WO-58 — Agent-scoped footer observability | Status: source delivered in 8a81eab6; deployment acceptance pending |
789
852
  | `guide.work-orders-runtime-health-remediation-wo-59-telegram-restart-edit-crash-uppercase` | WO-59: Telegram restart edit crash and terminal-intake monotonicity | Status: COMPLETE — implemented, verified, and pushed in 9fadef51 Priority: P0 Incident: October 3, 2026, telegramtest TUI exits immediately while loading the OMNIUS Telegram session Owner: Omnius Telegram durable-intake runtime Depends on: WO-57 Completion rule: Mark a checkbox complete only when its code anchor and deterministic evidence exist. Do not delet |
853
+ | `guide.work-orders-session-transcript-browser-20261016` | Session transcript media, code and action states | The browser now uses one renderer for restored sessions and live tool events. Tool calls, their measured progress, diagnostics, validated artifacts and the final assistant answer remain under their original turn. Exact action IDs pair parallel work; duplicate or late events cannot change a terminal outcome. Legacy results pair by name only when one unmatched |
790
854
  | `guide.work-orders-telegram-dmn-wo-22-dmn-outreach-and-learning-uppercase` | WO-22: DMN outreach, DM sharing, and outcome learning | On 2026-09-03 at 17:07 PDT the bot posted in the OMNIUS group without being addressed. The operator asked whether this was self-induced reflection. |
791
855
  | `guide.work-orders-telegram-dropbear-context-rca-workorder` | Telegram Dropbear Context Engineering RCA Work Order | Observed run: /home/roko/Documents/Projects/Adjacent/telegramtest/.omnius, run id 1782873796963-i5r7mv. |
792
856
  | `guide.work-orders-telegram-progress-browser-20261011-readme-uppercase` | Telegram progress and browser-to-desktop repair | Status: complete — implemented, verified offline, and delivered to origin/main Requested: 2026-10-11 Baseline: f1b2d5f9 on origin/main |
@@ -1,58 +1,103 @@
1
1
  # Next phase: media storage and generation interface unification
2
2
 
3
- Requested 2026-10-16. Queued after the current browser dashboard reconstruction;
4
- do not divert the current delivery into this work. These items are not implemented
5
- or verified by the dashboard reconstruction receipt.
3
+ Requested 2026-10-16. Active after dashboard reconstruction delivery `6cfaebbd`.
4
+ Contract: [media unification design](media-unification-design.md). The preceding
5
+ dashboard receipt does not count as verification of this phase.
6
6
 
7
7
  ## Storage contract
8
8
 
9
- - [ ] Trace browser, TUI, tool and session generation/output paths for image,
9
+ - [x] Trace browser, TUI, tool and session generation/output paths for image,
10
10
  video, audio and music before choosing a migration strategy.
11
- - [ ] Share model weights across Omnius sessions and project locations through
11
+ - [x] Share model weights across Omnius sessions and project locations through
12
12
  one configured model store; expose its actual path consistently.
13
- - [ ] Scope generated outputs to the directory/project where generation was
13
+ - [x] Scope generated outputs to the directory/project where generation was
14
14
  invoked. Browser and TUI sessions in that same location must discover the same
15
15
  artifacts, without copying them into divergent galleries.
16
- - [ ] Carry explicit project identity through browser generation, jobs, gallery,
16
+ - [x] Carry explicit project identity through browser generation, jobs, gallery,
17
17
  preview, download and deletion. Preserve authenticated validation receipts.
18
- - [ ] Define compatibility/discovery for existing project outputs and global
18
+ - [x] Define compatibility/discovery for existing project outputs and global
19
19
  gallery copies; never silently move or delete existing user artifacts.
20
- - [ ] Show the output directory and exact artifact location in both interfaces.
21
- - [ ] Test two sessions sharing one project and two separate projects sharing
20
+ - [x] Show the output directory and exact artifact location in both interfaces.
21
+ - [x] Test two sessions sharing one project and two separate projects sharing
22
22
  weights but keeping generated artifacts scoped.
23
23
 
24
24
  ## Uniform generation modules
25
25
 
26
- - [ ] Use one deliberate interaction pattern for LLM and media model selection,
26
+ - [x] Use one deliberate interaction pattern for LLM and media model selection,
27
27
  download, readiness/deployment, generation, stop, failure and output actions.
28
- - [ ] Replace transcript floods with a single updating generation module tied to
28
+ - [x] Replace transcript floods with a single updating generation module tied to
29
29
  its parent turn. Keep raw diagnostics and warnings in an explicit expansion.
30
- - [ ] Parse progress semantically: download bytes, model loading, inference
30
+ - [x] Parse progress semantically: download bytes, model loading, inference
31
31
  steps, saving and completion. Do not label deprecation warnings or inference
32
32
  progress bars as model downloads.
33
- - [ ] Keep download-only and GPU deployment separate, with truthful status and
33
+ - [x] Keep download-only and GPU deployment separate, with truthful status and
34
34
  existing broker coordination and live inference hardware gates.
35
- - [ ] Provide responsive media previews sized from available content width,
35
+ - [x] Provide responsive media previews sized from available content width,
36
36
  including after terminal resize and sidebar dragging; retain aspect ratio.
37
- - [ ] Support click/Open actions and a subtle hover Open affordance, plus
37
+ - [x] Support click/Open actions and a subtle hover Open affordance, plus
38
38
  keyboard access and clear local file handling.
39
- - [ ] Investigate OpenTUI audio streaming APIs for generated audio playback and
39
+ - [x] Investigate OpenTUI audio streaming APIs for generated audio playback and
40
40
  visualization: https://opentui.com/docs/application-apis/audio-streaming/.
41
- - [ ] Implement video playback via updating frames using the same media module,
41
+ - [x] Implement video playback via updating frames using the same media module,
42
42
  with bounded work, explicit play/pause and cleanup when hidden or closed.
43
- - [ ] Match browser preview sizing and media controls to these same artifact and
43
+ - [x] Match browser preview sizing and media controls to these same artifact and
44
44
  lifecycle semantics; avoid tiny fixed-size centered output previews.
45
45
 
46
46
  ## Verification and delivery
47
47
 
48
- - [ ] Update the design contract before edits, recording ownership, migration,
48
+ - [x] Update the design contract before edits, recording ownership, migration,
49
49
  progress, preview and playback semantics.
50
- - [ ] Test storage identity, legacy discovery, concurrency, cancellation,
50
+ - [x] Test storage identity, legacy discovery, concurrency, cancellation,
51
51
  authorization, deletion scope and failure recovery with isolated fixtures.
52
- - [ ] Exercise TUI progress and resize/playback live without allocating models.
53
- - [ ] Exercise browser project switching, responsive output, playback and file
52
+ - [x] Exercise TUI progress and resize/playback live without allocating models.
53
+ - [x] Exercise browser project switching, responsive output, playback and file
54
54
  actions using isolated media fixtures and the mandatory transport tests.
55
- - [ ] Run actual inference only after the existing exact endpoint/model/GPU
56
- preflight gate; report fixture tests separately from real inference.
57
- - [ ] Make scoped verified commits and push the tracked branch. Leave publishing
55
+ - [x] Keep real inference behind the existing endpoint/model/GPU gate. This
56
+ phase used isolated media and subprocess fixtures; no inference or model loads ran.
57
+ - [x] Make scoped verified commits and push the tracked branch. Leave publishing
58
58
  to the user unless subsequently instructed otherwise.
59
+
60
+ ## Progress log
61
+
62
+ - Dashboard source delivery completed first through `6cfaebbd` on `origin/main`.
63
+ - `0a6e9ada`: shared incremental media progress framing and owned image-worker
64
+ cancellation pushed. 67 tests across eight execution suites passed, including
65
+ real disposable Node subprocess Stop/timeout checks. No inference ran.
66
+ - Current backend work replaces browser global work/copy behavior with explicit
67
+ registered-project identity and a labeled legacy gallery scope. Shared weights
68
+ stay in their configured store. Alias canonicalization is being repaired so
69
+ configured symlink roots share one lease.
70
+ - Current terminal work retains one invocation module with bounded diagnostics,
71
+ responsive previews and local playback. Native model modules separate selection,
72
+ file-only download and preparation; their six isolated control tests pass.
73
+ - Media artifact persistence round-trip: five disk-state tests pass. This is
74
+ media-block compatibility, not a claim that the queued full session-restoration
75
+ overhaul is complete.
76
+ - Include the newly reported disconnected sidebar rule through suggestions,
77
+ scrolling and enabled Voice rows in this phase's terminal validation.
78
+ - Queued after this phase: [update and session restoration](update-session-restoration-TODO.md).
79
+
80
+ ## Delivery
81
+
82
+ - Source commits pushed to `origin/main`: backend `8bb0be44`, browser
83
+ `e7a7bd64`, invocation cancellation `faa21628`, native modules `2fe72f09`.
84
+ - Browser: 171 live isolated-fixture checks, dark/light at 360/768/1440px;
85
+ project-switch ownership, stopping until daemon settlement, separate legacy
86
+ archive, scrolling detail modal and full-width output verified.
87
+ [Browser report](../work-orders/evidence/project-media-browser-20261016/report.json).
88
+ One expected HTTP 502 console entry is the deliberately cancelled generation;
89
+ no page exceptions or external requests.
90
+ - Backend: 122 tests across 11 suites including the mandatory transport gate;
91
+ [receipt](../work-orders/evidence/project-media-unification-20261016.json).
92
+ - Native media: 13 tests across 5 suites, plus 12 genuine VTE checks with CPU
93
+ fixture files, silent audio mixing and bounded video frames;
94
+ [receipt](../work-orders/evidence/instrument-media-verification-20261016.json).
95
+ - Additional root integration: model controls + disk persistence 11 tests;
96
+ invocation cancellation 6; adapter context/lifecycle/receipt 8. Counts overlap
97
+ other receipts and must not be summed as a unique total. Private CLI and
98
+ execution typechecks passed.
99
+ - Source only: no shared build, package publication, live daemon restart, real
100
+ model download, inference, or deletion of user media was performed.
101
+ - Follow-up user request: browser session transcript media previews, scoped code
102
+ highlighting, and clearer action-chain working states tracked in
103
+ [session presentation TODO](session-presentation-TODO.md).
@@ -0,0 +1,89 @@
1
+ # Unified media: project artifacts, shared models, deliberate presentation
2
+
3
+ Status: implementation contract, 2026-10-16. Follows the delivered dashboard
4
+ reconstruction (`6cfaebbd`). Track verification in `media-unification-TODO.md`.
5
+
6
+ ## Ownership and discovery
7
+
8
+ Model weights and runtimes remain in the existing configured shared media store.
9
+ Changing projects or opening another session must not create a second model cache.
10
+ Generated images belong to `<project>/.omnius/images`, video to `.omnius/videos`,
11
+ and sound/music to `.omnius/audio`, matching the existing execution tools.
12
+
13
+ Browser requests capture the selected project when the operation starts. The
14
+ daemon resolves that identity through the project registry; a request cannot
15
+ substitute an arbitrary filesystem root. Generation, gallery, preview, download
16
+ and deletion carry the same captured identity. Switching projects while a job or
17
+ preview is pending must not attach its result to the new project's gallery.
18
+
19
+ Existing project artifacts are discoverable without import or duplication.
20
+ Metadata sidecars enrich records but cannot redirect file access outside the
21
+ project. File operations validate actual containment, supported extensions and
22
+ regular files, rejecting symlinks/traversal. Existing global gallery copies stay
23
+ available through an explicitly labeled legacy scope; they are not moved or
24
+ deleted automatically. Deletion confirmations state the actual selected artifact
25
+ and scope. Shared weight deletion remains a separate control.
26
+
27
+ The REST project registry is an access boundary: admin scope is required to
28
+ register, rename or unregister roots, and to write project preferences that
29
+ create discovery sentinels. Switching an existing registered project and listing
30
+ or scanning projects remain read operations; scanning does not register its
31
+ results. `registerIfMissing` on project switching requires admin scope. Local
32
+ trusted project discovery remains separate from these REST operations.
33
+
34
+ Media APIs require the captured `projectRoot`; they never fall back to the
35
+ daemon's current project. Project-root aliases resolve to the same physical
36
+ artifact identity. Optional known `session_id` values must belong to that
37
+ project. New requests carry a bounded `request_id` alongside the server's
38
+ `generation_id`, and all terminal receipts retain that identity. Preview and
39
+ deletion accept `If-Match` against the inspected artifact revision; video
40
+ deletion also removes its exact derived regular thumbnail, never a path supplied
41
+ by a sidecar. Legacy global gallery access requires `scope=legacy-global` and
42
+ does not accept a project attribution.
43
+
44
+ Configured shared-store root aliases resolve to one physical lease. Nested cache
45
+ and lease-file symlinks are rejected. The existing conservative store lease
46
+ serializes generation with weight/cache mutation because generation can download
47
+ or evict weights; it does not add a per-project model cache. Stop receipts remain
48
+ `stopping` until the owned invocation actually settles. Generation status records
49
+ are bounded in daemon memory and do not survive a daemon restart.
50
+
51
+ ## Generation lifecycle
52
+
53
+ One invocation has one updating module in its parent turn. The module shows kind,
54
+ model, a single current phase and measured progress, then output controls. It
55
+ does not append every subprocess line to the transcript. Raw warnings and bounded
56
+ diagnostics live in an explicit disclosure. Download, runtime setup, loading,
57
+ inference steps and saving are distinct phases. Unknown progress stays unknown.
58
+ Heartbeat updates preserve the latest meaningful phase; they do not regress from
59
+ inference to a stale “downloading/loading” label. Subprocess records must survive
60
+ split lines and UTF-8 chunks.
61
+
62
+ Model browsing uses the existing nested module pattern. Selecting weights,
63
+ downloading files, deploying a runner and generating output are distinct actions;
64
+ their state labels must describe actual behavior. Existing broker and live
65
+ inference hardware gates still apply. No visual test should load a model.
66
+
67
+ ## Media presentation
68
+
69
+ Image/video previews derive dimensions from the available content width and
70
+ aspect ratio. Sidebar dragging and terminal/browser resizing update that fit.
71
+ Opening media is an explicit clickable preview or Open action, with keyboard
72
+ access and a quiet hover treatment. File location is available in the module,
73
+ not repeatedly injected as log lines. The browser uses the same artifact identity
74
+ and exposes preview, download and scoped delete actions together.
75
+
76
+ Generated audio uses OpenTUI's native audio stream API with bounded PCM decoding
77
+ when the file format requires it, and measured waveform/progress visualization.
78
+ OpenTUI streaming has no pause/resume API; file transport must implement any such
79
+ control explicitly by disposing and restarting at a captured position. Decoder,
80
+ stream, timer and device cleanup belongs to the module lifecycle.
81
+
82
+ Video updates the native image frame while playing, at a bounded cadence. Only
83
+ active visible playback does decoding work; pause, navigation, removal and exit
84
+ must stop owned decoder processes/timers. Playback failures stay inside the media
85
+ module with a usable Open fallback. Tests exercise real fixture decoding and
86
+ native rendering without claiming audible output or actual model inference.
87
+
88
+ Reference: https://opentui.com/docs/application-apis/audio-streaming/ (checked
89
+ against the installed `@opentui/core` 0.6.6 audio declarations).
@@ -0,0 +1,55 @@
1
+ # Session media, code and working-state presentation
2
+
3
+ Requested 2026-10-16 after media generation/store unification.
4
+
5
+ - [x] Trace browser live/restored session renderer and existing receipt-validated media acquisition.
6
+ - [x] Trace native selected-view activity, action tree, semantic progress and terminal receipts.
7
+ - [x] Render responsive image/video/audio previews in browser session messages/tool actions using project-scoped authenticated HEAD/If-Match/blob acquisition.
8
+ - [x] Preserve explicit paths and validated Open/Download controls; do not activate unvalidated filesystem or external links.
9
+ - [x] Scope syntax token styles to code blocks, fix language aliases/fences and prevent style bleed.
10
+ - [x] Share live/restored action rendering; one parent-turn operation with truthful current phase, measured progress, elapsed time and expandable diagnostics.
11
+ - [x] Match selected child/main activity in the TUI and update stable action nodes across behavior chains without transcript spam.
12
+ - [x] Reject stale/out-of-order receipts, retain daemon Stop ownership and avoid invented progress percentages.
13
+ - [x] Run mocked transport suites, actual browser viewport fixtures, native operation fixtures and typechecks.
14
+ - [x] Commit/push scoped verified source and record exact evidence without touching publishing outputs.
15
+
16
+ ## Progress
17
+
18
+ - `78e8fd2f`: native working actions retained in parent-turn groups; selected
19
+ agent owns its footer state. Results/diagnostics collapse, JSON keeps exact
20
+ values, and one active-only timer replaces only changed groups. Unknown
21
+ receipts say Returned; blocked/failed/interrupted states remain distinct.
22
+ - Native verification: 45 tests/8 suites, private CLI typecheck, 14 actual VTE
23
+ checks/14 PNGs. [Receipt](../work-orders/evidence/native-working-state-verification-20261016.json).
24
+ - `a3a03fe6`: source processing progress carries the owning action ID; 13
25
+ isolated runner tests passed using mocked inference.
26
+ - `0bb6604c`: browser session renderer shares live/restored parent-turn modules with
27
+ responsive authenticated image/video/audio previews, scoped syntax, lossless
28
+ JSON display and exact-original Copy. Explicit artifact sets stay authoritative
29
+ through producer, persistence and both frontends; old paths cannot revive a
30
+ rejected receipt. Local cached history uses the same renderer. Project
31
+ hydration rejects stale responses and preserves an explicit newer session
32
+ selection or New action. Browser verification: 105 tests/7 suites, private
33
+ CLI no-emit, and 48 actual Chromium fixture checks across 320/768/1440 in
34
+ both themes passed. [Work order](../work-orders/session-transcript-browser-20261016.md)
35
+ and [live report](../work-orders/evidence/session-transcript-browser-20261016.json).
36
+ - `43bd1efb`: structured CLI/SSE/persisted events retain exact action IDs, source phases,
37
+ measured progress and complete redacted results. Model context compaction now
38
+ returns a separate projection without erasing visible session history.
39
+ Backend verification: 88 tests/9 files, including the mandatory transport
40
+ gates, genuine scratch-file reading and child-process framing; CLI no-emit
41
+ passed. [Receipt](../work-orders/evidence/tool-event-presentation-verification-20261016.json).
42
+ - `fe064023`: canonical browser-to-native restore supports intentional project aliases,
43
+ validated media blocks and lossless JSON. Native action details use the full
44
+ operator result independently of clipped model content. Follow-up verification:
45
+ 21 tests/3 suites and private CLI no-emit passed. [Receipt](../work-orders/evidence/session-native-restore-followup-20261016.json).
46
+ - No installed daemon, publishing output, model inference or GPU workload is
47
+ modified by this source delivery. Fixture checks are not a live-model claim.
48
+
49
+ ## Delivery
50
+
51
+ Scoped verified commits are delivered on `origin/main`. Counts above overlap
52
+ and must not be summed as a unique workspace total. Chromium uses actual
53
+ production source with controlled session/media/working-state fixtures; no
54
+ real inference or installed-client rollout is claimed. Publishing outputs and
55
+ unrelated changes were preserved.
@@ -0,0 +1,40 @@
1
+ # Owned update cancellation and restart
2
+
3
+ The native update dialog stays present while an operation is running. Escape,
4
+ Ctrl+C and outside clicks do not dismiss it. Its top-right Cancel control sends
5
+ an explicit request; it shows cancellation pending until the owned work settles.
6
+ An error remains in the same dialog with a Close action. Ordinary menu dismissal
7
+ and native frame animation remain unchanged for other dialogs.
8
+
9
+ The initiating client creates a private cancellation capability. Durable update
10
+ state contains only its hash. Cancellation requests carry the exact operation
11
+ identity and require the capability; clients adopting an existing shared update
12
+ receive progress without cancellation authority. The worker observes a private,
13
+ operation-specific request file, aborts its own installer process group, waits for
14
+ process close, and attempts recovery of a daemon it quiesced. Status remains
15
+ `running` during `cancelling` and `recovering`, then becomes `cancelled`. No UI
16
+ client signals an arbitrary recorded PID. Interrupted package changes are
17
+ retained; cancellation never claims package rollback. A recovery failure remains
18
+ explicit in the terminal receipt.
19
+
20
+ Quick Update waits for durable terminal settlement rather than treating a polling
21
+ timeout as proof of termination. A cancelled transaction does not restart the
22
+ client. Safe task admission, checkpointing, failure resume and the acknowledged
23
+ verified launcher handoff stay in the shared restart flow. The replacement keeps
24
+ the current configuration, environment, arguments, working directory and session
25
+ identity; native interface and transcript persistence are separate checkpoints.
26
+
27
+ `/update full` is now an alias for the coordinated package, daemon and indicator
28
+ transaction. It no longer automatically updates Ollama, Python, Cloudflared or
29
+ subordinate packages, or deletes global package directories and daemon artifacts.
30
+ Explicit `/update deps`, `/update rebuild`, `/update python`, individual dependency
31
+ menu actions and `/update ollama` remain available. Owned npm/pip maintenance
32
+ commands use the same process-group cancellation mechanism. Interactive privilege
33
+ and system-runtime setup prompts temporarily borrow the terminal through the
34
+ existing explicit handoff; these prompts keep their own terminal controls.
35
+
36
+ Verification uses scratch state directories, injected installers/service receipts,
37
+ actual native renderer input and harmless Node process groups. It does not install
38
+ an Omnius release, change services, load models or exercise CUDA. POSIX process
39
+ group escalation is tested locally; Windows uses its owned PID's task tree via
40
+ `taskkill`, with a direct-child fallback if that command is unavailable.
@@ -0,0 +1,67 @@
1
+ # Queued next: update lifecycle and exact session restoration
2
+
3
+ Requested 2026-10-16. Implemented after media unification; source-only delivery,
4
+ with no real installer or running daemon changes during verification.
5
+
6
+ - [x] Make the update modal non-dismissible by outside click while an update is
7
+ running. Ordinary modal dismissal must not hide or retire the operation.
8
+ - [x] Provide an explicit top-right Cancel button. Cancellation must stop the
9
+ owned update operation safely and reflect its actual outcome; do not equate
10
+ hiding the modal with cancelling the update.
11
+ - [x] Define behavior for Escape and other close shortcuts consistently with
12
+ the non-dismissible running-update state.
13
+ - [x] Capture the exact interface/session state before update and restore it
14
+ after reload/restart: active project, session/tabs and selected agent,
15
+ transcript content and scroll position, draft/cursor, sidebar/layout,
16
+ expanded sections and other meaningful view state.
17
+ - [x] Resume old sessions from their complete persisted message/tool/media
18
+ history and saved interface state. Do not substitute a summary for the
19
+ visible conversation. Model-context compaction and visible history are
20
+ separate concerns.
21
+ - [x] Identify legacy sessions with incomplete saved history and report actual
22
+ availability honestly; never invent missing turns.
23
+ - [x] Verify running-update outside-click rejection, explicit cancellation,
24
+ restart restoration and old-session full-history reconstruction with
25
+ isolated fixtures plus live terminal interaction tests.
26
+ - [x] Commit and push verified changes, preserving the user's publishing work.
27
+
28
+ Additional reproduction: the browser dashboard loads the session transcript, but
29
+ resuming that same saved session in the TUI does not restore it. Trace both
30
+ loaders against the same saved session and verify full-history parity.
31
+
32
+ ## Delivery and verification
33
+
34
+ - `d0832d2b`: versioned native presentation snapshots, all retained agent views,
35
+ selected view, per-view scroll/disclosures, sidebar geometry, instrument
36
+ expansions, tab overflow and focus. Expired media Stop actions are removed;
37
+ unfinished saved media appears Interrupted, while saved artifacts still play.
38
+ - `c1ac73ea`: startup and `/resume` restore the available full visual history,
39
+ including browser-origin structured conversations and later native
40
+ continuation. Model context remains separately bounded. Update checkpoints
41
+ preserve ordered open tabs, empty/unsent drafts and exact UTF-16 cursor,
42
+ without reviving arbitrary work or overwriting pending-task/queue authority.
43
+ - `f56f935a`: running update modal rejects outside/Escape dismissal, explicit
44
+ top-right Cancel belongs to its originating operation, and terminal status
45
+ waits for child settlement/recovery. Shared update followers cannot cancel
46
+ another client's operation. Full package update now uses the verified Quick
47
+ package/daemon/indicator transaction; explicit maintenance commands remain.
48
+ - Native presentation: 47 tests/7 suites, plus 13 real VTE checks/12 PNGs with
49
+ fresh frontend reconstruction from a disk checkpoint.
50
+ [Receipt](../work-orders/evidence/native-interface-state-verification-20261016.json).
51
+ - Full-history resume: 52 tests/8 suites, including actual disk documents and
52
+ production interactive closure execution.
53
+ - Root update checkpoint integration: 40 tests/2 suites, including ordered
54
+ unsent tabs, active agent preservation and pending/queued authority isolation.
55
+ - Updater cancellation: 179 tests/14 suites, including actual harmless
56
+ subprocess-group termination and native modal interaction.
57
+ [Receipt](../work-orders/evidence/update-operation-cancellation-20261016.json).
58
+ - Counts overlap across receipts; do not add them as a unique total. Private
59
+ CLI typechecks passed. Workspace dependency artifacts briefly disappeared
60
+ during the user's concurrent publishing build; affected tests were rerun
61
+ after those outputs returned. No shared build was performed by this task.
62
+ - Existing missing/truncated legacy history cannot be invented. Execution
63
+ callbacks and external editor processes are not serialized; restored agent
64
+ displays do not assert that a previous worker is still running.
65
+
66
+ - `a20ec6cf`: returned operation capability must match before Cancel is offered;
67
+ a failed installer/recovery receipt remains a failure after a Stop request.