omnius 1.0.866 → 1.0.867

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.
package/docs/DISCOVERY.md CHANGED
@@ -163,7 +163,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
163
163
  | `api.v1-mcps-name-call` | /v1/mcps/{name}/call | Invoke a tool on an MCP server (PT-03) |
164
164
  | `api.v1-media-audio` | /v1/media/audio | Generate a sound effect — body {prompt, 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 one generated media file — query {kind, name} |
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
167
  | `api.v1-media-gallery` | /v1/media/gallery | List previously generated media from the global store, newest first |
168
168
  | `api.v1-media-image` | /v1/media/image | Generate an image — body {prompt, model?, backend?, width?, height?, steps?, guidance?, seed?, aspect_ratio?} |
169
169
  | `api.v1-media-migrate` | /v1/media/migrate | Dedup + migrate legacy per-group media caches into the unified store — body {dryRun?, roots?, maxDepth?} |
@@ -171,8 +171,12 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
171
171
  | `api.v1-media-music` | /v1/media/music | Generate music — body {prompt, model?, backend?, duration?, seed?} |
172
172
  | `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
173
  | `api.v1-media-relocate-status` | /v1/media/relocate/status | Status of the in-flight (or last) media-store relocation job |
174
- | `api.v1-media-store` | /v1/media/store | Media-store root + disk usage plus any legacy per-group caches still reclaimable |
174
+ | `api.v1-media-store` | /v1/media/store | Resolved media/model/gallery roots and disk information |
175
175
  | `api.v1-media-video` | /v1/media/video | Generate a video — body {prompt, model?, backend?, num_frames?, fps?, width?, height?, steps?, guidance?, seed?} |
176
+ | `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
+ | `api.v1-media-weights-download` | /v1/media/weights/download | Start or reattach a durable network/disk-only weight download |
178
+ | `api.v1-media-weights-jobs-id` | /v1/media/weights/jobs/{id} | Read durable download state and restart interruption status |
179
+ | `api.v1-media-weights-jobs-id-cancel` | /v1/media/weights/jobs/{id}/cancel | Cancel a local daemon-owned weight download |
176
180
  | `api.v1-memory` | /v1/memory | Memory backends summary (PT-04) |
177
181
  | `api.v1-memory-entities` | /v1/memory/entities | List extracted memory entities |
178
182
  | `api.v1-memory-episodes` | /v1/memory/episodes | List episodes |
@@ -424,6 +428,10 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
424
428
  | `guide.context-management-medium-models-proposal` | Context Management for Medium Models (30-40B) — Implementation Proposal | Date: 2026-04-25 Problem: Medium-tier models (~35B params) exhibit excessive repetition at ~35% context fill despite 256K context windows Root Cause: Monolithic context structure + attention degradation + tool schema bloat |
425
429
  | `guide.corpus-ocr` | Explicit scanned-PDF corpus OCR | The public sourcecorpus tool can process an acquired PDF population with begin using filters: {channel: "ocrtext"} and optional ocrlanguage (default eng). Repeated process calls resume a durable per-source page cursor. Installed CPU Poppler and Tesseract are required. The default channel remains nativetext; completing native extraction of an empty scanned pa |
426
430
  | `guide.dedup-false-positive-meta-analysis` | Meta-Analysis: False Positive Duplicate Tool Call Detection | Date: 2026-05-14 Scope: packages/orchestrator/src/agenticRunner.ts — proactivePrune() + buildResourceKey() |
431
+ | `guide.design-dashboard-reconstruction-plan` | Dashboard reconstruction plan | 2026-10-16 · source implementation only; publishing remains with the user. |
432
+ | `guide.design-dashboard-styleguide` | Omnius browser instrument design system | Version 1 · 2026-10-16 · implementation contract |
433
+ | `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. |
427
435
  | `guide.discovery-agent-map` | Agent Map | Bundled Omnius documentation artifact: docs/discovery/agent-map.json. |
428
436
  | `guide.discovery-catalog-overrides` | Discovery Catalog Curated Source | Curated aliases, relationships, invocation modes, and conceptual entries merged into the generated catalog. |
429
437
  | `guide.discovery-json` | Omnius Machine Discovery Catalog | Generated JSON catalog consumed by the CLI, REST discovery API, JavaScript API, and offline agents. |
@@ -538,6 +546,8 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
538
546
  | `guide.work-orders-evidence-browser-controls-package-verification-20261016` | Browser Controls Package Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/browser-controls-package-verification-20261016.json. |
539
547
  | `guide.work-orders-evidence-builtin-provider-authorized-access-audit-20261014` | Builtin Provider Authorized Access Audit 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/builtin-provider-authorized-access-audit-20261014.json. |
540
548
  | `guide.work-orders-evidence-computer-use-runtime-readiness-20261014` | Computer Use Runtime Readiness 20261014 | Bundled Omnius documentation artifact: docs/work-orders/evidence/computer-use-runtime-readiness-20261014.json. |
549
+ | `guide.work-orders-evidence-dashboard-browser-reconstruction-20261016` | Dashboard Browser Reconstruction 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/dashboard-browser-reconstruction-20261016.json. |
550
+ | `guide.work-orders-evidence-dashboard-media-management-20261016` | Dashboard Media Management 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/dashboard-media-management-20261016.json. |
541
551
  | `guide.work-orders-evidence-desktop-indicator-registration-20261016` | Desktop Indicator Registration 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/desktop-indicator-registration-20261016.json. |
542
552
  | `guide.work-orders-evidence-fallback-contract-cooldown-before-20261013` | Fallback Contract Cooldown Before 20261013 | Bundled Omnius documentation artifact: docs/work-orders/evidence/fallback-contract-cooldown-before-20261013.json. |
543
553
  | `guide.work-orders-evidence-fallback-model-benchmarks-20261012` | Fallback Model Benchmarks 20261012 | Bundled Omnius documentation artifact: docs/work-orders/evidence/fallback-model-benchmarks-20261012.json. |
@@ -599,6 +609,7 @@ Daemon equivalents are `GET /v1/discovery/bootstrap`, `GET /v1/discovery?q=<inte
599
609
  | `guide.work-orders-evidence-native-sessions-installed-pty-20261016` | Native Sessions Installed Pty 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-sessions-installed-pty-20261016.json. |
600
610
  | `guide.work-orders-evidence-native-sessions-production-pty-20261016` | Native Sessions Production Pty 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-sessions-production-pty-20261016.json. |
601
611
  | `guide.work-orders-evidence-native-sessions-production-vte-20261016` | Native Sessions Production Vte 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-sessions-production-vte-20261016.json. |
612
+ | `guide.work-orders-evidence-native-straight-boundaries-verification-20261016` | Native Straight Boundaries Verification 20261016 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-straight-boundaries-verification-20261016.json. |
602
613
  | `guide.work-orders-evidence-native-tui-committed-scope-20261015` | Native Tui Committed Scope 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-committed-scope-20261015.json. |
603
614
  | `guide.work-orders-evidence-native-tui-gpu-preflight-20261015` | Native Tui Gpu Preflight 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-gpu-preflight-20261015.json. |
604
615
  | `guide.work-orders-evidence-native-tui-history-benchmark-20261015` | Native Tui History Benchmark 20261015 | Bundled Omnius documentation artifact: docs/work-orders/evidence/native-tui-history-benchmark-20261015.json. |
@@ -0,0 +1,86 @@
1
+ # Dashboard reconstruction — durable TODO
2
+
3
+ Updated: 2026-10-16. Contract: [styleguide](dashboard-styleguide.md). Scope and sequence: [plan](dashboard-reconstruction-plan.md).
4
+
5
+ Use `[x]` only after implementation and relevant verification. Record evidence below; retain incomplete items across handoffs.
6
+
7
+ ## Design and discovery
8
+ - [x] Inventory all nine routes, shared/static/dynamic modules and existing browser tests.
9
+ - [x] Trace weight caches, download/load differences, output ownership and missing deletion APIs.
10
+ - [x] Write grayscale hierarchy, broad negative-space composition and reusable component contract.
11
+ - [x] Specify Departure Mono, local bundling and license.
12
+ - [x] Specify nested model-module explorer in a modal instead of raw model dropdown.
13
+ - [x] Write page-by-page implementation and validation plan before production edits.
14
+
15
+ ## Shared system and pages
16
+ - [x] Bundle Departure Mono and license; verify actual browser font loading.
17
+ - [x] Replace pure black/white tokens with readable muted grayscale surface hierarchy.
18
+ - [x] Reconstruct shared shell, headings, sections, fields, actions, lists and dialogs.
19
+ - [x] Chat and nested workspace/session/voice controls.
20
+ - [x] Agent and nested run/approval/detail controls.
21
+ - [x] Voice and nested ASR/TTS/clone/model controls.
22
+ - [x] Generate composer, all generation/analysis modes and optional parameter groups.
23
+ - [x] Projects and nested management.
24
+ - [x] Dashboard and nested telemetry/jobs.
25
+ - [x] Activity and nested event detail.
26
+ - [x] Discover and nested capability exploration.
27
+ - [x] Settings and nested configuration forms.
28
+
29
+ ## Model modules and saved media
30
+ - [x] Accurate model/dependency/cache inventory and explicit unsupported-provider states.
31
+ - [x] Durable download-only jobs, deduplication, status and restart recovery.
32
+ - [x] Scoped guarded weight deletion, shared dependency and busy-operation handling.
33
+ - [x] Guard generation/download/store mutation interactions.
34
+ - [x] Reusable model browser dialog, search, module detail/back and selected-model trigger.
35
+ - [x] Download/status/delete actions plus exact storage paths and first-use explanation.
36
+ - [x] Safe saved-gallery DELETE with explicit artifact/metadata scope.
37
+ - [x] Result/library/detail Delete action with confirmation and failure recovery.
38
+ - [x] Preserve authenticated preview/download receipts and blob cleanup.
39
+
40
+ ## Verification and delivery
41
+ - [x] Backend isolated mutation/lifecycle/security tests.
42
+ - [x] Media runtime/modal/mode identity tests.
43
+ - [x] Mandatory chat transport/runtime/script gate.
44
+ - [x] Route/style/contrast checks.
45
+ - [x] Real Chromium: nine routes, mobile/tablet/desktop, light/dark.
46
+ - [x] Real Chromium: nested model/weights/output deletion, media/analysis/voice flows.
47
+ - [x] Sidebar pointer/keyboard, mobile navigation and Send regression harness.
48
+ - [x] Screenshot review; fix negative space, nested hierarchy, overflow and font issues.
49
+ - [x] Scoped verified commits fetched/pushed to current tracked branch.
50
+ - [x] Record precise evidence and remaining limitations; publishing left to user.
51
+
52
+ ## Evidence / handoff log
53
+
54
+ - Discovery: three read-only delegated searches, no user-data or runtime mutations. Existing prepare/pull tools may allocate CUDA; dedicated download-only implementation required.
55
+ - Baseline source: `cd22526b` on `main` / `origin/main`. Existing unrelated work and concurrent `publish/` changes are outside this task.
56
+ - Initial design documents written before production changes. User's later dot-grid reference and nested model explorer / Departure Mono instructions incorporated.
57
+
58
+ ### Implementation in progress
59
+
60
+ - Model explorer controller implemented with nested catalog/detail views, per-kind selection, explicit cache paths/dependencies, asynchronous download status and scoped deletion confirmation. Shared markup/style integration is underway.
61
+ - Generated-media deletion controller captures exact item identity, requires a matching daemon deletion receipt, retains media on failure, and revokes previews after success.
62
+ - Gallery pagination now retains existing acquired previews instead of downloading every visible image again. Store inspection is deferred to the model dialog.
63
+ - Verification so far: 21 media runtime tests pass; mandatory chat transport/runtime/script gate passes (34 tests). Full backend and Chromium integration remain pending; no live deployment claim.
64
+
65
+ ### Shared interface verification
66
+
67
+ - All nine page compositions and dynamic Voice/settings controls reconstructed; dialogs and media/voice model selection share module primitives. Local unmodified Departure Mono WOFF2 (22,496 bytes) loads in Chromium; license is embedded and shipped under CLI assets.
68
+ - Media runtime now 23 passing tests, including cancel, voice draft preservation and acquired-preview reuse. The seven-suite frontend gate passed 74 tests before adding two extra runtime cases; the route registry also passed its two tests.
69
+ - Browser iteration passed 162 fixture checks including four nested voice engines; screenshot review then found and corrected detail centering, irrelevant Chat controls on media pages, and inverse-action hover contrast. Final rerun pending those fixes.
70
+ - Navigation/Send browser harness passed all18 checks against source, including short viewport,1106sessions, pointer/keyboard resize/collapse/reopen and light/dark contrast.
71
+
72
+ ### Final source verification
73
+
74
+ - All planned browser pages, nested model modules, weight inventory/download/cancel/delete and saved-media deletion are implemented. Earlier progress entries above are historical.
75
+ - Frontend: 85 passing tests across nine suites, including all three mandatory chat transport/runtime/script suites. Backend/execution: 134 passing tests across twelve suites, overlapping those same 34 transport tests. Combined unique total: **185 tests across eighteen suites**.
76
+ - Final isolated Chromium: **168 checks** (nine routes, 1440/768/360 widths, dark/light, generated media playback/download, nested Voice/model modules, shared-weight confirmation, cancellation, gallery deletion and analysis). Sidebar/Send: **18 checks**, including 1,106 fixture sessions. Both use identical production HTML SHA256 `20bd243e434d83bf99d758584796ff1102b58b48868910bbd9dd07db45ae617b`.
77
+ - Zero browser page errors, console errors or external requests. Departure Mono and pinned syntax highlighting are bundled locally; provider marks make no favicon requests. Reviewed final desktop Generate and mobile model-dialog screenshots, in addition to the previous page/theme reviews.
78
+ - CLI and execution typechecks pass; scoped whitespace checks pass. Existing managed-stop test fixtures emit SIGINT/SIGTERM listener-count warnings; their assertions pass.
79
+ - Durable receipts: `docs/work-orders/evidence/dashboard-media-management-20261016.json` and `docs/work-orders/evidence/dashboard-browser-reconstruction-20261016.json`. Reproducible browser scripts build isolated source bundles, without touching shared dist/publish output.
80
+ - No live inference, real model downloads/deletions, installed-package changes, daemon restart, or npm publishing. The running 11435 daemon has **not** been updated by this source delivery. Publishing remains with the user.
81
+ - Participating media operations serialize per shared store because generation can download or evict weights. External programs and older running versions do not participate. Download-only jobs fetch full pinned repository snapshots; provider-specific TTS/ASR remains separate. Saved-media deletion currently removes the gallery copy and sidecar only, retaining source/work copies.
82
+ - **Next phase, explicitly deferred by the user until this delivery:** [media unification TODO](media-unification-TODO.md). It covers shared weights with project-scoped artifacts across browser/TUI sessions, compact generation progress, responsive previews, and audio/video playback. This delivery does not claim that storage/interface unification is complete.
83
+
84
+ ### Git delivery
85
+
86
+ - Fetched `origin/main` and pushed verified implementation commits `48eef78f` (media management) and `be16ac1b` (dashboard reconstruction) to `origin/main`. Initial design contract was pushed first as `1cc8b037`. Unrelated working-tree and publishing changes were preserved.
@@ -0,0 +1,58 @@
1
+ # Dashboard reconstruction plan
2
+
3
+ 2026-10-16 · source implementation only; publishing remains with the user.
4
+
5
+ Contract: [styleguide](dashboard-styleguide.md). Execution ledger: [TODO](dashboard-TODO.md).
6
+
7
+ ## Discovery and constraints
8
+
9
+ The daemon renders one HTML application in `packages/cli/src/api/web-ui.ts`, one stylesheet in `web-instrument-style.ts`, and a separate media controller in `web-media-runtime.ts`. Nine canonical routes share shell, dialogs and operational components. Rebuild these shared components and each route's composition rather than layering a second stylesheet over the old UI.
10
+
11
+ Existing media APIs provide generation, catalog, store inspection/relocation, gallery and authenticated files. They do not provide browser weight management or saved-media deletion. Tool prepare/pull operations often load CUDA and therefore cannot serve a Download weights action. Shared caches and generated gallery copies have different ownership. The plan includes real backend operations and isolated lifecycle tests.
12
+
13
+ Preserve unrelated work, publish artifacts, package versions, running daemon and user data. No real model downloads, GPU loads, inference or user-media deletions are needed to implement or validate this change. Keep service-specific voice management truthful.
14
+
15
+ ## Sequence and ownership
16
+
17
+ 1. Establish and commit design contract, this plan and durable checklist before implementation.
18
+ 2. Reconstruct shared tokens, typography, shell, headings, section/field/module/dialog primitives. Bundle Departure Mono with license. Restyle static and dynamic page compositions together.
19
+ 3. Add guarded media management service and routes: weight inventory, network-only download jobs/status, guarded deletion, exact saved-gallery deletion. Persist download state and interrupted recovery. Use injectable adapters and temporary fixtures for tests.
20
+ 4. Reconstruct the generative composer: selected-model trigger; reusable model-module modal with nested detail, download/status/delete actions; clear storage and automatic-download information; optional generation parameters; separate analysis workspace; result/library deletion controls.
21
+ 5. Apply the design to all nine routes and nested Voice/settings components. Preserve IDs/controllers where needed to keep transport and workflow behavior intact. Remove obsolete inline presentational overrides in changed surfaces.
22
+ 6. Run scoped backend/runtime/style/route suites and mandatory transport tests. Extend real Chromium fixture coverage for models, deletion, all media modes, nested forms, navigation, themes, responsiveness and keyboard behavior. Inspect screenshots and correct composition issues.
23
+ 7. Commit verified coherent changes, fetch/push `origin/main`, and update the ledger with test receipts and any honest limitations. User publishes; do not replace or restart their installed daemon.
24
+
25
+ Work areas can proceed in parallel after the design contract: shared UI/style; backend media management; independent browser verification; media composer controller/integration. Avoid concurrent edits to the same file through explicit ownership.
26
+
27
+ ## Page-by-page reconstruction
28
+
29
+ | Page | Primary composition | Auxiliary / nested work |
30
+ | --- | --- | --- |
31
+ | Chat | Open transcript reading area; deliberate composer and styled Send; clear session context | Workspace inspector, resizable navigation, recents, model dialog, mini voice controls, action/confirmation dialogs; preserve streaming/Stop. |
32
+ | Agent | Run objective and primary action above open run state; related facts grouped | Plan, approvals, tool results and evidence grouped under their parent run; restrained logs and telemetry. |
33
+ | Voice | Live session, transcription and synthesis as distinct operational sections | Labeled ASR upload/context, engine/model setup, clone/model forms, preview/error states; actual per-service storage semantics. |
34
+ | Generate | Mode navigation, selected model module, prompt, expandable parameters, local progress and output | Model explorer/detail; weights/store management; audio/video/live analysis; gallery filters/detail/download/delete; shared state across modes without stale operation crossover. |
35
+ | Projects | Searchable project rows with useful path/context and local actions | Project detail, session association and bounded path display; avoid box-per-field nesting. |
36
+ | Dashboard | Readable run/system sections, substantial space between distinct groups | Compact metric rows, activity/jobs and resource detail, meaningful empty states; no fake telemetry. |
37
+ | Activity | Chronological operational list with grouped filters | Event detail/evidence/error surfaces and bounded log views. |
38
+ | Discover | Search/exploration first, results as inspectable modules | Nested capability details and actual links/actions; avoid dense decorative card walls. |
39
+ | Settings | Grouped preference sections with a clear primary control per task | Connection/auth, theme, voice/clones and nested fields; no placeholder-only labels, gray hierarchy across dialog/auxiliary levels. |
40
+
41
+ ## Backend operation contracts
42
+
43
+ Keep existing `/v1/media/models` compatible. Introduce a separate management API for expensive cache inventory and operations. Model identity is `{kind, modelId}` resolved from the catalog; clients never supply an arbitrary deletion path or executable downloader. Return dependency records with repository, actual paths, measured bytes, cache state, sharing and explicit supported actions. Do not equate `_meta.json` with a completed installation.
44
+
45
+ Download is asynchronous and disk/network-only, with job ID and durable status; queued/running/ready/failed/interrupted states and known/unknown totals. Deduplicate concurrent requests. Use the same unified cache/env resolution as generation. Block destructive operations while generation, download or relocation can use that cache. Validate kind, model and repository membership; enforce run/admin scope locally. Known external providers/custom paths get an explicit unavailable action with reason.
46
+
47
+ Saved-media deletion validates a strict media kind and exact basename beneath its canonical gallery directory, rejects symlinks/traversal, and removes only the selected owned artifact and matching metadata. It must not follow arbitrary source paths from sidecars. Return the deletion scope honestly, including retained working copies where relevant. Do not remove catalog entries when deleting weights.
48
+
49
+ Coordinate migration/relocation and generation with the management guard; reject unsafe concurrent mutations. Tests prove busy states and shared dependencies, not merely successful deletion.
50
+
51
+ ## Validation and delivery
52
+
53
+ - Route/service tests: isolated `OMNIUS_HOME`, `OMNIUS_MEDIA_HOME` and catalog, dummy files, injected downloader. Auth scopes, traversal/symlinks, dependency membership, duplicate/active jobs, restart recovery, deletion bytes, retained catalog, gallery scope and failure behavior.
54
+ - Runtime tests: immutable selected/output identity across refresh and mode changes, confirm cancellation sends no mutation, pending dedup, errors retain items, job progress truthfulness, blob cleanup, modal focus/back/keyboard behavior.
55
+ - Mandatory daemon frontend tests: `web-chat-transport-lifecycle.test.ts`, `web-ui-client-runtime.test.ts`, `web-ui-script.test.ts`. Also media runtime/routes, route/basepath, observability/style suites.
56
+ - Chromium: production HTML against an isolated authenticated prefixed API fixture. Nine routes × three widths × two themes; all four generation modes; three analysis modes; models/download/delete and output delete; Voice/nested settings; actual preview decode/audio playback/download bytes; pointer sidebar and Send; dialog keyboard/outside dismiss; no page errors or horizontal overflow. Disable browser GPU and block all nonfixture network traffic.
57
+ - Visual review: screenshots of primary and nested surfaces at desktop/mobile; inspect negative space, implied boundaries, font loading and grayscale hierarchy. Check text contrast numerically.
58
+ - Build source in isolated temporary output for browser verification, leaving concurrent publish output untouched. Report source/fixture verification separately from the user's running deployment.
@@ -0,0 +1,86 @@
1
+ # Omnius browser instrument design system
2
+
3
+ Version 1 · 2026-10-16 · implementation contract
4
+
5
+ Companion documents: [reconstruction plan](dashboard-reconstruction-plan.md) and [durable implementation checklist](dashboard-TODO.md).
6
+
7
+ ## Intent and references
8
+
9
+ Reconstruct the existing daemon dashboard around deliberate negative space, implied boundaries, muted monochrome readings and explorable operational modules. The user's flight-instrument and sparse dot-grid references establish composition, not decorative text or fictional telemetry. References supplied locally: `c86dda8010aea451db238b027854c6a6.jpg`, `82182e9d241909503a2daa9ef735de8d.jpg`, and `/home/roko/Desktop/OPENTUI_INSTRUMENT_STYLEGUIDE.md`. This browser contract adapts their geometry to accessible HTML; native OpenTUI remains a separate renderer.
10
+
11
+ Broad open space belongs between groups. Related readings remain compact. Do not fill blank areas with ornamental grids, empty cards, duplicated descriptions, status badges, invented counters or redundant headings. Every visible module must support an actual task. Most sections have no enclosing box. Thin rules and alignment imply boundaries; complete borders belong primarily to controls, selected modules and dialogs. No diagonals, rounded corners, gradients, glows or shadows.
12
+
13
+ ## Grayscale hierarchy
14
+
15
+ Surface levels express ownership, rather than arbitrary alternating strips. Use one stylesheet and semantic tokens, including all dynamically rendered content.
16
+
17
+ | Token / purpose | Dark | Light |
18
+ | --- | --- | --- |
19
+ | Canvas | `#141414` | `#f1f1f1` |
20
+ | Navigation / persistent left panel | `#101010` | `#e7e7e7` |
21
+ | Main working surface | `#171717` | `#f5f5f5` |
22
+ | Auxiliary settings / subordinate region | `#1c1c1c` | `#eeeeee` |
23
+ | Hover / selected module | `#292929` | `#dddddd` |
24
+ | Modal / elevated inspection | `#242424` | `#fafafa` |
25
+ | Primary text | `#d6d6d6` | `#353535` |
26
+ | Secondary text | `#b0b0b0` | `#595959` |
27
+ | Muted readable text | `#999999` | `#606060` |
28
+ | Decorative hairline | `#414141` | `#c5c5c5` |
29
+ | Control boundary / focus | `#898989` | `#777777` |
30
+ | Selected action fill / text | `#cccccc` / `#171717` | `#454545` / `#fafafa` |
31
+
32
+ Normal text must retain at least 4.5:1 contrast on its actual surface. Focus and essential control outlines need 3:1 contrast. Decorative lines may be subtler. Never use low-contrast decorative gray for required labels. State is conveyed in words plus geometry, not color alone. Light, dark and system modes share the same hierarchy. Media itself keeps its original colors.
33
+
34
+ ## Typography and spacing
35
+
36
+ Use locally bundled **Departure Mono**, from the user's `DepartureMono-1.500` distribution, with its SIL Open Font License. Prefer its WOFF2 web artifact; no external font request. `font-display: swap`; native monospace fallback. Avoid synthetic heavy weights. The supplied font recommends multiples of 11px for pixel-perfect rendering; use 22px titles and prioritize readable 14px body text over shrinking controls to 11px. Base text 14px with approximately 1.6 line height; compact labels 11–12px with modest tracking; page titles 20–22px. Preserve mixed-case prose, filenames, paths and prompts. Uppercase is reserved for short navigation/section labels. Tabular numbers align readings. Do not shrink text to fit a crowded layout.
37
+
38
+ Spacing scale: 4, 8, 12, 16, 24, 32, 48, 64px. Related field label/control gap 8px; field group gap 16–24px; section gap 32–48px; desktop page gutters 32–48px. Narrow screens use 16px gutters and 24–32px group gaps. Reading width approximately 72ch; workbench preview may use the remaining width. Surplus width creates breathing room, not oversize inputs or a wall of boxed cells.
39
+
40
+ ## Shared component grammar
41
+
42
+ | Component | Contract |
43
+ | --- | --- |
44
+ | Shell | Quiet navigation surface; resizable/reopenable left boundary; main canvas; compact mobile drawer with real close control. |
45
+ | Route heading | Small identity label, concise title, one useful sentence at most. Leave open space before the working area. Actions aligned beside heading on wide screens and below on narrow screens. |
46
+ | Section | Unboxed semantic section with heading and optional action; dotted or solid rule only when separating distinct responsibilities. |
47
+ | Auxiliary region | Subordinate grayscale surface and padding; avoid repeated border-in-border cards. |
48
+ | Field | Visible label, control, concise help/error. No placeholder-only labels. Seed/steps/duration group under expandable parameters when secondary. |
49
+ | Button | Sharp small rectangle; primary action muted inverse; secondary quiet outline; text action for navigation; clear focus. Minimum 36px desktop / 44px coarse-pointer or narrow viewport targets. |
50
+ | Module browser | A dialog containing selectable model modules and a nested detail view, not a raw model select. Search/filter, meaningful state, exact ownership and back navigation. |
51
+ | Selected model | One compact composer trigger with name and state; opens reusable module browser. No duplicate model dropdown. |
52
+ | Detail list | Label/value pairs with natural wrap; optional dotted leaders on wide screens. Paths wrap and remain selectable. Unknown differs from zero. |
53
+ | Status | Local to the affected operation. Idle, queued, downloading, ready, failed and interrupted have literal text. Real byte progress only; indeterminate progress when total is unknown. |
54
+ | Media result | Actual validated preview, concise metadata, Download and Delete saved media actions. No giant empty preview placeholder. |
55
+ | Library | Bounded pages and lazy previews; filters grouped separately from results; responsive tiles with readable caption/actions; stable item identity. |
56
+ | Modal | Distinct gray surface, dim backdrop, restrained corner/rule framing, bounded viewport scroll. Escape/outside close, focus trap and restoration; destructive confirmation names item and deletion scope. |
57
+ | Empty / error | One explanation and an applicable next action. Do not pretend failed requests are empty successful collections. |
58
+ | Tables / telemetry | Compact rows within spacious sections; right-aligned numbers with units; scroll only inside an explicitly bounded data region when unavoidable. |
59
+
60
+ ## Generative composer and nested model exploration
61
+
62
+ Image, video, sound and music share one composer anatomy: task mode → selected model module → prompt → optional parameters → operation status → output. Audio/video/live analysis retain separate inputs appropriate to analysis; do not expose generation parameters there.
63
+
64
+ Model exploration opens a modal from the composer. It contains searchable modules for the current media kind. Opening a module reveals capabilities, backend, known dependencies, installation state, cache locations, measured bytes and supported actions. Selecting it returns to the composer without starting inference or a download. Returning to the module list preserves the current media kind. Automatic model selection is a deliberate module with an explanation of its first-run behavior.
65
+
66
+ Weights and generated outputs are separate resources:
67
+
68
+ - **Download weights:** an explicit network/disk-only job. It must not reuse prepare/prewarm operations that load CUDA. Show pending/running/complete/failed/interrupted state; do not label partial cache presence as installed. Make unsupported/custom provider management explicit.
69
+ - **Delete cached weights:** confirmation identifies repository and measured cache location. Shared dependencies are identified. Busy generation/download/relocation blocks deletion. Catalog entries remain available for later downloads. Never present removal of a catalog adapter as deletion of its weights.
70
+ - **Automatic downloads:** state before generation that first use can fetch weights and runtime dependencies. Show the resolved model store root, not a hardcoded home path. Explain existing disk-management behavior accurately.
71
+ - **Delete saved media:** confirmation names the saved gallery item and metadata. Deleting a gallery copy must not claim to delete unrelated source/work files or model weights. Download and delete operate on authenticated, validated immutable item identity.
72
+ - **Store management:** an auxiliary inspection area in the model browser shows current root, gallery root and explicit relocation/migration controls. It should not dominate the prompt workspace.
73
+
74
+ Voice shares the field/module/inspection grammar while preserving its actual ASR, live microphone, clone and TTS service contracts. Do not imply that every voice engine uses the same storage or download API.
75
+
76
+ ## Interaction, responsiveness and performance
77
+
78
+ All actions keyboard accessible. Modal focus remains contained; close restores invoking control. Tabs implement tab semantics and arrow/home/end behavior, or use ordinary buttons without misleading ARIA. Native disclosures keep advanced settings accessible. No hover-only actions. Errors are announced through local live regions. Reduced motion disables transitions; ordinary transitions should be subtle and short.
79
+
80
+ Test 360, 768 and 1440px widths, both themes, short windows and zoom. Main document must not overflow horizontally. Long paths and Unicode names wrap. Forms stack in source order. Mobile navigation remains reopenable and controls do not cover composer or dialog actions. Dialogs scroll within available height.
81
+
82
+ No new UI framework, GPU visualization dependency, remote fonts or per-item polling. Bound gallery preview concurrency and pagination. Poll only visible active jobs, stop on terminal state/close, and preserve meaningful failure states. Reuse authenticated media receipts and blob lifecycle. Preserve all same-origin base-path, streaming, session, authentication and daemon Stop behavior.
83
+
84
+ ## Acceptance
85
+
86
+ Every route and nested module uses these primitives, including error/empty/loading states and dynamic Voice/settings forms. Screenshots come from the actual production HTML in an isolated Chromium fixture; no generated mockups. Verify actual pointer/keyboard behavior, measured contrast and overflow, not only class names. Keep implementation and evidence status in `dashboard-TODO.md`.
@@ -0,0 +1,58 @@
1
+ # Next phase: media storage and generation interface unification
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.
6
+
7
+ ## Storage contract
8
+
9
+ - [ ] Trace browser, TUI, tool and session generation/output paths for image,
10
+ video, audio and music before choosing a migration strategy.
11
+ - [ ] Share model weights across Omnius sessions and project locations through
12
+ one configured model store; expose its actual path consistently.
13
+ - [ ] Scope generated outputs to the directory/project where generation was
14
+ invoked. Browser and TUI sessions in that same location must discover the same
15
+ artifacts, without copying them into divergent galleries.
16
+ - [ ] Carry explicit project identity through browser generation, jobs, gallery,
17
+ preview, download and deletion. Preserve authenticated validation receipts.
18
+ - [ ] Define compatibility/discovery for existing project outputs and global
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
22
+ weights but keeping generated artifacts scoped.
23
+
24
+ ## Uniform generation modules
25
+
26
+ - [ ] Use one deliberate interaction pattern for LLM and media model selection,
27
+ download, readiness/deployment, generation, stop, failure and output actions.
28
+ - [ ] Replace transcript floods with a single updating generation module tied to
29
+ its parent turn. Keep raw diagnostics and warnings in an explicit expansion.
30
+ - [ ] Parse progress semantically: download bytes, model loading, inference
31
+ steps, saving and completion. Do not label deprecation warnings or inference
32
+ progress bars as model downloads.
33
+ - [ ] Keep download-only and GPU deployment separate, with truthful status and
34
+ existing broker coordination and live inference hardware gates.
35
+ - [ ] Provide responsive media previews sized from available content width,
36
+ including after terminal resize and sidebar dragging; retain aspect ratio.
37
+ - [ ] Support click/Open actions and a subtle hover Open affordance, plus
38
+ keyboard access and clear local file handling.
39
+ - [ ] Investigate OpenTUI audio streaming APIs for generated audio playback and
40
+ visualization: https://opentui.com/docs/application-apis/audio-streaming/.
41
+ - [ ] Implement video playback via updating frames using the same media module,
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
44
+ lifecycle semantics; avoid tiny fixed-size centered output previews.
45
+
46
+ ## Verification and delivery
47
+
48
+ - [ ] Update the design contract before edits, recording ownership, migration,
49
+ progress, preview and playback semantics.
50
+ - [ ] Test storage identity, legacy discovery, concurrency, cancellation,
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
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
58
+ to the user unless subsequently instructed otherwise.
@@ -0,0 +1,75 @@
1
+ {
2
+ "scope": "Browser dashboard source reconstruction; no live daemon deployment",
3
+ "passed": true,
4
+ "frontendTests": 85,
5
+ "frontendSuites": 9,
6
+ "combinedUniqueTestsIncludingBackend": 185,
7
+ "combinedUniqueSuitesIncludingBackend": 18,
8
+ "overlap": "Backend receipt includes the same 34 mandatory chat transport/runtime/script tests; counted once.",
9
+ "productionHtmlSha256": "20bd243e434d83bf99d758584796ff1102b58b48868910bbd9dd07db45ae617b",
10
+ "htmlBytes": 678425,
11
+ "gzipBytes": 183078,
12
+ "source": {
13
+ "entry": "packages/cli/src/api/web-ui.ts",
14
+ "build": "Private esbuild bundle; no shared dist or publish output",
15
+ "bundleBytes": 692293,
16
+ "bundleSha256": "b832829481391269daedbd299f9448f579dc6fae907fa92952abb162461a5b5a",
17
+ "htmlBytes": 678425,
18
+ "htmlSha256": "20bd243e434d83bf99d758584796ff1102b58b48868910bbd9dd07db45ae617b",
19
+ "sources": [
20
+ {
21
+ "path": "packages/cli/src/api/web-departure-font.ts",
22
+ "sha256": "55d81b915d4e11de002ad405d2f3a28d683a243d350471726da3413cbf070ae1"
23
+ },
24
+ {
25
+ "path": "packages/cli/src/api/web-instrument-style.ts",
26
+ "sha256": "0e639a112aa4027866cb5a638741fbf605c31780b4bf99cf42b41edad091738f"
27
+ },
28
+ {
29
+ "path": "packages/cli/src/api/web-media-models-runtime.ts",
30
+ "sha256": "6bdb3f9bd77c167e9124591ce43ef6c009eface965a546b433745053fbc72384"
31
+ },
32
+ {
33
+ "path": "packages/cli/src/api/web-media-runtime.ts",
34
+ "sha256": "ed1a3ce14f2804c8462ad94bdf091252123a8ab9bec50418f5977b61bdca70f6"
35
+ },
36
+ {
37
+ "path": "packages/cli/src/api/web-prism-runtime.ts",
38
+ "sha256": "b3eb016b0e3041837bb48d6ca9b734ecf33a5a8ed65508be274d7eca75003d95"
39
+ },
40
+ {
41
+ "path": "packages/cli/src/api/web-ui-client-runtime.ts",
42
+ "sha256": "bbba2a42d01ee8eb0b9f931663b98c71f496eed3fc4f5475813c8697a8d9e17d"
43
+ },
44
+ {
45
+ "path": "packages/cli/src/api/web-ui.ts",
46
+ "sha256": "2296ef9d1ed1e6c6d57d901906eb36514633dc76c95bd6e926182661ddf9d5fb"
47
+ }
48
+ ]
49
+ },
50
+ "browserChecks": 168,
51
+ "sidebarChecks": 18,
52
+ "fixtureOnly": true,
53
+ "inferenceCalls": 0,
54
+ "realDaemonCalls": 0,
55
+ "blockedExternal": 0,
56
+ "pageErrors": [],
57
+ "consoleErrors": [],
58
+ "reports": [
59
+ {
60
+ "path": "/tmp/omnius-dashboard-reconstruction-delivery/report.json",
61
+ "sha256": "a275e6498d69311ce7e9a0e8352895b79ebd7a2f7dae32db3488cafac43880a3"
62
+ },
63
+ {
64
+ "path": "/tmp/omnius-dashboard-sidebar-delivery/report.json",
65
+ "sha256": "63ad1de283ad34a9ef46411f42e1a327d0fe676242a39d10ea72b6abc15fc3ea"
66
+ }
67
+ ],
68
+ "nextPhase": "docs/design/media-unification-TODO.md",
69
+ "limitations": [
70
+ "No production deployment or real inference/model download testing.",
71
+ "Current gallery deletion removes the saved gallery copy and metadata, not source/work copies.",
72
+ "Model management serializes participating media modifications/generation per shared store.",
73
+ "Existing managed-stop tests emit process listener-count warnings."
74
+ ]
75
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "createdAt": "2026-10-17T01:45:22.994403+00:00",
3
+ "passed": true,
4
+ "scope": "Source-only backend media inventory/download/delete and shared execution store admission",
5
+ "uniqueTests": 134,
6
+ "uniqueTestFiles": 12,
7
+ "overlap": "CLI70 contains routes17; final routes18 supersedes that file, yielding CLI71. Execution63 is disjoint. No full workspace test claim.",
8
+ "verification": {
9
+ "runs": [
10
+ {
11
+ "report": "/tmp/omnius-dashboard-media-execution-tests.json",
12
+ "sha256": "2b2785068abaf6c4d7a4dac5efcc6843b015a4768ae7eba38c8d4543de0ee1e6",
13
+ "success": true,
14
+ "passed": 63,
15
+ "failed": 0,
16
+ "files": [
17
+ {
18
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/audio-generate.test.ts",
19
+ "passed": 11
20
+ },
21
+ {
22
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/image-generate.test.ts",
23
+ "passed": 9
24
+ },
25
+ {
26
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/media-store-lease.test.ts",
27
+ "passed": 7
28
+ },
29
+ {
30
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/media-store-migrate.test.ts",
31
+ "passed": 4
32
+ },
33
+ {
34
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/model-store.test.ts",
35
+ "passed": 15
36
+ },
37
+ {
38
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/relocate-media-store.test.ts",
39
+ "passed": 7
40
+ },
41
+ {
42
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/execution/tests/video-generate.test.ts",
43
+ "passed": 10
44
+ }
45
+ ]
46
+ },
47
+ {
48
+ "report": "/tmp/omnius-dashboard-media-cli-tests.json",
49
+ "sha256": "da5e1cf9f6158b5d730eca7a70cbd47fc9a52ac04a10b876d59b10e3f180987d",
50
+ "success": true,
51
+ "passed": 70,
52
+ "failed": 0,
53
+ "files": [
54
+ {
55
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/media-management.test.ts",
56
+ "passed": 19
57
+ },
58
+ {
59
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/routes-media.test.ts",
60
+ "passed": 17
61
+ },
62
+ {
63
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/web-chat-transport-lifecycle.test.ts",
64
+ "passed": 21
65
+ },
66
+ {
67
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/web-ui-client-runtime.test.ts",
68
+ "passed": 4
69
+ },
70
+ {
71
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/web-ui-script.test.ts",
72
+ "passed": 9
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "report": "/tmp/omnius-dashboard-media-routes-final.json",
78
+ "sha256": "004b6306a2090cf84746ea8e22698d6c827c7a304d6a2f8191316951e39935c9",
79
+ "success": true,
80
+ "passed": 18,
81
+ "failed": 0,
82
+ "files": [
83
+ {
84
+ "path": "/home/roko/Documents/Projects/Adjacent/omnius/omnius/packages/cli/tests/routes-media.test.ts",
85
+ "passed": 18
86
+ }
87
+ ]
88
+ }
89
+ ],
90
+ "typechecks": [
91
+ "pnpm --filter @omnius/execution exec tsc --noEmit --pretty false",
92
+ "pnpm --filter omnius exec tsc --noEmit --pretty false"
93
+ ],
94
+ "typechecksPassed": true,
95
+ "ownedDiffCheckPassed": true
96
+ },
97
+ "productionSources": {
98
+ "packages/cli/src/api/media-management.ts": "030e2010cc717dce706d8fcc64fb719c1122d5247e676a759ac0b6f03e835903",
99
+ "packages/cli/src/api/routes-media.ts": "917c571b8c78bae34046b5fc2ab141c0c564a48bb8e1439544c98b83f29de755",
100
+ "packages/cli/src/api/openapi.ts": "d107bef0a06b60fafc40ddd89525b1e76f8786c1a10b524bbc5a27e6d0b9ecbb",
101
+ "packages/execution/src/tools/media-store-lease.ts": "cb092b227c458497006b3e43391bb402ef8ebcf5f9172b8a74ec5f00851725e3",
102
+ "packages/execution/src/tools/model-store.ts": "ebc0c8b0d53a146ba6e9723f347a485982b86aa69c4bd0e6f08ab75b38358cbd",
103
+ "packages/execution/src/tools/media-store-migrate.ts": "cb579514ea78f32b28ab9f69dbf47401dbcf6a2b2c7147dc7b51350750ebad4e",
104
+ "packages/execution/src/tools/image-generate.ts": "9250305ade3d5a2929ff340187b011f6b076a68130268cc5d7e19ebe21742bf8",
105
+ "packages/execution/src/tools/video-generate.ts": "3e3d7de37702d1372705395bd422e140ff45fd8e7abe60d8cb2915d8246958ae",
106
+ "packages/execution/src/tools/audio-generate.ts": "cd07597312f17bccaf8fccfa518f3ca6ef253014f5a443947643cfe8b4c1c639"
107
+ },
108
+ "ownedTests": {
109
+ "packages/cli/tests/media-management.test.ts": "83eb44b33ee213f0381581c8ca93b2e841bd1e8e6c90fe57ab905cdd89d4521f",
110
+ "packages/cli/tests/routes-media.test.ts": "8d131e23bd07be02adf40ea45db0484efde2b4a6fb41cdee98082f8ad62f6337",
111
+ "packages/execution/tests/media-store-lease.test.ts": "43766be3f1236291c8a716c72023e2498ef354484b65e03d2b58d0c02ed8a10a",
112
+ "packages/execution/tests/media-test-home.ts": "f2ee820b3e764f263ca29d6a2353202e98a1acb78febf778e8edf945bb03c99f",
113
+ "packages/execution/tests/image-generate.test.ts": "b922278f5b95180dcd937bf8fc60f126303977b772b61922b80e69e6190720ac",
114
+ "packages/execution/tests/video-generate.test.ts": "9c77f1a16485989d9cea68604ef1164be16e8d86bdc17eee5c85bb0865df3367",
115
+ "packages/execution/tests/audio-generate.test.ts": "d8c0d42118cf5958d4ff0ed78f16acc32afff28445d71e47ba971ff186e33f32"
116
+ },
117
+ "api": {
118
+ "inventory": "GET /v1/media/weights?kind=&model=",
119
+ "download": "POST /v1/media/weights/download {kind,model}",
120
+ "status": "GET /v1/media/weights/jobs/:id",
121
+ "cancel": "POST /v1/media/weights/jobs/:id/cancel",
122
+ "deleteWeights": "DELETE /v1/media/weights {kind,model,repository,allowShared?}",
123
+ "deleteOutput": "DELETE /v1/media/file?kind=&name=",
124
+ "store": "GET /v1/media/store; legacy scanning is opt-in ?scanLegacy=1"
125
+ },
126
+ "constraints": [
127
+ "No real model downloads, inference, CUDA loads, user media/weight deletion, service starts/restarts, publishing or installed package changes. Download tests inject deterministic HTTPS metadata/body responses. Separate-process ownership test starts only a disposable Node fixture.",
128
+ "Explicit Download fetches entire pinned repository snapshots, including variants; all files require pinned size and SHA256 or Git-blob checksum. It installs no Python/runtime and loads no model. Insufficient disk fails without LRU eviction.",
129
+ "Existing unverified bytes are cached, never ready. Ready means initially checksum-verified snapshot manifests still have all expected contained files and sizes; inventory does not rehash multi-gigabyte files on every read.",
130
+ "Global generative invocation serialization is deliberate: any invocation may install/download/LRU-evict. Metadata-only setup/list actions remain available. Busy daemon generation requests return409 before constructing a runner.",
131
+ "New image/video/audio/music tools, model-store deletion/eviction/disk admission, cache migration and store relocation participate in the cross-process root lease. Asynchronous relocation also reserves its destination. Exact same-process random-token nesting preserves the outer daemon lease.",
132
+ "Unrelated external programs and already-running older Omnius versions do not participate in this filesystem lease. The daemon additionally rejects destructive/download/store operations for broker-known active media models; this is not a claim of control over arbitrary external cache readers. Existing service-specific ASR/TTS management remains separate.",
133
+ "Weight deletion retains catalog adapters. Shared dependencies require explicit allowShared:true consent; busy/in-use restrictions still apply.",
134
+ "Saved-media deletion removes only the exact gallery file and matching regular metadata. Source/work copies, other previews and weights remain.",
135
+ "Deep legacy-cache scanning no longer occurs on ordinary GET /store. Unscanned counts are null rather than fabricated zero."
136
+ ],
137
+ "fixtureRepairs": [
138
+ "Generator tests now isolate OMNIUS_HOME, OMNIUS_MEDIA_HOME and host GPU allowlist/preference. An initial parallel fixture run briefly created/contended on a real-home lease file only; it was automatically released and verified absent. No weight/cache/model operation ran.",
139
+ "Existing audio fixture expected an explicit incompatible GPU mask to widen to unrequested capable cards. Updated only that assertion to current fail-closed policy; default unpinned selection remains unchanged.",
140
+ "Relocation dry-run initially created its destination because of destination admission. Corrected before final verification; dry-run regression passes."
141
+ ],
142
+ "warnings": [
143
+ "Existing managed-stop transport fixtures emitted MaxListenersExceededWarning for SIGINT/SIGTERM listeners; all assertions passed."
144
+ ]
145
+ }