Roadmap

What we are building.

Every piece of work in the plans, as a ticket on one timeline. 13 done, 34 in progress, 29 planned and 30 proposed.

Dates after today are a schedule built from each plan's own estimates, queued one worker per area. They are an assumption model, not promises. Last generated 2026-10-28.

Timeline

Hover a bar for its dates. Select a ticket to open its detail below.

Ticket
NovDecJan 2027FebMarAprMayJunJulAugSepOctNovDecJan 2028Feb
Apps 33
today
In progressPlannedProposedDone

Tickets

117 tickets, each linked to the plan it came from. Dropped tickets are kept so the decision stays visible.

Desktop shell

KS-001 Retina desktop (desk3) with Settings and core apps Done

The current HolyC desktop draws at scale 1 or 2 with native glyphs, dirty rectangles and anti-aliased corners and shadows.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “It draws in logical units (1440x900) at a scale of 1 or 2”

KS-002 Boot splash from a saved VM image Done

run.sh loads a saved VM image on a splash screen and crossfades to the desktop, measured at about 3.6 s to ready.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “from QEMU launch to desktop ready about 3.6 s with the image”

KS-004 Translucent dock backdrop and Monitor graph Done

The dock blurs what is behind it with a cached backdrop and the Monitor graphs one frame sample per 100 ms.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “The pill is a 205-alpha tint over a blurred copy of what is actually behind it”

KS-005 Window Style Editor app Done

A Windows app with live preview and an inspector restyles every open window; the x86 VM run, frame times and several presets are still unverified.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “every control restyles all open windows at once”

KS-006 Icon Style Editor app Done

The Icons app edits one shared icon style with ten control pages, eight presets and export and import of a style string.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “Works on Aiwnios unchanged”

KS-007 Top bar theme settings Done

Settings controls set bar style, tint, auto-hide visibility and automatic ink colour, all applied live to the bar band.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “Every control applies live and damages only the bar band”

KS-008 Menu bar status items and popovers In progress

Code for Wi-Fi, Bluetooth, battery and other bar items with popovers is written but the shared-file hunks are not applied and nothing was compiled.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “It is written but has NEVER been compiled or run on x86 or Aiwnios.”

KS-009 Clock suite, Calendar popover and Launchpad In progress

World clock, stopwatch, timer, alarms and a Launchpad grid work on x86, but arrow keys, timer alert and Aiwnios were not driven and the current tree did not compile; a month-grid Calendar popover is still planned.

Dates
2026-10-27 to 2026-11-02
Effort
1 working days (from the doc)

Evidence: “Current tree does not compile on x86”

KS-012 App table, resizable windows, event model and clip stack Planned

Replace the per-app if-chains with an app table (draw, click, key, close) and add resize, focus rules, an event model, a clip stack and modifier and key-up input; the review estimates more than the plan's three days.

Dates
2026-11-02 to 2026-11-07
Effort
3 working days (from the doc)

Evidence: “Replace the `if (a==...)` chains with an app table”

KS-013 Widget kit v2 (text field, lists, tabs, dialogs) In progress

Buttons, toggles, radios and sliders exist; the text field with selection and clipboard, tables, tabs, dropdowns, dialogs and context menus are still to add.

Dates
2026-10-27 to 2026-11-02
Effort
3 working days (from the doc)

Evidence: “partial (button, toggle, radio, slider)”

KS-014 Launcher (Cmd-Space) with fuzzy search Planned

A keyboard-first popup that fuzzy-matches app names, recent files and commands; it needs the text field widget.

Dates
2026-11-07 to 2026-11-09
Effort
1 working days (from the doc)

Needs: KS-013

Evidence: “A popup with a text field that fuzzy-matches app names, recent files and commands”

KS-015 Notification queue and toasts Planned

A shared queue drawn in a corner with auto-dismiss and optional actions; the Clock app has its own toast today.

Dates
2026-11-09 to 2026-11-11
Effort
1 working days (from the doc)

Evidence: “A queue drawn in a corner above everything, auto-dismiss, optional actions.”

KS-016 Settings: save and load, shortcuts, volume, date In progress

Themes, accent, wallpaper, display, dock and about are built; saving through the bridge, a shortcuts page, volume, date and time and default apps are planned.

Dates
2026-10-27 to 2026-11-02
Effort
1 working days (from the doc)

Evidence: “built (themes, accent, wallpaper, display, dock, about)”

KS-017 Poster layer (theme profile HTML as widget layer) In progress

A host Chrome renders a transparent profile page and the KPL v1 format ships it to the guest; the host side is tested but the guest side was never run.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-019

Evidence: “Host side measured and unit tested”

KS-018 Poster layer: profile list, agenda, fonts, seconds Planned

The dropdown phase adds the profile list, thumbnails, the real calendar agenda, the remaining profiles and fonts, a one-second sub-layer and an export op for Aiwnios.

Dates
2026-11-11 to 2026-11-18
Effort
not estimated, 5 days assumed

