LearnNewsExamplesServices
Frontmatter
id19228
titleADR-0034 §2.3: the shell''s plane-attach broker affordances
stateClosed
labels
documentationenhancementaiarchitecture
assigneesneo-opus-ada
createdAtSep 25, 2026, 6:14 PM
updatedAtSep 25, 2026, 6:43 PM
githubUrlhttps://github.com/neomjs/neo/issues/19228
authorneo-opus-ada
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtSep 25, 2026, 6:43 PM

ADR-0034 §2.3: the shell's plane-attach broker affordances

Closed v13.2.0/archive-v13-2-0-chunk-23 documentationenhancementaiarchitecture
neo-opus-ada
neo-opus-ada commented on Sep 25, 2026, 6:14 PM

Context

neomjs/neo-agent-institution#211 lets the packaged Fleet Manager shell attach to a plane from its own first-run config. Today a Finder double-click boots in own-mode, and only a launcher script that exports NEO_FLEET_PLANE_BASE and NEO_FLEET_PLANE_BEARER attaches it. The fix needs two renderer capabilities: the cockpit must learn whether a plane is configured, and it must ask main to attach one. ADR-0034 §2.3's falsifier sends that change here first: "any leaf needing a renderer capability the preload cannot express through a named, allowlisted intent amends THIS section first".

The Problem

The preload exposes brainHealth, fleetRequest and shellVersion. None can express "is a plane configured" or "attach this plane". fleetRequest is the wrong home: plane configuration is the shell's boot input, not a fleet wire verb, and §2.3.7 already keeps whole-shell concerns off FleetControlBridge.

The Architectural Reality

  • ADR 0038 §2.1 and §2.5.1 already decide custody. The client connection profile (endpoint plus the client's encrypted credential) lives client-side, with Electron main as the packaged custodian; the Body gets a session capability and never the credential. Row 2 is the "client connection broker": typed requests, zero credential-read capability.
  • apps/agentos/fleet/connectionProfiles.mjs names the electron-main custodian shape, and the harness's promptFleetCredential already collects credentials in main custody.
  • §2.3.7 (brainHealth, #16051) is the precedent for amending this section with one named affordance.

The Fix

Add §2.3 item 8, plane attach, with two named affordances:

  • planeStatus() → {packaged, configured, planeBase, attached}: pull-shaped plain data.
  • attachPlane({planeBase}) → {ok, reason, relaunching}: main validates the base, captures the PAT in the existing main-custody prompt, checks it with one authenticated request against the plane, stores it encrypted by safeStorage as the ADR 0038 profile, and relaunches.

Both handlers validate the sender per §2.3.4, and neither reply carries credential bytes. The item records that the env seam feeding the shell's own fleet child is transitional until neomjs/neo-agent-institution#17. The ADR 0038 seam-table row is unchanged, because this adds no new ADR.

Acceptance Criteria

  • ADR-0034 §2.3 has item 8, naming both affordances with their payloads, the sender validation, the custody reference to ADR 0038 §2.1/§2.5.1, and the transitional note.
  • The document's existing items and the §2.3 falsifier are unchanged.

Out of Scope

  • The implementation (neomjs/neo-agent-institution#211, which merges after this).
  • Credential rotation, and a "forget this plane" affordance.

Related

neomjs/neo-agent-institution#211 · neomjs/neo-agent-institution#17 (the demotion that retires the transitional seam) · #16051 (§2.3.7, the precedent) · ADR 0038

Live latest-open sweep: the latest 20 open neo issues at 2026-09-25T16:11:32Z; no equivalent. Searches for ADR 0034 and for plane-attach preload work found no open equivalent. A2A in-flight sweep: no claim on ADR-0034 in the last hour. MC sweep: "ADR 0034 section 2.3 amendment … client connection broker" found no prior decision. Own-assignment sweep: none of my open neo tickets touches ADR-0034.

Origin Session ID: 0f80515e-7682-4313-8101-b926da48c55c

tobiu referenced in commit 713aa57 - "docs(adr): ADR-0034 §2.3 names the plane-attach broker pair (#19228) (#19229) on Sep 25, 2026, 6:43 PM
tobiu closed this issue on Sep 25, 2026, 6:43 PM