Live on memex prod, 2026-08-26 ~17:30Z: 10 of 12 store covers render the Roslyn compile-progress screen to anonymous visitors, more than an hour after the compile succeeded. Found by plugins-ff; diagnosed live via MCP.
Evidence
Store/Plugin (NodeType): compilationStatus: Ok, compile 16:26:31→16:26:43Z (12 s), lastCompiledVersion 12379, release 20260826162643-U8NsdxXf. The type is healthy.
get @Chess/area/Cover returns the compile-progress control tree — ### ⏳ Compiling… — Plugin, "Running Roslyn against 9 source binding(s)", and a LayoutAreaControl bound to activity Store/Plugin/_Activity/compile-2026082616091603… — i.e. the 16:09 compile, not even the last one. The same store's data.progress = 100: the datum updated, the controls never re-rendered.
- Recycling does not heal it. Recycled
@Store/Plugin (type), then @Chess (instance), then @Chess again after the type settled — the freshly initialized hub re-serves the identical placeholder tree every time.
- Stuck (10): AdvancedBusinessRules, ThinkInStreams, DataModeling, AgenticPrimer, RiskTransfer, Chess, Voice, Teams, Publish, Edu. Fine (2): AgenticEngineering, AgenticBusiness.
- Portal pods were restarted 17:10Z (module convergence) — the stuck view survives a full pod restart too.
Read
The placeholder was written into the persisted layout-area store when the 16:09 compile started. Completion (16:26) re-renders only instances whose hubs are ACTIVE at that moment — plausibly the two healthy covers had live viewers. Every inactive instance missed the transition, and on (re)activation the hub replays the persisted area document without re-checking the type's current compilationStatus — so recycle/restart faithfully re-serve the stale placeholder. Classic missed-transition + replay-on-init pair; one stale side effect, no error, no log.
Fix direction (no band-aids)
On instance-hub init (and on cover render), derive the compile-placeholder-vs-content decision from the type's current compilationStatus, never from the stored area snapshot — or invalidate/rewrite instances' persisted cover areas as part of compile completion so the store never outlives the state it depicts. A watchdog that re-renders periodically is the forbidden shape.
Interim
The covers are the public storefront; until the fix, any touch that rewrites the cover area doc (a content-version bump per stuck node) would clear it — that is a data mutation on 10 prod nodes and is left to the maintainer's call.
Also noted by plugins-ff, smaller and separate: rbuergi/ThinkInStreams installed pre-apps-wave has no _App tile; AppTileRefresh heals only self-installing packages.
🤖 Generated with Claude Code
Live on memex prod, 2026-08-26 ~17:30Z: 10 of 12 store covers render the Roslyn compile-progress screen to anonymous visitors, more than an hour after the compile succeeded. Found by plugins-ff; diagnosed live via MCP.
Evidence
Store/Plugin(NodeType):compilationStatus: Ok, compile 16:26:31→16:26:43Z (12 s),lastCompiledVersion 12379, release20260826162643-U8NsdxXf. The type is healthy.get @Chess/area/Coverreturns the compile-progress control tree —### ⏳ Compiling… — Plugin, "Running Roslyn against 9 source binding(s)", and aLayoutAreaControlbound to activityStore/Plugin/_Activity/compile-2026082616091603…— i.e. the 16:09 compile, not even the last one. The same store'sdata.progress= 100: the datum updated, the controls never re-rendered.@Store/Plugin(type), then@Chess(instance), then@Chessagain after the type settled — the freshly initialized hub re-serves the identical placeholder tree every time.Read
The placeholder was written into the persisted layout-area store when the 16:09 compile started. Completion (16:26) re-renders only instances whose hubs are ACTIVE at that moment — plausibly the two healthy covers had live viewers. Every inactive instance missed the transition, and on (re)activation the hub replays the persisted area document without re-checking the type's current
compilationStatus— so recycle/restart faithfully re-serve the stale placeholder. Classic missed-transition + replay-on-init pair; one stale side effect, no error, no log.Fix direction (no band-aids)
On instance-hub init (and on cover render), derive the compile-placeholder-vs-content decision from the type's current
compilationStatus, never from the stored area snapshot — or invalidate/rewrite instances' persisted cover areas as part of compile completion so the store never outlives the state it depicts. A watchdog that re-renders periodically is the forbidden shape.Interim
The covers are the public storefront; until the fix, any touch that rewrites the cover area doc (a content-version bump per stuck node) would clear it — that is a data mutation on 10 prod nodes and is left to the maintainer's call.
Also noted by plugins-ff, smaller and separate:
rbuergi/ThinkInStreamsinstalled pre-apps-wave has no_Apptile;AppTileRefreshheals only self-installing packages.🤖 Generated with Claude Code