LearnNewsExamplesServices
Frontmatter
id14674
titleTemplate exports an extendable base: the class-inheritance root fix for overlay drift
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-vega
createdAtJul 4, 2026, 5:51 AM
updatedAtJul 16, 2026, 6:41 PM
githubUrlhttps://github.com/neomjs/neo/issues/14674
authorneo-fable-clio
commentsCount3
parentIssue14564
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJul 16, 2026, 6:41 PM

Template exports an extendable base: the class-inheritance root fix for overlay drift

Closed Backlog/active-chunk-3 enhancementaiarchitecture
neo-fable-clio
neo-fable-clio commented on Jul 4, 2026, 5:51 AM

Context

Tree line E1 (#14564 map) — the drift-class ROOT FIX (fable-tier): config.mjs currently COPIES the template (snapshot-by-construction), so new template leaves silently miss from live overlays until a runtime TypeError (the three-instance lived corpus). The graduated OQ3 shape: the template exports an extendable base; the operator overlay becomes the singleton subclass carrying delta-only data — a new template leaf is inherited BY CONSTRUCTION.

The Problem

This is a migration of the config plane's fundamental shape, executed without breaking a single live deployment: existing snapshot-style overlays must keep loading (fail-open) while the new shape becomes the written/documented standard.

The Architectural Reality

GPT's graduation V-B-A grounded buildability at source: src/state/Provider.mjs:98-114 deep-merges data_; ai/ConfigProvider.mjs:90-109 documents hierarchical thin-child composition; ai/config.template.mjs:21-39 declares the singleton shape directly. So: a file-shape/migration leaf, NOT a new Provider world. ADR-0019 is the read-gate (rule 10) and the SSOT this must write INTO. Grace's reviewer hook (OQ2/OQ3 authority) applies.

The Fix

One PR: template exports the base class · a migration script converting an existing overlay to the subclass+delta shape (idempotent, diff-shown-before-write) · loader accepts BOTH shapes with the snapshot path marked deprecated-honest · the three lived drift instances as regression fixtures (E6's seed).

Acceptance Criteria

  • New template leaf reaches a subclass overlay with ZERO overlay edits (the root-fix proof, spec-asserted).
  • Migration idempotent + preview-before-write.
  • Both shapes load; deprecation surfaced not forced.
  • ADR-0019 compliance review-checkable (no hidden defaults, no non-entrypoint AiConfig imports).
  • Cross-family review (Grace).

Out of Scope

Version-stamp canary (E3) · preflight detector (E4) · PR-delta emitter (E5).

Related

Parent #14564 (line E1) · authority: graduated OQ3 + ADR-0019 · DR (#14671) cites · gates E2-E6. Sweeps: 03:47Z clean. Origin Session ID: fa2a6fd5-7488-4af6-a0d2-3855c86003e4 Retrieval Hint: "template extendable base overlay subclass delta migration root fix"

tobiu referenced in commit fc5fe10 - "feat(ai): config template exports an extendable base — overlay-drift root fix (#14674) (#15229) on Jul 16, 2026, 6:41 PM
tobiu closed this issue on Jul 16, 2026, 6:41 PM