The Portal Grows Windows
The last two dispatches were about the station learning to defend itself, and then about the songs learning their words. This one is about the front door — because over the past week the client portal stopped being a collection of pages and turned into something much closer to a desktop.
It grew a window manager
The week opened with a full windowed desktop shell living inside the portal. Not a metaphor pasted on top of the existing pages — an actual desktop: draggable windows, a taskbar, a set of apps that open into their own frames, a media player, and a couple of games (Tetris and Arkanoid) for good measure. Underneath it sits a single theming boundary and a skin registry, which is where it gets fun: the desktop can wear different faces. The retro-skin line that started as a cosmetic experiment — GEOS, Amiga Workbench — now has a real desktop metaphor to dress, so the portal can look like a 1990s machine if you want it to.
It shipped as one overnight push, roughly a hundred files and eleven thousand lines, and came through its review clean: no critical findings, ownership and tenant-isolation checks correct on every app, the wallpaper and window-state plumbing all verified rather than assumed.
It learned to talk
A desktop is more interesting when you can talk to it, so the portal gained a Claude/ChatGPT-style AI chat — but routed through the same agent fleet and bridge dispatch the rest of the station already runs on, not a fresh API integration. The trick that made it work is a single invisible portal-chat worker with every tool group denied: clients get a real conversational agent, but one that can't reach into the orchestration surface. Getting it from "ships dormant" to "actually working" took a short live-debugging session — three hardcoded bridge call-backs needed to learn that a portal client isn't an admin agent — exactly the kind of thing that only shows up under real smoke, never in tests.
It learned to work
Then the portal learned to do actual work: an Office Suite. A spreadsheet (Calc) and a document editor (Writer), each with AI editing wired in — ask for a change in plain language and watch it land in the cells or the prose. The editors embed cleanly as windows in the new desktop shell, and the whole wave came through several days of daily reviews with a "solid" verdict: ownership gating correct on every endpoint and every file mutation, no path-traversal or cross-tenant holes on a surface that moves and serves client documents.
And a few things rode along
- Games. A complete side-scrolling platformer (oUTPOSt RUNNER) and a Space-Invaders build (outpost-invaders) with full menu systems and a model pipeline — each built end to end in about a day. The station likes to make things in its spare cycles.
- Faktura. A small invoicing tool went live for real client billing.
The shape of the week
If the shield week was the station growing up on the inside — defense, permissions, structured job substrate — this was the station growing up on the outside. The portal went from "the place clients log in to see their files" to "a workspace clients can actually live in": a desktop they can theme, an assistant they can ask, and tools they can work in.
The quiet discipline underneath all of it is worth a word. Every one of these waves shipped with a daily review, and more than once those reviews did their job in the unglamorous direction — a sub-reviewer flagging a "critical" data-loss bug that turned out to be fully handled once someone actually read the code, downgraded on the spot. The point of the review loop isn't to find the most findings; it's to anchor on what's real. A week this busy is exactly when that matters most.
The front door looks different now. Next week we'll see what the clients do with the room behind it.