Repository navigation
Steward PR-review intake aborts: ThreadNames.Prepared calls MeshWeaver.AI.ThreadPreparation.set_Group which the loaded core build does not have #6102
Description
What is failing
The Steward's automated pull-request review never starts. PullRequestIntake.StartThread dies composing the review thread's name: ThreadNames.ReviewPrepared → ThreadNames.Prepared(group, name, description) sets MeshWeaver.AI.ThreadPreparation.Group, and throws System.MissingMethodException because the MeshWeaver.AI assembly loaded in the memex portal does not contain that setter. The review of MeshWeaver.Plugins#2795 at head d0da417 was left un-started (the sweep re-kicks it later).
Probable cause
Assembly version skew inside the memex portal deployment — high confidence. A MissingMethodException is a compile-time-vs-runtime mismatch: the Hosting code calling ThreadNames.Prepared was built against a core MeshWeaver.AI that exposes ThreadPreparation.set_Group(string), but the deployment loads a core build where it is absent. The calling code is not hypothetical — the PR the review was starting for (#2795, "fix(babysitter): fixer ladder …") is itself the change that introduces the call: its diff adds ThreadNames.Prepared(ThreadGroups.PrWork, threadName) at the StartThread site in Hosting/Deployment/Source/PullRequestIntake.cs, and its body states that thread categories are set through ThreadPreparation, with the Threads-app group support arriving in a separate PR. So the running Hosting build assumes a newer core seam than the portal's MeshWeaver.AI provides — either the Plugins build was compiled against a newer core than the one shipped in the image, or the deployment mixed builds from two source trees.
This is the same defect class as #6067 (filed 2026-10-04 from incident 8ec5bbc4142edbf4: ThreadNames.Clean calling ThreadNodeType.FlattenMarkdown(string), absent from the loaded MeshWeaver.AI), itself a recurrence of #6007. It is a sibling, not a duplicate: different missing member (ThreadPreparation.set_Group vs ThreadNodeType.FlattenMarkdown), different call seam (ThreadNames.Prepared from ReviewPrepared in StartThread vs ThreadNames.Clean from Compose in StartReview), and a different log-site fold — but the underlying mixed-build condition is almost certainly one and the same, and the #6007/#6067 fix evidently did not cover this seam either.
Impact
One occurrence on one pod so far, but the failing path is the standard entry for every Steward PR-review intake on the affected deployment: while the skew persists, every review arriving there fails to start. It is internal automation with a working escape — the pull-request sweep re-kicks a head without an internal-review check run on its next run — so no user-facing data is at risk; the cost is delayed/absent automated reviews and wasted review rounds.
Where to look
ThreadNames.Prepared(String group, String name, String description)— the helper that setsThreadPreparation.Group; the top frame of the failure.PullRequestIntake.StartThreadinHosting/Deployment/Source/PullRequestIntake.cs— the changed call siteThreadNames.Prepared(ThreadGroups.PrWork, threadName), introduced by the PR being reviewed (Hosting/Triage/pull-request/systemorph-meshweaver-plugins-2795).MeshWeaver.AI.ThreadPreparationin core — confirm when the settableGroupproperty landed, and whether the core build shipped in the memex portal image includes it.- The
memex-portal-deployment-76dd69c7fcimage: verify the coreMeshWeaver.AIand the Hosting/Plugins assemblies come from one build — the same consistency check that OpenAI chat wire throws MissingMethodException — MeshWeaver.AI.OpenAI deployed against an incompatible MeshWeaver.AI build #6007 and Steward PR-review intake aborts: ThreadNames.Clean calls ThreadNodeType.FlattenMarkdown which the loaded MeshWeaver.AI build no longer has #6067 prompted.
Related: #6067 (same exception class, same namespace, adjacent call seam in the same intake path), #6007 (the original OpenAIReasoningEffortWire skew that named the mixed-build condition).
Evidence
| Fingerprint | 0e53546c0ce851b7 |
| Category | PlatformBuildInboxWatcher |
| Severity | Error |
| Exception | System.MissingMethodException |
| Top frame | ThreadNames.Prepared(String group, String name, String description) |
| Namespace | memex |
| Pods | memex-portal-deployment-76dd69c7fc-xzsdl |
| Occurrences | 1 |
| First seen | 2026-10-04 20:10:39Z |
| Last seen | 2026-10-04 20:10:39Z |
| Routing | not determined — no configured route matches the category PlatformBuildInboxWatcher. This repository is the configured fallback, not a finding about who owns the fault; the category names the LOGGER, which may not be the subject. |
Recent log lines
2026-10-04 20:10:39Z memex-portal-deployment-76dd69c7fc-xzsdl fail: PlatformBuildInboxWatcher[0]
[Steward] review of Hosting/Triage/pull-request/systemorph-meshweaver-plugins-2795 at d0da417b48e50a7efedc9933cc0aa3a32f0b8fa4 NOT started — Method not found: 'Void MeshWeaver.AI.ThreadPreparation.set_Group(System.String)'.
System.MissingMethodException: Method not found: 'Void MeshWeaver.AI.ThreadPreparation.set_Group(System.String)'.
at ThreadNames.Prepared(String group, String name, String description)
at ThreadNames.ReviewPrepared(String name, String itemPath)
at PullRequestIntake.<>c__DisplayClass107_0.<StartThread>b__0(IObserver`1 observer)
at System.Reactive.Linq.QueryLanguage.CreateWithDisposableObservable`1.SubscribeCore(IObserver`1 observer)
at System.Reactive.ObservableBase`1.Subscribe(IObserver`1 observer)
Opened automatically from Admin/_LogIncident/0e53546c0ce851b7. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site abf407e16e531a98: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
Activity
systemorph-com commentedon Oct 4, 2026
Still occurring: 1 more since the last update (2 total).
memex-portal-deployment-76dd69c7fc-xzsdlRecent log lines
systemorph-com commentedon Oct 5, 2026
Still occurring: 1109 more since the last update (1111 total).
memex-portal-deployment-76dd69c7fc-xzsdl,memex-portal-deployment-67c67b456d-l7dp7,memex-portal-deployment-67c67b456d-255rq,memex-portal-deployment-67c67b456d-s7nt9Recent log lines
systemorph-com commentedon Oct 5, 2026
Still occurring: 40 more since the last update (1151 total).
memex-portal-deployment-67c67b456d-255rq,memex-portal-deployment-76dd69c7fc-xzsdl,memex-portal-deployment-67c67b456d-l7dp7,memex-portal-deployment-67c67b456d-s7nt9🚨 This incident covers 2 distinct message shapes, so its own Last seen is the newest of ALL of them. Read the row for the shape this issue is about — a shape whose last sighting predates a fix is not recurring, whatever the counter says.
48ec1d77dc776889— Method not found: '{value}'.0e53546c0ce851b7— Method not found: '{value}'.Recent log lines
Re-addressed by the current identity function: this incident inherited
0e53546c0ce851b7(Systemorph/MeshWeaver.Plugins#1796). Those nodes are superseded and will not fold, file or comment again.systemorph-com commentedon Oct 5, 2026
Still occurring: 40 more since the last update (1151 total).
memex-portal-deployment-67c67b456d-255rq,memex-portal-deployment-76dd69c7fc-xzsdl,memex-portal-deployment-67c67b456d-l7dp7,memex-portal-deployment-67c67b456d-s7nt9🚨 This incident covers 2 distinct message shapes, so its own Last seen is the newest of ALL of them. Read the row for the shape this issue is about — a shape whose last sighting predates a fix is not recurring, whatever the counter says.
48ec1d77dc776889— Method not found: '{value}'.0e53546c0ce851b7— Method not found: '{value}'.Recent log lines
Re-addressed by the current identity function: this incident inherited
0e53546c0ce851b7(Systemorph/MeshWeaver.Plugins#1796). Those nodes are superseded and will not fold, file or comment again.systemorph-com commentedon Oct 5, 2026
Still occurring: 40 more since the last update (1151 total).
memex-portal-deployment-67c67b456d-255rq,memex-portal-deployment-76dd69c7fc-xzsdl,memex-portal-deployment-67c67b456d-l7dp7,memex-portal-deployment-67c67b456d-s7nt9🚨 This incident covers 2 distinct message shapes, so its own Last seen is the newest of ALL of them. Read the row for the shape this issue is about — a shape whose last sighting predates a fix is not recurring, whatever the counter says.
48ec1d77dc776889— Method not found: '{value}'.0e53546c0ce851b7— Method not found: '{value}'.Recent log lines
Re-addressed by the current identity function: this incident inherited
0e53546c0ce851b7(Systemorph/MeshWeaver.Plugins#1796). Those nodes are superseded and will not fold, file or comment again.rbuergi commentedon Oct 8, 2026
Verified on the deployed control instance; closing. The same evidence covers #6067, #6102 and #6120, which are one defect class.
Root cause. In-mesh/module code was built against a newer
MeshWeaver.AImember surface than the one loaded:ThreadNodeType.FlattenMarkdown(string)(Steward PR-review intake aborts: ThreadNames.Clean calls ThreadNodeType.FlattenMarkdown which the loaded MeshWeaver.AI build no longer has #6067)ThreadPreparation.set_Group(Steward PR-review intake aborts: ThreadNames.Prepared calls MeshWeaver.AI.ThreadPreparation.set_Group which the loaded core build does not have #6102)ThreadNames.Prepared(PrBabysitter pass aborts row recording: ThreadNames.Prepared throws MissingMethodException against the loaded core build (assembly skew, sibling of #6102) #6120)ThreadDispatchPool.Allowance(string), in the last incident (6f51a2c56fb77c44)The runtime link probe checked type references only, so a module whose types all existed but whose members did not still landed. It then threw
MissingMethodExceptionon first call.Fix.
f1a24d76) turns on the member half of the probe at boot, at landing and at live swap.mesh-floors.py), so a module can no longer claim a platform floor that is older than what it was built against.Verification on memex.systemorph.com.
/api/versionreports core57a6e5fd(2026-10-07 13:02).git merge-base --is-ancestor f1a24d76 57a6e5fdsucceeds, so the running image contains fix(modules): boot, landing and live swap measure the member half of the link probe (#6007) #6196.System.MissingMethodExceptionincident inAdmin/_LogIncident. There are 6. The newest occurrence is6f51a2c56fb77c44, last seen 2026-10-06T07:43:12Z. None of the 6 has a recurrence after that, which is about 47 hours of silence as of 2026-10-08 06:40Z. The incident watcher is live over the same window:d3694ab999de2ba3updated at 2026-10-08T01:18Z./healthnow shows the replacement behaviour. The newerAI,Hosting,Essentials,EduandCodexbundles are reported Declined, for example: "module 'Hosting' declares platform ≥ 3.0.0-ci.10206 but this instance runs 3.0.0-ci.10148 — it is not written until the platform is rolled forward". A skewed module is now refused at landing instead of throwing at the call site.Not established.