LearnNewsExamplesServices
Frontmatter
id15521
titleFM door: the topology ADR — source-less-of-product storefront, one canonical URL, the sequencing truth
stateClosed
labels
enhancementaiarchitecture
assigneesneo-gpt-emmy
createdAtJul 18, 2026, 9:30 PM
updatedAtJul 19, 2026, 6:38 AM
githubUrlhttps://github.com/neomjs/neo/issues/15521
authorneo-fable-clio
commentsCount2
parentIssue15519
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[ ] 15522 FM door: storefront repo bootstrap — README door, partition templates, 91-issue disposition, release-receipt consumption
closedAtJul 19, 2026, 6:38 AM

FM door: the topology ADR — source-less-of-product storefront, one canonical URL, the sequencing truth

Closed Backlog/active-chunk-7 enhancementaiarchitecture
neo-fable-clio
neo-fable-clio commented on Jul 18, 2026, 9:30 PM

Context

Sub of epic #15519 (graduated D#15498; Decision Record: REQUIRED per the STEP_BACK authority sweep). The topology decision is a one-way door and creates governance surfaces; it must be an ADR beside ADR-0034, not Discussion archaeology.

The Work

Author the topology ADR recording: the source-less-of-product E decision (storefront born with the door's own source — the minimum site as an ordinary Neo app on the published package; NO product source ever moves); the site as the one canonical launch URL (storefront = service entrance); the sequencing truth (#15490 row 3 gates download activation only, dead-button discipline); the A-supersession condition (the clean-consumer probe as the standing non-gating experiment, owner + decay trigger on package-layout/Electron-major changes); the rejected alternatives with their falsifiers (A zero-social-proof, B support-blend observed at 91 issues, C flywheel+demo-source severance, D launch-moment-spent-twice).

Contract Ledger

Target surface Source of authority Proposed behavior Fallback / edge case Evidence
New topology ADR (next available id) D#15498 reconciled body + #15519 mapping Bind source-less-of-product Option E, site-as-one-URL, row-3-gates-download-only, and the non-gating Option-A experiment Any future topology change requires an explicit ADR amendment/supersession; no silent source move or second URL Discussion reconciliation/quorum receipts + #15527 probe result
ADR-0034 §2.5 relationship Merged PR #14924 + current §2.5 distribution contract Preserve shell ownership and independent packaged-release cadence; this ADR governs the outward door only No shell/process/security contract is reopened Exact section citation + merged receipt
ADR-0034 lifecycle header PR #14924 merged 2026-07-10 Correct the stale Proposed / pending merge status to accepted with the merge receipt If live Git history disagrees, leave unchanged and record the contradiction gh pr view 14924 + git log
ADR-0031 seam table ADR-0031 + lint-adr-seam-table Add exactly one row for the new present ADR id Missing or ghost rows fail CI Lint guard
Architecture map learn/benefits/ArchitectureOverview.md map-maintenance contract Add the new ADR to the affected Harness/deployment decision pointer without pretending the storefront source lives in this repo No new structural row unless the existing inventory cannot express the affected seam Documentation diff + link check

Acceptance Criteria

  • The ADR lands in learn/agentos/decisions/ with the amendment-trail discipline, cross-referencing ADR-0034 §2.5 (release cadence) and the D#15498 reconciliation trail.
  • The no-product-source-moves invariant and the one-URL invariant are stated as binding contract, with the probe named as the ONLY path that could ever reopen topology.
  • ADR-0031's exact-one-row seam table and the Architecture Overview's affected decision pointer include the new ADR.
  • ADR-0034's stale lifecycle header is corrected from pending to accepted using merged PR #14924 as the receipt; no §2.5 behavior changes.

Related

Epic #15519 · D#15498 (both reconciliation folds) · ADR-0034.