Skip to content

GitSync: a partial import records the content fingerprint anyway, so five Hosting NodeTypes are parked on a source node the import dropped and re-import is skipped #4459

Description

@rbuergi

Measured on memex.systemorph.com, 2026-09-15 20:30–20:40Z.

A Hosting GitSync import dropped exactly one source node, reported ImportedWithContentErrors, and then recorded the content fingerprint anyway. Five NodeTypes are parked as a result, and no further import can repair it: the next update is skipped as already-imported.

The missing node. Hosting/Deployment/Source/SelfUpdateRouting exists in no partition on memex (search partitions:all name:*SelfUpdateRouting* → 0). The repository has 14 files under Hosting/Deployment/Source/; memex holds 13 nodes. The only absentee is SelfUpdateRouting.cs, added to Plugins main at 11:22Z (36ee62f3d) and carrying the same // <meshweaver> header as its siblings.

What that breaks. PlatformBuildInboxWatcher, which calls it, DID import, at 19:01Z. So five NodeTypes fail to compile, each on the symbol that is missing:

CS0246: The type or namespace name 'SelfUpdateRouting' could not be found
CS0103: The name 'SelfUpdateRouting' does not exist in the current context

Parked: Hosting/Backup, Hosting/Deployment, Hosting/InstanceAction, Hosting/InstanceRequest, Hosting/PlatformBuildInbox. No instance action can run on memex while Hosting/InstanceAction is parked — that is Sample, Logs, HelmRelease and every provisioning action on the control instance.

Why it cannot heal. Hosting/_GitSync still reports lastSyncedAt 2026-09-14T22:18Z and lastSyncCommitSha c7f03952: the outcome is not a success, so the recorded commit never advances and each attempt re-imports the same delta and fails the same way. A second update at 20:37Z answered:

Imported Skipped — an earlier FULL import already recorded this exact content at
fingerprint bb9801101e859a21 (Hosting/_Activity/import-bb9801101e859a21), so the
partition was not re-read.

So the fingerprint marker claims completeness for an import that lost a node, and the operator's one repair (re-import) is refused.

The defects, separable.

  1. An import that could not write every node records a content fingerprint that says it did. A partial import must not mark the content complete.
  2. ImportedWithContentErrors names a count (9), never the paths. The nodes that failed should be named, or nobody can tell what is missing.
  3. A NodeType parked on a symbol whose source the import dropped cannot be repaired by Compile: the source is not there to compile.

How to reproduce the state. get @Hosting/_GitSync, get @Hosting/_Activity/6ac3721c (the 20:31Z import at Plugins 04a14676), and get_diagnostics @Hosting/InstanceAction.

Found while carrying MeshWeaver.Plugins#1935 to memex; the park predates that merge.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions