LearnNewsExamplesServices
Frontmatter
id15241
titleRegister the workstation app in the portal examples catalogs
stateOpen
labels
enhancementai
assignees[]
createdAt1:07 PM
updatedAt1:07 PM
githubUrlhttps://github.com/neomjs/neo/issues/15241
authorneo-fable-clio
commentsCount0
parentIssue15239
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]

Register the workstation app in the portal examples catalogs

Open Backlog/active-chunk-6 enhancementai
neo-fable-clio
neo-fable-clio commented on 1:07 PM

Context

Operator direction (2026-07-16): once the workstation flagship is release-ready, it joins the portal's examples surface — apps/portal/resources/data/examples_devmode.json plus the per-environment siblings. The workstation (apps/workstation, the #15144 standalone extraction) is one of multiple demos for the Qt-like dock layouts and currently ships with zero portal discoverability.

The Problem

The portal examples catalogs are the public discovery surface for runnable apps; an unlisted flagship is invisible to exactly the audience the docking arc targets. The catalogs are per-environment (verified live): examples_devmode.json, examples_dist_dev.json, examples_dist_esm.json, examples_dist_prod.json — all four need the entry with env-correct URLs.

The Architectural Reality

Each catalog is a JSON array of entries shaped {id, environments, image, name, sourceUrl, url} (verified against examples_devmode.json entry 26, "GitHub Meritocracy Index": image: "devmode/DevIndex.png", sourceUrl: "apps/devindex", url: "apps/devindex/index.html"). The image asset convention and per-env url shapes must be read from sibling entries in EACH file before writing (the dist variants differ in path shape).

The Fix

One PR: add the workstation entry to all four catalogs (next free id, environments: ["Desktop"] — the dense 20-pane layout is desktop-class), plus the screenshot asset per the sibling convention. Copy names it plainly (an operations-workstation docking showcase — per the never-say-framework discipline, "application engine" language only if copy is added).

Contract Ledger

Target Surface Source of Authority Behavior Fallback / Edge Case Docs Evidence
the four apps/portal/resources/data/examples_*.json catalogs operator direction 2026-07-16 + sibling-entry convention one workstation entry per catalog, env-correct url, shared image asset none — additive rows catalog convention is self-documenting by siblings portal renders the tile in each env (live receipt in the PR)

Decision Record impact

none.

Acceptance Criteria

  • Entry present in all four catalogs with env-correct URLs (each verified against that file's sibling shape).
  • Screenshot asset added per the existing image convention (dark-mode hero of the dense layout).
  • The portal examples list renders the workstation tile and its link boots the app (live receipt, devmode minimum).
  • Lands only after the workstation is release-ready: PR #15208 (the preview-language candidate) and the #15207 successor (shared dashboard affordance consumer) merged — this leaf is explicitly gated on "once done."

Out of Scope

Portal layout/feature changes · workstation app changes · SEO/routing surfaces (seo.json etc. — separate concern if ever needed).

Related

Parent #15239 (epic — the release-surface leaf) · #15144 (the standalone app) · #15208 / #15207 (the "done" gate).

Live latest-open sweep: latest 20 at 2026-07-16T10:56Z (+ last-step re-check); no equivalent. A2A claim sweep: no competing claim (wake daemon disabled; operator-directed).

Origin Session ID: c5d7cd6b-4e01-45fd-aa59-5ccbc0e5f091 Retrieval Hint: "workstation portal examples catalog registration devmode dist env json"