Feedback hand-over cannot relocate re-typed legacy submissions: the Inbox move's copy leg refuses their legacy content $type
Maintainers usually reply within 1 day
A pull request for this has already been merged.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
Research direction
Start with Feedback/Feedback/Source/FeedbackHandover, following HandOverOnActivation, ReadSubmission, UnreadableSubmission, and MoveToInbox, then compare that path with the IMeshCatalog copy-leg validation and FeedbackContent shape. Inspect the four version histories and system activity logs to identify the retype actor and distinguish the candidate causes. Done means the responsible validation mismatch is established and covered by tests showing the intended behavior for both legacy-shaped and correctly shaped submissions.
Written by the indexing model from the issue text.
Description
Observed
Four user-space feedback records under rbuergi/Feedback/ (created 2026-09-22, e.g. rbuergi/Feedback/20260922-white-home-page-hub-scoped-inject-and-the-local-monolith-cannot-start) were re-typed, and that retype stranded them:
- Their version history shows version 1 created as NodeType
Feedbackwith content{"$type":"Feedback","title":…,"message":…}— the pre-hardening shape (a$typethat resolves to no type, plus atitlememberFeedbackContentdoes not declare). - A version-2 write by
system-security, in the same half-second window as the failure burst, changed NodeType toFeedback/Feedbackand left that content untouched. - The retype armed
FeedbackHandover.HandOverOnActivation(Feedback/Feedback/Source/FeedbackHandover): the content deserializes as a plausibleFeedbackContentat the source hub (nostatusmember, soStatusdefaults toFeedbackStatus.New), the dead-letter classifierUnreadableSubmissionnever sees it (it only runs when the read returns null), and the watcher issuedMoveNodeRequestfrom each source path to the derived Inbox addressFeedback/_Submissions/fb-<sha256(source path)>. - Every move failed in the copy leg: the catalog's write validation refuses to store content whose
$typediscriminator (Feedback) is not the content type of NodeTypeFeedback/Feedback(FeedbackContent). The submissions never reachedFeedback/_Submissionsand were never handed to triage.
Where and when
One namespace, two pods — and the two pods belong to different ReplicaSet generations of the same deployment, so the failure spans a roll boundary. The burst was one rapid volley on one pod (all four distinct source nodes within half a second), followed much later by a single re-failure of the same source node on the other pod — consistent with the watcher's documented retry-on-activation: the move error clears the in-flight flag, and the next hub activation (here, on a second replica) retries the same refused move.
Impact
Four real defect reports filed by one user sit parked: not in the reviewers' Inbox, not handed to the triage agent, and re-attempted (and re-failed) on every hub activation. The records remain readable at their old user-space paths, so nothing is lost — a reviewer can find them by hand — but the automated feedback pipeline cannot deliver them, and there is no indication it ever will on its own.
Not established
- What performed the retype. The version-2 rows say
system-security, but which process that was (an agent, a repair flow, a supervisor) was not determined. - Whether the retries continue indefinitely or eventually stop.
- Whether other user spaces hold more records in the same legacy shape that would fail identically once re-typed — only
rbuergi/Feedbackwas examined. - Why the source hub's
ContentAs<FeedbackContent>accepts the foreign$typewhile the catalog's write validation refuses it — the two readers disagree, and which of them is the defect is not established. - Whether these four records are the same batch as the "three filings" named in
Plugins#3042, or a later one. - Whether it still occurs after the observation window.
Candidate causes and the reading that separates them
- The hand-over's read path is more permissive than its write path.
ContentAs<FeedbackContent>tolerates the foreign$type, so the record classifies as a healthy New submission and the move fires — into a write the catalog must refuse. Predicts: any legacy-shaped record that gets re-typed fails this way, on every activation, forever. Separating reading: the absence of the dead-letter warning ([Feedback] {Path} is a submitted feedback that will NOT be handed over) in these hubs' logs proves the null-read branch was skipped, and a comparison of the source hub's serializer options against the catalog's write-validation rules shows where the tolerance lives. - The retype itself is the defect — a half-repair. Something under the system identity rewrote
nodeTypewithout correcting the content, leaving the node in a state its own NodeType cannot store. Predicts: the version-2 writer is identifiable, and other nodes it touched in the same run show the same NodeType-only change. Separating reading: the system activity log for these four paths at the version-2 instant names the actor. - The refusal is recent hardening and the move path has no way to relocate legacy content at all. The
UnreadableSubmissiondocumentation names core refusing such writes "now"; records predating that hardening may simply be unmovable. Predicts: a move of a correctly-shapedFeedback/Feedbackrecord succeeds while only legacy-discriminator content fails. Separating reading: any successful Inbox move of a well-shaped record after the validation landed.
Where to look
Feedback/Feedback/Source/FeedbackHandover—HandOverOnActivation→ReadSubmission/UnreadableSubmission→MoveToInbox(the issuing side of the failed move).Feedback/Feedback/Source/FeedbackContent— the declared shape (notitlemember;Statusdefaults toNew).- Core
MeshWeaver.Mesh.Services.IMeshCatalog— the MoveNode copy-leg write validation that refused the content. NodeTypeRebindWatcher— retyping recycles the per-node hub (MeshWeaver#1104; the rebind-recycle race is separately reported atFeedback/_Submissions/fb-d41b207178ae8d91c1f24c9386f4e5b8).- The four source nodes and their version history under
rbuergi/Feedback/.
Duplicates
No existing incident or issue covers this failure point. The same legacy content shape is known from Plugins#3042 (silent dead letters, since guarded by UnreadableSubmission), but here the record passes that guard and dies in the move's copy leg — a different failure point in the same pipeline.
Evidence
| Fingerprint | 5701e47922609264 |
| Category | MeshWeaver.Mesh.Services.IMeshCatalog |
| Severity | Error |
| Namespace | memex |
| Pods | memex-portal-deployment-6465785d4d-5crgx, memex-portal-deployment-5b9996d768-22ght, memex-portal-deployment-5c6db59b64-nknln, memex-portal-deployment-5c6db59b64-dxvhx, memex-portal-deployment-5c6db59b64-cnv4s, memex-portal-deployment-6cc54b7cd8-l8wwl, memex-portal-deployment-6cc54b7cd8-clcfk, memex-portal-deployment-7475bdcffd-qh8bq, memex-portal-deployment-5b786c4466-4fs6c, memex-portal-deployment-5b786c4466-dxwlb, memex-portal-deployment-576cdb4fbd-wdsqd, memex-portal-deployment-679d7b6984-tzd87, memex-portal-deployment-679d7b6984-cqqp2, memex-portal-deployment-679d7b6984-rgr95, memex-portal-deployment-7bc8cb4d47-npczw |
| Occurrences | 79 |
| First seen | 2026-10-12 18:17:08Z |
| Last seen | 2026-10-18 07:56:19Z |
| Routing | not determined — no configured route matches the category MeshWeaver.Mesh.Services.IMeshCatalog. 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-13 00:38:20Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-public-host-redirect-not-running-on-memex-cloud-since-ci-9178 -> Feedback/_Submissions/fb-a3e67b570724e691f35f01443f428e31 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-a3e67b570724e691f35f01443f428e31': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-13 15:04:25Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-ratify-severity-closes-on-verification-policy -> Feedback/_Submissions/fb-119c44266b8191d39d9a3be71a7bbccf failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-119c44266b8191d39d9a3be71a7bbccf': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-13 15:04:52Z memex-portal-deployment-679d7b6984-cqqp2 fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-logincident-namespace-is-one-value-over-a-multi-deployment-pod-set -> Feedback/_Submissions/fb-08c293baf5b6b5c60ae1f1439413f124 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-08c293baf5b6b5c60ae1f1439413f124': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-13 15:05:28Z memex-portal-deployment-679d7b6984-rgr95 fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-white-home-page-hub-scoped-inject-and-the-local-monolith-cannot-start -> Feedback/_Submissions/fb-bce3a339096ef56cfe358accb890ecf0 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-bce3a339096ef56cfe358accb890ecf0': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-13 15:05:42Z memex-portal-deployment-679d7b6984-tzd87 fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-public-host-redirect-not-running-on-memex-cloud-since-ci-9178 -> Feedback/_Submissions/fb-a3e67b570724e691f35f01443f428e31 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-a3e67b570724e691f35f01443f428e31': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-18 07:56:18Z memex-portal-deployment-7bc8cb4d47-npczw fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-0320-a-rejected-provider-credential-401-is-classified-by-nothing-and-pastes-the-raw-sdk-banner -> Feedback/_Submissions/fb-623c87ce9112918a7928a50aad10258e failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-623c87ce9112918a7928a50aad10258e': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issue', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-18 07:56:18Z memex-portal-deployment-7bc8cb4d47-npczw fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-0305-incident-bot-opened-one-fingerprint-twice-and-the-duplicate-carries-the-sev-h -> Feedback/_Submissions/fb-9b299174d88de8345e62b7c546dc5f2f failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-9b299174d88de8345e62b7c546dc5f2f': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issue', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-18 07:56:19Z memex-portal-deployment-7bc8cb4d47-npczw fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-0315-a-fix-that-keeps-its-log-line-can-never-go-quiet-so-the-incident-count-reopens-it-forever -> Feedback/_Submissions/fb-3519e045c21ee25129eea7b232a1de03 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-3519e045c21ee25129eea7b232a1de03': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issue', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-18 07:56:19Z memex-portal-deployment-7bc8cb4d47-npczw fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-plugin-registry-index-per-request-cost -> Feedback/_Submissions/fb-0f8b71217ac13ad422c90ba7b459e72b failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-0f8b71217ac13ad422c90ba7b459e72b': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issue', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
2026-10-18 07:56:19Z memex-portal-deployment-7bc8cb4d47-npczw fail: MeshWeaver.Mesh.Services.IMeshCatalog[0]
[MoveNode] rbuergi/Feedback/20260922-logs-instanceaction-budget-and-bus-write -> Feedback/_Submissions/fb-704741a97a39f2cb04ad857bfdc83a32 failed in its copy leg (Unknown): Cannot write 'Feedback/_Submissions/fb-704741a97a39f2cb04ad857bfdc83a32': the content names its type as 'Feedback' ("$type"), but no such type exists — the content type of NodeType 'Feedback/Feedback' is 'FeedbackContent'. The content would be stored exactly as sent and then read as an empty node by every consumer, and anything that reacts to this NodeType would skip it without a word. Send the content as 'FeedbackContent' with its declared members: 'category', 'extraContext', 'handedOverAt', 'issue', 'issueUrl', 'mainNodeGist', 'mainNodePath', 'mainNodeTitle', 'message', 'sidePanel', 'status', 'submittedBy', 'submittedByName', 'timestamp'.
This log site's previous ticket, https://github.com/Systemorph/MeshWeaver/issues/6310, was closed about a different fingerprint, and this fault fired after that close. It is left closed: an occurrence of this fingerprint is no evidence that the fault it was closed for came back. This issue now tracks the log site, and later fingerprints of it fold in here.
Opened automatically from Admin/_LogIncident/5701e47922609264. Recurrences are folded into this issue rather than opening new ones.
It also stands for the whole log site a5d75353732af2db: other fingerprints of this site fold in here as comments rather than opening tickets of their own.
- Dominant language
- C#
- Stars
- 12
- Forks
- 5
- Avg merge
- 5h 56m
- Merged PRs (30d)
- 971
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Systemorph/MeshWeaver
-
bug sev:H
Difficulty 4/5 3-5 days Newbie friendliness 45/100
Systemorph/MeshWeaver#6989 · 2 comments ·
Maintainers usually reply within 1 day
-
area:hosting area:storage bug sev:H
Difficulty 5/5 Over a week Newbie friendliness 25/100
Systemorph/MeshWeaver#6983 · 3 comments ·
Maintainers usually reply within 1 day
-
bug sev:L
Difficulty 4/5 3-5 days Newbie friendliness 28/100
Systemorph/MeshWeaver#6930 · 6 comments ·
Maintainers usually reply within 1 day
-
bug cli-publish-failure feature:release-promotion sev:M
Difficulty 3/5 1-3 hours Newbie friendliness 12/100
Systemorph/MeshWeaver#6845 ·
Maintainers usually reply within 1 day
-
bug feature:bundle-bake sev:H
Difficulty 4/5 3-5 days Newbie friendliness 20/100
Systemorph/MeshWeaver#6825 · 2 comments ·
Maintainers usually reply within 1 day
All issues in Systemorph/MeshWeaver
Similar issues
-
needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
elsa-workflows/elsa-foundation#3130 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
KnifeLemon/Filee#294 ·
Maintainers usually reply within 1 day
-
good first issue
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
GlebKievsky/git-tips#4 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 77/100
OrchardCMS/OrchardCore#20088 · 1 comment ·
Maintainers usually reply within 1 day