Needs: KS-017

Evidence: “Dropdown phase: profile list from `list`, thumbnails”

KS-096 Adopt 8: layer tree with compositor-side animation In progress

Retained window layers and damage rectangles are built; animation curves and a general layer API are not.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “each open window keeps its chrome and body in a bitmap and is rebuilt only inside its damage rectangle”

KS-099 Adopt 11: clipboard, drag and drop, type handlers, file watch Proposed

Small guest features with high daily value: clipboard, drag and drop, URL and file-type handlers, change notifications.

Dates
2026-11-18 to 2026-11-25
Effort
not estimated, 5 days assumed

Evidence: “Clipboard, drag and drop, URL/type handlers, file-change notifications”

Apps

KS-024 Files: create, rename, copy, delete, search, preview In progress

Browsing and open-in-Notes exist; file operations with confirmation, search, list and icon views and previews are to add.

Dates
2026-10-27 to 2026-11-02
Effort
3 working days (from the doc)

Needs: KS-013

Evidence: “built (browse, open in Notes)”

KS-025 Notes: tabs, undo, selection, find and replace In progress

A plain editor saving to B: exists; multi-document tabs, undo, selection with clipboard and find and replace need the text field widget.

Dates
2026-10-27 to 2026-11-02
Effort
3 working days (from the doc)

Needs: KS-013

Evidence: “built (plain, save to B:)”

KS-026 Code editor with HolyC colouring and Run Planned

Notes plus syntax colouring and a Run button that compiles the buffer and shows errors in a panel.

Dates
2026-12-16 to 2026-12-21
Effort
3 working days (from the doc)

Needs: KS-025

Evidence: “Notes plus HolyC syntax colouring (keywords, strings, comments, numbers as a small state machine per line)”

KS-027 Terminal with history and completion Planned

A scrolling text view and input line that runs commands through the TempleOS shell with captured output.

Dates
2026-12-21 to 2026-12-26
Effort
3 working days (from the doc)

Needs: KS-025

Evidence: “A scrolling text view plus an input line.”

KS-028 Calculator scientific mode and Activity monitor tasks In progress

Both apps exist in basic form; the calculator needs scientific functions and a history tape and the monitor needs a task list with memory and Kill.

Dates
2026-10-27 to 2026-11-02
Effort
2 working days (from the doc)

Evidence: “Scientific mode (sin, cos, log, powers, constants), history tape”

KS-029 Image viewer Planned

The host converts images to raw 32-bit files and the guest blits them with scaling.

Dates
2026-12-26 to 2026-12-28
Effort
1 working days (from the doc)

Needs: KS-019

Evidence: “Host converts PNG or JPEG to a raw 32-bit file with a tiny header”

KS-030 Paint Planned

A bitmap canvas with pencil, shapes, fill, palette from theme tokens, an undo ring and saving through the bridge.

Dates
2026-12-28 to 2027-01-02
Effort
3 working days (from the doc)

Evidence: “A bitmap canvas in guest memory with pencil, line, rectangle, ellipse, fill”

KS-031 DolDoc docs viewer Planned

Render the TempleOS ::/Doc DolDoc files as styled lines so Help is searchable from the launcher.

Dates
2027-01-02 to 2027-01-07
Effort
3 working days (from the doc)

Evidence: “Render the TempleOS `::/Doc` DolDoc files”

KS-032 Music player (host plays, guest controls) In progress

The afplay-based prototype passes its gates; the Swift AVAudioEngine helper, library, gapless, Subsonic and radio milestones are still plans.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-019

Evidence: “Music: approval naming the folder, scan of 6 generated tones, play with progress (0:02/0:24)”

KS-033 Games launcher for TempleOS games Planned

Run the shipped TempleOS games in a window by redirecting their drawing to a window-sized buffer, starting with one game.

Dates
2027-01-07 to 2027-01-12
Effort
3 working days (from the doc)

Evidence: “Ours: a launcher tile that runs them in a window by redirecting their draw to our back buffer”

KS-034 Screenshot hot key and toast Planned

Copy the framebuffer to a file on B: and ship it to the host as PNG, with a toast.

Dates
2027-01-12 to 2027-01-14
Effort
1 working days (from the doc)

Needs: KS-019, KS-015

Evidence: “Copy the framebuffer to a file on B: and ship it through the bridge”

KS-035 Projects app filters and open-in-browser In progress

The 17 kamiji projects list exists; status filters and open in the browser through the bridge are to add.

Dates
2026-10-27 to 2026-11-02
Effort
1 working days (from the doc)

Evidence: “built (17 kamiji projects)”

KS-036 Kosmos Editor mirror, Viewport stream, live Scene Proposed

Mirror kosmos-app's editor tree and stream engine frames into Viewport, Scene and Palette; the plan says it needs the user's go after the bridge exists.

Dates
2028-01-08 to 2028-01-28
Effort
14 working days (from the doc)

Needs: KS-019

Evidence: “Needs the user's go; no protected files touched by the demo.”

