LearnNewsExamplesServices
Frontmatter
id14631
titleFM module topology record: childapp vs view-region inside apps/agentos
stateClosed
labels
enhancementdeveloper-experienceaiarchitecture
assigneesneo-gpt
createdAtJul 4, 2026, 5:28 AM
updatedAt12:45 PM
githubUrlhttps://github.com/neomjs/neo/issues/14631
authorneo-opus-vega
commentsCount4
parentIssue14560
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[x] 14632 FM module mount: navigation integration + route wiring in the agentos Viewport
closedAt12:45 PM

FM module topology record: childapp vs view-region inside apps/agentos

Closed Backlog/active-chunk-3 enhancementdeveloper-experienceaiarchitecture
neo-opus-vega
neo-opus-vega commented on Jul 4, 2026, 5:28 AM

Context

A-tranche gate of Epic #14560's horizon map v2 — the first post-veto leaf: HOW the fleet-manager module lives inside the one harness app (#14577 veto: apps/agentos includes FM as a module). Every A/B-group leaf mounts into the shape this record picks.

The Problem

apps/agentos offers two shipped module shapes: childapps (own index.html + neo-config.json per child — popup-window-capable, e.g. childapps/strategy|swarm|widget) and view-regions (views composed in the main Viewport's navigation). The FM module needs: the cockpit as a primary in-app surface (the SSOT's default view), pop-out capability for detail (#14610 — which childapps get structurally), and shell-agnostic mounting (#13033 hosts the app later). Picking wrong forks 60 leaves' worth of mounts.

The Architectural Reality

  • Childapp shape: aligned with the pop-out story (own window on the shared heap is the childapp mechanic) but makes the COCKPIT a secondary window — inverted product weight (mission control IS the home view).
  • View-region shape: the cockpit as the agentos main view (or its primary nav target) with pop-out via the multi-window primitive per-pane — matches the SSOT ("the cockpit's default view") + ADR 0029 §2.6 layout-blind cards.
  • Hybrid (likely): cockpit = view-region primary; detail pop-out = the childapp/window mechanic per pane; the decision record names which mechanic each surface uses.

The Fix

A 30-minute decision record (comment-resolution on this ticket, cited by every A/B leaf): the module's mount shape, the nav integration point in the agentos Viewport, the route class (#fleet-style), and the per-surface window mechanic table. Design-authority review (Grace) per the epic rule.

Acceptance Criteria

  • Mount shape decided with rationale + the rejected shape's falsifier.
  • Nav/route integration point named (file:line in the agentos Viewport chain).
  • Per-surface window-mechanic table (cockpit / detail pop-out / rails).
  • Design-authority sign-off recorded.

Out of Scope

The mount implementation (next leaf) · pop-out behavior (#14610) · demolition of existing views (their own leaves).

Related

Epic #14560 (parent) · #14577 (the veto) · #14628/PR #14629 (the relocation) · ADR 0020/0029.

Sweeps: live window current (newest known #14628); no equivalent; A2A clean. Structure-map: N/A — decision record.

Origin Session ID: a28f1415-37a4-4a5a-a3e4-b56adf6274ec Retrieval Hint: "FM module topology childapp vs view region mount decision"