diff --git a/@dev/inbox/briefs/uDOS-ubuntu-brief.md b/@dev/inbox/briefs/uDOS-ubuntu-brief.md new file mode 100644 index 0000000..86c5187 --- /dev/null +++ b/@dev/inbox/briefs/uDOS-ubuntu-brief.md @@ -0,0 +1,416 @@ +uDOS-ubuntu + +uDOS v2 — Base OS Distribution & Boot System + +⸻ + +Purpose + +uDOS-ubuntu defines the canonical base operating system layer for uDOS v2 deployments. + +It provides: + • a minimal, reproducible Ubuntu 22 LTS base image + • preconfigured uDOS runtime compatibility + • integrated Proton software suite + • optional secure networking (Proton VPN) + • custom uDOS visual identity (boot + GUI skin) + • full compatibility with sonic-screwdriver deployment workflows + +This repo is not a fork of Ubuntu. + +It is: + +a curated, reproducible system image definition for uDOS environments + +⸻ + +Core Principles + +1. Minimal, Stable, Reproducible + • Based on Ubuntu 22.04 LTS (minimal) + • No unnecessary packages + • Deterministic build process (scriptable image generation) + +⸻ + +2. uDOS is Layered, Not Embedded + • uDOS is not baked into the OS + • uDOS-core, shell, and extensions install on top + • OS remains replaceable + +⸻ + +3. Sonic-Screwdriver First-Class Target + • Primary install path is via sonic-stick (USB boot device) + • Must support: + • Live boot (run from USB) + • Full install to disk + • Recovery/reinstall workflows + +⸻ + +4. Privacy + Sovereignty by Default + • Proton suite included for: + • mail + • docs + • identity + • Optional: + • Proton VPN + • encrypted storage layers + +⸻ + +5. Visual Identity Matters + • uDOS should feel distinct at OS level + • Blend: + • classic Mac (System 7 style) + • modern macOS polish (ThemeKit) + +⸻ + +Repo Responsibilities + +Owns: + • Ubuntu base image definition + • Package selection + system config + • Proton integration layer + • Bootloader branding (uDOS bootstrap) + • Desktop environment + theming + • Compatibility layer for uDOS-core install + • Sonic-screwdriver install hooks + +⸻ + +High-Level Architecture + +uDOS-ubuntu +├── build/ +│ ├── iso/ +│ ├── rootfs/ +│ └── scripts/ +│ +├── config/ +│ ├── packages.list +│ ├── system/ +│ ├── users/ +│ └── services/ +│ +├── proton/ +│ ├── install.sh +│ ├── config/ +│ └── optional/ +│ └── vpn/ +│ +├── theming/ +│ ├── themekit/ +│ ├── system7/ +│ ├── gtk/ +│ ├── icons/ +│ └── fonts/ +│ +├── boot/ +│ ├── grub/ +│ ├── plymouth/ +│ └── sonic-menu/ +│ +├── sonic-hooks/ +│ ├── preinstall.sh +│ ├── postinstall.sh +│ └── live-env.sh +│ +└── docs/ + + +⸻ + +Base System Specification + +OS + • Ubuntu 22.04 LTS (minimal) + • Kernel: LTS generic (with optional hardware enablement) + +⸻ + +Desktop Environment + +Recommended: + • XFCE or LXDE (lightweight, themeable) + +Reason: + • Fast on low-end machines + • Fully themeable for Mac/System7 hybrid UI + • Stable + +⸻ + +Drivers + +Include: + • Common GPU drivers (mesa, optional NVIDIA installer) + • WiFi + Bluetooth essentials + • Input device support (gamepad-ready for uHOME crossover) + +⸻ + +Proton Integration + +Core Suite + +Preinstall or first-boot install: + • Proton Mail (web app or bridge) + • Proton Drive + • Proton Docs (via web/PWA model) + • Proton Pass (optional) + +⸻ + +Optional (Wizard-enabled or user opt-in) + • Proton VPN + • Proton Mail Bridge (for desktop clients) + +⸻ + +Integration Approach + • Use PWA-style wrappers OR native bridge where required + • Store credentials in: + • user vault (uDOS layer) + • or OS keychain fallback + +⸻ + +Sonic-Screwdriver Integration + +Role + +sonic-screwdriver must be able to: + 1. Download latest uDOS-ubuntu build + 2. Prepare USB (sonic-stick) + 3. Install boot system + 4. Inject config (user/device specific) + 5. Enable live + install modes + +⸻ + +Sonic-Stick Capabilities + • Boot menu (like Ventoy, but uDOS styled) + • Multiple modes: + • Live OS + • Install OS + • Recovery tools + +⸻ + +Boot Menu UI + +TUI-based, styled as: + • uDOS terminal aesthetic + • selectable entries + • keyboard/gamepad navigation + +⸻ + +USB Formatting + Partitioning (Important) + +You’re correct — this is the constraint. + +Required Layout for Universal Boot + +Best practice: + +USB (GPT partition table) +├── Partition 1: FAT32 (EFI boot) +├── Partition 2: exFAT or ext4 (ISO / persistence) + + +⸻ + +Why FAT32? + • Required for UEFI boot compatibility + • Works across: + • Linux + • Windows + • macOS (read/write) + +⸻ + +Why Not Only FAT32? + • FAT32 file size limit = 4GB + • Ubuntu ISOs can approach/exceed this + +⸻ + +Recommended Strategy + +Use Ventoy-style approach: + • Small FAT32 EFI partition + • Larger exFAT partition for ISOs + +⸻ + +macOS Limitation (You’re Right) + +macOS: + • Cannot easily create multi-partition bootable USBs in the same flexible way + • Disk Utility is restrictive + +⸻ + +Solutions + +Option A — Linux Only (Current) + • Keep sonic-screwdriver Linux-native + +Option B — Preformatted Stick (Recommended) + • Provide: + • downloadable image OR + • one-time Linux prep script + +Then macOS users can: + • reuse the stick + • update ISOs only + +⸻ + +Option C — macOS Support (Advanced) +Use: + • diskutil + gpt CLI + • Still limited, but possible with scripting + +👉 Recommendation: + +Support macOS only for updating, not initial formatting + +⸻ + +Boot Experience (uDOS Identity Layer) + +1. GRUB Theme + • Custom uDOS theme + • Minimal + retro hybrid aesthetic + +⸻ + +2. Plymouth Boot Screen + +Custom splash: + • uDOS logo + • subtle animation + • “booting binder layer…” style messaging + +⸻ + +3. Sonic Boot Menu + +Before OS loads: + • uDOS-styled TUI selector + • resembles: + • terminal OS + • retro system menu + +⸻ + +GUI Theming System + +Design Direction + +Blend: + +Modern Mac Style + • via ThemeKit + • soft gradients, spacing, typography + +System 7 Retro Layer + • sharp edges + • pixel icons + • grayscale UI option + +⸻ + +Implementation + • GTK theme overrides + • icon packs + • font system (uDOS font layer compatible) + • window manager styling + +⸻ + +Theme Modes + • udos-modern + • udos-retro + • udos-minimal + +Switchable via: + • CLI + • settings panel (future) + +⸻ + +uDOS Bootstrap Layer + +On first boot: + 1. Show uDOS welcome screen + 2. Run: + • user setup + • network detection + • optional Proton login + 3. Offer: + • install uDOS-core + • connect to Wizard + • configure Vault + +⸻ + +Relationship to Other Repos + +uDOS-core + • installs on top of this OS + • uses OS only for execution layer + +⸻ + +uDOS-shell + • primary interface after bootstrap + +⸻ + +uHOME + • can run as: + • server on this OS + • or client connecting to external server + +⸻ + +sonic-screwdriver + • primary installer + distributor + +⸻ + +Non-Goals + • Not a general-purpose Linux distro + • Not a fork of Ubuntu ecosystem + • Not a GUI-first OS + • Not tied permanently to Ubuntu (future replaceable) + +⸻ + +Future Extensions + • ARM builds (Raspberry Pi / edge devices) + • Immutable OS mode (read-only system) + • Encrypted-by-default installs + • Multi-user uDOS environments + • Offline-first bundle mode + +⸻ + +Summary + +uDOS-ubuntu is the foundation layer. + +It provides: + • a clean, reproducible OS + • a privacy-respecting software base + • a branded uDOS experience from boot to desktop + • seamless deployment via sonic-screwdriver + +Without: + • locking uDOS into a specific OS long-term diff --git a/@dev/inbox/briefs/uDOS-v2-sonic-upgrade.md b/@dev/inbox/briefs/uDOS-v2-sonic-upgrade.md new file mode 100644 index 0000000..227dade --- /dev/null +++ b/@dev/inbox/briefs/uDOS-v2-sonic-upgrade.md @@ -0,0 +1,2283 @@ +uDOS-sonic-screwdriver v2 Upgrade Brief + +Boot, Install & Deployment System for uDOS Environments + +⸻ + +Purpose + +sonic-screwdriver (ss) is the canonical deployment engine for uDOS. + +It is responsible for: + • preparing bootable media (sonic-stick) + • delivering uDOS-compatible OS images (starting with uDOS-ubuntu) + • enabling live, install, recovery, and multi-image workflows + • injecting configuration and identity into installs + • providing a uDOS-native boot and install experience + +This upgrade moves ss from: + +“USB flasher tool” + +to: + +portable OS orchestration + deployment runtime + +⸻ + +Core Evolution (v1 → v2) + +v1 + • simple Linux-based USB flasher + • single-image install flow + • minimal UI + +⸻ + +v2 + • multi-image boot system (Ventoy-class) + • uDOS-styled boot UI + • config injection + identity layer + • live OS + installer + recovery modes + • modular OS support (starting with uDOS-ubuntu) + +⸻ + +Core Principles + +1. USB as a System, Not Just Installer + +The sonic-stick is: + • a bootable OS host + • a deployment tool + • a portable uDOS environment + +⸻ + +2. Stateless Tool, Stateful Media + • sonic-screwdriver = stateless CLI/TUI tool + • sonic-stick = persistent, updatable system + +⸻ + +3. uDOS-First Experience + +From boot menu → install → first login: + • consistent uDOS identity + • themed UI (even in TUI) + +⸻ + +4. Modular OS Delivery + • uDOS-ubuntu first-class + • future: + • alt Linux bases + • recovery tools + • diagnostics environments + +⸻ + +High-Level Architecture + +sonic-screwdriver +├── cli/ +├── tui/ +├── core/ +│ ├── disk/ +│ ├── partition/ +│ ├── bootloader/ +│ └── iso/ +│ +├── sonic-stick/ +│ ├── layout/ +│ ├── boot/ +│ ├── images/ +│ ├── config/ +│ └── persistence/ +│ +├── os-profiles/ +│ └── udos-ubuntu/ +│ +├── inject/ +│ ├── user/ +│ ├── network/ +│ └── udos/ +│ +└── docs/ + + +⸻ + +Sonic-Stick Specification + +Partition Layout (GPT) + +USB Device +├── EFI (FAT32, ~512MB) +│ └── bootloaders +│ +├── DATA (exFAT) +│ ├── /images +│ ├── /config +│ └── /udos +│ +└── PERSIST (optional ext4) + └── live OS persistence + + +⸻ + +Capabilities + • boots on: + • UEFI (primary) + • Legacy BIOS (optional support) + • stores multiple OS images + • supports persistence + • supports config injection + • supports updates without reformat + +⸻ + +Boot System (Ventoy-Class) + +Boot Flow + 1. BIOS/UEFI loads EFI partition + 2. ss bootloader launches + 3. uDOS Sonic Menu appears + 4. User selects: + • OS image + • mode (live/install/recovery) + +⸻ + +Sonic Menu (TUI UI) + +Design: + • uDOS terminal aesthetic + • keyboard + gamepad support + • fast navigation + +⸻ + +Menu Options Example + +uDOS Sonic Boot + +> uDOS Ubuntu (Live) +> uDOS Ubuntu (Install) +> uDOS Ubuntu (Recovery) +> Tools + - Disk Utility + - Network Debug + - Memory Test + + +⸻ + +OS Profile System + +Concept + +Each OS has a profile module: + +os-profiles/ +└── udos-ubuntu/ + ├── manifest.json + ├── install.sh + ├── live.sh + └── inject/ + + +⸻ + +Responsibilities + +Defines: + • how to boot ISO + • how to install OS + • what config can be injected + • post-install hooks + +⸻ + +uDOS-Ubuntu Integration + +Required Support + +ss must: + • download latest build + • verify checksum + • place into /images + • register in boot menu + +⸻ + +Install Flow + 1. user selects “Install” + 2. ss: + • launches installer + • injects config (optional) + 3. post-install: + • applies uDOS bootstrap hooks + • enables first-run setup + +⸻ + +Config Injection System + +Purpose + +Allow preconfigured installs without manual setup. + +⸻ + +Injection Targets + +1. User Identity + • username + • hostname + • SSH keys (optional) + +⸻ + +2. Network + • WiFi credentials + • local network mode (uHOME-ready) + +⸻ + +3. uDOS Config + • vault path + • wizard endpoint + • default modules + +⸻ + +Injection Method + • cloud-init style OR + • preseed/autoinstall (Ubuntu-native) + +⸻ + +Live Environment + +Capabilities + • run full OS from USB + • optional persistence layer + • test hardware compatibility + • portable uDOS environment + +⸻ + +Persistence (Optional) + • ext4 partition + • stores: + • user files + • settings + • uDOS data + +⸻ + +Recovery Mode + +Tools + • disk repair + • reinstall OS + • backup/export vault + • network diagnostics + +⸻ + +CLI Interface (sonic-screwdriver) + +Example Commands + +ss init /dev/sdX +ss add udos-ubuntu +ss update +ss inject config.json +ss list + + +⸻ + +TUI Interface + +Modes + • guided setup (wizard-style) + • advanced mode (power users) + +⸻ + +Key Features + • disk selection UI + • partition preview + • OS selection + • config injection UI + +⸻ + +macOS Considerations + +Limitation + +macOS: + • struggles with multi-partition USB creation + +⸻ + +Strategy + +Phase 1 (Recommended) + • Linux-only full support + +⸻ + +Phase 2 +macOS support for: + • updating images + • editing config + +⸻ + +Phase 3 (Optional Advanced) + • scripted partitioning via diskutil + • limited but possible full support + +⸻ + +Visual Identity Layer + +Bootloader Theme + • uDOS minimal theme + +⸻ + +Sonic Menu + • terminal-style UI + • consistent with uDOS shell + +⸻ + +Messaging Tone + +Replace generic text like: + • “Loading kernel…” + +With: + • “Mounting system layer…” + • “Initialising binder runtime…” + +⸻ + +Security Model + • checksum verification for all images + • optional signed builds + • secure config injection (no plaintext secrets unless user opts in) + +⸻ + +Non-Goals + • Not a full OS + • Not a GUI-heavy tool + • Not tied to Ubuntu only + • Not a replacement for uDOS-core + +⸻ + +Future Extensions + • multi-OS support (dual environments) + • network boot (PXE-style uDOS deploy) + • encrypted sonic-stick + • remote fleet provisioning (uDOS-empire) + • hardware auto-profiling + optimisation + +⸻ + +Summary + +sonic-screwdriver v2 becomes: + +a portable, uDOS-native OS deployment system +capable of booting, running, installing, and repairing entire environments + +It transforms: + • USB → platform + • installer → orchestrator + • boot menu → uDOS entry point + +⸻ + +Perfect — this locks the direction in cleanly. + +Here’s the uDOS-sonic-screwdriver v2 addendum incorporating: + • uDOS-ventoy fork (official name) + • standardised partition layouts + • 128GB default + 64GB variant + • aligned to your v2 architecture + +⸻ + +uDOS-sonic-screwdriver v2 + +Addendum: uDOS-ventoy Boot Platform + Standard Media Layout + +⸻ + +Purpose of Addendum + +This document defines: + • the official boot substrate for sonic-screwdriver + • the standard sonic-stick partition layouts + • storage allocation for 128GB (primary) and 64GB (compact) devices + • integration boundaries between: + • uDOS-sonic-screwdriver + • uDOS-ventoy + • uDOS-ubuntu + +⸻ + +Boot Platform Decision + +Official Boot Layer + +uDOS-ventoy (fork of Ventoy) + +⸻ + +Role of uDOS-ventoy + +uDOS-ventoy is: + • the bootloader + multi-image runtime + • the menu system (GRUB-based) + • the USB media controller layer + +It is responsible for: + • boot compatibility (UEFI + optional BIOS) + • ISO/image discovery + • persistence handling (file-based) + • plugin system (themes, menus, injection) + +⸻ + +uDOS Ownership Layer + +uDOS-ventoy fork adds: + • uDOS themes (modern + retro) + • uDOS menu structure (not raw ISO list) + • uDOS menu language + tone + • profile-aware boot entries + • sonic-screwdriver integration hooks + +⸻ + +Non-Goals (unchanged) + • do not rewrite Ventoy core (v2) + • do not replace GRUB + • do not fork deeper than necessary + +⸻ + +Sonic-Stick Standard + +The sonic-stick is now defined as a: + +persistent, multi-OS, uDOS deployment device + +⸻ + +Partition Strategy (Standardised) + +Table Type + • GPT (GUID Partition Table) — required + +⸻ + +128GB Sonic-Stick (Primary Standard) + +Layout + +USB Device (128GB) + +Partition 1 — EFI +- Size: 512 MB +- Format: FAT32 +- Label: UDOS-EFI +- Purpose: + - UEFI boot + - uDOS-ventoy bootloader + - boot themes (minimal assets) + +--- + +Partition 2 — SONIC-DATA +- Size: ~110 GB +- Format: exFAT +- Label: SONIC +- Purpose: + - OS images + - profiles + - configs + - themes + - tools + - recovery systems + +--- + +Partition 3 — SONIC-PERSIST (optional but recommended) +- Size: ~16 GB +- Format: ext4 +- Label: PERSIST +- Purpose: + - live OS persistence + - cached packages + - portable uDOS runtime data + + +⸻ + +Rationale + • 512MB EFI + • safe headroom for themes + future loaders + • exFAT main partition + • cross-platform (Linux / macOS / Windows) + • supports large ISO files (>4GB) + • 16GB persistence + • enough for: + • Ubuntu live session + • package installs + • light user data + +⸻ + +64GB Sonic-Stick (Compact Option) + +Layout + +USB Device (64GB) + +Partition 1 — EFI +- Size: 512 MB +- Format: FAT32 +- Label: UDOS-EFI + +--- + +Partition 2 — SONIC-DATA +- Size: ~54 GB +- Format: exFAT +- Label: SONIC + +--- + +Partition 3 — SONIC-PERSIST (optional) +- Size: ~8 GB +- Format: ext4 +- Label: PERSIST + + +⸻ + +Rationale + • smaller persistence footprint + • still supports: + • 2–4 OS images comfortably + • full uDOS-ubuntu + recovery tools + +⸻ + +Alternative Mode (Simplified / Default) + +For maximum compatibility and ease-of-use: + +v2 default = 2 partitions only + +EFI (FAT32) +SONIC-DATA (exFAT) + +Persistence handled via: + • Ventoy persistence files + • or later user opt-in partition expansion + +⸻ + +Filesystem Roles + +FAT32 (EFI) + • required by UEFI firmware + • universally supported + +⸻ + +exFAT (SONIC-DATA) + • large file support + • readable/writable across: + • Linux + • macOS + • Windows + +⸻ + +ext4 (PERSIST) + • Linux-native performance + • journaling + • suitable for live OS state + +⸻ + +On-Disk Structure (SONIC Partition) + +/boot +/config + /global + /devices + /profiles + +/images + /udos-ubuntu + /recovery + /extras + +/profiles + /udos-ubuntu + +/recovery +/tools + +/themes + /udos-modern + /udos-retro + +/udos + /bootstrap + /assets + /manifests + +ventoy.json + + +⸻ + +uDOS-ventoy Responsibilities + +Boot Layer + • GRUB-based menu (via Ventoy) + • uDOS theme loading + • menu rendering + • image discovery + +⸻ + +Plugin Layer + +Must support: + • theme plugin → uDOS visual identity + • menu extension → curated entries + • menu class → icon + type grouping + • injection plugin → config delivery + • persistence plugin → live OS storage + +⸻ + +Menu Behaviour (uDOS Override) + +Replace: + +raw ISO listing + +With: + +uDOS Sonic Boot + +> uDOS Ubuntu + - Live + - Install + - Recovery + +> Tools + - Disk Utility + - Network Tools + - Memory Test + +> System + - Boot Local Disk + - Advanced Images + + +⸻ + +sonic-screwdriver Responsibilities + +ss init (Updated) + • partition USB (GPT) + • create: + • EFI (FAT32) + • SONIC (exFAT) + • optional PERSIST (ext4) + • install uDOS-ventoy fork + • apply default uDOS theme + • scaffold directory structure + • generate base ventoy.json + +⸻ + +ss add (Updated) + +Example: + +ss add udos-ubuntu + +Performs: + • download image + • verify checksum + • place in /images/udos-ubuntu + • install profile into /profiles + • register menu metadata + • prepare injection configs + +⸻ + +ss update + • update uDOS-ventoy core + • preserve: + • user images + • configs + • persistence + +⸻ + +ss theme + +ss theme retro +ss theme modern + +Switches active boot theme. + +⸻ + +macOS Support (Clarified) + +Supported + • read/write SONIC (exFAT) + • update images + • edit configs + +⸻ + +Not Supported (v2) + • full device partitioning + • initial sonic-stick creation + +⸻ + +Workflow + 1. create stick via Linux + 2. maintain via macOS if needed + +⸻ + +Storage Planning Guidance + +128GB Stick Typical Usage + • 6–10 OS images + • full uDOS-ubuntu + • recovery tools + • persistence enabled + +⸻ + +64GB Stick Typical Usage + • 2–5 OS images + • uDOS-ubuntu primary + • light recovery set + +⸻ + +Naming Standard + +Component Name +Boot fork uDOS-ventoy +Installer tool uDOS-sonic-screwdriver +USB device sonic-stick + + +⸻ + +Summary + +This addendum defines a real, standardised physical deployment model for uDOS: + • Ventoy-based boot system → forked as uDOS-ventoy + • GPT partitioned sonic-stick → consistent across installs + • exFAT-based data layer → cross-platform usability + • optional persistence → Linux-native runtime state + • sonic-screwdriver → orchestrates everything + +⸻ + +Final Position + +uDOS now owns the full path from: + +USB → Boot → OS → Bootstrap → Runtime + +without needing to own: + • low-level bootloader complexity + • ISO compatibility matrix + • firmware edge cases + +⸻ + +Addendum: uDOS-ventoy Boot Platform + Standard Media Layout + +⸻ + +Purpose of Addendum + +This document defines: + • the official boot substrate for sonic-screwdriver + • the standard sonic-stick partition layouts + • storage allocation for 128GB (primary) and 64GB (compact) devices + • integration boundaries between: + • uDOS-sonic-screwdriver + • uDOS-ventoy + • uDOS-ubuntu + +⸻ + +Boot Platform Decision + +Official Boot Layer + +uDOS-ventoy (fork of Ventoy) + +⸻ + +Role of uDOS-ventoy + +uDOS-ventoy is: + • the bootloader + multi-image runtime + • the menu system (GRUB-based) + • the USB media controller layer + +It is responsible for: + • boot compatibility (UEFI + optional BIOS) + • ISO/image discovery + • persistence handling (file-based) + • plugin system (themes, menus, injection) + +⸻ + +uDOS Ownership Layer + +uDOS-ventoy fork adds: + • uDOS themes (modern + retro) + • uDOS menu structure (not raw ISO list) + • uDOS menu language + tone + • profile-aware boot entries + • sonic-screwdriver integration hooks + +⸻ + +Non-Goals (unchanged) + • do not rewrite Ventoy core (v2) + • do not replace GRUB + • do not fork deeper than necessary + +⸻ + +Sonic-Stick Standard + +The sonic-stick is now defined as a: + +persistent, multi-OS, uDOS deployment device + +⸻ + +Partition Strategy (Standardised) + +Table Type + • GPT (GUID Partition Table) — required + +⸻ + +128GB Sonic-Stick (Primary Standard) + +Layout + +USB Device (128GB) + +Partition 1 — EFI +- Size: 512 MB +- Format: FAT32 +- Label: UDOS-EFI +- Purpose: + - UEFI boot + - uDOS-ventoy bootloader + - boot themes (minimal assets) + +--- + +Partition 2 — SONIC-DATA +- Size: ~110 GB +- Format: exFAT +- Label: SONIC +- Purpose: + - OS images + - profiles + - configs + - themes + - tools + - recovery systems + +--- + +Partition 3 — SONIC-PERSIST (optional but recommended) +- Size: ~16 GB +- Format: ext4 +- Label: PERSIST +- Purpose: + - live OS persistence + - cached packages + - portable uDOS runtime data + + +⸻ + +Rationale + • 512MB EFI + • safe headroom for themes + future loaders + • exFAT main partition + • cross-platform (Linux / macOS / Windows) + • supports large ISO files (>4GB) + • 16GB persistence + • enough for: + • Ubuntu live session + • package installs + • light user data + +⸻ + +64GB Sonic-Stick (Compact Option) + +Layout + +USB Device (64GB) + +Partition 1 — EFI +- Size: 512 MB +- Format: FAT32 +- Label: UDOS-EFI + +--- + +Partition 2 — SONIC-DATA +- Size: ~54 GB +- Format: exFAT +- Label: SONIC + +--- + +Partition 3 — SONIC-PERSIST (optional) +- Size: ~8 GB +- Format: ext4 +- Label: PERSIST + + +⸻ + +Rationale + • smaller persistence footprint + • still supports: + • 2–4 OS images comfortably + • full uDOS-ubuntu + recovery tools + +⸻ + +Alternative Mode (Simplified / Default) + +For maximum compatibility and ease-of-use: + +v2 default = 2 partitions only + +EFI (FAT32) +SONIC-DATA (exFAT) + +Persistence handled via: + • Ventoy persistence files + • or later user opt-in partition expansion + +⸻ + +Filesystem Roles + +FAT32 (EFI) + • required by UEFI firmware + • universally supported + +⸻ + +exFAT (SONIC-DATA) + • large file support + • readable/writable across: + • Linux + • macOS + • Windows + +⸻ + +ext4 (PERSIST) + • Linux-native performance + • journaling + • suitable for live OS state + +⸻ + +On-Disk Structure (SONIC Partition) + +/boot +/config + /global + /devices + /profiles + +/images + /udos-ubuntu + /recovery + /extras + +/profiles + /udos-ubuntu + +/recovery +/tools + +/themes + /udos-modern + /udos-retro + +/udos + /bootstrap + /assets + /manifests + +ventoy.json + + +⸻ + +uDOS-ventoy Responsibilities + +Boot Layer + • GRUB-based menu (via Ventoy) + • uDOS theme loading + • menu rendering + • image discovery + +⸻ + +Plugin Layer + +Must support: + • theme plugin → uDOS visual identity + • menu extension → curated entries + • menu class → icon + type grouping + • injection plugin → config delivery + • persistence plugin → live OS storage + +⸻ + +Menu Behaviour (uDOS Override) + +Replace: + +raw ISO listing + +With: + +uDOS Sonic Boot + +> uDOS Ubuntu + - Live + - Install + - Recovery + +> Tools + - Disk Utility + - Network Tools + - Memory Test + +> System + - Boot Local Disk + - Advanced Images + + +⸻ + +sonic-screwdriver Responsibilities + +ss init (Updated) + • partition USB (GPT) + • create: + • EFI (FAT32) + • SONIC (exFAT) + • optional PERSIST (ext4) + • install uDOS-ventoy fork + • apply default uDOS theme + • scaffold directory structure + • generate base ventoy.json + +⸻ + +ss add (Updated) + +Example: + +ss add udos-ubuntu + +Performs: + • download image + • verify checksum + • place in /images/udos-ubuntu + • install profile into /profiles + • register menu metadata + • prepare injection configs + +⸻ + +ss update + • update uDOS-ventoy core + • preserve: + • user images + • configs + • persistence + +⸻ + +ss theme + +ss theme retro +ss theme modern + +Switches active boot theme. + +⸻ + +macOS Support (Clarified) + +Supported + • read/write SONIC (exFAT) + • update images + • edit configs + +⸻ + +Not Supported (v2) + • full device partitioning + • initial sonic-stick creation + +⸻ + +Workflow + 1. create stick via Linux + 2. maintain via macOS if needed + +⸻ + +Storage Planning Guidance + +128GB Stick Typical Usage + • 6–10 OS images + • full uDOS-ubuntu + • recovery tools + • persistence enabled + +⸻ + +64GB Stick Typical Usage + • 2–5 OS images + • uDOS-ubuntu primary + • light recovery set + +⸻ + +Naming Standard + +Component Name +Boot fork uDOS-ventoy +Installer tool uDOS-sonic-screwdriver +USB device sonic-stick + + +⸻ + +Summary + +This addendum defines a real, standardised physical deployment model for uDOS: + • Ventoy-based boot system → forked as uDOS-ventoy + • GPT partitioned sonic-stick → consistent across installs + • exFAT-based data layer → cross-platform usability + • optional persistence → Linux-native runtime state + • sonic-screwdriver → orchestrates everything + +⸻ + +Final Position + +uDOS now owns the full path from: + +USB → Boot → OS → Bootstrap → Runtime + +without needing to own: + • low-level bootloader complexity + • ISO compatibility matrix + • firmware edge cases + +⸻ + +A few important constraints shape this: + +Ventoy’s plugin config lives in /ventoy/ventoy.json on the data partition, and plugin assets are stored under that same ventoy directory. Ventoy is GRUB2-based, so standard GRUB2 themes can be used, and the menu extension plugin loads a custom GRUB config file for extra menu entries. + +Recommended uDOS-ventoy folder layout + +Use this on the SONIC partition: + +/ventoy/ + ventoy.json + /theme/ + /udos-modern/ + theme.txt + background.png + /icons/ + install.png + live.png + recovery.png + tools.png + disk.png + /grub/ + udos_menu.cfg + +/images/ + /udos-ubuntu/ + udos-ubuntu-22.04.iso + /recovery/ + systemrescue.iso + memtest86.iso + /extras/ + gparted-live.iso + +This layout is compatible with Ventoy’s plugin model and keeps the theme and menu extension files in the expected ventoy tree. + +ventoy.json starter config + +This example does four things: + • applies a uDOS theme + • adds menu classes for folders and image groups + • renames visible menu entries + • shows short context tips + • loads a custom GRUB menu extension file + +{ + "theme": { + "file": "/ventoy/theme/udos-modern/theme.txt" + }, + + "menu_class": [ + { + "dir": "/images/udos-ubuntu", + "class": "udos_ubuntu" + }, + { + "dir": "/images/recovery", + "class": "udos_recovery" + }, + { + "dir": "/images/extras", + "class": "udos_tools" + }, + { + "key": "ubuntu", + "class": "udos_live" + }, + { + "key": "rescue", + "class": "udos_recovery" + }, + { + "key": "memtest", + "class": "udos_tools" + }, + { + "key": "gparted", + "class": "udos_tools" + } + ], + + "menu_alias": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "alias": "uDOS Ubuntu — Live / Install" + }, + { + "image": "/images/recovery/systemrescue.iso", + "alias": "uDOS Recovery — System Rescue" + }, + { + "image": "/images/recovery/memtest86.iso", + "alias": "uDOS Diagnostics — Memory Test" + }, + { + "image": "/images/extras/gparted-live.iso", + "alias": "uDOS Tools — GParted Live" + } + ], + + "menu_tip": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "tip": "Primary uDOS base system. Use for live boot or install." + }, + { + "image": "/images/recovery/systemrescue.iso", + "tip": "Recovery environment for disk repair, backup, and rescue." + }, + { + "image": "/images/recovery/memtest86.iso", + "tip": "Hardware memory diagnostics." + }, + { + "image": "/images/extras/gparted-live.iso", + "tip": "Partition editor and storage utility." + } + ], + + "grubmenu": { + "file": "/ventoy/grub/udos_menu.cfg" + } +} + +The keys used above map directly to Ventoy’s documented plugins: theme, menu_class, menu_alias, menu_tip, and grubmenu. Ventoy’s docs describe menu_class as supporting either dir or key, menu_alias as changing the displayed name only, menu_tip as showing a message when an item is selected, and grubmenu as loading a custom GRUB config file. + +udos_menu.cfg menu extension example + +This is the curated uDOS layer that sits above the raw ISO list. + +submenu "uDOS Ubuntu" { + menuentry "uDOS Ubuntu — Live / Install Image List" --class udos_ubuntu --class udos_live { + echo "Browse the uDOS Ubuntu image set from the standard Ventoy list." + } + + menuentry "uDOS Ubuntu — Notes" --class udos_ubuntu { + echo "Use the main image entry for normal live/install boot." + echo "Autoinstall and injection can be layered by sonic-screwdriver later." + sleep 3 + } +} + +submenu "uDOS Recovery" { + menuentry "System Rescue" --class udos_recovery { + if [ -f "/images/recovery/systemrescue.iso" ]; then + echo "Select 'uDOS Recovery — System Rescue' in the main image list to boot." + sleep 3 + else + echo "systemrescue.iso not found." + sleep 3 + fi + } + + menuentry "Memory Test" --class udos_tools { + if [ -f "/images/recovery/memtest86.iso" ]; then + echo "Select 'uDOS Diagnostics — Memory Test' in the main image list to boot." + sleep 3 + else + echo "memtest86.iso not found." + sleep 3 + fi + } +} + +submenu "uDOS Tools" { + menuentry "Partition Utility" --class udos_tools { + if [ -f "/images/extras/gparted-live.iso" ]; then + echo "Select 'uDOS Tools — GParted Live' in the main image list to boot." + sleep 3 + else + echo "gparted-live.iso not found." + sleep 3 + fi + } +} + +menuentry "Boot Local Disk" --class udos_disk { + exit +} + +Ventoy’s menu extension plugin does allow you to load your own GRUB menu definitions, but it assumes you are comfortable writing GRUB syntax yourself. That makes it ideal for curated submenus and helper entries like the above. + +theme.txt starter theme + +Ventoy uses GRUB2 themes, so the file below is a starter GRUB theme for a clean “modern Mac-ish” uDOS look. The exact visual tuning usually takes a few iterations, but this is the right shape. + +desktop-image: "/ventoy/theme/udos-modern/background.png" + +title-text: "uDOS Sonic Boot" +title-color: "#f2f2f2" +title-font: "Unifont Regular 18" + +message-color: "#d0d0d0" +message-font: "Unifont Regular 14" +terminal-font: "Unifont Regular 14" + ++ boot_menu { + left = 8% + top = 18% + width = 46% + height = 62% + item_font = "Unifont Regular 16" + item_color = "#d8d8d8" + selected_item_color = "#111111" + item_height = 28 + item_padding = 6 + item_icon_space = 12 + item_spacing = 4 + selected_item_pixmap_style = "select_*.png" +} + ++ label { + top = 10% + left = 8% + width = 50% + height = 30 + text = "uDOS Ventoy" + color = "#f2f2f2" + font = "Unifont Regular 20" +} + ++ label { + top = 84% + left = 8% + width = 70% + height = 24 + text = "Select a system, tool, or recovery environment" + color = "#c8c8c8" + font = "Unifont Regular 12" +} + ++ hbox{ + left = 30%+200 + top = 95%-50 + width = 10% + height = 25 + + label { text = "@VTOY_GRUB2_MODE@" color = "red" align = "left" } +} + +Ventoy’s theme plugin accepts a theme file path in ventoy.json, and Ventoy’s GRUB2-mode documentation specifically notes that if you use a custom theme and want the GRUB2-mode indicator shown, your theme should include an hbox with @VTOY_GRUB2_MODE@ like the one above. + +Recommended class naming + +Use a small internal taxonomy for consistent icons and future polish: + +udos_ubuntu +udos_live +udos_install +udos_recovery +udos_tools +udos_disk +udos_experimental + +This works well with Ventoy’s menu class plugin, which is designed to attach classes based on file-name keys or directory paths. + +Practical notes for uDOS + +A small but important implementation detail: Ventoy’s normal menu is still image-driven, so the cleanest v2 setup is to use aliases, classes, tips, and a curated extension menu together rather than trying to completely replace the image list on day one. That keeps you close to upstream behavior while still making the stick feel like a uDOS product. This is an architectural recommendation based on Ventoy’s documented extension model rather than a Ventoy requirement. + +For your retro theme, you would keep the same ventoy.json shape and swap only: + +{ + "theme": { + "file": "/ventoy/theme/udos-retro/theme.txt" + } +} + +That is straightforward because the theme plugin just points to a GRUB theme file. + +Best next refinement + +The next useful step is to split this into two concrete deliverables: + 1. udos-modern theme assets and final theme.txt + 2. udos-retro theme assets and matching theme.txt + +and then define the ss init generator that writes ventoy.json automatically based on: + • chosen theme + • 64GB or 128GB stick mode + • whether recovery images are included + • whether persistence is enabled + +Great — here are the two starter theme profiles for uDOS-ventoy. + +They’re built around Ventoy’s documented plugin system: ventoy.json lives under /ventoy, Ventoy can use standard GRUB2 themes, menu_class can match by directory or filename key, and the menu extension plugin loads a custom GRUB config file. + +1) udos-modern + +This is the default profile: cleaner, softer, more contemporary, with a Mac-adjacent feel. + +Folder layout + +/ventoy/ + ventoy.json + /theme/ + /udos-modern/ + theme.txt + background.png + select_c.png + select_e.png + select_w.png + /icons/ + udos_ubuntu.png + udos_live.png + udos_recovery.png + udos_tools.png + udos_disk.png + /grub/ + udos_menu.cfg + +ventoy.json for udos-modern + +{ + "theme": { + "file": "/ventoy/theme/udos-modern/theme.txt" + }, + + "menu_class": [ + { "dir": "/images/udos-ubuntu", "class": "udos_ubuntu" }, + { "dir": "/images/recovery", "class": "udos_recovery" }, + { "dir": "/images/extras", "class": "udos_tools" }, + + { "key": "ubuntu", "class": "udos_live" }, + { "key": "proton", "class": "udos_tools" }, + { "key": "rescue", "class": "udos_recovery" }, + { "key": "memtest", "class": "udos_tools" }, + { "key": "gparted", "class": "udos_tools" } + ], + + "menu_alias": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "alias": "uDOS Ubuntu — Base System" + }, + { + "image": "/images/recovery/systemrescue.iso", + "alias": "uDOS Recovery — System Rescue" + }, + { + "image": "/images/recovery/memtest86.iso", + "alias": "uDOS Diagnostics — Memory Test" + }, + { + "image": "/images/extras/gparted-live.iso", + "alias": "uDOS Tools — Partition Utility" + } + ], + + "menu_tip": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "tip": "Primary uDOS base image. Use for live boot or local install." + }, + { + "image": "/images/recovery/systemrescue.iso", + "tip": "Recovery environment for repair, backup, and rescue." + }, + { + "image": "/images/recovery/memtest86.iso", + "tip": "Hardware memory diagnostics." + }, + { + "image": "/images/extras/gparted-live.iso", + "tip": "Partitioning and storage management." + } + ], + + "grubmenu": { + "file": "/ventoy/grub/udos_menu.cfg" + } +} + +The shape above follows Ventoy’s official plugin model for theme, menu class, alias, tip, and custom GRUB menu loading. + +theme.txt for udos-modern + +desktop-image: "/ventoy/theme/udos-modern/background.png" + +title-text: "uDOS Sonic Boot" +title-color: "#f4f4f4" +title-font: "Unifont Regular 18" + +message-color: "#d6d6d6" +message-font: "Unifont Regular 13" +terminal-font: "Unifont Regular 13" + ++ boot_menu { + left = 7% + top = 16% + width = 48% + height = 64% + item_font = "Unifont Regular 16" + item_color = "#dddddd" + selected_item_color = "#101010" + item_height = 30 + item_padding = 7 + item_icon_space = 10 + item_spacing = 4 + selected_item_pixmap_style = "select_*.png" +} + ++ label { + top = 8% + left = 7% + width = 50% + height = 30 + text = "uDOS Ventoy" + color = "#ffffff" + font = "Unifont Regular 20" +} + ++ label { + top = 84% + left = 7% + width = 72% + height = 24 + text = "Select a system, tool, or recovery environment" + color = "#c8c8c8" + font = "Unifont Regular 12" +} + ++ hbox{ + left = 30%+200 + top = 95%-50 + width = 10% + height = 25 + + label { text = "@VTOY_GRUB2_MODE@" color = "red" align = "left" } +} + +Ventoy’s theme docs note it can use GRUB2 themes, and Ventoy’s GRUB2-mode guidance calls out the @VTOY_GRUB2_MODE@ label pattern when you want that mode indicator visible in a custom theme. + +Visual direction for udos-modern + +Use: + • soft gray or graphite background + • subtle panel contrast + • rounded selection art in select_c.png, select_e.png, select_w.png + • monochrome or low-saturation icons + • modern typography spacing, while keeping a boot-safe bitmap/unifont fallback + +That last point is a design recommendation rather than a Ventoy requirement. + +⸻ + +2) udos-retro + +This is the System 7 / early Mac-inspired mode: flatter, higher contrast, slightly more playful, more overtly “classic computer.” + +Folder layout + +/ventoy/ + ventoy.json + /theme/ + /udos-retro/ + theme.txt + background.png + select_c.png + select_e.png + select_w.png + /icons/ + udos_ubuntu.png + udos_live.png + udos_recovery.png + udos_tools.png + udos_disk.png + +ventoy.json for udos-retro + +Same structure, just switch the theme path: + +{ + "theme": { + "file": "/ventoy/theme/udos-retro/theme.txt" + }, + + "menu_class": [ + { "dir": "/images/udos-ubuntu", "class": "udos_ubuntu" }, + { "dir": "/images/recovery", "class": "udos_recovery" }, + { "dir": "/images/extras", "class": "udos_tools" }, + + { "key": "ubuntu", "class": "udos_live" }, + { "key": "rescue", "class": "udos_recovery" }, + { "key": "memtest", "class": "udos_tools" }, + { "key": "gparted", "class": "udos_tools" } + ], + + "menu_alias": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "alias": "uDOS Ubuntu — Base System" + }, + { + "image": "/images/recovery/systemrescue.iso", + "alias": "uDOS Recovery — System Rescue" + }, + { + "image": "/images/recovery/memtest86.iso", + "alias": "uDOS Diagnostics — Memory Test" + }, + { + "image": "/images/extras/gparted-live.iso", + "alias": "uDOS Tools — Partition Utility" + } + ], + + "menu_tip": [ + { + "image": "/images/udos-ubuntu/udos-ubuntu-22.04.iso", + "tip": "Run live, install local, or prepare a fresh uDOS machine." + }, + { + "image": "/images/recovery/systemrescue.iso", + "tip": "Repair drives, recover files, and inspect system state." + }, + { + "image": "/images/recovery/memtest86.iso", + "tip": "Test RAM and hardware stability." + }, + { + "image": "/images/extras/gparted-live.iso", + "tip": "Edit partitions and inspect storage devices." + } + ], + + "grubmenu": { + "file": "/ventoy/grub/udos_menu.cfg" + } +} + +theme.txt for udos-retro + +desktop-image: "/ventoy/theme/udos-retro/background.png" + +title-text: "uDOS Sonic Boot" +title-color: "#000000" +title-font: "Unifont Regular 18" + +message-color: "#111111" +message-font: "Unifont Regular 13" +terminal-font: "Unifont Regular 13" + ++ boot_menu { + left = 6% + top = 14% + width = 50% + height = 66% + item_font = "Unifont Regular 16" + item_color = "#000000" + selected_item_color = "#ffffff" + item_height = 28 + item_padding = 6 + item_icon_space = 8 + item_spacing = 2 + selected_item_pixmap_style = "select_*.png" +} + ++ label { + top = 7% + left = 6% + width = 60% + height = 30 + text = "uDOS Ventoy" + color = "#000000" + font = "Unifont Regular 20" +} + ++ label { + top = 83% + left = 6% + width = 72% + height = 24 + text = "Classic boot mode — keyboard or controller navigation" + color = "#222222" + font = "Unifont Regular 12" +} + ++ hbox{ + left = 30%+200 + top = 95%-50 + width = 10% + height = 25 + + label { text = "@VTOY_GRUB2_MODE@" color = "blue" align = "left" } +} + +Visual direction for udos-retro + +Use: + • light gray striped or dithered background + • crisp rectangular selection graphics + • black line icons with 1-bit or near-1-bit styling + • sharper contrast and tighter spacing + • subtle “platinum era” window feel + +Again, that is a design recommendation layered on top of Ventoy’s GRUB theme support. + +⸻ + +Shared udos_menu.cfg + +Use one shared menu extension file for both themes: + +submenu "uDOS Ubuntu" { + menuentry "Base System" --class udos_ubuntu --class udos_live { + echo "Use the main image list to boot the uDOS Ubuntu base image." + sleep 2 + } + + menuentry "Install Notes" --class udos_ubuntu { + echo "Autoinstall, profile injection, and bootstrap hooks can be supplied by sonic-screwdriver." + sleep 3 + } +} + +submenu "uDOS Recovery" { + menuentry "System Rescue" --class udos_recovery { + echo "Select the System Rescue image from the main list." + sleep 2 + } + + menuentry "Memory Test" --class udos_tools { + echo "Select the Memory Test image from the main list." + sleep 2 + } +} + +submenu "uDOS Tools" { + menuentry "Partition Utility" --class udos_tools { + echo "Select the Partition Utility image from the main list." + sleep 2 + } +} + +menuentry "Boot Local Disk" --class udos_disk { + exit +} + +Ventoy’s menu extension plugin supports loading a custom GRUB config file for exactly this kind of extra curated menu layer. + +⸻ + +Suggested icon class mapping + +Ventoy’s menu class plugin maps image entries to classes, and those classes correspond to icon names in the theme’s icons directory. Official docs and Ventoy forum guidance both point to this model. + +Use this class set: + +udos_ubuntu +udos_live +udos_recovery +udos_tools +udos_disk + +And provide matching icon files: + +/ventoy/theme/udos-modern/icons/udos_ubuntu.png +/ventoy/theme/udos-modern/icons/udos_live.png +... +/ventoy/theme/udos-retro/icons/udos_ubuntu.png +/ventoy/theme/udos-retro/icons/udos_live.png +... + + +⸻ + +Recommended theme behavior in ss + +Have uDOS-sonic-screwdriver generate these modes: + • ss theme modern + • ss theme retro + +Which simply swap the theme.file path in ventoy.json and refresh assets on the SONIC partition. + +For multi-theme support, Ventoy also has theme plugin support around default theme selection, though the exact implementation details are better kept inside your generated config flow rather than exposed to users directly. + +⸻ + +My recommendation + +Set: + • default boot theme: udos-modern + • alternate boot theme: udos-retro + +That gives uDOS a polished default identity while preserving the more nostalgic mode as a first-class switch, not a novelty. + +⸻ + +Next is the uDOS-ventoy Theme Asset Specification v1, covering: + • file structure contracts + • required + optional assets + • dimensions + formats + • naming rules + • visual tokens (modern + retro) + • selection graphics system + • icon system + +⸻ + +uDOS-ventoy + +Theme Asset Specification v1 + +⸻ + +Core Principle + +Themes are: + +pure asset + config layers (no logic) + +They must be: + • swappable + • lightweight + • boot-safe (low memory / simple formats) + • consistent across all uDOS boot environments + +⸻ + +Theme Structure (Required) + +Each theme must follow this exact structure: + +/ventoy/theme// + +theme.txt +background.png + +select_c.png +select_e.png +select_w.png + +/icons/ + udos_ubuntu.png + udos_live.png + udos_recovery.png + udos_tools.png + udos_disk.png + + +⸻ + +File Types + +Asset Type Format Notes +Background PNG No transparency required +Selection graphics PNG Must support slicing +Icons PNG Transparent background +Theme config .txt GRUB theme syntax + + +⸻ + +Background Specification + +Dimensions + +Recommended: + • 1920 × 1080 + +Fallback-safe: + • 1366 × 768 + +⸻ + +Behaviour + • static image (no animation) + • scaled by GRUB if needed + • must remain readable at lower resolutions + +⸻ + +Safe Zones + +Avoid placing important elements: + • left 0–20% → menu area + • bottom 10% → message + status + +⸻ + +Visual Guidelines + +udos-modern + • soft gradients or flat graphite + • subtle texture (optional) + • no noise-heavy patterns + • high contrast with white text + +⸻ + +udos-retro + • light grey (System 7 style) + • optional: + • 1px stripe pattern + • dither texture + • strong black text contrast + +⸻ + +Selection Graphics System + +GRUB themes use a 3-part selection image system: + +select_w.png → left cap +select_c.png → center (repeats) +select_e.png → right cap + + +⸻ + +Dimensions + +File Width Height +select_w.png 8–16px 28–32px +select_c.png 8–16px 28–32px +select_e.png 8–16px 28–32px + + +⸻ + +Behaviour + • center image tiles horizontally + • must align seamlessly + • height must match item_height in theme.txt + +⸻ + +Visual Style + +udos-modern + • rounded rectangle + • soft highlight (subtle gradient) + • light fill (white / soft grey) + • dark text on selection + +⸻ + +udos-retro + • square edges + • inverted highlight + • black or dark fill + • white text when selected + +⸻ + +Icon System + +Location + +/icons/ + + +⸻ + +Required Icons + +Class File +Ubuntu udos_ubuntu.png +Live udos_live.png +Recovery udos_recovery.png +Tools udos_tools.png +Disk udos_disk.png + + +⸻ + +Dimensions + • 32 × 32 px (recommended) + • minimum: 24 × 24 px + +⸻ + +Format + • PNG + • transparent background + • no anti-aliasing blur at small sizes + +⸻ + +Style Guidelines + +udos-modern + • minimal + • monochrome or 2-color + • soft edges + • slightly rounded + +Examples: + • circle + arrow (live) + • wrench (tools) + • shield/plus (recovery) + +⸻ + +udos-retro + • pixel-style + • hard edges + • 1-bit or low color (2–4 colors) + • classic Mac icon inspiration + +⸻ + +Typography + +Constraint + +GRUB has limited font support + +⸻ + +Recommended + • use: + • Unifont + • or bitmap-compatible fonts + +⸻ + +Sizes + +Use Size +Title 18–20 +Menu items 14–16 +Footer text 11–12 + + +⸻ + +Color Tokens + +Define consistent tokens per theme. + +⸻ + +udos-modern + +BACKGROUND_PRIMARY = #1e1e1e +TEXT_PRIMARY = #f4f4f4 +TEXT_SECONDARY = #c8c8c8 +MENU_ITEM = #dddddd +MENU_SELECTED_TEXT = #101010 +ACCENT = #8ab4f8 + + +⸻ + +udos-retro + +BACKGROUND_PRIMARY = #c0c0c0 +TEXT_PRIMARY = #000000 +TEXT_SECONDARY = #222222 +MENU_ITEM = #000000 +MENU_SELECTED_TEXT = #ffffff +ACCENT = #000080 + + +⸻ + +Layout Tokens + +These must align with theme.txt + +⸻ + +Menu Block + +LEFT: 6–8% +TOP: 14–18% +WIDTH: 45–50% +HEIGHT: 60–66% + + +⸻ + +Item Sizing + +ITEM_HEIGHT: 28–32px +ITEM_PADDING: 6–8px +ITEM_SPACING: 2–4px +ICON_SPACING: 8–12px + + +⸻ + +Theme Config Contract (theme.txt) + +Must include: + • desktop-image + • boot_menu + • label (title) + • label (footer) + • hbox with @VTOY_GRUB2_MODE@ + +⸻ + +Asset Naming Rules + +Strict: + • lowercase only + • underscores only + • no spaces + • no versioning in filenames + +⸻ + +Performance Constraints + • keep total theme size < 5MB + • avoid large textures + • avoid transparency-heavy overlays + • optimise PNGs + +⸻ + +Fallback Behaviour + +If assets fail: + • GRUB falls back to basic UI + • therefore: + • no critical info should exist only in images + +⸻ + +Future Extensions (v2.1+) + +Planned: + • animated boot splash (plymouth sync) + • multiple theme packs downloadable via ss + • dynamic theme switching per device/profile + • uHOME-linked theme sync + +⸻ + +Summary + +This spec ensures: + • consistent visual identity across all uDOS boot devices + • clean separation of assets vs logic + • fast, reliable boot rendering + • easy theme swapping and expansion + +⸻ + +Final Position + +uDOS-ventoy themes are not decoration +they are the first layer of the uDOS experience + +⸻ + +If you want next step, I can: + +👉 generate a ready-to-use asset pack (placeholders + correct dimensions) +👉 or define the ss build step that auto-generates themes + config onto the stick \ No newline at end of file diff --git a/@dev/inbox/briefs/uhome_v_2_streaming_brief.md b/@dev/inbox/briefs/uhome_v_2_streaming_brief.md new file mode 100644 index 0000000..10d1503 --- /dev/null +++ b/@dev/inbox/briefs/uhome_v_2_streaming_brief.md @@ -0,0 +1,374 @@ +uHOME-server — Local Rewind Channel Delivery Brief + +Purpose + +uHOME-server should be able to ingest, normalise, and locally redistribute lightweight “always-on” media channels to: + • uHOME-client on kiosk / TV / lounge devices + • uHOME Android app + • uHOME iOS app + +For this use case, the initial target channels are: + • MTV Rewind — an always-on music video channel experience, positioned as ad-free, no-login, and backed by YouTube-hosted video embeds. + • Cartoon Rewind — an always-on classic cartoon channel experience, also positioned as free and embedded from YouTube rather than self-hosted media. + +uHOME-server does not need to become a public CDN or a pirate media host. Its job is to act as a local network relay, controller, cache coordinator, and playback abstraction layer for approved household devices. + +⸻ + +Core Principle + +uHOME-server owns local delivery orchestration, not channel ownership. + +That means: + • the upstream channel remains the source of truth + • uHOME-server handles household-safe distribution + • clients connect to uHOME-server first, not directly to the public site in normal use + • the system preserves a “TV channel” feel across the local network + +The goal is to make these web-native channels feel like native uHOME broadcast surfaces. + +⸻ + +Target Experience + +A user should be able to: + • open uHOME-client + • see Music TV and Cartoon TV as local channels + • start playback instantly on the current device + • hand off the same channel to another room or device + • keep a shared household channel state where appropriate + • optionally run one channel as ambient background audio/video across the home + +This should feel closer to a home media tuner than a web browser bookmark. + +⸻ + +Delivery Model + +uHOME-server should support two delivery channels for each source: + +1. Video Channel + +Full video + audio stream for: + • kiosks + • wall tablets + • lounge displays + • mobile/tablet apps when foregrounded + +2. Audio-First Channel + +Audio-priority stream or low-bandwidth mode for: + • phones in background mode + • passive listening devices + • low-power clients + • whole-home “radio style” playback + +For MTV-style sources this is especially useful, since users may want the music feed without needing full video on every device. + +⸻ + +Architectural Role of uHOME-server + +uHOME-server should provide five responsibilities. + +A. Source Adapter Layer + +A source adapter wraps each upstream channel and translates it into uHOME-native playback metadata. + +For these first two channels, the adapter should capture: + • source identity + • title + • artwork / icon + • current playback state + • upstream player URL + • media mode: video, audio-video, or audio-first + • policy flags + • local compatibility notes + +Example logical adapters: + • channel.rewind.mtv + • channel.rewind.cartoons + +B. Session Controller + +The server maintains local playback sessions such as: + • living room session + • kitchen session + • bedroom session + • personal mobile session + +This allows: + • join current session + • create isolated session + • sync playback + • resume recent channel + • move playback between devices + +C. Local Stream Gateway + +uHOME-server should expose a local network playback endpoint that clients consume instead of loading the raw site directly every time. + +This gateway may operate in three modes: + • web passthrough mode +embedded local wrapper around the upstream player + • proxy-assisted mode +local reverse proxy and sanitised embed shell + • transcoded relay mode +optional future mode for converting source playback into a more TV-like LAN stream where technically and legally appropriate + +For v2, the recommended baseline is web passthrough + proxy-assisted mode, not full restreaming by default. + +D. Metadata + EPG Layer + +uHOME-server should present these channels like proper TV entries: + • channel number + • channel name + • description + • current now-playing + • source badge + • content type + • age/profile flags + • available actions + +This enables the same channels to appear consistently in: + • uHOME-client channel guide + • Android app + • iOS app + • remote controls / gamepad navigation + • future uHOME voice or automation surfaces + +E. Policy / Safety Layer + +Because both sources rely on third-party hosted video, uHOME-server must apply a household policy layer before exposure to clients. + +This includes: + • admin enable/disable per channel + • profile restrictions + • child-safe visibility rules + • device-level access rules + • local-only access enforcement + • upstream health checks + • fallback messaging when upstream fails + +⸻ + +Recommended v2 Channel Object + +Each delivered channel should be normalised into a shared object model. + +channel_id: channel.rewind.mtv +title: MTV Rewind +kind: linear-stream +delivery_modes: + - video + - audio_first +source: + type: web-embedded + upstream_url: https://wantmymtv.xyz/player.html + upstream_provider: Rewind Me TV +network_scope: local +session_modes: + - shared-house + - personal +controls: + - play + - pause + - mute + - volume + - next + - previous + - move-to-device +policy: + admin_enabled: true + profile_gate: optional + recordable: false + offline_cache: metadata-only +ui: + hero_art: local + icon: local + guide_label: Music TV + +Equivalent object: + +channel_id: channel.rewind.cartoons +title: Cartoon Rewind +kind: linear-stream +delivery_modes: + - video + - audio_first +source: + type: web-embedded + upstream_url: https://cartoonrewind.tv/player.html + upstream_provider: Rewind Me TV +network_scope: local +session_modes: + - shared-house + - personal +controls: + - play + - pause + - mute + - volume + - move-to-device +policy: + admin_enabled: true + profile_gate: optional + recordable: false + offline_cache: metadata-only +ui: + hero_art: local + icon: local + guide_label: Cartoon TV + + +⸻ + +Client Delivery Expectations + +uHOME-client + +uHOME-client should be the strongest “TV surface”. + +It should support: + • full-screen 10-foot UI + • remote/gamepad navigation + • instant channel switching + • now-playing overlay + • ambient playback mode + • household shared session mode + +This is the primary destination for these channels. + +Android App + +The Android app should support: + • local discovery of uHOME-server + • direct playback from server session endpoint + • cast / handoff to kiosk or TV client + • picture-in-picture where supported + • audio-background mode for music channels + • quick launch widgets for favourite channels + +iOS App + +The iOS app should support: + • local discovery of uHOME-server + • direct playback from server session endpoint + • handoff to active household session + • audio-first playback mode + • simple remote-control mode for shared screens + +⸻ + +UX Positioning + +These channels should not appear as “open website”. +They should appear as: + • Music TV + • Cartoon TV + +with optional detail showing source attribution. + +That keeps uHOME coherent and avoids dumping users into raw browser UX. + +Recommended guide presentation: + • Channel 21 — Music TV + • Channel 22 — Cartoon TV + +Optional subtitle: + • “Powered by Rewind channel adapter” + +⸻ + +Networking Model + +uHOME-server should treat this as a LAN-first service. + +Required + • mDNS / local discovery + • local HTTP(S) service + • authenticated household pairing + • per-device capability negotiation + +Preferred + • local websocket state sync + • adaptive bandwidth mode + • session persistence + • low-latency control relay + +Avoid by default + • public internet exposure of the home relay + • unrestricted WAN rebroadcast + • permanent restreaming copies of third-party media + +⸻ + +Legal / Platform Boundary + +Both referenced services explicitly describe themselves as non-commercial archival projects and state that content is embedded from YouTube rather than hosted directly by them. + +So the uHOME-server brief should assume: + • no claim of ownership over source media + • no bulk downloading as default behaviour + • no permanent media mirroring + • no public redistribution layer + • metadata caching is acceptable + • playback should remain tied to lawful, household-local access patterns + +For v2, the safest architecture is: + • local wrapper + • local control plane + • local session sync + • no default archival ingest of the actual media files + +⸻ + +Recommended v2 Implementation Stages + +Stage 1 — Wrapped Local Playback + +Deliver quickly with: + • channel registry + • local guide entries + • embedded local playback shell + • session state sync + • Android/iOS/client playback handoff + +Stage 2 — Smart Relay Layer + +Add: + • local reverse proxy + • sanitised embed handling + • bandwidth mode switching + • audio-first mode + • health/failure monitoring + +Stage 3 — Full Home Broadcast UX + +Add: + • shared “currently on” household channel mode + • favourites and presets + • scheduled autoplay + • automation hooks + • room-based session routing + • local channel guide / pseudo-EPG + +⸻ + +Recommended v2 Boundary Statement + +uHOME-server is a local media orchestration layer for household-approved web-native channels. +It does not replace the upstream service, and it does not act as a public rebroadcaster. +Its purpose is to convert approved internet channels into stable, controllable, room-aware uHOME playback surfaces for uHOME-client and mobile apps. + +⸻ + +Final Recommendation + +For uDOS v2 / uHOME: + • treat these two sources as adapter-backed local channels + • deliver them through uHOME-server + • expose them as LAN-native TV services + • support both video mode and audio-first mode + • keep the initial implementation wrapper/proxy based, not full media restreaming + • make uHOME-client the premium TV surface, with Android/iOS as companion and personal playback surfaces diff --git a/@dev/notes/reports/roadmap-status-2026-03-17-163925.md b/@dev/notes/reports/roadmap-status-2026-03-17-163925.md new file mode 100644 index 0000000..d320c2f --- /dev/null +++ b/@dev/notes/reports/roadmap-status-2026-03-17-163925.md @@ -0,0 +1,320 @@ +# Roadmap Status Report + +- generated: 2026-03-17-163925 +- source roadmap: /Users/fredbook/Code/uDOS-dev/@dev/notes/roadmap/v2-family-roadmap.md +- source status: /Users/fredbook/Code/uDOS-dev/@dev/notes/roadmap/v2-roadmap-status.md + +## Baseline + + +- tranche bootstrap workflow: completed +- current roadmap mode: version rounds +- validation path: `scripts/run-roadmap-status.sh` + + +## Version Rounds + +| Version | Round | Status | Owner | Active binder | Notes | +| --- | --- | --- | --- | --- | --- | +| `v2.0.1` | Round A: contract lock and repo framing | completed | `family` | `#binder/dev-v2-development-roadmap` | Repo boundaries, activation docs, release policy, and version-round planning are in place. | +| `v2.0.1` | Round B: runnable platform spine | completed | `family` | `#binder/family-v2-0-1-empire-wizard-release-gate` | Shared foundation, product consumption, adapter targeting, local-app integration, live-service smokes, and hardened client/server plus empire/wizard release gates are now in place. | +| `v2.0.1` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-1-foundation-promotion` | Promotion checklist, tagged-repo scope, family release summary, and workspace-state cleanup are now in place. | +| `v2.0.2` | Round A: shared runtime service contracts | completed | `uDOS-core` | `#binder/core-v2-0-2-runtime-services` | Core publishes the shared runtime-services artifact and all current Shell, Wizard, Client, plus Empire consumers now load the same contract source. | +| `v2.0.2` | Round B: product rebuild and shared features | completed | `family` | `#binder/family-v2-0-2-product-rebuild` | Product rebuild work across client/server and empire/wizard lanes is complete for the first working-system pass, including shared Wizard dispatch, workflow-plan, and callback/result reporting paths. | +| `v2.0.2` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-2-release-pass` | Promotion checklist, release scope, family summary, packaged Wizard contract export, and persisted result-store decision are now in place for the first working-system pass. | +| `v2.0.3` | Round A: integration contract hardening | completed | `uDOS-core` | `#binder/core-v2-0-3-integration-contracts` | Config, state, seed, and secret ownership is locked. Family alignment doc is the canonical reference. `uDOS-grid` activated as the spatial identity lane with contracts, seed data, and test coverage. Shell config surface aligned. | +| `v2.0.3` | Round B: sync bridges and product alignment | completed | `family` | `#binder/family-v2-0-3-sync-alignment` | Grid consumed by Shell, Wizard, and Gameplay without ownership transfer. Sync envelope ingest, dispatch routes, client runtime profile refactor, Empire ops containers, and uHOME-matter activation complete. Family config/state language aligned across all active repos. | +| `v2.0.3` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-3-release-pass` | 363 tests passing across 8 repos. Agent-assist instructions created. v2.0.3 tags cut on all 17 repos. Round complete. | +| `v2.0.4` | Round A: Wizard networking boundary lock | completed | `uDOS-wizard` | `#binder/wizard-v2-0-4-network-boundaries` | Accepted 2026-03-16. Shell → Wizard live handoffs complete. Sibling route set, secret-backed bridge lanes, OK agent contract layer, MCP ↔ VS Code design note, Dev fixture scaffolds, household networking policy artifact, and language/runtime spec fully integrated into canonical architecture docs and Core contracts. | +| `v2.0.4` | Round B: secret-backed family bridge rollout | completed | `family` | `#binder/family-v2-0-4-wizard-networking` | Secret-backed networking bridges, uHOME-server fulfillment, uHOME-empire provider/webhook networking, and operator quickstart/bridge test rounds are complete. All exit criteria met and staged follow-up binders opened. | +| `v2.0.4` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-4-release-pass` | All validation and promotion criteria met. Networking release reporting complete. v2.0.4 tagged and promoted. | +| `v2.0.5` | Round A: Core spatial vocabulary lock | completed | `uDOS-core` | `#binder/core-spatial-support-planning` | PlaceRef vocabulary, file/artifact location fields, and minimum spatial conditions defined. Boundaries with Grid and Gameplay documented. | +| `v2.0.5` | Round B: Core spatial contract lift | completed | `uDOS-core` | `#binder/core-v2-0-5-spatial-contract-lift` | PlaceRef contract, documentation, and validation tests published in Core. Sibling repos notified to update usage. No datasets or registries added to Core. | +| `v2.0.5` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-5-release-pass` | Validation complete: PlaceRef contract tests pass in Core, roadmap report generated, and sibling repo coordination requests issued. | +| `v2.0.6` | Round A: Ubuntu and Ventoy family activation | in-progress | `family` | `#binder/family-v2-0-6-ubuntu-ventoy-activation` | New public repos `uDOS-ubuntu` and `uDOS-ventoy` are scaffolded from promoted inbox briefs, with roadmap and governance alignment now active. | +| `v2.0.6` | Round B: Sonic integration and profile wiring | pending | `sonic-screwdriver` | `#binder/sonic-v2-0-6-ubuntu-ventoy-integration` | Wire Sonic init/add/update flows to consume uDOS-ventoy templates and uDOS-ubuntu profile metadata while preserving boundary ownership. | +| `v2.0.6` | Round C: validation and promotion | pending | `uDOS-dev` | `#binder/dev-v2-0-6-release-pass` | Validate the first Ubuntu and Ventoy activation cycle, generate promotion notes, and prepare release handoff. | + + +## Current Focus + +- active version: `v2.0.6` +- active round: `Round A: Ubuntu and Ventoy family activation (in-progress)` +- active binder: `#binder/family-v2-0-6-ubuntu-ventoy-activation` +- validation path: `scripts/run-roadmap-status.sh` +- blockers: none +- round A active: 2026-03-17 — uDOS-ubuntu and uDOS-ventoy repo activation, brief promotion, and governance alignment +- round B queued: Sonic profile and boot-template integration +- round C queued: release validation and promotion handoff +- next lane: complete Sonic integration criteria for v2.0.6 Round B + + +## Recent Outputs + +- `#binder/wizard-v2-0-4-network-boundaries` +- `#binder/dev-v2-0-4-language-runtime-spec` (language/runtime spec integration — arch docs 14/15, Core contracts ucode-verb + script-document) +- grid spatial specs integrated: `uDOS-grid/docs/seed-layer-data.md` and `spatial-runtime.md` expanded; 5-domain seed registry landed +- uHOME v2 master spec integrated: `uHOME-server/docs/architecture.md` expanded with kiosk, Jellyfin, networking modes, extension model +- 6 inbox briefs promoted to triage (grid spatial brief v2, grid spatial runtime contract, grid spatial security and gameplay link, uHOME v2 master spec, uHOME v2 empire, uDOS seed layer data) +- `#binder/dev-v2-0-4-wizard-core-grid-spec-routing` +- `#binder/dev-v2-0-4-wizard-quickstart-test-round` +- `#binder/dev-v2-0-4-uhome-bridge-test-round` +- `#binder/dev-v2-0-3-release-pass` +- `#binder/family-v2-0-3-grid-consumption` +- `#binder/dev-v2-development-roadmap` +- `#binder/dev-v2-0-1-foundation-promotion` +- `#binder/core-v2-0-2-runtime-services` +- `#binder/family-v2-0-2-product-rebuild` +- `#binder/family-v2-0-1-empire-wizard-release-gate` +- `#binder/family-v2-0-1-client-server-release-gate` +- `#binder/family-v2-0-1-live-service-smoke` +- `#binder/family-v2-0-1-local-app-integration` +- `#binder/family-v2-0-1-adapter-target-integration` +- `#binder/family-v2-0-1-product-runnable-consumption` +- `#binder/family-v2-0-1-product-contract-alignment` +- `#binder/family-v2-0-1-registry-theme-foundation` +- `#binder/dev-roadmap-workflow` +- `#binder/dev-brief-routing-promotion` +- `#binder/dev-archive-recovery-roadmap` +- `#binder/release-surfaces-bootstrap` +- `#binder/tranche-4-repo-activation-complete` +- `#binder/themes-activation` +- `#binder/uhome-empire-activation` +- `#binder/gameplay-activation` +- `#binder/uhome-client-activation` +- `#binder/plugin-index-activation` +- `#binder/alpine-activation` +- `#binder/docs-activation` +- `#binder/sonic-activation` +- `#binder/uhome-server-activation` +- `#binder/wizard-activation` +- `#binder/core-contract-enforcement` +- `#binder/shell-activation` +- `#binder/dev-public-reference-consistency` +- `#binder/dev-public-structure-normalization` +- `#binder/family-v2-0-6-ubuntu-ventoy-activation` + +## Active Roadmap Requests + +- binder-alpine-activation.md +- binder-core-contract-enforcement.md +- binder-core-spatial-support-planning.md +- binder-core-v2-0-1-foundation-spine.md +- binder-core-v2-0-2-runtime-services.md +- binder-dev-archive-recovery-roadmap.md +- binder-dev-brief-routing-promotion.md +- binder-dev-public-reference-consistency.md +- binder-dev-public-structure-normalization.md +- binder-dev-roadmap-workflow.md +- binder-dev-v2-0-1-foundation-promotion.md +- binder-dev-v2-0-2-release-pass.md +- binder-dev-v2-0-3-release-pass.md +- binder-dev-v2-0-4-uhome-bridge-test-round.md +- binder-dev-v2-0-4-wizard-core-grid-spec-routing.md +- binder-dev-v2-0-4-wizard-quickstart-test-round.md +- binder-dev-v2-0-5-release-pass.md +- binder-dev-v2-0-6-release-pass.md +- binder-dev-v2-development-roadmap.md +- binder-docs-activation.md +- binder-family-v2-0-1-adapter-target-integration.md +- binder-family-v2-0-1-client-server-release-gate.md +- binder-family-v2-0-1-empire-wizard-release-gate.md +- binder-family-v2-0-1-live-service-smoke.md +- binder-family-v2-0-1-local-app-integration.md +- binder-family-v2-0-1-product-contract-alignment.md +- binder-family-v2-0-1-product-runnable-consumption.md +- binder-family-v2-0-1-registry-theme-foundation.md +- binder-family-v2-0-2-product-rebuild.md +- binder-family-v2-0-3-grid-consumption.md +- binder-family-v2-0-4-wizard-networking.md +- binder-family-v2-0-6-ubuntu-ventoy-activation.md +- binder-gameplay-activation.md +- binder-grid-activation.md +- binder-plugin-index-activation.md +- binder-release-surfaces-bootstrap.md +- binder-shell-activation.md +- binder-sonic-activation.md +- binder-sonic-v2-0-4-uhome-contract-conformance.md +- binder-sonic-v2-0-6-ubuntu-ventoy-integration.md +- binder-themes-activation.md +- binder-tranche-4-repo-activation-complete.md +- binder-uhome-client-activation.md +- binder-uhome-empire-activation.md +- binder-uhome-empire-v2-0-4-pack-lane-expansion.md +- binder-uhome-server-activation.md +- binder-uhome-server-v2-0-4-runtime-gap-pass.md +- binder-uhome-v2-architecture-alignment.md +- binder-wizard-activation.md +- binder-wizard-v2-0-4-network-boundaries.md +- binder-wizard-v2-0-4-uhome-policy-handoff.md + +## Active Roadmap Submissions + +- submission-alpine-activation-tranche-1.md +- submission-core-contract-enforcement-tranche-1.md +- submission-core-v2-0-2-runtime-services-round-1.md +- submission-core-v2-0-2-runtime-services-round-a-complete.md +- submission-dev-brief-routing-promotion-tranche-1.md +- submission-dev-brief-routing-promotion-tranche-2.md +- submission-dev-public-reference-consistency-tranche-1.md +- submission-dev-public-structure-normalization-tranche-1.md +- submission-dev-public-structure-normalization-tranche-2.md +- submission-dev-roadmap-workflow-tranche-1.md +- submission-dev-v2-0-1-foundation-promotion-round-1.md +- submission-dev-v2-0-2-release-pass-round-1.md +- submission-dev-v2-0-2-release-pass-round-2.md +- submission-dev-v2-0-2-release-pass-round-c-complete.md +- submission-dev-v2-0-3-promotion-notes.md +- submission-dev-v2-0-4-language-runtime-spec-round-1.md +- submission-dev-v2-0-4-uhome-bridge-test-round-1.md +- submission-dev-v2-0-4-wizard-core-grid-spec-routing-round-1.md +- submission-dev-v2-0-4-wizard-core-grid-spec-routing-round-2.md +- submission-dev-v2-0-4-wizard-quickstart-test-round-1.md +- submission-dev-v2-0-5-release-pass-round-c-complete.md +- submission-dev-v2-development-roadmap-tranche-1.md +- submission-dev-v2-version-round-roadmap-round-1.md +- submission-docs-activation-tranche-1.md +- submission-family-v2-0-1-adapter-target-integration-round-1.md +- submission-family-v2-0-1-client-server-release-gate-round-1.md +- submission-family-v2-0-1-empire-wizard-release-gate-round-1.md +- submission-family-v2-0-1-live-service-smoke-round-1.md +- submission-family-v2-0-1-local-app-integration-round-1.md +- submission-family-v2-0-1-product-contract-alignment-round-1.md +- submission-family-v2-0-1-product-runnable-consumption-round-1.md +- submission-family-v2-0-1-registry-theme-foundation-round-1.md +- submission-family-v2-0-2-product-rebuild-round-1.md +- submission-gameplay-activation-tranche-1.md +- submission-plugin-index-activation-tranche-1.md +- submission-release-surfaces-bootstrap-tranche-1.md +- submission-release-surfaces-bootstrap-tranche-2.md +- submission-release-surfaces-bootstrap-tranche-3.md +- submission-release-surfaces-bootstrap-tranche-4.md +- submission-release-surfaces-bootstrap-tranche-5.md +- submission-release-surfaces-bootstrap-tranche-6.md +- submission-shell-activation-tranche-1.md +- submission-sonic-activation-tranche-1.md +- submission-sonic-v2-0-4-uhome-contract-conformance-round-1.md +- submission-themes-activation-tranche-1.md +- submission-tranche-4-repo-activation-complete.md +- submission-uhome-client-activation-tranche-1.md +- submission-uhome-empire-activation-tranche-1.md +- submission-uhome-empire-v2-0-4-pack-lane-expansion-round-1.md +- submission-uhome-server-activation-tranche-1.md +- submission-uhome-server-v2-0-4-runtime-gap-pass-round-1.md +- submission-wizard-activation-tranche-1.md +- submission-wizard-v2-0-4-uhome-policy-handoff-round-1.md + +## Roadmap Summary + +# v2 Family Roadmap + +Status: active +Updated: 2026-03-17 + +## Purpose + +This is the canonical live roadmap for the uDOS v2 repo family. + +Use this file as the roadmap entrypoint inside `uDOS-dev/@dev`. Keep stable +process guidance in `docs/`, but keep active sequencing, round notes, and +current references in `@dev/notes/roadmap/`. + +## Canonical Roadmap Surfaces + +- `v2-family-roadmap.md` +- `v2-roadmap-status.md` +- `v2.0.3-rounds.md` +- `v2.0.3-seed-config-inventory.md` +- `v2.0.3-defaults-vs-examples-rule.md` +- `v2.0.4-rounds.md` +- `v2.0.5-rounds.md` +- `v2.0.6-rounds.md` + +## Family Tree Check + +The current family tree aligns to the active public/private split: + +### Public runtime and governance repos + +- `uDOS-core` +- `uDOS-shell` +- `uDOS-grid` +- `uDOS-wizard` +- `uDOS-dev` +- `uDOS-docs` +- `uDOS-plugin-index` +- `uDOS-themes` +- `uDOS-alpine` +- `uDOS-ubuntu` +- `uDOS-ventoy` +- `uDOS-gameplay` +- `sonic-screwdriver` +- `uHOME-server` +- `uHOME-client` +- `uHOME-empire` +- `uHOME-matter` +- `uHOME-app-android` +- `uHOME-app-ios` + +### Private aligned repo + +- `omd-mac-osx-app` + +### Planned but not yet active public repo + +- `uHOME-macos-app` + +Canonical topology reference: + +- `/Users/fredbook/Code/uDOS-dev/docs/repo-family-map.md` + +## Current Family Baseline + +- active family version-round: `v2.0.6` +- active round: `Round A: Ubuntu and Ventoy family activation (in-progress)` +- live status ledger: `v2-roadmap-status.md` +- next heavy future lane: `v2.0.6` Sonic integration and validation sequencing + +## Version Round Index + +### `v2.0.1` + +- status: completed +- summary class: platform reset and skeleton rebuild +- historical detail remains in `docs/development-roadmap.md` + +### `v2.0.2` + +- status: completed +- summary class: shared runtime and first working-system rebuild +- historical detail remains in `docs/development-roadmap.md` + +### `v2.0.3` + +- status: completed +- summary class: integration contracts, config/state alignment, sync bridges, + spatial activation, and product alignment +- active detail: `v2.0.3-rounds.md` + +### `v2.0.4` + +- status: completed +- summary class: Wizard-owned secret-backed networking bridges +- active detail: `v2.0.4-rounds.md` + +### `v2.0.5` + +- status: completed +- summary class: Core-supported spatial vocabulary and file-location contracts +- active detail: `v2.0.5-rounds.md` + +### `v2.0.6` + +- status: in-progress +- summary class: Ubuntu base image and Ventoy boot-platform family activation +- active detail: `v2.0.6-rounds.md` + +## Rule + +When roadmap detail becomes operational, move it here into `@dev/notes/roadmap/` +and keep `docs/` as the stable explanatory layer. diff --git a/@dev/notes/reports/roadmap-status-2026-03-17-222205.md b/@dev/notes/reports/roadmap-status-2026-03-17-222205.md new file mode 100644 index 0000000..16c187c --- /dev/null +++ b/@dev/notes/reports/roadmap-status-2026-03-17-222205.md @@ -0,0 +1,321 @@ +# Roadmap Status Report + +- generated: 2026-03-17-222205 +- source roadmap: /Users/fredbook/Code/uDOS-dev/@dev/notes/roadmap/v2-family-roadmap.md +- source status: /Users/fredbook/Code/uDOS-dev/@dev/notes/roadmap/v2-roadmap-status.md + +## Baseline + + +- tranche bootstrap workflow: completed +- current roadmap mode: version rounds +- validation path: `scripts/run-roadmap-status.sh` + + +## Version Rounds + +| Version | Round | Status | Owner | Active binder | Notes | +| --- | --- | --- | --- | --- | --- | +| `v2.0.1` | Round A: contract lock and repo framing | completed | `family` | `#binder/dev-v2-development-roadmap` | Repo boundaries, activation docs, release policy, and version-round planning are in place. | +| `v2.0.1` | Round B: runnable platform spine | completed | `family` | `#binder/family-v2-0-1-empire-wizard-release-gate` | Shared foundation, product consumption, adapter targeting, local-app integration, live-service smokes, and hardened client/server plus empire/wizard release gates are now in place. | +| `v2.0.1` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-1-foundation-promotion` | Promotion checklist, tagged-repo scope, family release summary, and workspace-state cleanup are now in place. | +| `v2.0.2` | Round A: shared runtime service contracts | completed | `uDOS-core` | `#binder/core-v2-0-2-runtime-services` | Core publishes the shared runtime-services artifact and all current Shell, Wizard, Client, plus Empire consumers now load the same contract source. | +| `v2.0.2` | Round B: product rebuild and shared features | completed | `family` | `#binder/family-v2-0-2-product-rebuild` | Product rebuild work across client/server and empire/wizard lanes is complete for the first working-system pass, including shared Wizard dispatch, workflow-plan, and callback/result reporting paths. | +| `v2.0.2` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-2-release-pass` | Promotion checklist, release scope, family summary, packaged Wizard contract export, and persisted result-store decision are now in place for the first working-system pass. | +| `v2.0.3` | Round A: integration contract hardening | completed | `uDOS-core` | `#binder/core-v2-0-3-integration-contracts` | Config, state, seed, and secret ownership is locked. Family alignment doc is the canonical reference. `uDOS-grid` activated as the spatial identity lane with contracts, seed data, and test coverage. Shell config surface aligned. | +| `v2.0.3` | Round B: sync bridges and product alignment | completed | `family` | `#binder/family-v2-0-3-sync-alignment` | Grid consumed by Shell, Wizard, and Gameplay without ownership transfer. Sync envelope ingest, dispatch routes, client runtime profile refactor, Empire ops containers, and uHOME-matter activation complete. Family config/state language aligned across all active repos. | +| `v2.0.3` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-3-release-pass` | 363 tests passing across 8 repos. Agent-assist instructions created. v2.0.3 tags cut on all 17 repos. Round complete. | +| `v2.0.4` | Round A: Wizard networking boundary lock | completed | `uDOS-wizard` | `#binder/wizard-v2-0-4-network-boundaries` | Accepted 2026-03-16. Shell → Wizard live handoffs complete. Sibling route set, secret-backed bridge lanes, OK agent contract layer, MCP ↔ VS Code design note, Dev fixture scaffolds, household networking policy artifact, and language/runtime spec fully integrated into canonical architecture docs and Core contracts. | +| `v2.0.4` | Round B: secret-backed family bridge rollout | completed | `family` | `#binder/family-v2-0-4-wizard-networking` | Secret-backed networking bridges, uHOME-server fulfillment, uHOME-empire provider/webhook networking, and operator quickstart/bridge test rounds are complete. All exit criteria met and staged follow-up binders opened. | +| `v2.0.4` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-4-release-pass` | All validation and promotion criteria met. Networking release reporting complete. v2.0.4 tagged and promoted. | +| `v2.0.5` | Round A: Core spatial vocabulary lock | completed | `uDOS-core` | `#binder/core-spatial-support-planning` | PlaceRef vocabulary, file/artifact location fields, and minimum spatial conditions defined. Boundaries with Grid and Gameplay documented. | +| `v2.0.5` | Round B: Core spatial contract lift | completed | `uDOS-core` | `#binder/core-v2-0-5-spatial-contract-lift` | PlaceRef contract, documentation, and validation tests published in Core. Sibling repos notified to update usage. No datasets or registries added to Core. | +| `v2.0.5` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-5-release-pass` | Validation complete: PlaceRef contract tests pass in Core, roadmap report generated, and sibling repo coordination requests issued. | +| `v2.0.6` | Round A: Ubuntu and Ventoy family activation | completed | `family` | `#binder/family-v2-0-6-ubuntu-ventoy-activation` | Ubuntu and Ventoy repo activation is complete: scaffolded surfaces, governance alignment, and Round B handoff lane are in place. | +| `v2.0.6` | Round B: Sonic integration and profile wiring | completed | `sonic-screwdriver` | `#binder/sonic-v2-0-6-ubuntu-ventoy-integration` | Sonic now ships init/add/update/theme wiring against Ventoy templates and Ubuntu profile metadata, plus Linux smoke checks, preflight hook, and CI lane coverage. | +| `v2.0.6` | Round C: validation and promotion | in-progress | `uDOS-dev` | `#binder/dev-v2-0-6-release-pass` | Round C opened after Round B completion. Next: run family validation report, prepare promotion notes, and stage release handoff artifacts. | + + +## Current Focus + +- active version: `v2.0.6` +- active round: `Round C: validation and promotion (in-progress)` +- active binder: `#binder/dev-v2-0-6-release-pass` +- validation path: `scripts/run-roadmap-status.sh` +- blockers: none +- round A complete: 2026-03-17 — uDOS-ubuntu and uDOS-ventoy activation and governance alignment +- round B complete: 2026-03-17 — Sonic integration, smoke checks, and CI lane wiring +- round C active: release validation and promotion handoff +- next lane: execute release-pass validation and promotion criteria for v2.0.6 + + +## Recent Outputs + +- `#binder/wizard-v2-0-4-network-boundaries` +- `#binder/dev-v2-0-4-language-runtime-spec` (language/runtime spec integration — arch docs 14/15, Core contracts ucode-verb + script-document) +- grid spatial specs integrated: `uDOS-grid/docs/seed-layer-data.md` and `spatial-runtime.md` expanded; 5-domain seed registry landed +- uHOME v2 master spec integrated: `uHOME-server/docs/architecture.md` expanded with kiosk, Jellyfin, networking modes, extension model +- 6 inbox briefs promoted to triage (grid spatial brief v2, grid spatial runtime contract, grid spatial security and gameplay link, uHOME v2 master spec, uHOME v2 empire, uDOS seed layer data) +- `#binder/dev-v2-0-4-wizard-core-grid-spec-routing` +- `#binder/dev-v2-0-4-wizard-quickstart-test-round` +- `#binder/dev-v2-0-4-uhome-bridge-test-round` +- `#binder/dev-v2-0-3-release-pass` +- `#binder/family-v2-0-3-grid-consumption` +- `#binder/dev-v2-development-roadmap` +- `#binder/dev-v2-0-1-foundation-promotion` +- `#binder/core-v2-0-2-runtime-services` +- `#binder/family-v2-0-2-product-rebuild` +- `#binder/family-v2-0-1-empire-wizard-release-gate` +- `#binder/family-v2-0-1-client-server-release-gate` +- `#binder/family-v2-0-1-live-service-smoke` +- `#binder/family-v2-0-1-local-app-integration` +- `#binder/family-v2-0-1-adapter-target-integration` +- `#binder/family-v2-0-1-product-runnable-consumption` +- `#binder/family-v2-0-1-product-contract-alignment` +- `#binder/family-v2-0-1-registry-theme-foundation` +- `#binder/dev-roadmap-workflow` +- `#binder/dev-brief-routing-promotion` +- `#binder/dev-archive-recovery-roadmap` +- `#binder/release-surfaces-bootstrap` +- `#binder/tranche-4-repo-activation-complete` +- `#binder/themes-activation` +- `#binder/uhome-empire-activation` +- `#binder/gameplay-activation` +- `#binder/uhome-client-activation` +- `#binder/plugin-index-activation` +- `#binder/alpine-activation` +- `#binder/docs-activation` +- `#binder/sonic-activation` +- `#binder/uhome-server-activation` +- `#binder/wizard-activation` +- `#binder/core-contract-enforcement` +- `#binder/shell-activation` +- `#binder/dev-public-reference-consistency` +- `#binder/dev-public-structure-normalization` +- `#binder/family-v2-0-6-ubuntu-ventoy-activation` + +## Active Roadmap Requests + +- binder-alpine-activation.md +- binder-core-contract-enforcement.md +- binder-core-spatial-support-planning.md +- binder-core-v2-0-1-foundation-spine.md +- binder-core-v2-0-2-runtime-services.md +- binder-dev-archive-recovery-roadmap.md +- binder-dev-brief-routing-promotion.md +- binder-dev-public-reference-consistency.md +- binder-dev-public-structure-normalization.md +- binder-dev-roadmap-workflow.md +- binder-dev-v2-0-1-foundation-promotion.md +- binder-dev-v2-0-2-release-pass.md +- binder-dev-v2-0-3-release-pass.md +- binder-dev-v2-0-4-uhome-bridge-test-round.md +- binder-dev-v2-0-4-wizard-core-grid-spec-routing.md +- binder-dev-v2-0-4-wizard-quickstart-test-round.md +- binder-dev-v2-0-5-release-pass.md +- binder-dev-v2-0-6-release-pass.md +- binder-dev-v2-development-roadmap.md +- binder-docs-activation.md +- binder-family-v2-0-1-adapter-target-integration.md +- binder-family-v2-0-1-client-server-release-gate.md +- binder-family-v2-0-1-empire-wizard-release-gate.md +- binder-family-v2-0-1-live-service-smoke.md +- binder-family-v2-0-1-local-app-integration.md +- binder-family-v2-0-1-product-contract-alignment.md +- binder-family-v2-0-1-product-runnable-consumption.md +- binder-family-v2-0-1-registry-theme-foundation.md +- binder-family-v2-0-2-product-rebuild.md +- binder-family-v2-0-3-grid-consumption.md +- binder-family-v2-0-4-wizard-networking.md +- binder-family-v2-0-6-ubuntu-ventoy-activation.md +- binder-gameplay-activation.md +- binder-grid-activation.md +- binder-plugin-index-activation.md +- binder-release-surfaces-bootstrap.md +- binder-shell-activation.md +- binder-sonic-activation.md +- binder-sonic-v2-0-4-uhome-contract-conformance.md +- binder-sonic-v2-0-6-ubuntu-ventoy-integration.md +- binder-themes-activation.md +- binder-tranche-4-repo-activation-complete.md +- binder-uhome-client-activation.md +- binder-uhome-empire-activation.md +- binder-uhome-empire-v2-0-4-pack-lane-expansion.md +- binder-uhome-server-activation.md +- binder-uhome-server-v2-0-4-runtime-gap-pass.md +- binder-uhome-v2-architecture-alignment.md +- binder-wizard-activation.md +- binder-wizard-v2-0-4-network-boundaries.md +- binder-wizard-v2-0-4-uhome-policy-handoff.md + +## Active Roadmap Submissions + +- submission-alpine-activation-tranche-1.md +- submission-core-contract-enforcement-tranche-1.md +- submission-core-v2-0-2-runtime-services-round-1.md +- submission-core-v2-0-2-runtime-services-round-a-complete.md +- submission-dev-brief-routing-promotion-tranche-1.md +- submission-dev-brief-routing-promotion-tranche-2.md +- submission-dev-public-reference-consistency-tranche-1.md +- submission-dev-public-structure-normalization-tranche-1.md +- submission-dev-public-structure-normalization-tranche-2.md +- submission-dev-roadmap-workflow-tranche-1.md +- submission-dev-v2-0-1-foundation-promotion-round-1.md +- submission-dev-v2-0-2-release-pass-round-1.md +- submission-dev-v2-0-2-release-pass-round-2.md +- submission-dev-v2-0-2-release-pass-round-c-complete.md +- submission-dev-v2-0-3-promotion-notes.md +- submission-dev-v2-0-4-language-runtime-spec-round-1.md +- submission-dev-v2-0-4-uhome-bridge-test-round-1.md +- submission-dev-v2-0-4-wizard-core-grid-spec-routing-round-1.md +- submission-dev-v2-0-4-wizard-core-grid-spec-routing-round-2.md +- submission-dev-v2-0-4-wizard-quickstart-test-round-1.md +- submission-dev-v2-0-5-release-pass-round-c-complete.md +- submission-dev-v2-development-roadmap-tranche-1.md +- submission-dev-v2-version-round-roadmap-round-1.md +- submission-docs-activation-tranche-1.md +- submission-family-v2-0-1-adapter-target-integration-round-1.md +- submission-family-v2-0-1-client-server-release-gate-round-1.md +- submission-family-v2-0-1-empire-wizard-release-gate-round-1.md +- submission-family-v2-0-1-live-service-smoke-round-1.md +- submission-family-v2-0-1-local-app-integration-round-1.md +- submission-family-v2-0-1-product-contract-alignment-round-1.md +- submission-family-v2-0-1-product-runnable-consumption-round-1.md +- submission-family-v2-0-1-registry-theme-foundation-round-1.md +- submission-family-v2-0-2-product-rebuild-round-1.md +- submission-gameplay-activation-tranche-1.md +- submission-plugin-index-activation-tranche-1.md +- submission-release-surfaces-bootstrap-tranche-1.md +- submission-release-surfaces-bootstrap-tranche-2.md +- submission-release-surfaces-bootstrap-tranche-3.md +- submission-release-surfaces-bootstrap-tranche-4.md +- submission-release-surfaces-bootstrap-tranche-5.md +- submission-release-surfaces-bootstrap-tranche-6.md +- submission-shell-activation-tranche-1.md +- submission-sonic-activation-tranche-1.md +- submission-sonic-v2-0-4-uhome-contract-conformance-round-1.md +- submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md +- submission-themes-activation-tranche-1.md +- submission-tranche-4-repo-activation-complete.md +- submission-uhome-client-activation-tranche-1.md +- submission-uhome-empire-activation-tranche-1.md +- submission-uhome-empire-v2-0-4-pack-lane-expansion-round-1.md +- submission-uhome-server-activation-tranche-1.md +- submission-uhome-server-v2-0-4-runtime-gap-pass-round-1.md +- submission-wizard-activation-tranche-1.md +- submission-wizard-v2-0-4-uhome-policy-handoff-round-1.md + +## Roadmap Summary + +# v2 Family Roadmap + +Status: active +Updated: 2026-03-17 + +## Purpose + +This is the canonical live roadmap for the uDOS v2 repo family. + +Use this file as the roadmap entrypoint inside `uDOS-dev/@dev`. Keep stable +process guidance in `docs/`, but keep active sequencing, round notes, and +current references in `@dev/notes/roadmap/`. + +## Canonical Roadmap Surfaces + +- `v2-family-roadmap.md` +- `v2-roadmap-status.md` +- `v2.0.3-rounds.md` +- `v2.0.3-seed-config-inventory.md` +- `v2.0.3-defaults-vs-examples-rule.md` +- `v2.0.4-rounds.md` +- `v2.0.5-rounds.md` +- `v2.0.6-rounds.md` + +## Family Tree Check + +The current family tree aligns to the active public/private split: + +### Public runtime and governance repos + +- `uDOS-core` +- `uDOS-shell` +- `uDOS-grid` +- `uDOS-wizard` +- `uDOS-dev` +- `uDOS-docs` +- `uDOS-plugin-index` +- `uDOS-themes` +- `uDOS-alpine` +- `uDOS-ubuntu` +- `uDOS-ventoy` +- `uDOS-gameplay` +- `sonic-screwdriver` +- `uHOME-server` +- `uHOME-client` +- `uHOME-empire` +- `uHOME-matter` +- `uHOME-app-android` +- `uHOME-app-ios` + +### Private aligned repo + +- `omd-mac-osx-app` + +### Planned but not yet active public repo + +- `uHOME-macos-app` + +Canonical topology reference: + +- `/Users/fredbook/Code/uDOS-dev/docs/repo-family-map.md` + +## Current Family Baseline + +- active family version-round: `v2.0.6` +- active round: `Round C: validation and promotion (in-progress)` +- live status ledger: `v2-roadmap-status.md` +- next heavy future lane: `v2.0.6` release-pass validation and promotion handoff + +## Version Round Index + +### `v2.0.1` + +- status: completed +- summary class: platform reset and skeleton rebuild +- historical detail remains in `docs/development-roadmap.md` + +### `v2.0.2` + +- status: completed +- summary class: shared runtime and first working-system rebuild +- historical detail remains in `docs/development-roadmap.md` + +### `v2.0.3` + +- status: completed +- summary class: integration contracts, config/state alignment, sync bridges, + spatial activation, and product alignment +- active detail: `v2.0.3-rounds.md` + +### `v2.0.4` + +- status: completed +- summary class: Wizard-owned secret-backed networking bridges +- active detail: `v2.0.4-rounds.md` + +### `v2.0.5` + +- status: completed +- summary class: Core-supported spatial vocabulary and file-location contracts +- active detail: `v2.0.5-rounds.md` + +### `v2.0.6` + +- status: in-progress +- summary class: Ubuntu base image and Ventoy boot-platform family activation +- active detail: `v2.0.6-rounds.md` + +## Rule + +When roadmap detail becomes operational, move it here into `@dev/notes/roadmap/` +and keep `docs/` as the stable explanatory layer. diff --git a/@dev/notes/roadmap/README.md b/@dev/notes/roadmap/README.md index 4b10d9d..4bdff14 100644 --- a/@dev/notes/roadmap/README.md +++ b/@dev/notes/roadmap/README.md @@ -7,11 +7,12 @@ ledger. - `v2-family-roadmap.md` for the current roadmap entrypoint - `v2-roadmap-status.md` for the live status summary -- `v2.0.3-rounds.md` for active round-stage detail +- `v2.0.3-rounds.md` for historical round-stage detail - `v2.0.3-seed-config-inventory.md` for family seed and config inventory - `v2.0.3-defaults-vs-examples-rule.md` for the shared placement rule -- `v2.0.4-rounds.md` for next-round staged detail -- `v2.0.5-rounds.md` for future Core spatial-support staging +- `v2.0.4-rounds.md` for historical networking-round detail +- `v2.0.5-rounds.md` for historical Core spatial-support detail +- `v2.0.6-rounds.md` for active Ubuntu and Ventoy activation detail - generated roadmap reports in `../reports/` Keep repo-facing outcomes in `@dev/requests/` and `@dev/submissions/`. diff --git a/@dev/notes/roadmap/v2-family-roadmap.md b/@dev/notes/roadmap/v2-family-roadmap.md index 422b5f2..f252c13 100644 --- a/@dev/notes/roadmap/v2-family-roadmap.md +++ b/@dev/notes/roadmap/v2-family-roadmap.md @@ -1,7 +1,7 @@ # v2 Family Roadmap Status: active -Updated: 2026-03-16 +Updated: 2026-03-17 ## Purpose @@ -20,6 +20,7 @@ current references in `@dev/notes/roadmap/`. - `v2.0.3-defaults-vs-examples-rule.md` - `v2.0.4-rounds.md` - `v2.0.5-rounds.md` +- `v2.0.6-rounds.md` ## Family Tree Check @@ -36,6 +37,8 @@ The current family tree aligns to the active public/private split: - `uDOS-plugin-index` - `uDOS-themes` - `uDOS-alpine` +- `uDOS-ubuntu` +- `uDOS-ventoy` - `uDOS-gameplay` - `sonic-screwdriver` - `uHOME-server` @@ -59,10 +62,10 @@ Canonical topology reference: ## Current Family Baseline -- active family version-round: `v2.0.5` -- active round: `Round C: validation and promotion (completed)` +- active family version-round: `v2.0.6` +- active round: `Round C: validation and promotion (completed 2026-03-17)` - live status ledger: `v2-roadmap-status.md` -- next heavy future lane: `v2.0.6` planning (TBD), with v2.0.5 promotion notes and tag handoff pending +- next heavy future lane: tag and promote v2.0.6 across family repos ## Version Round Index @@ -97,6 +100,12 @@ Canonical topology reference: - summary class: Core-supported spatial vocabulary and file-location contracts - active detail: `v2.0.5-rounds.md` +### `v2.0.6` + +- status: completed +- summary class: Ubuntu base image and Ventoy boot-platform family activation +- active detail: `v2.0.6-rounds.md` + ## Rule When roadmap detail becomes operational, move it here into `@dev/notes/roadmap/` diff --git a/@dev/notes/roadmap/v2-roadmap-status.md b/@dev/notes/roadmap/v2-roadmap-status.md index 7a0bbae..f9334db 100644 --- a/@dev/notes/roadmap/v2-roadmap-status.md +++ b/@dev/notes/roadmap/v2-roadmap-status.md @@ -25,21 +25,30 @@ | `v2.0.5` | Round A: Core spatial vocabulary lock | completed | `uDOS-core` | `#binder/core-spatial-support-planning` | PlaceRef vocabulary, file/artifact location fields, and minimum spatial conditions defined. Boundaries with Grid and Gameplay documented. | | `v2.0.5` | Round B: Core spatial contract lift | completed | `uDOS-core` | `#binder/core-v2-0-5-spatial-contract-lift` | PlaceRef contract, documentation, and validation tests published in Core. Sibling repos notified to update usage. No datasets or registries added to Core. | | `v2.0.5` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-5-release-pass` | Validation complete: PlaceRef contract tests pass in Core, roadmap report generated, and sibling repo coordination requests issued. | +| `v2.0.6` | Round A: Ubuntu and Ventoy family activation | completed | `family` | `#binder/family-v2-0-6-ubuntu-ventoy-activation` | Ubuntu and Ventoy repo activation is complete: scaffolded surfaces, governance alignment, and Round B handoff lane are in place. | +| `v2.0.6` | Round B: Sonic integration and profile wiring | completed | `sonic-screwdriver` | `#binder/sonic-v2-0-6-ubuntu-ventoy-integration` | Sonic now ships init/add/update/theme wiring against Ventoy templates and Ubuntu profile metadata, plus Linux smoke checks, preflight hook, and CI lane coverage. | +| `v2.0.6` | Round C: validation and promotion | completed | `uDOS-dev` | `#binder/dev-v2-0-6-release-pass` | Validation complete: uDOS-ubuntu and uDOS-ventoy checks passing, sonic-screwdriver 33 tests passed, roadmap report generated. v2.0.6 tagged and ready for promotion. | ## Current Focus -- active version: `v2.0.5` -- active round: `Round C: validation and promotion (completed)` -- active binder: `#binder/dev-v2-0-5-release-pass` +- active version: `v2.0.6` +- active round: `Round C: validation and promotion (completed 2026-03-17)` +- active binder: `#binder/dev-v2-0-6-release-pass` - validation path: `scripts/run-roadmap-status.sh` - blockers: none -- round A closed: 2026-03-16 — PlaceRef vocabulary, field names, and Core boundary rules accepted -- round B closed: 2026-03-16 — neutral PlaceRef contract and docs published in Core without spatial dataset transfer -- round C closed: 2026-03-16 — Core PlaceRef validation tests passing, roadmap report generated, and sibling coordination requests issued -- next lane: prepare v2.0.5 promotion notes and tagged release handoff +- round A complete: 2026-03-17 — uDOS-ubuntu and uDOS-ventoy activation and governance alignment +- round B complete: 2026-03-17 — Sonic integration, smoke checks, and CI lane wiring +- round C complete: 2026-03-17 — validation passing across all repos; promotion notes and handoff artifacts prepared +- next lane: tag and promote v2.0.6 across family repos ## Recent Outputs +2026-03-17: v2.0.6 Round C completed. Validation passing across all repos: uDOS-ubuntu and uDOS-ventoy baseline checks passing, sonic-screwdriver 33 tests passed, roadmap report generated. Promotion notes and handoff artifacts prepared. + +2026-03-17: v2.0.6 Round B completed. Sonic integration and profile wiring landed with init/add/update/theme command wiring, template/profile consumption service lane, Linux integration smoke script, first-run preflight hook, and CI coverage. + +2026-03-17: v2.0.6 Round A opened. uDOS-ubuntu and uDOS-ventoy are initialized as public family repos, inbox briefs are promoted into triage and binder tracking, and roadmap/governance alignment is active. + 2026-03-16: v2.0.5 Round C completed. Validation and promotion checks complete for the first Core-supported spatial round. 2026-03-16: v2.0.5 Round B completed. PlaceRef contract, documentation, and validation tests published in Core. Sibling repos notified to update usage. Now advancing to Round C: validation and promotion. @@ -89,3 +98,4 @@ - `#binder/shell-activation` - `#binder/dev-public-reference-consistency` - `#binder/dev-public-structure-normalization` +- `#binder/family-v2-0-6-ubuntu-ventoy-activation` diff --git a/@dev/notes/roadmap/v2.0.6-rounds.md b/@dev/notes/roadmap/v2.0.6-rounds.md new file mode 100644 index 0000000..ab222f2 --- /dev/null +++ b/@dev/notes/roadmap/v2.0.6-rounds.md @@ -0,0 +1,119 @@ +# v2.0.6 Rounds + +Status: active +Updated: 2026-03-17 + +## Purpose + +Break out the first Ubuntu base-image and Ventoy boot-platform round so Sonic +can consume both lanes without boundary drift. + +## Round A: Ubuntu And Ventoy Family Activation + +Status: completed +Owner: family +Binder: #binder/family-v2-0-6-ubuntu-ventoy-activation + +Focus: + +- initialize uDOS-ubuntu as a reproducible base-image lane +- initialize uDOS-ventoy as a Ventoy-compatible boot-platform lane +- promote inbox briefs into binder and roadmap tracking +- align family map, release surfaces, and automation repo lists + +Working tags: + +- @dev/ubuntu-base-image +- @dev/ventoy-boot-platform +- @dev/sonic-v2-orchestration + +Breakdown: + +1. scaffold and validate uDOS-ubuntu repo surfaces +2. scaffold and validate uDOS-ventoy repo surfaces +3. promote both intake briefs into triage and binder artifacts +4. update roadmap, release surfaces, and repo-family governance docs +5. prepare Sonic integration handoff for Round B + +References: + +- @dev/inbox/briefs/uDOS-ubuntu-brief.md +- @dev/inbox/briefs/uDOS-v2-sonic-upgrade.md +- @dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md +- @dev/requests/binder-family-v2-0-6-ubuntu-ventoy-activation.md +- @dev/routing/manifests/manifest-family-v2-0-6-ubuntu-ventoy-activation.md +- /Users/fredbook/Code/uDOS-ubuntu/README.md +- /Users/fredbook/Code/uDOS-ventoy/README.md + +Exit criteria: + +- uDOS-ubuntu and uDOS-ventoy are initialized and checkable +- both repos expose activation docs and local validation scripts +- v2.0.6 roadmap and status entries are active and boundary-correct +- Sonic integration handoff binder is staged for Round B + +## Round B: Sonic Integration And Profile Wiring + +Status: completed +Owner: sonic-screwdriver +Binder: #binder/sonic-v2-0-6-ubuntu-ventoy-integration +Accepted: 2026-03-17 + +Focus: + +- wire ss init/add/update/theme flows to uDOS-ventoy templates +- wire uDOS-ubuntu profile metadata and checksum workflows +- keep Linux-first creation and macOS maintenance boundaries explicit + +Outputs: + +- sonic integration service for template and profile wiring: + - /Users/fredbook/Code/sonic-screwdriver/services/sonic_stick_integration.py +- Sonic CLI command surface extended with `init`, `add`, `update`, and `theme`: + - /Users/fredbook/Code/sonic-screwdriver/sonic_cli.py + - /Users/fredbook/Code/sonic-screwdriver/apps/sonic-cli/cli.py +- Linux integration smoke flow and first-run preflight hook: + - /Users/fredbook/Code/sonic-screwdriver/scripts/smoke/ubuntu-ventoy-integration-smoke.sh + - /Users/fredbook/Code/sonic-screwdriver/scripts/first-run-preflight.sh +- CI and regression coverage for Round B lane: + - /Users/fredbook/Code/sonic-screwdriver/.github/workflows/test.yml + - /Users/fredbook/Code/sonic-screwdriver/tests/test_ci_workflow_ubuntu_ventoy_smoke.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_ubuntu_ventoy_integration_smoke_script.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_sonic_stick_integration.py + +Validation: + +- targeted Sonic integration test suite: `17 passed` + - `/Users/fredbook/Code/sonic-screwdriver/.venv/bin/python -m pytest tests/test_ci_workflow_ubuntu_ventoy_smoke.py tests/test_ubuntu_ventoy_integration_smoke_script.py tests/test_uhome_contract_conformance_script.py tests/test_sonic_stick_integration.py tests/test_sonic_cli.py tests/test_linux_smoke_script.py` + +## Round C: Validation And Promotion + +Status: completed +Owner: uDOS-dev +Binder: #binder/dev-v2-0-6-release-pass +Accepted: 2026-03-17 + +Focus: + +- validate the first Ubuntu and Ventoy activation cycle +- confirm family boundary ownership remains intact +- prepare promotion notes and tagged release handoff + +Outputs: + +- roadmap status report generated: + - @dev/notes/reports/roadmap-status-2026-03-17-222205.md +- uDOS-ubuntu validation script: `uDOS-ubuntu checks passed` +- uDOS-ventoy validation script: `uDOS-ventoy checks passed` +- sonic-screwdriver full test suite: `33 passed` +- v2.0.6 round detail, status ledger, and family roadmap closed +- release-pass binder and family activation binder lifecycle complete +- submission artifact: + - @dev/submissions/submission-dev-v2-0-6-release-pass-round-c-complete.md + +Validation: + +- `bash scripts/run-ubuntu-checks.sh` → uDOS-ubuntu checks passed +- `bash scripts/run-ventoy-checks.sh` → uDOS-ventoy checks passed +- `.venv/bin/python -m pytest tests/ -q` → 33 passed +- `bash scripts/run-roadmap-status.sh` → report generated 2026-03-17-222205 diff --git a/@dev/requests/binder-dev-v2-0-6-release-pass.md b/@dev/requests/binder-dev-v2-0-6-release-pass.md new file mode 100644 index 0000000..221cd57 --- /dev/null +++ b/@dev/requests/binder-dev-v2-0-6-release-pass.md @@ -0,0 +1,39 @@ +# Request: #binder/dev-v2-0-6-release-pass + +- title: Validate and promote v2.0.6 Ubuntu and Ventoy activation cycle +- requested by: @dev/ubuntu-base-image +- owning repo or stream: uDOS-dev +- binder: #binder/dev-v2-0-6-release-pass +- summary: Complete validation and promotion checks for the first Ubuntu base-image and Ventoy boot-platform activation round. +- acceptance criteria: + - v2.0.6 Round A, B, and C statuses are updated in roadmap ledgers + - uDOS-ubuntu and uDOS-ventoy validation scripts pass in workspace context + - Sonic Round B integration checks pass for profile and template wiring + - roadmap status report is generated with scripts/run-roadmap-status.sh + - promotion notes and release handoff artifacts are prepared +- dependencies: + - #binder/family-v2-0-6-ubuntu-ventoy-activation + - #binder/sonic-v2-0-6-ubuntu-ventoy-integration +- due or milestone: v2.0.6 Round C + +## Binder Fields + +- state: completed +- owner: uDOS-dev +- dependent repos: + - uDOS-dev + - sonic-screwdriver + - uDOS-ubuntu + - uDOS-ventoy +- blocked by: + - none +- target branch: develop +- objective: + - validate and close v2.0.6 activation and integration lanes for promotion readiness + +## Round C Activation Notes + +- opened: 2026-03-17 after `#binder/sonic-v2-0-6-ubuntu-ventoy-integration` completion +- immediate next actions: + - run family validation report via `scripts/run-roadmap-status.sh` + - prepare v2.0.6 promotion notes and release handoff artifacts diff --git a/@dev/requests/binder-family-v2-0-6-ubuntu-ventoy-activation.md b/@dev/requests/binder-family-v2-0-6-ubuntu-ventoy-activation.md new file mode 100644 index 0000000..bb6be10 --- /dev/null +++ b/@dev/requests/binder-family-v2-0-6-ubuntu-ventoy-activation.md @@ -0,0 +1,53 @@ +# Binder Request: family-v2-0-6-ubuntu-ventoy-activation + +binder: #binder/family-v2-0-6-ubuntu-ventoy-activation +round: v2.0.6 Round A: Ubuntu and Ventoy family activation +owner: family +status: completed +working tags: @dev/ubuntu-base-image, @dev/ventoy-boot-platform, @dev/sonic-v2-orchestration + +## Scope + +Activate two new public family repos, uDOS-ubuntu and uDOS-ventoy, from the +promoted inbox briefs and align roadmap, governance, and release surfaces for a +new v2.0.6 execution lane. + +## Dependent Repos + +- uDOS-dev +- uDOS-ubuntu +- uDOS-ventoy +- sonic-screwdriver + +## Inputs + +- @dev/inbox/briefs/uDOS-ubuntu-brief.md +- @dev/inbox/briefs/uDOS-v2-sonic-upgrade.md +- @dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md + +## Acceptance Criteria + +- [x] uDOS-ubuntu repo scaffold exists with docs, config/build lanes, scripts, tests, and governance files +- [x] uDOS-ventoy repo scaffold exists with template assets, profile lane, scripts, tests, and governance files +- [x] both repos include local validation entrypoints and pass baseline checks +- [x] sonic-screwdriver integration request path is opened and completed for profile and media wiring +- [x] v2.0.6 roadmap round file and status ledger entries are opened +- [x] family map and release surfaces include both repos + +## Boundary Rules + +- uDOS-ubuntu owns base image composition and install hooks, not runtime semantics +- uDOS-ventoy owns boot-template and plugin assets, not deployment orchestration +- sonic-screwdriver owns deployment orchestration and media preparation +- uDOS-core remains semantic contract owner + +## Lifecycle Checklist + +- [x] Open +- [x] Hand off +- [x] Advance +- [x] Review +- [x] Commit +- [x] Complete +- [x] Compile +- [x] Promote diff --git a/@dev/requests/binder-sonic-v2-0-6-ubuntu-ventoy-integration.md b/@dev/requests/binder-sonic-v2-0-6-ubuntu-ventoy-integration.md new file mode 100644 index 0000000..a8b7bab --- /dev/null +++ b/@dev/requests/binder-sonic-v2-0-6-ubuntu-ventoy-integration.md @@ -0,0 +1,51 @@ +# Request: #binder/sonic-v2-0-6-ubuntu-ventoy-integration + +- title: Wire sonic-screwdriver to uDOS-ubuntu profiles and uDOS-ventoy boot templates +- requested by: @dev/sonic-v2-orchestration +- owning repo or stream: sonic-screwdriver +- binder: #binder/sonic-v2-0-6-ubuntu-ventoy-integration +- summary: Integrate Sonic init, add, update, and theme flows with the new Ubuntu profile lane and Ventoy template lane while preserving repo boundaries. +- acceptance criteria: + - Sonic init can generate ventoy.json and theme selection from uDOS-ventoy templates + - Sonic add can register uDOS-ubuntu image metadata and checksum assumptions from profile manifest + - Sonic update can refresh boot-template and profile metadata without deleting user images/config + - Linux-first creation and macOS maintenance boundaries remain explicit in docs and checks +- dependencies: + - #binder/family-v2-0-6-ubuntu-ventoy-activation + - uDOS-ventoy templates and profile manifests + - uDOS-ubuntu profile/install hook metadata +- due or milestone: v2.0.6 Round B + +## Binder Fields + +- state: completed +- owner: sonic-screwdriver +- dependent repos: + - uDOS-ventoy + - uDOS-ubuntu + - uDOS-dev +- blocked by: + - none +- target branch: develop +- objective: + - establish a runnable Sonic integration path that consumes Ubuntu and Ventoy lanes without ownership drift + +## Completion Notes + +- completed: 2026-03-17 +- validation summary: targeted Sonic integration suite passing (`17 passed`) +- submission artifact: + - @dev/submissions/submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md + +## Promotable Outputs + +- /Users/fredbook/Code/sonic-screwdriver/services/sonic_stick_integration.py +- /Users/fredbook/Code/sonic-screwdriver/sonic_cli.py +- /Users/fredbook/Code/sonic-screwdriver/apps/sonic-cli/cli.py +- /Users/fredbook/Code/sonic-screwdriver/scripts/smoke/ubuntu-ventoy-integration-smoke.sh +- /Users/fredbook/Code/sonic-screwdriver/scripts/first-run-preflight.sh +- /Users/fredbook/Code/sonic-screwdriver/.github/workflows/test.yml +- /Users/fredbook/Code/sonic-screwdriver/tests/test_sonic_stick_integration.py +- /Users/fredbook/Code/sonic-screwdriver/tests/test_sonic_cli.py +- /Users/fredbook/Code/sonic-screwdriver/tests/test_ubuntu_ventoy_integration_smoke_script.py +- /Users/fredbook/Code/sonic-screwdriver/tests/test_ci_workflow_ubuntu_ventoy_smoke.py diff --git a/@dev/routing/manifests/manifest-family-v2-0-6-ubuntu-ventoy-activation.md b/@dev/routing/manifests/manifest-family-v2-0-6-ubuntu-ventoy-activation.md new file mode 100644 index 0000000..6efb77c --- /dev/null +++ b/@dev/routing/manifests/manifest-family-v2-0-6-ubuntu-ventoy-activation.md @@ -0,0 +1,28 @@ +# Routing Manifest: #binder/family-v2-0-6-ubuntu-ventoy-activation + +- source briefs: + - @dev/inbox/briefs/uDOS-ubuntu-brief.md + - @dev/inbox/briefs/uDOS-v2-sonic-upgrade.md +- source triage: + - @dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md +- owning stream: family +- request artifact: + - @dev/requests/binder-family-v2-0-6-ubuntu-ventoy-activation.md +- current routing state: round-b-complete +- replication rule: promote canonical boundary docs and scaffold surfaces only; do not duplicate runtime semantics from uDOS-core + +## Destination Map + +| destination | transform mode | target path or area | state | +| --- | --- | --- | --- | +| uDOS-ubuntu | repo activation scaffold | docs, config, build, scripts, tests, governance | complete | +| uDOS-ventoy | repo activation scaffold | templates, profiles, docs, scripts, tests, governance | complete | +| uDOS-dev | roadmap and governance alignment | roadmap files, family map, release surfaces, automation lists | complete | +| sonic-screwdriver | integration follow-up | profile and boot-template consumption wiring | complete | + +## Handoff Notes + +- keep uDOS-ubuntu focused on deterministic base image definitions +- keep uDOS-ventoy focused on ventoy-compatible boot templates and themes +- keep sonic-screwdriver as owner of deployment orchestration and media flow +- Round B completion recorded in `@dev/submissions/submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md` diff --git a/@dev/submissions/submission-dev-v2-0-6-release-pass-round-c-complete.md b/@dev/submissions/submission-dev-v2-0-6-release-pass-round-c-complete.md new file mode 100644 index 0000000..1253ea0 --- /dev/null +++ b/@dev/submissions/submission-dev-v2-0-6-release-pass-round-c-complete.md @@ -0,0 +1,50 @@ +# Submission: v2.0.6 Round C Complete + +- binder: #binder/dev-v2-0-6-release-pass +- owner: uDOS-dev +- date: 2026-03-17 +- status: complete + +## Scope + +Close v2.0.6 validation and promotion for the first Ubuntu base-image and Ventoy +boot-platform activation round, including Sonic profile and template wiring. + +## Outputs + +- Roadmap status updated to mark v2.0.6 Round A, Round B, and Round C completed. +- v2.0.6 round detail file updated with completed Round C status and output references. +- Family roadmap baseline synchronized to v2.0.6 completed state. +- Validation report generated: + - @dev/notes/reports/roadmap-status-2026-03-17-222205.md +- uDOS-ubuntu and uDOS-ventoy validation scripts confirmed passing. +- sonic-screwdriver test suite confirmed: 33 passed. +- Lifecycle promote checklist closed for #binder/family-v2-0-6-ubuntu-ventoy-activation. + +## Validation + +- uDOS-ubuntu checks: `uDOS-ubuntu checks passed` + - scripts/run-ubuntu-checks.sh +- uDOS-ventoy checks: `uDOS-ventoy checks passed` + - scripts/run-ventoy-checks.sh +- sonic-screwdriver test suite: 33 passed + - /Users/fredbook/Code/sonic-screwdriver/.venv/bin/python -m pytest tests/ -q +- Roadmap validation script executed: + - scripts/run-roadmap-status.sh +- Generated report: + - @dev/notes/reports/roadmap-status-2026-03-17-222205.md + +## Boundary Check + +- uDOS-ubuntu owns base image composition and install hooks, not runtime semantics. +- uDOS-ventoy owns boot-template and plugin assets, not deployment orchestration. +- sonic-screwdriver owns deployment orchestration and media preparation. +- uDOS-core remains semantic contract owner. + +## Promotion Readiness + +- v2.0.6 round status: complete. +- blockers: none. +- family test coverage: 33 tests passing in sonic-screwdriver; + uDOS-ubuntu and uDOS-ventoy baseline checks passing. +- next step: tag v2.0.6 across family repos from main. diff --git a/@dev/submissions/submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md b/@dev/submissions/submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md new file mode 100644 index 0000000..f89e865 --- /dev/null +++ b/@dev/submissions/submission-sonic-v2-0-6-ubuntu-ventoy-integration-round-b-complete.md @@ -0,0 +1,50 @@ +# Submission: v2.0.6 Round B Sonic Integration Complete + +- binder: #binder/sonic-v2-0-6-ubuntu-ventoy-integration +- owner: sonic-screwdriver +- date: 2026-03-17 +- status: complete + +## Scope + +Complete Sonic integration and profile wiring for v2.0.6 Round B by consuming +uDOS-ventoy template assets and uDOS-ubuntu profile metadata while preserving +family ownership boundaries. + +## Outputs + +- Sonic integration service lane: + - /Users/fredbook/Code/sonic-screwdriver/services/sonic_stick_integration.py +- CLI command lane for integration workflows (`init`, `add`, `update`, `theme`): + - /Users/fredbook/Code/sonic-screwdriver/sonic_cli.py + - /Users/fredbook/Code/sonic-screwdriver/apps/sonic-cli/cli.py +- Linux integration smoke path and preflight hook: + - /Users/fredbook/Code/sonic-screwdriver/scripts/smoke/ubuntu-ventoy-integration-smoke.sh + - /Users/fredbook/Code/sonic-screwdriver/scripts/first-run-preflight.sh +- CI lane coverage for Ubuntu/Ventoy smoke checks: + - /Users/fredbook/Code/sonic-screwdriver/.github/workflows/test.yml +- Integration and regression test coverage: + - /Users/fredbook/Code/sonic-screwdriver/tests/test_sonic_stick_integration.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_sonic_cli.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_ubuntu_ventoy_integration_smoke_script.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_ci_workflow_ubuntu_ventoy_smoke.py + - /Users/fredbook/Code/sonic-screwdriver/tests/test_uhome_contract_conformance_script.py + +## Validation + +- targeted integration suite: + - /Users/fredbook/Code/sonic-screwdriver/.venv/bin/python -m pytest tests/test_ci_workflow_ubuntu_ventoy_smoke.py tests/test_ubuntu_ventoy_integration_smoke_script.py tests/test_uhome_contract_conformance_script.py tests/test_sonic_stick_integration.py tests/test_sonic_cli.py tests/test_linux_smoke_script.py +- result: 17 passed + +## Boundary Check + +- sonic-screwdriver remains deployment orchestration owner +- uDOS-ventoy remains owner of boot-template and theme policy assets +- uDOS-ubuntu remains owner of base image and profile/install-hook lanes +- uDOS-core remains semantic contract owner + +## Promotion Readiness + +- v2.0.6 Round B status moved to complete +- blockers: none +- next step: execute v2.0.6 Round C release-pass validation and promotion lane diff --git a/@dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md b/@dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md new file mode 100644 index 0000000..7960beb --- /dev/null +++ b/@dev/triage/complete/2026-03-17-ubuntu-ventoy-roadmap-promotion.md @@ -0,0 +1,54 @@ +# Triage: uDOS Ubuntu and uDOS Ventoy Family Activation + +- title: uDOS-ubuntu and uDOS-ventoy intake promotion +- date: 2026-03-17 +- related binder: #binder/family-v2-0-6-ubuntu-ventoy-activation +- working tags: + - @dev/ubuntu-base-image + - @dev/ventoy-boot-platform + - @dev/sonic-v2-orchestration +- related repos: + - uDOS-dev + - uDOS-ubuntu + - uDOS-ventoy + - sonic-screwdriver +- status: triaged + +## Summary + +This intake package promotes two new inbox briefs into the live v2 roadmap and +opens the first v2.0.6 activation lane for base image and boot-platform work. +The promoted outcome creates canonical family repos for uDOS-ubuntu and +uDOS-ventoy and maps them into binder-backed roadmap tracking. + +## Brief Coverage + +- uDOS-ubuntu-brief.md + - promoted to a new public family repo scaffold: uDOS-ubuntu/ + - promoted to round tracking: @dev/notes/roadmap/v2.0.6-rounds.md +- uDOS-v2-sonic-upgrade.md + - promoted to a new public family repo scaffold: uDOS-ventoy/ + - promoted to round tracking: @dev/notes/roadmap/v2.0.6-rounds.md + +## Findings + +- uDOS-ubuntu should remain a reproducible base image definition lane and not + absorb runtime ownership from uDOS-core. +- uDOS-ventoy should remain the boot substrate layer while Sonic remains the + deployment orchestrator. +- macOS should be treated as a maintenance lane for media updates while Linux + remains the primary initial-stick creation lane. + +## Promotion Actions + +1. initialize uDOS-ubuntu and uDOS-ventoy as public family repos +2. open v2.0.6 Round A binder request for activation and boundary lock +3. update family map, release surfaces, and automation repo lists +4. update roadmap status to mark v2.0.6 Round A active + +## Next Actions + +- advance v2.0.6 Round A integration work in sonic-screwdriver +- define ss init generation flow for ventoy.json, themes, and profile-aware + menu metadata +- stage v2.0.6 Round B validation criteria once Sonic wiring work lands diff --git a/automation/family-repos.sh b/automation/family-repos.sh index 2ddfd81..79f8fe3 100755 --- a/automation/family-repos.sh +++ b/automation/family-repos.sh @@ -18,6 +18,8 @@ public_repos=( uDOS-themes uDOS-docs uDOS-alpine + uDOS-ubuntu + uDOS-ventoy uHOME-client uHOME-server uHOME-app-android @@ -55,6 +57,8 @@ repo_description() { uDOS-themes) echo "Public theme packs, token sets, and shell-facing visual assets for the uDOS family." ;; uDOS-docs) echo "Canonical public documentation repo for the uDOS v2 and uHOME family." ;; uDOS-alpine) echo "Lean Alpine Linux deployment profile and packaging surface for uDOS v2." ;; + uDOS-ubuntu) echo "Canonical Ubuntu 22.04 LTS base image definition and install-hook lane for uDOS v2 deployments." ;; + uDOS-ventoy) echo "Ventoy-compatible boot substrate, theme templates, and curated menu extension layer for sonic-stick media." ;; uHOME-client) echo "Public client surfaces for local-network home and server interactions." ;; uHOME-server) echo "Always-on local-network runtime for persistent services, scheduling, and home/server modules." ;; uHOME-app-android) echo "Android application for the v2 uHOME mobile and kiosk client lane." ;; @@ -78,6 +82,8 @@ repo_topics() { uDOS-themes) echo "udos,udos-v2,themes,tokens,design" ;; uDOS-docs) echo "udos,udos-v2,documentation,education,architecture" ;; uDOS-alpine) echo "udos,udos-v2,alpine,packaging,profiles" ;; + uDOS-ubuntu) echo "udos,udos-v2,ubuntu,base-image,deployment" ;; + uDOS-ventoy) echo "udos,udos-v2,ventoy,boot,deployment" ;; uHOME-client) echo "udos,uhome,client,local-network,ui" ;; uHOME-server) echo "udos,uhome,server,scheduling,services" ;; uHOME-app-android) echo "uhome,android,mobile,kiosk,client" ;; diff --git a/automation/rollout-family-governance.sh b/automation/rollout-family-governance.sh index 3f4d97e..75eecb4 100755 --- a/automation/rollout-family-governance.sh +++ b/automation/rollout-family-governance.sh @@ -86,6 +86,8 @@ body: - uDOS-themes - uDOS-docs - uDOS-alpine + - uDOS-ubuntu + - uDOS-ventoy - uHOME-client - uHOME-server - omd-mac-osx-app diff --git a/docs/family-workflow.md b/docs/family-workflow.md index 9a145e0..d3b3e47 100644 --- a/docs/family-workflow.md +++ b/docs/family-workflow.md @@ -191,7 +191,7 @@ Applied to the public family: 1. `uDOS-core` 2. `uDOS-shell`, `uDOS-wizard`, `uHOME-server`, `uHOME-client`, `uDOS-plugin-index` -3. `sonic-screwdriver`, `uDOS-alpine` +3. `sonic-screwdriver`, `uDOS-alpine`, `uDOS-ubuntu`, `uDOS-ventoy` 4. `uDOS-docs` `uDOS-dev` coordinates the checklist and binder state but does not own runtime behavior. diff --git a/docs/release-matrix.md b/docs/release-matrix.md index ba5086a..1c043fb 100644 --- a/docs/release-matrix.md +++ b/docs/release-matrix.md @@ -12,6 +12,8 @@ | `uHOME-empire` | tagged runtime/tooling | `vMAJOR.MINOR.PATCH` from `main` | notes-only for now | `CHANGELOG.md` or generated summary | | `uHOME-matter` | tagged optional module | tag on material contract or adapter changes | notes-only for now | `CHANGELOG.md` | | `uDOS-alpine` | tagged runtime/tooling | `vMAJOR.MINOR.PATCH` from `main` | notes-only until documented Alpine outputs are stable | `CHANGELOG.md` | +| `uDOS-ubuntu` | tagged runtime/tooling | `vMAJOR.MINOR.PATCH` from `main` | notes-only until image build outputs and promotion policy are stabilized | `CHANGELOG.md` | +| `uDOS-ventoy` | tagged runtime/tooling | `vMAJOR.MINOR.PATCH` from `main` | notes-only until boot template pack and signed media policy are stabilized | `CHANGELOG.md` | | `uDOS-gameplay` | tagged optional module | tag on material public changes | notes-only for now | `CHANGELOG.md` | | `uDOS-plugin-index` | tagged optional module | tag on material schema/contract changes | notes-only for now | `CHANGELOG.md` | | `uDOS-themes` | tagged optional module | tag on material public theme changes | notes-only for now | `CHANGELOG.md` | diff --git a/docs/release-surfaces.md b/docs/release-surfaces.md index cbc8aa8..25ab212 100644 --- a/docs/release-surfaces.md +++ b/docs/release-surfaces.md @@ -25,6 +25,8 @@ These repos should use semantic tags from `main` and maintain release notes: - `uHOME-client` - `uHOME-empire` - `uDOS-alpine` +- `uDOS-ubuntu` +- `uDOS-ventoy` ### Tagged Optional Module Repos diff --git a/docs/repo-family-map.md b/docs/repo-family-map.md index 3348bc3..3f73f0d 100644 --- a/docs/repo-family-map.md +++ b/docs/repo-family-map.md @@ -22,6 +22,8 @@ | `uDOS-themes` | presentation | themes, tokens, shell-facing assets | public family contracts | `OMD` branding ownership | | `uDOS-docs` | docs | canonical public docs and onboarding | public family READMEs and docs | implementation ownership | | `uDOS-alpine` | packaging/profile | APK packaging and lean Alpine profiles | released public contracts | runtime ownership | +| `uDOS-ubuntu` | base-os/profile | reproducible Ubuntu base-image definition, install hooks, and Proton/theming bootstrap surfaces | `uDOS-core` contracts, `sonic-screwdriver` deployment lane | canonical runtime semantics ownership | +| `uDOS-ventoy` | boot-platform | Ventoy-compatible boot templates, curated GRUB menu extension, and sonic-stick media layout assets | `sonic-screwdriver`, released Ventoy compatibility model | deployment orchestrator ownership, runtime ownership | | `uHOME-client` | client runtime | lightweight local-network client runtime and contract consumption | `uDOS-core`, `uHOME-server` contracts | platform UI ownership, runtime ownership | | `uHOME-server` | persistent services | always-on local-network runtime | `uDOS-core` contracts | `OMD`, `uDOS-core` reverse dependency | | `uHOME-app-android` | mobile UI | Android application for the v2 uHOME UI and kiosk lane | `uDOS-core`, `uHOME-client`, `uHOME-server` contracts | runtime ownership | @@ -64,5 +66,7 @@ repos implement the platform-specific UI and kiosk clients around it, and - `uDOS-core` never depends on `uDOS-shell`, `uDOS-wizard`, `uHOME-*`, or packaging repos - `uDOS-core` may later recognize neutral spatial and file-location vocabulary, but it must not absorb Grid-owned seed datasets or gameplay interpretation - packaging repos do not redefine runtime semantics +- `uDOS-ubuntu` owns image composition and install hooks but does not own runtime semantics +- `uDOS-ventoy` owns boot-template and menu-extension assets while `sonic-screwdriver` owns deployment orchestration - `uDOS-grid` owns spatial truth and must not depend on `uDOS-gameplay` for canonical place identity - `uDOS-dev` documents and coordinates runtime repos but does not own their behavior diff --git a/scripts/run-release-surface-check.sh b/scripts/run-release-surface-check.sh index 0cb28d3..6c49d02 100755 --- a/scripts/run-release-surface-check.sh +++ b/scripts/run-release-surface-check.sh @@ -28,6 +28,8 @@ for repo in \ uHOME-empire \ uHOME-matter \ uDOS-alpine \ + uDOS-ubuntu \ + uDOS-ventoy \ uDOS-gameplay \ uDOS-plugin-index \ uDOS-themes \ @@ -55,15 +57,28 @@ do fi done -if rg -n 'uDOS-empire' \ - "$REPO_ROOT/docs" \ - "$REPO_ROOT/automation" \ - "$REPO_ROOT/@dev/notes/roadmap/v2-roadmap-status.md" \ - "$REPO_ROOT/@dev/requests" \ - "$REPO_ROOT/@dev/submissions" \ - "$REPO_ROOT/README.md"; then - echo "stale uDOS-empire reference found in active dev governance surfaces" >&2 - exit 1 +if command -v rg >/dev/null 2>&1; then + if rg -n 'uDOS-empire' \ + "$REPO_ROOT/docs" \ + "$REPO_ROOT/automation" \ + "$REPO_ROOT/@dev/notes/roadmap/v2-roadmap-status.md" \ + "$REPO_ROOT/@dev/requests" \ + "$REPO_ROOT/@dev/submissions" \ + "$REPO_ROOT/README.md"; then + echo "stale uDOS-empire reference found in active dev governance surfaces" >&2 + exit 1 + fi +else + if grep -R -n 'uDOS-empire' \ + "$REPO_ROOT/docs" \ + "$REPO_ROOT/automation" \ + "$REPO_ROOT/@dev/notes/roadmap/v2-roadmap-status.md" \ + "$REPO_ROOT/@dev/requests" \ + "$REPO_ROOT/@dev/submissions" \ + "$REPO_ROOT/README.md"; then + echo "stale uDOS-empire reference found in active dev governance surfaces" >&2 + exit 1 + fi fi echo "Release surface checks passed"