KS-037 Components gallery and Kamikin chat apps Done

A Kamiji UI kit with 29 component tiles and a scripted Kamikin lesson chat run on Aiwnios; they were not run on x86.

Dates
2026-10-27 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “Three new desk files, two new apps, no host service.”

KS-038 Weather app (prototype built, full plan pending) In progress

A fixture and live MET Norway prototype works; hourly and daily curves, alerts, radar and widget milestones W2 to W7 are planned (P0 5 to 7 weeks, P1 4 to 6 more).

Dates
2026-10-27 to 2026-12-05
Effort
55 working days (from the doc)

Needs: KS-019

Evidence: “Weather live (MET Norway): London 776 ms, Tokyo 948 ms host fetch”

KS-039 Podcasts app (host service done, HolyC app pending) In progress

The host service and its 18 offline tests are done; the HolyC app is phase B after the shared tree merge.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-019

Evidence: “Host side is done (`apps-host/hub/svc_podcast.py`, protocol in `apps-host/hub/PODCAST.md`, 18 offline tests pass).”

KS-040 Email client M0 to M5 (host IMAP, reader, compose) Planned

A native mail reader and composer with the Mac host doing IMAP, SMTP and credentials, behind a prompt for every send; the framework text field and list view come first.

Dates
2027-01-14 to 2027-03-04
Effort
35 working days (from the doc)

Needs: KS-013

Evidence: “Status: plan only, no code.”

KS-041 Email: real provider, HTML safety, JMAP and AI options Planned

Connect a real account after the user's go, block remote content and scripts in HTML mail, and optionally try JMAP and off-by-default summaries.

Dates
2027-03-04 to 2027-03-29
Effort
17.5 working days (from the doc)

Needs: KS-040

Evidence: “Needs the user's go.”

KS-042 Contacts app C0 to C4 (vCard, list, editor, completion) Planned

A native address book over a host store with vCard import and export, search, an editor and name completion for mail.

Dates
2027-03-29 to 2027-05-04
Effort
25.5 working days (from the doc)

Needs: KS-013

Evidence: “Status: plan only, no code.”

KS-043 Contacts: CardDAV sync, groups, macOS Contacts helper Planned

CardDAV sync with conflict prompts, duplicate merge with a prompt and a signed helper for macOS Contacts that needs the user's approval.

Dates
2027-05-04 to 2027-06-12
Effort
27.5 working days (from the doc)

Needs: KS-042

Evidence: “C5 is the largest risk.”

KS-044 Maps app (offline tiles, search, routing) Planned

An offline map drawn by the guest from host-built vector tiles, with host geocoding and routing; the first usable version is 10 to 14 weeks.

Dates
2027-06-12 to 2027-09-04
Effort
60 working days (from the doc)

Needs: KS-020

Evidence: “Status: plan only, no code.”

KS-045 Slides app Planned

A presentation editor and present mode in HolyC with .KSD, JSON, Markdown and PPTX import and PDF export; it reuses the sheets plan's text field and undo.

Dates
2027-09-04 to 2027-12-11
Effort
70 working days (from the doc)

Needs: KS-046

Evidence: “Plan only, no code.”

KS-046 Sheet app built; native spreadsheet engine planned In progress

A Sheet window driving the GridCraft engine through the hub is checked on Aiwnios; a native HolyC formula engine with its own file format is milestones M0 to M7.

Dates
2026-10-27 to 2026-12-16
Effort
70 working days (from the doc)

Needs: KS-013

Evidence: “Checked: Aiwnios, against a hub with the real engine”

KS-047 Font engine and Font Book built; host Font Manager planned In progress

The v2 text engine, six font families, Settings Fonts and Font Book are built; the host index, user fonts, variable fonts, CJK runs and Google Fonts (F1 to F6) remain a plan.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “The host-side Font Manager of this plan (system fonts, user folders, host atlases, Google Fonts) is still a plan.”

KS-048 AI IDE host harness and Kamikin agent chat In progress

A tool registry, approval cards, audit log and undo run on the host with a fake and an Anthropic backend; the HolyC chat changes were not run in the VM.

Dates
2026-10-27 to 2026-11-07
Effort
15 working days (from the doc)

Needs: KS-019

Evidence: “The HolyC changes were not compiled or run in the VM.”

KS-049 AI IDE editor, diffs, git, HolyC mode and hardening Planned

Guest file tree and editor, diff and approval flow, git checkpoints, a TempleOS-native build loop with compiler errors, rules, MCP, model routing and a kill switch.

Dates
2028-01-01 to 2028-01-08
Effort
not estimated, 5 days assumed

Needs: KS-048, KS-026

Evidence: “A deliberately broken HolyC file is fixed in three canned iterations”

KS-050 Applications folder and app registry Planned

One manifest and registry for built-in, installed and Kosmos host apps, replacing the fixed app arrays in 12 migration steps.

Dates
2027-12-11 to 2027-12-18
Effort
not estimated, 5 days assumed

Needs: KS-012

Evidence: “Status: plan, not code.”

KS-052 Messenger phase 1: app and message service In progress

A native window with conversations, bubbles and a composer over a host store with a sample provider and 19 service tests; it is on its own branch, not merged.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-019

Evidence: “phase 1 is built on its own branch and is not merged into the main desktop yet”

KS-053 Messenger phase 2: SMS and approvals Planned

A real provider by polling, an approval card and notifications for new messages.

Dates
2027-12-18 to 2027-12-25
Effort
not estimated, 5 days assumed

Needs: KS-052

Evidence: “A real provider by polling, an approval card, and notifications for new messages.”

KS-054 Messenger phases 3 to 5: Matrix, Signal, Telegram, Bitsocial Planned

Matrix and opt-in bridges (including a Slack bridge), then Telegram and Signal clients, then Bitsocial communities.

Dates
2027-12-25 to 2028-01-01
Effort
not estimated, 5 days assumed

Needs: KS-053

Evidence: “Unofficial bridges carry ban risk, so each is opt-in.”

KS-067 Electron app host (appd, CDP, install checks) In progress

appd installs, verifies and drives Electron apps over a CDP pipe with approvals and a tile stream, tested only against a Python fake guest.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-056

Evidence: “The HolyC guest was not compiled or run in a VM”

KS-069 Web app contract and host Chromium route Proposed

A kind web manifest, default-deny window.kosmos API and kosmos-app CLI on top of the Chromium route; the study is not implemented, with a day-one prototype and a week-one MVP.

Dates
2028-01-28 to 2028-02-04
Effort
5 working days (from the doc)

Needs: KS-056

Evidence: “Study, not an implementation”

KS-070 Host JS tree apps and QuickJS on Aiwnios Proposed

Host-side JS or OpenUI Lang renders to a declarative tree with small patches; QuickJS in Aiwnios is deferred until that exists.

Dates
2028-02-04 to 2028-02-11
Effort
not estimated, 5 days assumed

Needs: KS-069, KS-051

Evidence: “Defer until C exists.”

KS-071 Compile web apps to HolyC Dropped

Compiling general web code to HolyC was rejected, keeping only static JSX-to-tree literals.

Dates
not scheduled
Effort
not estimated, 5 days assumed

Evidence: “Too ambitious for general code”

Browser

KS-055 Browser v0: reader mode over serial (KDoc) Done

The first browser fetches pages on the host, simplifies them to KDoc and shows them in a guest window; it stays as the BR_V1=0 fallback.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “v0 browser: link example.com through the hub (`GET http://example.com/` 204 bytes, 0.09 s): PASS”

KS-056 Host engine over CDP pipe and DLIST band encoder Done

Headless Chrome is driven over a pipe with a throwaway profile and DOMSnapshot is encoded into 256 px display list bands.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “built, M1 passed 24/25 sites”

KS-057 Browser guest painter and band cache (M2) In progress

The HolyC painter draws bands for text, links, boxes and controls but gradients, shadows, scroll containers and sticky are placeholders.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-056

Evidence: “guest painter `desk3/browser/paint.HC` partial”

KS-058 Browser v1 through the hub, with form input In progress

Real Chrome-rendered pages load through the page service on Aiwnios and host ops for clicks and typing are tested, but guest interaction and x86 page loads are untested.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-056, KS-057, KS-019

Evidence: “Defaults are ON because real pages work on Aiwnios.”

KS-059 Browser images, media tiles, sticky and non-Latin text Planned

Host-downscaled images with an RGB565 blit, fixed and sticky positioning, video and canvas tiles, and run images for non-Latin text are the next gaps.

Dates
2026-11-02 to 2026-11-09
Effort
not estimated, 5 days assumed

Needs: KS-058

Evidence: “Images, SVG, canvas, video: placeholder boxes (op image not implemented”

KS-060 Browser tabs, omnibox, menu and new-tab page (M3) Planned

A tab strip, search-aware omnibox, security indicator, main menu, keyboard map and new-tab page for the first usable build.

Dates
2026-11-09 to 2026-11-16
Effort
not estimated, 5 days assumed

Needs: KS-058

Evidence: “Tab strip with rounded tabs, close button, new tab button”

KS-061 Browser find, zoom, downloads and permission prompts Planned

Find in page and zoom, download prompts with dangerous types refused, and permission prompts that default to deny.

Dates
2026-11-16 to 2026-11-23
Effort
not estimated, 5 days assumed

Needs: KS-060

Evidence: “Download on link or Content-Disposition, with a prompt”

KS-062 Browser history, bookmarks, session restore, reader view Planned

A host SQLite store for visits, bookmarks and tab restore, plus a Readability-based reader view.

Dates
2026-11-23 to 2026-11-30
Effort
not estimated, 5 days assumed

Needs: KS-060

Evidence: “Record visits (URL, title, time)”

KS-063 Browser DevTools panels and MV3 extensions (M5) Planned

Elements, Console, Network and Application panels and an MV3 subset with content scripts, popups and storage.

Dates
2026-11-30 to 2026-12-07
Effort
not estimated, 5 days assumed

Needs: KS-060, KS-062

Evidence: “Load an unpacked extension folder (user chooses it)”

KS-064 Browser hardening (M6) and P2 features Proposed

A 25-site benchmark, memory caps and an Aiwnios socket transport, plus P2 items such as tab groups, ad-blocking APIs, Gemini and RSS; the P2 list is marked later or never.

Dates
2026-12-07 to 2026-12-14
Effort
not estimated, 5 days assumed

Needs: KS-063

Evidence: “P2 and out of scope: everything marked as such above.”

KS-065 JavaScript engine inside the guest browser Dropped

Both docs rule out running JavaScript in the guest; a host browser supplies any dynamic pages.

Dates
not scheduled
Effort
not estimated, 5 days assumed

Evidence: “JavaScript (none, ever in the guest)”

KS-066 Native HTML/CSS engine in HolyC (B1) Dropped

The web-app study says not to build a native HTML and CSS engine, and the shipped route renders on the host and paints display lists.

Dates
not scheduled
Effort
not estimated, 5 days assumed

Evidence: “build a native HTML/CSS engine. The evidence below overturns that half of B.”

Platform

KS-019 Host hub daemon (hostd) and service protocol Done

hostd.py owns the VM serial link and routes echo, time, weather, music and later services with approval tokens; the hub tests and a VM round trip pass.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “VM echo/hello round trip: PASS, 18 ms.”

KS-020 Faster host-to-guest channel (50 KB/s gate) In progress

Busy polling reached 36 to 47 KB/s against the 50 KB/s gate; the review adds a raw second-disk mailbox for bulk data as an alternative.

Dates
2026-10-27 to 2026-11-02
Effort
2 working days (from the doc)

Needs: KS-019

Evidence: “v0 busy polling measured 36 to 47 KB/s”

KS-021 Install TempleOS to a disk image for persistence Proposed

The review proposes attaching a disk and accepting the installer so notes and settings survive reboots without a bridge; the README still says nothing is saved.

Dates
2027-01-25 to 2027-02-01
Effort
not estimated, 5 days assumed

Evidence: “Install TempleOS to a disk image; delete the persistence gate.”

KS-022 Screen capture and ivshmem pixel route Dropped

Pixel streaming into the guest and the ivshmem ring were replaced by native apps and host services; ivshmem is missing from this QEMU.

Dates
not scheduled
Effort
not estimated, 5 days assumed

Evidence: “the ivshmem idea below does not work on this Mac”

KS-023 Aiwnios native Apple Silicon build of desk3 In progress

The desktop runs on Aiwnios with scripted drivers and goldens while the analysis lists the port as an L to XL item; the x86 VM remains the reference target.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Verified (Aiwnios, arm64, 2880x1800): the whole desktop renders with the new engine”

KS-051 Retained tree interpreter for host-driven apps Proposed

A 512-node declarative tree interpreter in the guest would let host-side code drive native widgets; it is spec only.

Dates
2027-02-01 to 2027-02-08
Effort
not estimated, 5 days assumed

Needs: KS-013

Evidence: “not built; spec only”

KS-072 App installer: ksapp host tool and hub service Done

The .ksapp package, Ed25519 signing, atomic install, rollback and uninstall are implemented on the host with 92 passing tests.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “Host tool, hub service, four sample apps, 92 tests; hostile cases refused”

KS-073 App installer: guest Install sheet and live app slots In progress

The slot file and Install sheet are written and pass lint but are not wired into the shared files or run in a VM.

Dates
2026-10-27 to 2026-11-02
Effort
5 working days (from the doc)

Needs: KS-072, KS-050

Evidence: “written; passes `kslint.py` and the `aiwnios/build.py` concatenation; not run in a VM”

KS-074 App installer: prompts, catalogue, updates, signing Planned

First-launch and permission prompts and URL install, then a signed catalogue, update checks, revocation refresh and a signing workflow (three months).

Dates
2026-11-02 to 2027-01-25
Effort
60 working days (from the doc)

Needs: KS-073

Evidence: “Catalogue and Get, update check and notification, revocation refresh”

KS-075 Linux base M0: arm64 VM with Electron and Tauri apps Dropped

A Linux VM running a stock Wayland compositor with one Electron and one Tauri app. Dropped with the Linux base plan.

Dates
not scheduled
Effort
2 working days (from the doc)

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-076 Linux base M1: kosmos-shell v0 on Smithay Dropped

A Smithay compositor with xdg-shell, layer-shell placeholders and own titlebars. Dropped with the Linux base plan.

Dates
not scheduled
Effort
5 working days (from the doc)

Needs: KS-075

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-077 Linux base M2: retina, clipboard, IME, XWayland Dropped

Fractional scale, clipboard and drag and drop, IME, dmabuf and XWayland. Dropped with the Linux base plan.

Dates
not scheduled
Effort
5 working days (from the doc)

Needs: KS-076

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-078 Linux base M3: portals, PipeWire, NetworkManager panel Dropped

A portals backend, PipeWire audio and a network panel so a Flatpak app opens files and plays sound. Dropped with the Linux base plan.

Dates
not scheduled
Effort
7.5 working days (from the doc)

Needs: KS-077

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-079 Linux base M4: Flatpak store and Tauri system apps Dropped

A store UI and first-party Tauri apps with Kamiji components. Dropped with the Linux base plan.

Dates
not scheduled
Effort
10 working days (from the doc)

Needs: KS-078

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-080 Linux base M5: reproducible image, installer, updates Dropped

A reproducible image build, installer and update path. Dropped with the Linux base plan.

Dates
not scheduled
Effort
10 working days (from the doc)

Needs: KS-079

Evidence: “supersedes `os-foundation-plan.md` for this direction”

KS-084 SSE2 scalar F64 in the compiler backend Proposed

Emit SSE2 for F64 and keep temporaries in XMM, estimated at a week and 8 to 11x on F64 code, at some risk to the x87 paths.

Dates
2027-02-08 to 2027-02-18
Effort
7 working days (from the doc)

Needs: KS-081

Evidence: “SSE2 F64 in the compiler backend”

KS-085 continue keyword and C precedence switch Proposed

Add continue to the parser and an option for C operator precedence, with the runtime table switch and a host lint for mixed operators.

Dates
2027-02-18 to 2027-02-25
Effort
not estimated, 5 days assumed

Needs: KS-081

Evidence: “`continue` and `OPTf_C_PREC` in the compiler, built and hot-loaded with the A.1 loop”

KS-087 Backend peepholes, fastcall, register slots, inlining Proposed

Drop redundant moves, pass arguments in registers for flagged functions, free more register variables and inline leaf functions.

Dates
2027-02-25 to 2027-03-04
Effort
not estimated, 5 days assumed

Needs: KS-081

Evidence: “Peepholes in `OptPass789A`/`BackLib`”

KS-089 Adopt 1: event ring and crash dump In progress

A fixed-size trace ring dumped over serial or disk would power profiling, crash forensics and benchmarks. Work done on branch feat/event-ring (f6a96fe), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Event ring and crash dump (trace everything cheaply; write a dump on fault)”

KS-091 Adopt 3: host-compiled C blobs with thunks and libc shim Proposed

Build freestanding C on the Mac, load it as a .BIN through ABI thunks and a small libc shim; the prototype is time-boxed at 2 to 3 days.

Dates
2027-03-04 to 2027-03-08
Effort
2.5 working days (from the doc)

Evidence: “Host-compiled C blobs with thunks and a libc shim”

KS-092 Adopt 4: virtio driver skeleton Proposed

One legacy virtio PCI driver skeleton, blk first, would give persistence and a fast host channel.

Dates
2027-03-08 to 2027-03-15
Effort
not estimated, 5 days assumed

Evidence: “virtio driver skeleton (blk first, then vsock or serial rings)”

KS-093 Adopt 5: persistent storage (littlefs or log) Proposed

A power-loss-safe store on virtio-blk so notes and settings survive a reboot; it overlaps the install-to-disk idea.

Dates
2027-03-15 to 2027-03-22
Effort
not estimated, 5 days assumed

Needs: KS-092

Evidence: “Persistent storage (littlefs or an append-only checksummed log on virtio-blk)”

KS-097 Adopt 9: 9P2000 over virtio-9p or vsock Proposed

A small 9P codec would expose host files and devices as one tree with no custom bridge protocol.

Dates
2027-03-22 to 2027-03-29
Effort
not estimated, 5 days assumed

Needs: KS-092

Evidence: “9P2000 over virtio-9p or vsock”

KS-100 Adopt 12: Unicode text stack In progress

The v2 engine has UTF-8, ranges and kerning; grapheme, bidi and line-break rules, with shaping left on the host, are not built.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Text engine: KSFONT2.BIN reader, UTF-8, ranges, kerning, replacement glyph”

KS-101 Adopt 13: guest networking (virtio-net, lwIP, TLS) Proposed

A native network stack is optional and needs a policy decision because the guest has no network by design.

Dates
2027-03-29 to 2027-04-05
Effort
not estimated, 5 days assumed

Needs: KS-092

Evidence: “Guest networking (virtio-net plus lwIP)”

KS-102 Adopt 14: audio driver (AC97 or HDA) and mixer Proposed

A QEMU audio driver with a mixer ring per stream would stop the music app and browser media relying on host playback.

Dates
2027-04-05 to 2027-04-12
Effort
not estimated, 5 days assumed

Evidence: “Audio (AC97 or Intel HDA in QEMU, a mixer ring per stream)”

Security

KS-068 Confinement for Electron apps and Tauri support Proposed

Permissions are limits, not a wall, and Tauri apps have no CDP route; a container, VM or window capture would be needed.

Dates
2026-11-16 to 2026-11-23
Effort
not estimated, 5 days assumed

Needs: KS-067

Evidence: “A real boundary needs a container or VM”

KS-090 Adopt 2: fault policy, task supervisor, debug allocator Proposed

Throw a catchable fault into the desktop task, restart faulting apps with a recorded reason, and add canary and bounds-check debug builds.

Dates
2026-11-23 to 2026-11-30
Effort
not estimated, 5 days assumed

Evidence: “Fault policy and task supervisor (drop the frame or restart the task, record why)”

KS-094 Adopt 6: capability handles and guest permission manifest Proposed

A handle table with rights per task gives the approval model one enforcement point, advisory against hostile code.

Dates
2026-11-30 to 2026-12-07
Effort
not estimated, 5 days assumed

Evidence: “Capability handles and the permission manifest, guest side”

KS-095 Adopt 7: wasm interpreter for untrusted code Proposed

A bounds-checked wasm sandbox such as wasm3 is the only credible isolation story in ring 0.

Dates
2027-03-08 to 2027-03-15
Effort
not estimated, 5 days assumed

Needs: KS-091

Evidence: “wasm interpreter for untrusted code”

KS-108 Threat model with Rule of Two per feature In progress

Draft assets, actors and trust boundaries and apply the Rule of Two to each current feature for the owner to review. Work done on branch docs/threat-model (46f6fcd), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Draft a threat model: assets, actors (user, app, agent, web content, host), trust boundaries”

KS-109 Read the two key agent-security papers in full Planned

Read arXiv 2605.14932 and 2501.09674 in full and correct the research note where the abstracts misled.

Dates
2026-11-02 to 2026-11-09
Effort
not estimated, 5 days assumed

Evidence: “Read 2605.14932 and 2501.09674 in full; correct this note where the summaries were wrong”

KS-110 Permission manifest and delegation record formats In progress

Define the manifest and delegation record formats for apps-host with a sample manifest and audit-log line. Work done on branch feat/permission-manifests (4ddd037), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-108

Evidence: “Define the permission manifest and delegation record formats for `apps-host`”

KS-111 Planner and quarantined-reader split prototype Planned

Prototype a split where an injected page cannot trigger a tool call.

Dates
2026-11-09 to 2026-11-16
Effort
not estimated, 5 days assumed

Needs: KS-048

Evidence: “Prototype a planner / quarantined-reader split for the AI IDE”

KS-112 Injection test suite and pinned tool descriptors Proposed

Reuse AgentDojo-style and visual injection cases against our agents and hash and pin tool and app manifests, re-prompting on change.

Dates
2027-03-15 to 2027-03-22
Effort
not estimated, 5 days assumed

Needs: KS-048

Evidence: “Test the defenses, do not assume them.”

KS-113 Host fuzzing of C blobs and HolyC parsers In progress

Use LLM-assisted fuzzing on the host for PNG, inflate and 9P code before it loads in ring 0. Work done on branch test/host-fuzzing (6f8b707), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Needs: KS-091

Evidence: “Pattern for fuzzing our C blobs and HolyC parsers (PNG, inflate, 9P) on the host”

KS-117 Lock screen with password protection In progress

A full-screen lock overlay with a salted, iterated password hash, back-off on failed attempts and an idle timeout. It is a UI gate only: TempleOS has no isolation, so anyone with disk, VM or memory access can bypass it. Work done on branch feat/lock-screen, unmerged and unpushed.

Dates
2026-10-28 to 2026-11-02
Effort
5 working days (from the doc)

Evidence: “added 2026-10-28 on request; work started on branch feat/lock-screen”

Performance and tooling

KS-003 Renderer and window animation performance passes Done

Assembly copies and blends, cached shadows and retained window layers with damage cut a 2880x1800 window drag from 72.1 ms to about 5 ms.

Dates
2026-10-26 to 2026-10-28
Effort
not estimated, 5 days assumed

Evidence: “72.1 ms to 9.5 ms a frame”

KS-010 Four-pixel SSE2 blend for crossfades Dropped

A byte-encoded SSE2 blend gave correct pixels but took 83 ms against 53 ms of plain instructions under QEMU, so it was dropped.

Dates
not scheduled
Effort
not estimated, 5 days assumed

Evidence: “Tried and dropped: SSE2 (above).”

KS-011 Develop on an x86 host with KVM Proposed

The review ranks hardware virtualisation on an x86 host first, estimating 10 to 20x on HolyC code compared with emulation on Apple Silicon.

Dates
2026-11-02 to 2026-11-09
Effort
not estimated, 5 days assumed

Evidence: “Run on x86 with hardware virtualisation”

KS-081 Patched HolyC compiler build and hot-load loop Done

Copy, patch, Cmp, Load and relink the compiler on the live CD in about five seconds; it was verified, with a hazard if a broken build is loaded.

Dates
2026-10-27 to 2026-10-27
Effort
not estimated, 5 days assumed

Evidence: “The compiler rebuilds and hot-loads on the live CD in under three seconds”

KS-082 Serial test harness, benchmark set and goldens In progress

The b-key benchmark suite and golden scenes exist; a KS_MODE=test serial runner with frame-time budgets is proposed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “this report's harness is the prototype”

KS-083 Rewrite hot loops; SSE2 kernels via NASM for F64 Proposed

Pointer-walk loops measured 3.7x to 14x faster, and F64 kernels in SSE2 assembly after setting CR4.OSFXSR measured 11x faster than x87.

Dates
2026-11-09 to 2026-11-16
Effort
not estimated, 5 days assumed

Evidence: “Rewrite remaining hot HolyC loops as pointer walks in small functions”

KS-086 Host lint (kslint) for precedence, ASCII and dollar signs In progress

A kslint.py check is already run on new files; the analysis plans precedence, ASCII, dollar and register rules and a formatter, and it is unclear which are implemented.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “`kslint.py` is clean on both files”

KS-088 Sampling profiler from a timer interrupt Proposed

A RIP histogram sampled at 1 kHz and symbolised would replace hand-placed timing spans.

Dates
2026-11-16 to 2026-11-23
Effort
not estimated, 5 days assumed

Evidence: “Sampling profiler (timer IRQ, RIP histogram, symbolised with `Fs->hash_table`)”

KS-098 Adopt 10: work-queue API and multicore raster workers Proposed

A GCD-style work queue over a few worker tasks, needed for multicore rasterisation that README lists as not done.

Dates
2026-11-23 to 2026-11-30
Effort
not estimated, 5 days assumed

Evidence: “Work-queue API for raster workers”

KS-103 Spike S1: event ring plus dump on Fault2 In progress

Force a null-pointer write in a test app and check the desktop survives with a readable dump. Work done on branch feat/event-ring (f6a96fe), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
1 working days (from the doc)

Evidence: “Force a null-pointer write in a test app; desktop survives; dump readable on serial”

KS-104 Spike S2: C blob (CRC32 and inflate) loaded as .BIN Proposed

Load a freestanding C function through a thunk and match the host result for 1 MB.

Dates
2026-11-30 to 2026-12-04
Effort
2.5 working days (from the doc)

Evidence: “Output equals host result for 1 MB; timing recorded against HolyC”

KS-105 Spike S3: virtio-blk sector read and write Proposed

Write one sector in the guest and read it back after a VM restart.

Dates
2026-12-04 to 2026-12-10
Effort
4 working days (from the doc)

Evidence: “Data written in the guest read back after VM restart”

KS-106 Spike S4: wasm3 sandbox trap test Proposed

Run a 1 KB module with an out-of-bounds access and check the trap is reported and the desktop is unaffected.

Dates
2026-12-10 to 2026-12-15
Effort
3 working days (from the doc)

Needs: KS-104

Evidence: “Trap reported, desktop unaffected”

KS-107 Spike S5: 9P2000 directory listing in Files Proposed

Send Tversion, Twalk and Tread to a host server and list a host directory in Files.

Dates
2026-12-15 to 2026-12-20
Effort
3 working days (from the doc)

Needs: KS-105

Evidence: “List a host directory in Files”

Research

KS-114 Verify model releases and the July 2026 incident In progress

Read the vendor posts for the listed releases and find primary statements on the Hugging Face incident, dropping unverified CVE numbers. Work done on branch docs/verify-research-log (015f1aa), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Find the Hugging Face and OpenAI statements; confirm or drop the CVE numbers”

KS-115 Confirm the EU AI Act timeline after the Omnibus In progress

Read the Official Journal text because the commentary sources disagree on dates. Work done on branch docs/verify-research-log (015f1aa), unmerged and unpushed.

Dates
2026-10-27 to 2026-11-02
Effort
not estimated, 5 days assumed

Evidence: “Read the Official Journal text”

KS-116 Keep the research log current (arXiv listings, recurring job) Proposed

Pull the October arXiv listings and decide on a weekly recurring search with a diff after the first month.

Dates
2026-11-02 to 2026-11-09
Effort
not estimated, 5 days assumed

Evidence: “Decide on a recurring job (weekly search plus a diff of this file) after the first month”

Method

How the schedule is built

  • Done bars span the first to the last commit that touched the ticket's source file.
  • In progress work starts at its first commit and ends after half its estimate, at least three working days from today.
  • Planned tickets are queued one worker per area in plan order, after their dependencies, using the plan's estimate where it has one and 5 working days where it does not (the detail says which).
  • Proposed tickets are ideas from research that nobody has approved; they queue after the planned work in their area.
  • Dropped tickets have no bar.

The source is data/roadmap-tickets.json; scripts/gen-roadmap.py writes this page's data and docs/roadmap.md. Edit the tickets, rerun the script, rebuild the site.

Pick a ticket.

Every ticket links to the note it came from, and most are small enough to take in a week.